KVKBase Team

Rechtsvormen in België en NACE-codes uitgelegd

Rechtsvormen in België (BV, NV, CV, VZW, eenmanszaak) en NACE-codes uitgelegd, met tabel, API-velden en codevoorbeeld voor segmentatie en leadlijsten.

belgierechtsvormnacesegmentatie

Rechtsvorm en NACE-code zijn de twee velden waarmee je een bedrijfslijst het snelst betekenis geeft. De rechtsvorm zegt iets over aansprakelijkheid, schaal en hoe formeel een partij werkt. De NACE-code zegt wat het bedrijf doet. Wie facturen, CRM-segmenten of leadlijsten bouwt met Belgische gegevens komt ze voortdurend tegen. Deze gids legt uit wat de afkortingen betekenen en hoe je ze uit de KVKBase API haalt en gebruikt.

Rechtsvormen: het overzicht

Een Belgische onderneming is ofwel een rechtspersoon (legal_person in de API), ofwel een natuurlijke persoon (natural_person, bijvoorbeeld een eenmanszaak). De rechtsvorm bepaalt vooral wie aansprakelijk is en hoe het bedrijf bestuurd wordt.

Nederlandse naamFransAansprakelijkheid (in grote lijnen)Typisch gebruik
BV (besloten vennootschap)SRLBeperkt tot de inbrengKmo’s, zelfstandigen in bedrijfsvorm, startups
NV (naamloze vennootschap)SABeperkt tot de inbrengGrotere of kapitaalintensieve bedrijven, beursgenoteerde bedrijven
CV (cooperatieve vennootschap)SCBeperkt tot de inbrengSamenwerkingsverbanden, landbouw, sociale ondernemingen
CommV (commanditaire vennootschap)SCommBeherende vennoten onbeperkt, stille vennoten beperktFamiliale structuren, investeringsvehikels
VOF (vennootschap onder firma)SNCVennoten persoonlijk en hoofdelijkKleine samenwerkingen tussen vennoten
VZWASBLBeperkt, geen winstoogmerkVerenigingen, clubs, scholen, zorg, cultuur
IVZWAISBLBeperkt, internationaal doelInternationale organisaties met zetel in België
StichtingFondationBeperkt tot het vermogen van de stichtingGoede doelen, vermogensbeheer met een vast doel
MaatschapSociété de droit communMeestal persoonlijk bij de vennotenSamenwerking van vrije beroepen
EenmanszaakPersonne physiqueOnbeperkt, met privévermogenZelfstandigen in hoofd- of bijberoep

Lees de kolom aansprakelijkheid als een eerste indicatie, niet als juridisch advies: bijzondere bepalingen in statuten of wet kunnen het beeld wijzigen.

Wat veranderde in 2019

Het Wetboek van vennootschappen en verenigingen (2019) maakte het vennootschapsrecht eenvoudiger. De BVBA werd de BV, andere vormen werden samengevoegd of afgeschaft. Dat laat sporen na: in oudere bestanden, contracten en handtekeningblokken staan nog oude benamingen. Voor je gegevens koppelt, is het slim om rechtsvormen te normaliseren op één lijst. De API helpt daarbij met legalFormCode (stabiel), legalFormShort (zoals “BV” of “NV”) en legalForm (de volledige, vertaalde omschrijving).

NACE-codes: wat zijn ze

NACE is de Europese indeling van economische activiteiten. In België gebruikt men de Belgische uitwerking, NACE-BEL, met codes van vijf cijfers. De structuur is hiërarchisch en je kan de code van links naar rechts “inzoomen” lezen:

NiveauCijfersVoorbeeld (illustratief)Betekenis
SectieletterJInformatie en communicatie
Afdeling262Computerprogrammering en adviesactiviteiten
Groep362.0Idem, verder opgesplitst
Klasse462.01Verfijning van de groep
Subklasse562.010Belgische detaillering

Een paar afdelingen ter illustratie: 41 is het bouwen van gebouwen, 47 is detailhandel, 56 is eet- en drinkgelegenheden, 62 is computerprogrammering en 69 is juridische en boekhoudkundige activiteiten. Wie op een grover niveau wil segmenteren, kijkt dus naar de eerste twee cijfers.

Versies

Er bestaan in België versies 2008 en 2025 van de nomenclatuur. Codes kunnen tussen versies verschuiven of worden opgesplitst, dus vergelijk codes enkel binnen dezelfde versie. Het antwoord van de API geeft de toegepaste versie weer in naceVersion.

Hoe de API rechtsvorm en activiteiten teruggeeft

Een lookup (GET /v1/be/lookup/{ondernemingsnummer}) bevat onder meer deze velden, hier ingekort en met een illustratief nummer:

