E-commerce B2B aux Pays-Bas : valider les entreprises
KVKBase Team

E-commerce B2B aux Pays-Bas : valider les entreprises

Pourquoi chaque boutique B2B néerlandaise doit valider le numéro KVK : prévention de la fraude, factures exactes et inscription client simplifiée.

b2be-commercevalidation

En e-commerce B2C, un nom et une adresse e-mail suffisent souvent pour laisser un client passer commande. En B2B, les exigences sont fondamentalement différentes. Vous vendez sur facture, appliquez des règles de TVA différentes et devez envoyer des factures correctes à des entités légalement enregistrées.

Sans validation de l’entreprise à l’inscription, vous construisez sur du sable. Dans cet article, nous expliquons pourquoi la validation KVK est indispensable pour toute boutique B2B néerlandaise et comment la mettre en place.

Pourquoi la validation des entreprises est cruciale

1. Prévention de la fraude

La fraude B2B en e-commerce est en hausse. Schéma classique : quelqu’un s’inscrit en tant qu’entreprise, commande sur facture, puis disparaît. Sans validation, vous n’avez aucun moyen de savoir si l’entreprise indiquée existe réellement.

En vérifiant le numéro KVK à l’inscription, vous contrôlez :

  • Si l’entreprise est bien immatriculée auprès du KVK
  • Si l’entreprise est toujours active (non radiée)
  • Si le nom d’entreprise indiqué correspond au registre
  • Si l’adresse est correcte

Cela élimine la grande majorité des fausses inscriptions. Un fraudeur qui saisit un numéro KVK au hasard est immédiatement repéré, car le nom ne correspond pas.

2. Facturation correcte

Une facture adressée à un client professionnel doit comporter légalement certaines mentions :

  • La raison sociale complète de l’entreprise
  • L’adresse
  • Le numéro KVK
  • Le numéro de TVA (pour les opérations soumises à la TVA)

Si l’une de ces mentions est incorrecte, le client peut refuser la facture. Cela entraîne des retards, des corrections manuelles et, au pire, des problèmes de paiement.

En récupérant les données du registre du commerce à l’inscription, vous garantissez des factures exactes dès la première commande.

3. Conformité TVA

Pour les transactions B2B à l’intérieur des Pays-Bas, vous facturez 21 % de TVA par défaut. Mais pour les livraisons intracommunautaires (LIC), c’est-à-dire les ventes à des entreprises d’autres pays de l’UE, le mécanisme d’autoliquidation s’applique. Vous devez alors :

  1. Vérifier que votre client dispose d’un numéro de TVA valide
  2. Valider le numéro de TVA via VIES
  3. Mentionner le numéro vérifié sur la facture

Sans vérification valable, vous restez redevable de la TVA sur la transaction.

4. Amélioration de l’expérience client

La validation peut sembler contraignante, mais elle améliore en réalité l’expérience client. Au lieu de remplir manuellement un formulaire de dix champs, le client saisit un numéro KVK et les autres champs se remplissent automatiquement.

Résultat : moins de saisie, aucune erreur et une image professionnelle.

Mise en œuvre : étape par étape

Étape 1 : le numéro KVK comme champ obligatoire

Ajoutez le numéro KVK comme champ obligatoire dans votre formulaire d’inscription. Validez le format côté client :

function validateKvkInput(input) {
  const cleaned = input.replace(/\D/g, '');

  if (cleaned.length !== 8) {
    return { valid: false, message: 'A KVK number consists of 8 digits' };
  }

  return { valid: true, value: cleaned };
}

Étape 2 : recherche en temps réel

Dès que l’utilisateur saisit un numéro valide de 8 chiffres, effectuez une recherche via l’API :

async function onKvkInput(kvkNumber) {
  const validation = validateKvkInput(kvkNumber);
  if (!validation.valid) {
    showError(validation.message);
    return;
  }

  showLoading('Fetching company details...');

  try {
    const response = await fetch(`/api/kvk/${validation.value}`);
    const company = await response.json();

    if (!company.isActive) {
      showError('This company is no longer active at the KVK');
      return;
    }

    fillFormFields(company);
    showSuccess(`${company.tradeName} found`);
  } catch {
    showError('Could not fetch company details');
  }
}

