Immatriculation des entreprises néerlandaises : guide développeur
Guide du registre néerlandais du commerce pour développeurs : numéro KVK, formes juridiques, codes SBI et numéros d'établissement expliqués.
Lorsque vous développez avec des données d’entreprises néerlandaises, vous rencontrez vite des termes comme numéro KVK, numéro d’établissement, code SBI et forme juridique. Cela peut sembler écrasant, mais le système est plus logique qu’il n’y paraît au premier abord.
Dans cet article, nous expliquons le système néerlandais du registre du commerce du point de vue d’un développeur : quelles données sont disponibles, ce qu’elles signifient et comment les exploiter efficacement dans votre application.
Qu’est-ce que le KVK ?
La Kamer van Koophandel (KVK), ou chambre de commerce, gère le Handelsregister (registre du commerce) : la base de données centrale de toutes les entreprises et personnes morales des Pays-Bas. Chaque entrepreneur et chaque société aux Pays-Bas a l’obligation de s’y inscrire.
Le registre du commerce contient des informations sur :
- Le nom et l’adresse de l’entreprise
- La forme juridique (BV, NV, entreprise individuelle, etc.)
- Les activités de l’entreprise (codes SBI)
- Les dirigeants et les représentants autorisés
- Les établissements
Ces données sont en grande partie publiques et peuvent être consultées et utilisées dans des applications.
Le numéro KVK
Le numéro KVK (aussi appelé numéro de dossier) est l’identifiant principal d’une entreprise ou d’une personne morale dans le registre du commerce.
Spécifications techniques :
- Longueur : exactement 8 chiffres
- Type : numérique, mais à stocker toujours sous forme de chaîne de caractères (à cause des zéros initiaux)
- Unicité : unique par entité juridique
- Durée de vie : attribué à l’immatriculation et ne change jamais
- Exemples :
12345678,01234567
// Validation
const isValidKvk = (nr) => /^\d{8}$/.test(nr);
// Stockage en base de données
// SQL: kvk_number CHAR(8) NOT NULL
// MongoDB: kvkNumber: { type: String, match: /^\d{8}$/ }
Le numéro d’établissement (vestigingsnummer)
En plus du numéro KVK, chaque entreprise possède un ou plusieurs numéros d’établissement. Un établissement (vestiging) est un lieu physique où l’entreprise exerce son activité.
Spécifications techniques :
- Longueur : exactement 12 chiffres
- Relation : une entreprise (1 numéro KVK) peut avoir plusieurs établissements (plusieurs numéros d’établissement)
- Exemple :
000012345678
La relation se présente ainsi :
Company (KVK: 12345678)
|
+-- Head office (Branch: 000012345678)
+-- Amsterdam office (Branch: 000012345679)
+-- Rotterdam office (Branch: 000012345680)
Dans la plupart des applications, vous travaillez avec le numéro KVK. Le numéro d’établissement devient pertinent lorsque vous devez identifier des sites précis, par exemple en logistique ou pour des services basés sur la localisation.
Les formes juridiques : les types d’entreprises
Les Pays-Bas connaissent diverses formes juridiques. Chacune a des caractéristiques juridiques différentes qui peuvent compter pour votre application.
Formes juridiques dotées de la personnalité juridique
Ce sont des entités juridiques indépendantes, distinctes de leurs propriétaires :
BV (Besloten Vennootschap, société à responsabilité limitée)
- Forme juridique la plus répandue pour les entreprises de taille moyenne
- Les actionnaires ne sont pas personnellement responsables
- Capital social minimum : 0,01 EUR
- Reconnaissable à la mention « B.V. » après le nom
NV (Naamloze Vennootschap, société anonyme)
- Pour les grandes sociétés, souvent cotées en bourse
- Les actions sont librement cessibles
- Capital social minimum : 45 000 EUR
- Reconnaissable à la mention « N.V. » après le nom
Stichting (fondation)
- Ni membres ni actionnaires
- Ne peut pas distribuer de bénéfices
- Utilisée à des fins non lucratives, mais aussi pour des structures de holding
Vereniging (association)
- Compte des membres
- Deux variantes : avec ou sans pleine capacité juridique
- Pensez aux clubs sportifs et aux associations professionnelles
Formes juridiques sans personnalité juridique
Avec ces formes juridiques, il n’y a pas de séparation entre l’entreprise et son propriétaire :
Eenmanszaak (entreprise individuelle)
- Un seul propriétaire, entièrement responsable sur ses biens personnels
- Pas de capital minimum
- La forme juridique la plus simple
- Attention : pour une entreprise individuelle, le nom commercial peut contenir un nom de personne (pertinent pour le RGPD)
VOF (Vennootschap Onder Firma, société en nom collectif)
- Deux associés ou plus
- Tous les associés sont solidairement responsables
- Fréquente chez les professionnels qui collaborent
Maatschap (société civile professionnelle)
- Similaire à la VOF, mais chaque associé n’est responsable que de sa propre part
- Fréquente chez les médecins, avocats et experts-comptables
CV (Commanditaire Vennootschap, société en commandite)
- Combinaison d’associés commandités (responsables) et d’associés commanditaires (responsabilité limitée)
Impact sur votre application
La forme juridique influence la manière dont vous traitez les données :
function getCompanyContext(legalForm) {
switch (legalForm) {
case 'Eenmanszaak':
return {
hasPersonalData: true, // Le nom peut être un nom de personne
addressMayBeHome: true, // L'adresse peut être un domicile
gdprSensitive: true // Prudence accrue requise
};
case 'BV':
case 'NV':
return {
hasPersonalData: false,
addressMayBeHome: false,
gdprSensitive: false
};
case 'VOF':
case 'Maatschap':
return {
hasPersonalData: true, // Les associés sont identifiables
addressMayBeHome: true, // Peut être une adresse résidentielle
gdprSensitive: true
};
default:
return {
hasPersonalData: false,
addressMayBeHome: false,
gdprSensitive: false
};
}
}
Codes SBI : les activités de l’entreprise
SBI signifie Standaard Bedrijfsindeling (classification standard des entreprises). C’est un système de classification qui indique quelles activités une entreprise exerce. Chaque entreprise du registre du commerce possède un ou plusieurs codes SBI.
Structure
Les codes SBI sont organisés de façon hiérarchique :
Section: J - Information and communication
Division: 62 - Information technology
Group: 620 - Information technology
Class: 6201 - Software development and production
6202 - IT consultancy
6203 - Computer facilities management
Les codes comptent 4 ou 5 chiffres. Une entreprise peut avoir plusieurs codes SBI si elle exerce plusieurs activités.
Utilisation dans votre application
Les codes SBI sont utiles pour :
- La segmentation du marché : filtrer les clients par secteur
- L’évaluation des risques : certains secteurs présentent un profil de risque plus élevé
- La conformité : certaines activités nécessitent des autorisations
- Les statistiques : analyser votre base clients par secteur
// Trouver toutes les entreprises IT de votre base clients
const itCompanies = companies.filter(c =>
c.sbiCodes.some(sbi => sbi.code.startsWith('62'))
);
// Catégoriser par grand secteur
function getSector(sbiCode) {
const division = parseInt(sbiCode.substring(0, 2));
if (division >= 1 && division <= 3) return 'Agriculture';
if (division >= 10 && division <= 33) return 'Manufacturing';
if (division >= 41 && division <= 43) return 'Construction';
if (division >= 45 && division <= 47) return 'Trade';
if (division >= 58 && division <= 63) return 'Information and communication';
if (division >= 64 && division <= 66) return 'Financial services';
if (division >= 69 && division <= 75) return 'Specialist business services';
return 'Other';
}
Autres numéros d’identification utiles
Outre le numéro KVK et le numéro d’établissement, vous rencontrerez d’autres numéros en pratique :
Numéro de TVA (omzetbelastingnummer)
- Format :
NL+ 9 chiffres +B+ 2 chiffres - Exemple :
NL123456789B01 - Délivré par l’administration fiscale (Belastingdienst), pas par le KVK
- Pas toujours disponible via l’API KVK
RSIN (numéro d’information des personnes morales et sociétés)
- 9 chiffres
- Identifie une personne morale auprès des systèmes de l’administration
- Utilisé notamment pour la base de données des registres de la population
BSN (numéro de service citoyen)
- 9 chiffres
- Numéro d’identification personnel des personnes physiques
- Jamais disponible via des API publiques
- Pertinent uniquement pour les entreprises individuelles, et seulement pour le propriétaire
Exploiter efficacement les données
Conception de la base de données
Un schéma de base de données solide pour les données d’entreprises néerlandaises :
CREATE TABLE companies (
id UUID PRIMARY KEY,
kvk_number CHAR(8) UNIQUE NOT NULL,
trade_name VARCHAR(255) NOT NULL,
legal_form VARCHAR(100),
is_active BOOLEAN DEFAULT true,
vat_number VARCHAR(14),
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW(),
verified_at TIMESTAMPTZ
);
CREATE TABLE company_addresses (
id UUID PRIMARY KEY,
company_id UUID REFERENCES companies(id),
vestiging_number CHAR(12),
address_type VARCHAR(20), -- 'visiting' ou 'postal'
street VARCHAR(255),
house_number VARCHAR(10),
postal_code CHAR(6),
city VARCHAR(100),
country CHAR(2) DEFAULT 'NL'
);
CREATE TABLE company_sbi_codes (
company_id UUID REFERENCES companies(id),
sbi_code VARCHAR(5),
description VARCHAR(255),
is_primary BOOLEAN DEFAULT false,
PRIMARY KEY (company_id, sbi_code)
);
Fonction de recherche
Lorsque vous construisez une fonction de recherche d’entreprises, prévoyez plusieurs champs de recherche :
async function searchCompanies(query) {
// Est-ce un numéro KVK ?
if (/^\d{8}$/.test(query)) {
return kvkbase.lookup(query);
}
// Est-ce un numéro de TVA ?
if (/^NL\d{9}B\d{2}$/.test(query.replace(/[\s.]/g, ''))) {
return kvkbase.searchByVat(query);
}
// Est-ce un code postal ?
if (/^\d{4}[A-Z]{2}$/.test(query.replace(/\s/g, ''))) {
return kvkbase.searchByPostalCode(query);
}
// Recherche par nom d'entreprise
return kvkbase.search(query);
}
Conclusion
Le registre néerlandais du commerce est une riche source de données d’entreprises, dotée d’une structure logique. En tant que développeur, vous manipulez un nombre limité de concepts clés :
- Numéro KVK (8 chiffres) : identifie l’entreprise
- Numéro d’établissement (12 chiffres) : identifie le site
- Forme juridique : détermine le caractère juridique
- Codes SBI : décrivent les activités
En comprenant ces concepts et en les intégrant correctement dans votre modèle de données, vous posez des bases solides pour toute application qui travaille avec des entreprises néerlandaises.
Avec KVKBase, vous pouvez interroger toutes ces données via une seule API bien documentée, des simples recherches par numéro aux fonctions de recherche avancées. Vous évitez ainsi de vous perdre dans une documentation administrative complexe et vous vous concentrez sur l’essentiel : créer un excellent produit.