- Introduction
- 1. Installation
- 2. Création du compte cbeapi.be
- 3. Configuration du module
- 4. Vérifier un tiers
- 5. Pré-remplissage par champ
- 6. Vérification en masse
- 7. Normalisation TVA en masse
- 8. Automatisation
- 9. Journal d'audit et debug
- 10. FAQ
- Mon tiers n'est pas trouvé alors que la société existe bien
- Je veux vérifier un tiers belge SANS écraser ses données
- Le module modifie le numéro d'entreprise (Id. prof. 1)
- Peut-on désactiver le bouton « Vérifier avec BCE » pour certains utilisateurs ?
- Que se passe-t-il quand je dépasse le quota gratuit cbeapi.be ?
- Compatible Multicompany ?
- Compatible avec emPeppol ?
- 11. Dépannage
- Le test de connexion échoue avec « HTTP 401 — Clé API invalide »
- Le test de connexion échoue avec « HTTPS_REQUIRED »
- Le test de connexion échoue avec « API_TIMEOUT »
- Le bouton « Vérifier avec BCE » n'apparaît pas
- Les champs extra (Dernière vérification, Statut) n'apparaissent pas sur la fiche
- Le bulk run est bloqué en statut « En cours » mais rien ne se passe
- Besoin d'aide ?
EMSmartFill — Données clients belges fiables pour Dolibarr
EMSmartFill connecte Dolibarr au registre officiel BCE/KBO (Banque-Carrefour des Entreprises) via l'API cbeapi.be. Le module vérifie vos tiers belges, pré-remplit automatiquement leurs fiches, et corrige en masse les numéros de TVA mal formatés — pour 10 pays de l'Union européenne.
Introduction
Pourquoi EMSmartFill ?
Au fil du temps, votre base de tiers Dolibarr accumule des erreurs : numéros de TVA mal formatés (be 0123.456.789, 0987654321 sans préfixe), adresses périmées, formes juridiques manquantes, doublons partiels. Pour une PME belge, c'est du temps perdu sur les factures, des rejets Peppol, et bientôt un blocage légal quand la facturation électronique B2B deviendra obligatoire en 2026.
EMSmartFill récupère les informations directement depuis la source officielle belge et fiabilise votre base en quelques clics.
Pourquoi pas le bouton TVA natif de Dolibarr ?
Dolibarr dispose d'un bouton « Vérifier » natif sur les fiches tiers, mais pour la Belgique il interroge VIES (le service européen) qui ne renvoie que la validité — pas d'adresse, pas de nom officiel, pas de forme juridique. EMSmartFill remplace ce bouton par une version qui interroge le registre BCE/KBO et ramène toutes les données utiles.
1. Installation
Prérequis
- Version récente de Dolibarr
- PHP ≥ 8.0
- Module standard Dolibarr Sociétés/Tiers activé
- Accès administrateur à votre Dolibarr
Étapes
- Téléchargez le fichier ZIP du module depuis votre commande Dolistore (ou depuis www.e-dem.com).
- Connectez-vous à Dolibarr en tant qu'administrateur.
- Allez dans Configuration → Modules/Applications.
- Cliquez sur Déployer/installer un module externe en haut à droite.
- Sélectionnez le fichier ZIP
module_emsmartfill-X.Y.Z.zipet validez. - Le module apparaît dans la liste. Activez-le en cliquant sur l'interrupteur.
Note pour les hébergements particuliers (Cloudron, Plesk, cPanel) : si votre hébergement utilise un
DocumentRootnon-standard, le module détecte automatiquement le chemin grâce au pattern d'inclusionmain.inc.phpofficiel. Aucune configuration spéciale requise.
Vérification post-installation
Après activation, vous devez voir :
- Un nouveau lien EMSmartFill dans le menu de configuration des modules
- Une nouvelle icône d'admin (Configuration → Modules → EMSmartFill)
- Sur chaque fiche de tiers belge avec un numéro de TVA, un bouton « Vérifier avec BCE »
2. Création du compte cbeapi.be
EMSmartFill utilise l'API cbeapi.be pour interroger le registre BCE/KBO. Vous devez créer un compte gratuit chez eux.
Pourquoi cbeapi.be et pas le BCE directement ?
Le BCE/KBO ne propose pas d'API publique grand public. cbeapi.be est un service belge tiers qui agrège, met en cache et expose les données du registre via une API REST simple. 2 500 requêtes par jour gratuites à l'inscription, ce qui couvre largement les besoins d'une PME standard.
Étapes
- Rendez-vous sur https://cbeapi.be
- Créez un compte (email + mot de passe)
- Dans votre tableau de bord, copiez la clé API (token Bearer)
- Notez les limites de votre forfait (2 500 req/jour pour le gratuit)
Volumes typiques
| Cas d'usage | Requêtes/jour estimées |
|---|---|
| PME avec quelques nouveaux tiers/semaine | < 10/jour |
| Vérification mensuelle en masse (500 tiers) | 500 (1 jour/mois) |
| Comptable avec 4 000 tiers vérifiés tous les 6 mois | 4 000 répartis sur 2 jours |
| Vérification automatique sur création de tiers | 1 par création |
Si vous dépassez régulièrement 2 500/jour, regardez les forfaits payants directement sur cbeapi.be.
3. Configuration du module
Saisie de la clé API
- Allez dans Configuration → Modules/Applications → EMSmartFill → Configurer
- Dans l'onglet Configuration, vous voyez :
- Clé API (champ masqué — le placeholder affiche les 4 derniers caractères de la clé existante si déjà saisie)
- URL de l'API : valeur par défaut
https://cbeapi.be/api/v1(à ne pas modifier sauf cas spécial) - Timeout : par défaut 10 secondes — augmentez à 20-30 s si vous êtes sur un hébergement lent
- Collez votre clé API et cliquez sur Tester la connexion.
- Si la connexion réussit, le module affiche les données d'un tiers de test.
Si le test échoue, voyez la section Dépannage.
Options de comportement
Onglet Options :
| Option | Effet | Recommandation |
|---|---|---|
| Vérification automatique | Vérifie le tiers automatiquement à sa création ou modification | Désactivé par défaut. Activez si vous voulez du « zéro clic ». |
| Pré-remplissage automatique | Pré-remplit automatiquement après une vérification réussie | Désactivé par défaut. À combiner avec la vérification auto. Attention : écrase silencieusement les données saisies à la main. |
| Logguer les réponses API | Stocke la réponse JSON complète de chaque appel dans le journal d'audit | Utile en cas de support. Coûte un peu de stockage. |
4. Vérifier un tiers
Cas d'usage de base
- Ouvrez une fiche de tiers belge (exemple : un tiers que vous venez de créer avec juste le numéro de TVA renseigné
BE0718623213). - Cliquez sur le bouton « Vérifier avec BCE » en haut à droite de la fiche.
- Une boîte de dialogue de confirmation apparaît. Cliquez Oui.
- Le module interroge cbeapi.be et affiche un encadré avec les données BCE récupérées : nom, adresse, code postal, ville, pays, numéro d'entreprise, statut, forme juridique, NACE...
À ce stade, rien n'est encore modifié dans Dolibarr. C'est juste un affichage des données disponibles.
États visuels du bouton
| Couleur | Signification |
|---|---|
| Bleu / neutre | Tiers jamais vérifié |
| 🟢 Vert « BCE Vérifié » | Vérifié avec succès, données disponibles |
| 🟠 Orange | Tiers introuvable dans le BCE (numéro de TVA erroné ou société cessée) |
| 🔴 Rouge | Erreur API (clé invalide, quota dépassé, problème réseau) |
| Grisé | TVA absente ou non belge |
Numéros de TVA mal formatés
EMSmartFill normalise automatiquement les variantes courantes avant l'appel API. Les formats suivants sont tous acceptés et donnent le même résultat :
BE0718623213be 0718.623.213BE 0718 623 213BE-0718-623-2130718623213(uniquement si le pays du tiers est défini comme Belgique)
5. Pré-remplissage par champ
Après une vérification, vous voyez l'encadré BCE avec un tableau comparatif champ par champ :
| ☑ | Champ | Valeur actuelle | Valeur BCE | Statut |
|---|---|---|---|---|
| ☑ | nom | ACME SRL | E-dem | 🟠 Différent |
| ☑ | address | (vide) | Les Bôles 60 | 🟡 À remplir |
| ☑ | zip | (vide) | 5350 | 🟡 À remplir |
| ☑ | town | Bruxelles | Ohey | 🟠 Différent |
| ☐ | country_id | Belgique | Belgique | 🟢 Identique |
Statuts possibles
- 🟢 Identique — pas de différence, pas de checkbox (rien à faire)
- 🟡 Vide (sera rempli) — Dolibarr est vide, BCE a une valeur → coché par défaut
- 🟠 Différent — les deux ont une valeur mais différente → coché par défaut, avec attention
- ⚪ Absent du BCE — Dolibarr a une valeur, BCE pas → jamais coché (on ne supprime jamais)
Raccourcis
- Sélectionner toutes les différences — coche tous les rouges/jaunes en une fois
- Sélectionner uniquement les champs vides — pour ceux qui ne veulent JAMAIS écraser une valeur saisie à la main, ne coche que les jaunes
Appliquer
Cliquez sur Appliquer la sélection : Dolibarr met à jour uniquement les champs cochés, et conserve tout le reste tel quel. Un message confirme le nombre de champs mis à jour.
6. Vérification en masse
Cas d'usage
Vous avez 500 tiers belges dans votre base. Vous voulez tous les vérifier d'un coup pour identifier ceux dont les données ont changé.
Étapes
- Allez dans Configuration → Modules → EMSmartFill → Vérification en masse
- Choisissez votre filtre d'éligibilité :
- Tous les tiers avec TVA — tous les tiers belges, peu importe l'état
- Jamais vérifiés — uniquement ceux qui n'ont pas encore de date de vérification
- Non vérifiés depuis — saisissez une date (au format
YYYY-MM-DD) - Réessayer les erreurs — uniquement les tiers en statut
error - Réessayer les non-trouvés — uniquement les tiers en statut
not_found
- Cochez les types de tiers à inclure : Clients / Fournisseurs / Prospects
- Ajustez si nécessaire :
- Throttle (ms entre appels API) : 1 000 ms par défaut. Si l'API vous limite, montez à 2 000-5 000 ms.
- Taille du lot (tiers par tick AJAX) : 5 par défaut. Si votre réseau est rapide, vous pouvez monter à 10-20.
- Cliquez Lancer la vérification.
Suivi en temps réel
Le module affiche une barre de progression qui s'actualise toutes les 1-2 secondes via AJAX. Vous voyez en permanence le pourcentage traité, les compteurs Succès / Non trouvés / Erreurs, et les boutons Pause / Reprendre / Abandonner.
Vous pouvez fermer l'onglet et revenir plus tard — l'état est persistant en base de données.
Reprise après interruption
Si votre navigateur crash, votre PC redémarre, ou votre session expire : au prochain chargement de la page Vérification en masse, le module détecte automatiquement le run interrompu et vous propose de Reprendre (continuer là où il en était) ou Abandonner (clôturer).
Rapport détaillé
Une fois le run terminé, cliquez Voir le rapport détaillé pour avoir le résumé global avec dates de début/fin, le tableau complet des tiers traités (avec filtres par statut), et un bouton œil 👁️ par ligne pour ouvrir directement la fiche du tiers concerné.
7. Normalisation TVA en masse
Onglet « Analyse »
Allez dans EMSmartFill → Normalisation TVA en masse, onglet Analyse. Cliquez Lancer l'analyse. Le module scanne tous vos tiers et les répartit en 4 catégories :
- ✅ Déjà propres — TVA bien formatée, rien à faire
- 🔵 Auto-correction possible — espaces, points, tirets, casse à corriger, ou préfixe pays à ajouter (si le pays du tiers est connu)
- 🟡 Revue manuelle requise — cas ambigus : longueur incorrecte, pays inconnu, format douteux
- 🔴 Rejetés — vides ou pays non supporté (hors UE)
Onglet « Auto-corrections »
Affiche le détail de la catégorie 🔵. Tableau avec : tiers (lien vers la fiche), pays, TVA actuelle (ex : be 0123.456.789), TVA proposée (ex : BE0123456789), raison de la correction.
Toutes les lignes sont cochées par défaut. Décochez celles que vous ne voulez pas modifier, puis cliquez Appliquer la sélection. Une boîte de dialogue confirme avant exécution. Les corrections sont loggées dans le journal d'audit (avant/après).
Onglet « Revue manuelle »
Pour les cas 🟡 que le module ne peut pas trancher tout seul (TVA invalide, pays inconnu, format douteux), vous voyez chaque cas un par un avec 3 actions :
- Appliquer — saisissez la valeur correcte et validez
- Passer — passer au suivant, vous traiterez plus tard
- Rejeter (laisser tel quel) — la TVA est OK comme ça, ne plus signaler ce tiers
Pays supportés
| Pays | Format |
|---|---|
| 🇧🇪 Belgique | BE0123456789 (10 chiffres) |
| 🇫🇷 France | FR12345678901 (2 lettres ou chiffres + 9 chiffres) |
| 🇱🇺 Luxembourg | LU12345678 (8 chiffres) |
| 🇳🇱 Pays-Bas | NL123456789B01 (9 chiffres + B + 2 chiffres) |
| 🇩🇪 Allemagne | DE123456789 (9 chiffres) |
| 🇪🇸 Espagne | ES?1234567? (lettre/chiffre + 7 chiffres + lettre/chiffre) |
| 🇮🇹 Italie | IT12345678901 (11 chiffres) |
| 🇵🇹 Portugal | PT123456789 (9 chiffres) |
| 🇦🇹 Autriche | ATU12345678 (U + 8 chiffres) |
| 🇮🇪 Irlande | IE12345678 ou IE123456789 (variable) |
8. Automatisation
Si vous voulez du « zéro clic », activez les triggers dans l'onglet Options.
Vérification automatique
Quand activée : chaque fois qu'un tiers belge est créé ou modifié avec un numéro de TVA, le module appelle automatiquement l'API BCE et stocke le résultat dans les champs extra (date + statut).
Impact API : si vous créez 100 tiers par jour, vous consommez 100 requêtes par jour. À surveiller si vous êtes proche du quota 2 500/jour.
Pré-remplissage automatique
Quand activée (et que la vérification auto est aussi active) : après vérification, le module applique automatiquement TOUS les champs BCE sur le tiers, sans demander confirmation.
À utiliser avec précaution : vous perdez le contrôle par champ. Si vos vendeurs ont saisi des informations spécifiques (dénomination commerciale différente de la légale par exemple), elles seront écrasées. Recommandation : laissez désactivé sauf si vous savez exactement ce que vous faites.
9. Journal d'audit et debug
Page Debug
EMSmartFill → Debug affiche un tableau de toutes les actions effectuées (date, utilisateur, type d'action, tiers, TVA, statut HTTP, résultat). Cliquez sur Voir pour déplier la réponse API brute (JSON formaté).
Types d'actions tracés :
verify_vat— vérification manuelle d'un tiersprefill— pré-remplissage appliquésearch_vat,search_name— recherche dans le BCEbulk_verify— un item d'un run en massetrigger_auto— déclenché par le trigger automatiquevat_normalize— correction TVA depuis la page de normalisation
Page Maintenance
EMSmartFill → Maintenance vérifie l'intégrité de la base (prérequis système, modules requis, structure des tables, champs extra, test de connexion API) et propose des actions de réparation. Si quelque chose est cassé (table manquante, champ extra effacé...), le bouton Réparer la base recrée les éléments manquants sans perdre vos données existantes.
10. FAQ
Mon tiers n'est pas trouvé alors que la société existe bien
Trois causes possibles :
- Le numéro de TVA contient une faute de frappe — vérifiez sur le site officiel du BCE
- La société a été cessée récemment — le BCE conserve le numéro mais le marque inactif
- Quirk historique : certains très anciens numéros de TVA (commençant par
1au lieu de0) sont valides mais rares — le module les accepte
Je veux vérifier un tiers belge SANS écraser ses données
C'est exactement le cas d'usage de base : cliquez Vérifier avec BCE → vous voyez les données → fermez l'encadré sans cliquer Appliquer. Aucune donnée n'est modifiée. Le bouton passe juste en vert « BCE Vérifié » et la date est enregistrée.
Le module modifie le numéro d'entreprise (Id. prof. 1)
Lors d'un pré-remplissage, le champ Id. prof. 1 (N° professionnel) est rempli avec le numéro d'entreprise belge à 10 chiffres (sans préfixe BE) : 0718623213 par exemple. C'est le format légal correct attendu par Dolibarr pour la Belgique. Le numéro de TVA (tva_intra) garde son préfixe BE : BE0718623213.
Peut-on désactiver le bouton « Vérifier avec BCE » pour certains utilisateurs ?
Oui. Allez dans Utilisateurs et groupes → Permissions et retirez la permission emsmartfill / verify aux utilisateurs concernés. Le bouton n'apparaîtra plus pour eux.
Que se passe-t-il quand je dépasse le quota gratuit cbeapi.be ?
L'API renvoie un code HTTP 429 (Too Many Requests). EMSmartFill réessaie automatiquement une fois après 5 secondes. Si l'erreur persiste, le tiers est marqué en statut error et vous pouvez relancer le lendemain ou souscrire à un forfait payant.
Compatible Multicompany ?
Oui. La clé API peut être globale ou par entité. Les logs sont isolés par entité. Testé avec et sans le module activé.
Compatible avec emPeppol ?
Oui, parfaitement complémentaire. EMSmartFill nettoie la base de tiers ; emPeppol envoie les factures Peppol. Une base propre = des factures qui partent du premier coup, sans rejet.
11. Dépannage
Le test de connexion échoue avec « HTTP 401 — Clé API invalide »
- Vérifiez que vous avez bien copié toute la clé (sans espace au début/fin)
- Vérifiez sur https://cbeapi.be que votre clé est active
- Re-saisissez la clé dans le champ (le champ est masqué par sécurité, mais si vous laissez vide, la clé existante est conservée)
Le test de connexion échoue avec « HTTPS_REQUIRED »
Votre URL d'API commence par http:// au lieu de https://. Modifiez le champ URL de l'API pour utiliser https://cbeapi.be/api/v1.
Le test de connexion échoue avec « API_TIMEOUT »
Augmentez la valeur du Timeout dans la configuration (par défaut 10 s, essayez 30 s). Si l'erreur persiste, votre serveur ne peut peut-être pas atteindre cbeapi.be — vérifiez avec votre hébergeur.
Le bouton « Vérifier avec BCE » n'apparaît pas
- Vérifiez que le tiers a bien un numéro de TVA renseigné
- Vérifiez que le numéro commence par
BE(sinon le bouton est grisé avec un tooltip explicatif) - Vérifiez que votre utilisateur a la permission emsmartfill / verify
Les champs extra (Dernière vérification, Statut) n'apparaissent pas sur la fiche
Allez dans EMSmartFill → Maintenance et cliquez Réparer la base. Le module recrée les champs extra manquants.
Le bulk run est bloqué en statut « En cours » mais rien ne se passe
C'est un run interrompu (crash navigateur, déconnexion). Au prochain chargement de la page Vérification en masse, le module détecte automatiquement les runs anciens (>5 min sans tick) et les marque en stale. Vous pouvez alors Reprendre ou Abandonner.
Besoin d'aide ?
- 📧 Support email : support@e-dem.com
- 🌐 Site web : www.e-dem.com
Module activement maintenu — réponse sous 48 h ouvrées.