{ "vestigingsnummer" :
Wat is een vestigingsnummer?
Kort antwoord
Het vestigingsnummer is het twaalfcijferige nummer waarmee de KVK een afzonderlijke vestiging in het Handelsregister identificeert. Elke inschrijving heeft minstens een vestiging, de hoofdvestiging, en kan daarnaast nevenvestigingen hebben. Het KVK-nummer hoort bij de onderneming als geheel en is acht cijfers, het vestigingsnummer hoort bij een adres en is twaalf.
# Vestigingen bij een KVK-nummer
curl ".../v1/lookup/68750110/branches" \
-H "Authorization: Bearer KEY"
# 12 cijfers, niet 8
"000012345678"
Twee nummers die constant verward worden
Het Handelsregister kent twee niveaus. De inschrijving, met een KVK-nummer, en de vestiging, met een vestigingsnummer. Ze zitten in een een-op-veel-relatie: één KVK-nummer, één of meer vestigingsnummers.
| KVK-nummer | Vestigingsnummer | |
|---|---|---|
| Lengte | 8 cijfers | 12 cijfers |
| Hoort bij | de inschrijving | een fysieke vestiging |
| Aantal per bedrijf | precies 1 | 1 of meer |
| Voorloopnullen | mogelijk | vaak, 0000 is normaal |
| Bruikbaar als API-sleutel | ja | nee, bij ons |
Beide nummers zijn puur numeriek en beide kunnen met nullen beginnen. Dat maakt het extra makkelijk om ze door elkaar te halen zodra ze ergens door een systeem zijn gegaan dat ze als getal heeft behandeld.
Het verschil in lengte is je goedkoopste validatie. Twaalf cijfers in een KVK-veld is geen typefout, dat is iemand die het verkeerde nummer van zijn uittreksel heeft overgetikt. Geef daar een specifieke melding op (“dit lijkt een vestigingsnummer, we hebben het KVK-nummer van 8 cijfers nodig”) in plaats van een generieke validatiefout. Dat scheelt meetbaar supportvragen bij B2B-registratieformulieren.
Wanneer je op vestigingsniveau moet werken
Voor de meeste integraties is het KVK-nummer genoeg. Vestigingsniveau wordt pas relevant als je iets doet dat aan een fysieke locatie hangt:
- Bezorgen en servicegebieden. Een retailketen met dertig filialen bestelt centraal maar levert lokaal.
- Franchise en filiaaladministratie. Elk filiaal heeft een eigen adres, soms een eigen handelsnaam, maar hangt onder één KVK-nummer.
- Vergunningen en inspecties. Toezichthouders werken op vestigingsniveau, omdat een vergunning aan een pand hangt.
- Territoriale toewijzing in een CRM. Accountmanagers worden op regio verdeeld, en de hoofdvestiging bepaalt de regio niet altijd correct.
Hangt jouw usecase daar niet tussen, dan is het vestigingsnummer een veld dat je kunt negeren. Sla het niet op alleen omdat het bestaat.
Facturatie is het grensgeval. Op een factuur hoort het KVK-nummer van de inschrijving, niet het vestigingsnummer, ook als je aan een filiaal levert. Een inkoopafdeling die om “het nummer van deze locatie” vraagt bedoelt vrijwel altijd een intern kostenplaatsnummer en niet het vestigingsnummer uit het Handelsregister.
De vestigingen ophalen
De lijst hangt aan het KVK-nummer, niet andersom:
curl "https://api.kvkbase.nl/v1/lookup/68750110/branches" \
-H "Authorization: Bearer YOUR_API_KEY"
Wil je alleen weten hoeveel vestigingen er zijn, zonder de lijst op te halen, dan zit dat in het profiel als totalBranches. Dat veld is enrich-only, dus zonder ?enrich=true krijg je het niet:
curl "https://api.kvkbase.nl/v1/lookup/68750110?enrich=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Die twee samen dekken het normale patroon: verrijk bij onboarding om te zien of het een bedrijf met één of met veertig locaties is, en haal de lijst pas op wanneer de gebruiker daadwerkelijk een vestiging moet kiezen. Zo betaal je niet voor branch-data die je bij de 90 procent eenpandsbedrijven toch weggooit.
Waar het misgaat
totalBranches ontbreekt en je code leest het als 0. Zonder enrich=true is het veld er niet. Het verschil tussen “niet opgevraagd” en “nul vestigingen” moet je in je code expliciet maken, anders concludeert je onboarding dat een winkelketen geen vestigingen heeft.
Het vestigingsnummer als sleutel in je eigen database. Verleidelijk als je op filiaalniveau werkt, maar je kunt er bij ons niet op opzoeken. Sleutel op KVK-nummer en zet het vestigingsnummer erbij als kolom. Doe je het andersom, dan kun je je eigen rijen niet meer verversen.
Aannemen dat een nevenvestiging een eigen KVK-nummer heeft. Dat is niet zo. Een filiaal is geen aparte inschrijving. Wil je op filiaalniveau een debiteur aanmaken, dan doe je dat in je eigen administratie, niet door een tweede KVK-nummer te verzinnen.
Voorloopnullen die verdwijnen. Twaalfcijferige vestigingsnummers beginnen vaak met meerdere nullen. In een integer-kolom, in een CSV die Excel heeft aangeraakt, of in JavaScript waar iemand Number() erop losliet: allemaal weg. Altijd string.
Een gesloten vestiging bij een actief bedrijf. Vestigingen sluiten zonder dat de inschrijving eindigt. isActive op het profiel zegt niets over of het filiaal waar je heen rijdt nog open is. Voor dat onderscheid moet je de branches opnieuw ophalen, en houd er rekening mee dat data tot 24 uur gecachet wordt.
In het kort
Gebruik het KVK-nummer als je iets over het bedrijf wilt weten, en het vestigingsnummer alleen als je iets over een specifiek pand wilt weten. Verwar ze niet in je formuliervalidatie, en bewaar allebei als tekst. Hoe hoofdvestiging en nevenvestiging zich tot elkaar verhouden staat in hoofdvestiging en nevenvestiging.
Veelgestelde vragen
Hoeveel cijfers heeft een vestigingsnummer?
Kan ik een bedrijf opzoeken op vestigingsnummer?
Verandert het vestigingsnummer bij een verhuizing?
Heeft een zzp'er ook een vestigingsnummer?
Bijgewerkt:
Eén call geeft je het hele bedrijf
KVK-data, het afgeleide BTW-nummer en een live VIES-controle in één request. Het gratis plan geeft je 50 lookups per maand, zonder creditcard.
- 50
- gratis lookups per maand
- 1
- request in plaats van drie
- 0
- creditcards, contracten of salesgesprekken