{
  "country": "BE",
  "cbeNumberFormatted": "0123.456.789",
  "name": "Voorbeeld BV",
  "entityType": "legal_person",
  "legalForm": "Besloten vennootschap",
  "legalFormShort": "BV",
  "naceVersion": "2008",
  "activities": [
    { "sbiCode": "62010", "description": "Computerprogrammeringsactiviteiten", "isMain": true },
    { "sbiCode": "62020", "description": "Adviesactiviteiten op informaticagebied", "isMain": false }
  ]
}

Let op de naam: het veld sbiCode draagt hier de NACE-code. Elke activiteit heeft een omschrijving, en één ervan is als hoofdactiviteit gemarkeerd met isMain. Met ?lang=fr, de of en krijg je de labels in die taal. Bestaat het nummer niet, dan krijg je NOT_FOUND (404). Over de technische kant van de integratie lees je meer in de integratiegids.

Segmenteren en leadlijsten maken

Combineer de twee velden en je krijgt bruikbare segmenten:

  • Rechtsvorm BV of NV met hoofdactiviteit in afdeling 62: IT-bedrijven in vennootschapsvorm.
  • Rechtsvorm VZW in afdeling 85 (onderwijs) of 88 (maatschappelijke dienstverlening): scholen en zorgorganisaties.
  • entityType: "natural_person" apart behandelen: dat zijn zelfstandigen, vaak met een privéadres, dus voorzichtig onder de AVG.

Zoek je bedrijven in een regio, dan combineer je GET /v1/be/search?q=...&postalCode=9000 met een lookup op de resultaten. Een search geeft maximaal 25 resultaten per pagina en bevat al legalForm, entityType, postcode en gemeente. De activiteiten haal je met een lookup of een batch van maximaal 25 nummers. Elke search, lookup en elk nummer in een batch kost 1 token, dus filter eerst op rechtsvorm en postcode voor je verrijkt. Een lijst bouwen op basis van ondernemingen die ook effectief nog actief zijn? Controleer isActive en lees de checklist voor klant- en leveranciersonderzoek.

Codevoorbeeld: groeperen per NACE-afdeling

// results: array of lookup responses from the Belgian lookup endpoint
function groupByNaceDivision(results) {
  const groups = new Map();

  for (const company of results) {
    const main = company.activities?.find((a) => a.isMain);
    if (!main) continue;

    const digits = String(main.sbiCode).replace(/\D/g, "");
    const division = digits.slice(0, 2); // first two digits = NACE division

    if (!groups.has(division)) groups.set(division, []);
    groups.get(division).push({
      number: company.cbeNumberFormatted,
      name: company.name,
      legalForm: company.legalFormShort,
      naceVersion: company.naceVersion,
    });
  }
  return groups;
}

// usage: print the size of each division
for (const [division, list] of groupByNaceDivision(results)) {
  console.log(`${division}: ${list.length} companies`);
}

Twee opmerkingen. De code gebruikt enkel de hoofdactiviteit, wil je bedrijven ook vinden via nevenactiviteiten, loop dan over alle activities. En groepeer enkel gegevens met dezelfde naceVersion, anders vergelijk je codes uit twee verschillende lijsten.

Aandachtspunten

  • De gegevens zijn officiële Belgische bedrijfsgegevens, geen realtime feed en niet gegarandeerd volledig. Een lead die je nodig hebt voor een belangrijke beslissing check je best nog eens.
  • Een NACE-code is een classificatie, geen vergunning of kwaliteitslabel. Wat een bedrijf registreert en wat het effectief doet, kan verschillen.
  • Wil je het verschil tussen ondernemingsnummer en btw-nummer opfrissen, lees dan deze gids. Voor een eerste test zonder code bestaat de gratis tool /be/ondernemingsnummer-opzoeken, en /be/bedrijven toont een overzicht van bedrijven.

Aan de slag: maak gratis een account via /signup (50 tokens per maand, geen kredietkaart), bekijk de API-referentie en de prijzen. Meer over het Belgische aanbod vind je op /be.

Veelgestelde vragen

Wat is het verschil tussen een BV en een NV?
Beide zijn vennootschappen met beperkte aansprakelijkheid. De NV is traditioneel de vorm voor grotere of kapitaalintensieve ondernemingen, de BV (de opvolger van de BVBA) is soepeler en het meest gekozen voor kmo's.
Wat veranderde er in 2019 voor rechtsvormen?
Het Wetboek van vennootschappen en verenigingen verving het oude wetboek. De BVBA werd de BV en het aantal vormen werd beperkt en vereenvoudigd. Je ziet daardoor oude en nieuwe benamingen naast elkaar in oudere data.
Hoe herken ik de hoofdactiviteit van een bedrijf in de API?
Het antwoord bevat een lijst activities[], elk met een code, een omschrijving en een veld isMain. Het item met isMain gelijk aan true is de hoofdactiviteit.
Welke NACE-versie gebruikt de API?
Het antwoord vermeldt in naceVersion welke versie van toepassing is. In België bestaan versies 2008 en 2025, dus controleer dit veld voor je codes vergelijkt.