A l'heure où la France impose aux entreprises assujetties à la TVA l'obligation de choisir une PDP pour 2026, Business Central dispose d'un contrôle à la saisie d'un numéro de TVA, que l'on étend au SIREN, spécificité française.
Toute entreprise assujettie à la TVA au sein de l’Union Européenne (UE) se voit attribuer un numéro d’identification fiscale unique. Délivré par l’administration fiscale du pays où l’entreprise est enregistrée, ce numéro est indispensable pour les transactions commerciales au sein de l’UE. Il doit obligatoirement figurer sur les documents commerciaux (factures, devis, etc…) ainsi que sur les déclarations administratives, notamment celles de TVA. La structure de ce numéro varie selon le pays, mais il suit un format précis propre à chaque État membre.
VAT Information Exchange System (VIES)
L’UE met à disposition une plateforme en ligne permettant de vérifier facilement les numéros de TVA des entreprises enregistrées dont voici un petit aperçu (Validation de la TVA par VIES) :
Cette vérification peut être réalisée manuellement ou directement à l’aide d’une API à l’aide de 2 protocoles d’échange, SOAP ou bien RES. Ces solutions permettent d’intégrer la vérification directement dans vos systèmes et applications, garantissant ainsi des échanges commerciaux conformes et sécurisés.
Services SOAP disponibles
Grâce au protocole SOAP, trois WSDL sont proposés :
- Vérification de la validité d’un numéro de TVA (utilisé par Business Central) :
👉 checkVatService.wsdl - Test d’intégration avec le service original :
👉 checkVatTestService.wsdl - Suivi du statut de l’application et des services des États membres :
👉 checkStatusService.wsdl
Services REST pour une intégration simplifiée
Si vous préférez une approche plus moderne et flexible, des web services REST sont également disponibles :
- Vérification d’un numéro de TVA :
👉 check-vat-number - Test de validation des services :
👉 check-vat-test-service - Consultation du statut des services :
👉 check-status
Vérification du numéro de TVA dans Business Central
Business Central propose une fonctionnalité intégrée pour vérifier les numéros de TVA des contacts, clients et fournisseurs. Cette vérification s’effectue à deux niveaux, garantissant la conformité des données et évitant les erreurs administratives (consultez la documentation officielle Microsoft ici).
I Vérification syntaxique
Business Central contrôle que la structure du numéro de TVA correspond au format officiel de chaque pays.
Une table spécifique, VAT Registration No. Format (T381), contient les formats valides pour chaque pays, également accessible via l’interface Countries/Regions (T9).
Pour une analyse plus approfondie, il est recommandé d’exporter cette table via un configuration package (T8623).
Les symboles spéciaux ont des significations particulières :
- « @ » représente n’importe quel caractère
- « # » représente un chiffre
Cette vérification préliminaire permet d’éviter les erreurs de saisie et d’assurer la cohérence des données avant toute validation fiscale.
II Vérification avec le service VIES (si activé)
Le deuxième niveau de contrôle consiste à interroger le service VIES (VAT Information Exchange System) pour valider en temps réel l’authenticité d’un numéro de TVA. If faut d’abord en activer la fonctionnalité:
Business Central repose sur l’API SOAP mentionnée précédemment, en particulier via cet endpoint : https://ec.europa.eu/taxation_customs/vies/checkVatTestService.
Il est aussi possible d’explorer les détails du WSDL fourni (Définition de l’API VIES) avec des outils comme Postman ou bien Wizdler, que nous utilisons.
Détail du processus d’appel API :
- Requête : Business Central envoie une requête POST contenant le numéro de TVA à vérifier (exemple : le numéro de TVA de Microsoft France). Cette requête suit un format standardisé (enveloppe SOAP) :
- Réponse : Si le numéro est valide, le nom de l’entreprise et son adresse sont récupérés.
La même opération reste possible en utilisant l’API à travers Postman puis en récupérant les informations de la même façon :
L’opération peut être réalisée directement dans l’ERP. Lors de la saisie d’un numéro de TVA, Business Central contrôle le format du numéro en fonction du code pays. Si le numéro est vérifié, les informations de l’entreprise sont récupérées (nom et adresse) et la fiche fournisseur actualisée, grâce au service VIES:
Un registre spécifique conserve un historique des requêtes de validation effectuées.
Il faut garder à l’esprit :
- La vérification syntaxique est obligatoire pour garantir un format conforme.
- La validation via le service VIES est facultative, mais recommandée pour éviter les erreurs de facturation.
Business Central intègre un concept de template de validation permettant d’adapter le contrôle selon :
- Le pays concerné
- Le type d’entité (contact, client ou fournisseur)
- A un degrés plus précis, au niveau d’un enregistrement spécifique (le fournisseur SAS Microsoft France par exemple)
III Résumé du processus complet de validation
IV Amélioration du système actuel de vérification de BC
Pour s’assurer de la conformité d’un numéro de TVA, l’utilisation des expressions régulières (regex, explicité dans notre article Do you speak REGEX) est une approche plus puissante et largement adoptée par la communauté informatique. Bien que plus techniques, elles permettent une validation précise et adaptable aux spécificités de chaque pays pour la vérification syntaxique
Voici quelques exemples de formats de numéros de TVA par pays, régis par des regex :
Outre cette vérification syntaxique, celle par le service VIES peut être réalisée grâce à l’API Rest. Cette alternative a le mérite d’être simple, rapide, et optimisée en ressources.
Contrairement à l’API SOAP, cette approche ne nécessite aucune enveloppe XML, ni paramètre complexe. Il suffit d’insérer le numéro de TVA dans l’URL pour obtenir une réponse structurée et détaillée :
Cas spécifique français, le numéro SIREN
Comme dans d’autres pays, la France dispose d’un registre national des entreprises, et chaque entreprise est identifiée par un numéro SIREN (Système d’Identification du Répertoire des ENtreprises, Informations SIREN Service Public). Ce numéro unique, composé de 9 chiffres, permet d’identifier une société auprès des administrations et des partenaires commerciaux.
L’État français met à disposition plusieurs plateformes avec des services API permettant de valider un numéro SIREN et ainsi d’accéder aux informations officielles de l’entreprise. Le format de ce numéro est standardisé comme suit :
- Composé de 9 chiffres
- Séparation des chiffres par des tirets ou non
Ces règles correspondent au REGEX du tableau précédent : \d{9}|\d{3}[-]\d{3}[-]\d{3}
Une particularité du SIREN repose sur sa validation possible à l’aide de l’algorithme de Luhn. Les chiffres de rang pair sont pondérés par 2 et ceux de rang impair par 1. L’algorithme vérifie alors que la somme des chiffres obtenus par ces pondération est congrue à 10, c’est à dire multiple de 10. La clé du numéro de sécurité sociale repose sur la même technologie (mais avec un modulo 97 sur le nombre formé par les 13 caractères).
Voici un exemple de contrôle du SIREN de Microsoft France, SIREN code 327733184 :
La somme des valeurs obtenues : 3+4+7+(1+4)+3+6+1+(1+6)+4 est égale à 40 donc multiple de 10. Le numéro de SIREN est donc valide.
Ces 3 niveaux de contrôle (syntaxique, algorithmique et au niveau du registre de la plateforme d’Etat) peuvent être reproduits sur Business Central, à l’image de ceux pour le numéro de TVA.
- Vérification syntaxique. La bibliothèque REGEX est simplement utilisée en donnant en argument la chaine de caractères (le numéro ) et sa structure attendue :
- Vérification algorithmique selon l’algo de Luhn :
- Vérification avec la plateforme Web, dont le gouvernement propose une documentation technique (API Rest). Postman nous permet de visualiser la requête et d’en obtenir une réponse structurée sous format json dont on fournit un extrait :
"results": [ { "siren": "327733184", "nom_complet": "MICROSOFT FRANCE", "nom_raison_sociale": "MICROSOFT FRANCE", "sigle": null, "nombre_etablissements": 56, "nombre_etablissements_ouverts": 10, "siege": { "activite_principale": "62.02A", "activite_principale_registre_metier": null, "annee_tranche_effectif_salarie": "2021", "adresse": "37/45 37 QUAI DU PRESIDENT ROOSEVELT 92130 ISSY-LES-MOULINEAUX", "caractere_employeur": "O", "cedex": null, "code_pays_etranger": null, "code_postal": "92130", "commune": "92040", "complement_adresse": "37/45", "coordonnees": "48.83130699999998,2.262229000000001", "date_creation": "2009-06-26", "date_debut_activite": "2017-01-31",
On peut obtenir un résultat identique sur l’UI de Business Central avec de l’AL sur VScode :
Il reste évidemment possible d’intégrer le même processus utilisé pour les numéros de TVA :
- Vérification à 3 niveaux
- Récupération auto des données associées et mise à jour des fiches entreprises sur Business Central si souhaité
- Enregistrement des requêtes de validation dans un répertoire dédié
Le code est disponible sur mon GitHub personnel : Vérification du SIREN
Ces vérifications s’inscrivent dans le contexte de réforme de la facturation électronique en France. Le numéro de SIREN y sera utilisé comme clé pour l’identification des entreprises dans le RNE (Registre National des Entreprises) par les PDP agrées (Plateformes Dématérialisées Partenaires). Les factures seront alors échangées électroniquement entre les différentes entreprises mais aussi avec l’administration fiscale par l’intermédiaire de ces plateformes. Des conversions de format seront aussi possibles ainsi que l’extraction d’informations essentielles.
Obtention du numéro de TVA à partir du SIREN
Le numéro de TVA intracommunautaire français est directement dérivé du SIREN. Il est composé :
- Du préfixe pays « FR »
- D’une clé TVA calculée par une formule spécifique
- Du numéro SIREN
La clé TVA est obtenue par l’éminente formule suivante : [12 + 3 × (SIREN modulo 97)] modulo 97
👉 Exemple avec Microsoft France (SIREN 327 733 184) : [12 + 3 × (327733184 % 97)] % 97 = 95. Le numéro de TVA obtenu est donc bien FR95327733184.
Dans la peau de Microsoft, il serait donc plus judicieux d’utiliser une API pour vérifier préliminairement le SIREN sur Business Central afin de trouver ensuite le numéro de TVA hérité.