Kennisbank
Straat, huisnummer en toevoeging: één veld, twee of drie?
Webshops bewaren straat, huisnummer en toevoeging in één adresregel. ERP-systemen en vervoerders vragen ze vaak als drie losse velden. De koppeling moet de regel dus splitsen, en een vaste splitsregel gaat bij een deel van de adressen fout.
Bijgewerkt op
Het probleem in één voorbeeld
Een klant vult in de checkout Peizerweg 97 A in. De webshop bewaart dat als één tekst. Het ERP wil drie velden: straat Peizerweg, huisnummer 97, toevoeging A.
De voor de hand liggende regel is: alles voor het eerste getal is de straat, het eerste getal is het huisnummer, de rest is de toevoeging. Die regel werkt voor dit adres. Hieronder staat wat hij met dit adres en zeven andere doet.
| Adresregel | Straat, nummer, toevoeging volgens de regel | Wat er misgaat |
|---|---|---|
Peizerweg 97 A |
Peizerweg, 97, A | niets |
Kerkstraat 12 3 hoog |
Kerkstraat, 12, 3 hoog | niets |
Plein 1945 12 |
Plein, 1945, 12 | het jaartal hoort bij de straatnaam, het huisnummer is 12 |
Laan 1940-1945 27 |
Laan, 1940, -1945 27 | zelfde fout, met een onbruikbare toevoeging |
Industrieweg 14-16 |
Industrieweg, 14, -16 | een dubbel nummer past niet in een numeriek veld |
10 Downing Street |
geen uitkomst | het nummer staat vooraan, zoals in het Verenigd Koninkrijk en Frankrijk |
De Hoef |
geen uitkomst | het nummer staat in de tweede adresregel, of ontbreekt |
Postbus 123 |
Postbus, 123, leeg | klopt als tekst, maar een pakket gaat niet naar een postbus |
Zes van de acht gaan fout of vragen een besluit. Terug samenvoegen is ook niet zonder verlies. Huisnummer 1 met toevoeging 2 wordt aan elkaar geschreven 12, en dat is een ander adres. Met een spatie ertussen staat er 1 2, en de volgende koppeling in de keten weet niet of de 2 een toevoeging of een verdieping is.
Wat systemen verwachten
De veldnamen hieronder komen uit de documentatie van de leveranciers, gecontroleerd op 3 oktober 2026.
| Systeem | Velden voor straat en nummer | Bijzonderheid |
|---|---|---|
| Shopify | address1, address2 |
geen huisnummerveld. Land als country_code, twee letters |
| WooCommerce | address_1, address_2 |
geen huisnummerveld. country als ISO-code van twee letters |
| Magento 2 | street, een lijst van regels |
1 tot 4 regels, instelbaar |
| Exact Online | AddressLine1, AddressLine2, AddressLine3 |
geen huisnummerveld. Adrestype als getal: 1 bezoek, 2 post, 3 factuur, 4 levering |
| AFAS Profit | Ad, HmNr, HmAd |
drie velden. HmNr is een geheel getal, HmAd maximaal 30 tekens |
| PostNL | Street, HouseNr, HouseNrExt |
HouseNr alleen cijfers en maximaal 5 voor de Benelux |
| Sendcloud | address, house_number |
huisnummer als apart veld naast de adresregel |
Tussen twee systemen met dezelfde vorm is er weinig aan de hand: van Shopify naar Exact Online gaat de regel ongesplitst over. Het splitsen begint zodra het doel drie velden heeft. Een order uit WooCommerce naar AFAS Profit heeft een geheel getal nodig in HmNr. 14-16 past daar niet in, en 12a ook niet.
In de tweede adresregel staat van alles. Klanten zetten er de verdieping in, de afdeling, t.a.v. inkoop, een afleverinstructie of het huisnummer dat ze in regel 1 vergaten. Een koppeling die address2 standaard weggooit, verliest bij een deel van de orders het huisnummer. Een koppeling die het altijd achter de straat plakt, zet achterom bij de loods in het straatveld van het ERP.
Zo komt een afleveradres uit Shopify:
{
"shipping_address": {
"company": "Bakker Installatietechniek en Duurzame Energie B.V.",
"first_name": "Jan",
"last_name": "Bakker",
"address1": "Peizerweg 97 A",
"address2": "t.a.v. inkoop",
"zip": "9727 aj",
"city": "Groningen",
"country_code": "NL"
}
}
De rest van het adres
Straat en nummer zijn het bekendste probleem. De andere velden hebben elk een eigen variant.
Postcode. Klanten typen 9727AJ, 9727 AJ en 9727 aj. De API van PostNL wil voor Nederland 6 tekens, dus zonder spatie: 9727AJ. Een ERP toont hem meestal met spatie. De koppeling bewaart één vorm en zet die per doel om. Dat geldt alleen voor Nederlandse adressen: een Belgische postcode heeft 4 cijfers.
Land. NL, NLD, Netherlands, Nederland en The Netherlands zijn vijf schrijfwijzen van hetzelfde land. Shopify en WooCommerce leveren de tweeletterige ISO-code. Een ERP dat de volledige naam of een eigen landcode verwacht, heeft een vertaaltabel nodig met elke waarde die in de praktijk voorkomt.
Bedrijf, contactpersoon en t.a.v. Het label van de vervoerder heeft een bedrijfsnaam en een naam nodig, elk met een maximale lengte. PostNL accepteert 35 tekens voor CompanyName en 35 voor Name. DPD hanteert 35 tekens voor de naam en 8 voor het huisnummer. De bedrijfsnaam uit het voorbeeld telt 51 tekens: 51 min 35 is 16 tekens die wegvallen. Op het label staat Bakker Installatietechniek en Duurz. Bij een bedrijfsverzamelgebouw met drie bedrijven die Bakker heten, weet de bezorger niet meer welke.
Drie soorten adressen. Factuuradres, afleveradres en bezoekadres zijn in een ERP losse records. Exact Online geeft elk adres een type, van 1 tot en met 4. Een koppeling maakt een afleveradres alleen aan als het afwijkt van het factuuradres. Vergelijkt hij de ruwe tekst, dan zijn Peizerweg 97 A en Peizerweg 97a twee adressen en krijgt de debiteur bij elke order een nieuw afleveradres. Vergelijken gebeurt dus na het normaliseren. Hetzelfde speelt bij debiteuren, zie dubbele klanten en debiteuren.
Hoe een koppeling dit oplost
Per veld ligt vast welk systeem de waarde bepaalt, hoe de waarde genormaliseerd wordt en wat er gebeurt als hij nergens past. Dat is veldmapping, toegepast op het adres.
| Veld | Normalisatie | Als de waarde niet past |
|---|---|---|
| Straat, nummer, toevoeging | splitsen per land, met een lijst van straatnamen die een getal bevatten | order naar de controlelijst, geen label |
| Postcode | hoofdletters, spatie weg of erbij per doelsysteem | controlelijst als het patroon van het land niet klopt |
| Land | vertaaltabel naar de code van het doelsysteem | controlelijst bij een onbekende waarde |
| Bedrijfsnaam | lengte meten tegen de limiet van het doel | verdelen over twee velden, of controlelijst |
| Tweede adresregel | herkennen: nummer, verdieping of instructie | meesturen als opmerking op de order |
Voor Nederlandse adressen is er een controle die de splitsing sluitend maakt. Een postcode met een huisnummer hoort bij precies één straat. De koppeling zoekt bij 9727 AJ en nummer 97 de straat op. Is dat de Peizerweg, dan klopt de splitsing. Komt er een andere straat uit, of bestaat het nummer niet bij die postcode, dan gaat de order naar de controlelijst.
De betrouwbaarste oplossing zit aan het begin van de keten. Een checkout met drie velden levert straat, huisnummer en toevoeging gescheiden aan, en dan hoeft niemand te raden. De koppeling leest die velden uit de order en gebruikt de splitsregel alleen voor orders die nog in de oude vorm binnenkomen, zoals orders van marktplaatsen.
Wat betekent dit voor je koppeling?
Wij leggen per adresveld vast hoe het van je webshop naar je ERP en je vervoerder gaat: welke vorm de bron levert, welke vorm het doel vraagt en hoe lang elk veld daar mag zijn. Bij de proefronde voor de livegang lopen je bestaande orders door de splitsregel. Je ziet dan welke adressen niet passen voordat er één label is geprint. Daarna staat elk adres dat de koppeling niet kan plaatsen op een controlelijst in het dashboard, met de oorspronkelijke regel erbij.
De hele orderstroom staat op orders koppelen. Hoe adressen passen in de koppeling met je ERP lees je in je webshop koppelen aan je ERP. Wil je weten wat dit voor jouw systemen betekent, stuur ze dan in.
Veelgestelde vragen
Waarom splitst een koppeling het huisnummer niet gewoon op het eerste cijfer?
Omdat straatnamen ook cijfers bevatten. Bij Plein 1945 12 levert die regel huisnummer 1945 op en toevoeging 12. Bij een Brits adres staat het nummer vooraan en vindt de regel niets. De splitsing heeft daarom een controle nodig, bijvoorbeeld tegen de postcode.
Moet ik mijn checkout aanpassen met een apart veld voor het huisnummer?
Het is de betrouwbaarste oplossing. Vult de klant straat, huisnummer en toevoeging in drie velden in, dan hoeft de koppeling niets te raden. Shopify en WooCommerce hebben standaard alleen twee adresregels, dus de losse velden komen uit een aanpassing van de checkout en reizen als extra velden met de order mee.
Wat gebeurt er met een adres dat de koppeling niet kan splitsen?
De order komt op een controlelijst met de oorspronkelijke adresregel erbij en gaat niet naar de vervoerder. Iemand vult het huisnummer aan en de order loopt door. De order blijft niet hangen zonder melding, en er gaat geen label de deur uit met een leeg of verkeerd huisnummer.
Waarom wordt een lange bedrijfsnaam afgekapt op het verzendlabel?
Omdat het veld bij de vervoerder korter is dan het veld in de webshop. PostNL accepteert 35 tekens voor een bedrijfsnaam, DPD ook. Een naam van 51 tekens verliest 16 tekens. De koppeling meet de lengte vooraf en verdeelt de naam over twee velden of zet de order op de controlelijst.
Hoe gaat een koppeling om met buitenlandse adressen?
Per land met een eigen regel. In Nederland, België en Duitsland staat het nummer achter de straat, in het Verenigd Koninkrijk en Frankrijk ervoor. Een Belgische postcode heeft 4 cijfers en geen letters. De koppeling kiest de splitsregel en de postcodecontrole op basis van de landcode van de order.
Vertel wat je nodig hebt
Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.
- Je weet de prijs en de doorlooptijd voordat je iets toezegt
- Wij zoeken uit welke koppeling het werk uit handen neemt
- Wij verzorgen de bouw, hosting, bewaking en het onderhoud
- Je team krijgt minder overtypwerk en minder uitzoekwerk