Étape 3 : afficher les données pour confirmation

Affichez les données récupérées au client. Cela a deux objectifs : le client peut vérifier que la bonne entreprise a été trouvée, et vous montrez en toute transparence quelles données vous utilisez.

<div id="company-details" class="company-card">
  <h3 id="company-name">Voorbeeld BV</h3>
  <dl>
    <dt>KVK number</dt>
    <dd id="kvk-display">12345678</dd>

    <dt>Address</dt>
    <dd id="address-display">Voorbeeldstraat 1, 1234AB Amsterdam</dd>

    <dt>Legal form</dt>
    <dd id="legal-form-display">Besloten Vennootschap</dd>

    <dt>Status</dt>
    <dd id="status-display">Active</dd>
  </dl>
</div>

Étape 4 : vérification côté serveur

Ne vous fiez jamais à la seule validation côté client. Vérifiez à nouveau le numéro KVK côté serveur avant de créer le compte :

// Côté serveur (Node.js)
app.post('/api/register', async (req, res) => {
  const { kvkNumber, email, contactName } = req.body;

  // Vérifier le numéro KVK
  const company = await kvkbase.lookup(kvkNumber);
  if (!company) {
    return res.status(400).json({ error: 'KVK number not found' });
  }

  if (!company.isActive) {
    return res.status(400).json({ error: 'Company is not active' });
  }

  // Vérifier les doublons
  const existing = await db.companies.findByKvk(kvkNumber);
  if (existing) {
    return res.status(409).json({ error: 'This company is already registered' });
  }

  // Créer le compte avec les données vérifiées
  const account = await db.companies.create({
    kvkNumber: company.kvkNumber,
    tradeName: company.tradeName,
    legalForm: company.legalForm,
    address: company.address,
    vatNumber: company.vatNumber,
    contactEmail: email,
    contactName: contactName,
    verifiedAt: new Date()
  });

  res.status(201).json({ accountId: account.id });
});

Étape 5 : le widget KVKBase

Le moyen le plus rapide de mettre cela en place est le widget KVKBase. Une seule balise script et vous obtenez une recherche pleinement fonctionnelle dans votre formulaire d’inscription :

<script src="https://widget.kvkbase.nl/kvk-lookup.js"
        data-api-key="YOUR_KEY"></script>

<kvk-lookup
  id="registration-kvk"
  placeholder="Enter your KVK number"
></kvk-lookup>

<script>
document.getElementById('registration-kvk')
  .addEventListener('kvkbase:found', (e) => {
    const c = e.detail;
    document.getElementById('reg-name').value = c.tradeName;
    document.getElementById('reg-address').value =
      `${c.address.street} ${c.address.houseNumber}`;
    document.getElementById('reg-city').value = c.address.city;
    document.getElementById('reg-vat').value = c.vatNumber || '';
  });
</script>

Que faire si un client n’a pas de numéro KVK ?

Tous les clients ne sont pas des entreprises néerlandaises. Voici plusieurs scénarios à prévoir :

  • Entreprises étrangères : demandez un numéro de TVA et validez-le via VIES
  • Consommateurs : si vous vendez aussi à des particuliers, proposez un parcours d’inscription distinct
  • Institutions publiques : elles figurent également au registre du commerce et disposent d’un numéro KVK

Résultats en pratique

Les boutiques B2B qui mettent en place la validation KVK constatent généralement :

  • Une réduction significative des inscriptions frauduleuses
  • Moins d’avoirs grâce à des données de facturation correctes
  • Une intégration plus rapide des clients grâce au remplissage automatique
  • Moins de corrections manuelles pour l’équipe back-office

L’investissement dans une validation KVK soignée est vite rentabilisé par la baisse des coûts opérationnels et la fiabilité accrue des données clients.

Conclusion

La validation des entreprises à l’inscription n’est pas un luxe pour une boutique B2B : c’est une nécessité. Elle vous protège de la fraude, garantit une facturation correcte et améliore en même temps l’expérience client.

Avec KVKBase, vous pouvez ajouter la validation via le widget intégrable (quelques minutes de travail) ou via l’API REST (plus de flexibilité). Dans les deux cas, vous obtenez des données validées directement issues du registre du commerce, prêtes à être stockées et utilisées dans l’ensemble de votre processus métier.