Sur cette page
La réponse courte
BR-IC-02 échoue lorsqu'une ligne est classée K, livraison intracommunautaire, et qu'il manque au document un identifiant TVA d'un côté. Le côté vendeur a besoin d'un cbc:CompanyID dans un cac:PartyTaxScheme VAT sous cac:AccountingSupplierParty/cac:Party, ou sous cac:TaxRepresentativeParty ; le côté acheteur a besoin de la même chose sous cac:AccountingCustomerParty/cac:Party. Ajoutez celui qui manque.
Le constat n'indique pas quel côté est en cause, contrôlez donc les deux. Dans l'exemple enregistré, c'est l'identifiant TVA de l'acheteur, et le numéro d'immatriculation de l'entreprise de l'acheteur, que le document porte toujours, ne le remplace pas.
Ce que la règle vérifie
Le déclencheur est une ligne : tout cac:ClassifiedTaxCategory avec un cbc:ID à K sous le régime fiscal VAT, qui en UBL se trouve dans le cac:Item d'une ligne de facture ou d'avoir. Une ventilation de TVA K ou une remise au niveau du document ne déclenche pas la règle à elle seule, car celles-ci utilisent cac:TaxCategory.
Une fois la règle déclenchée, deux éléments doivent être présents. Côté vendeur : un identifiant TVA du vendeur, ou un identifiant TVA du représentant fiscal du vendeur ; l'un ou l'autre convient. Côté acheteur : un identifiant TVA de l'acheteur, sans alternative.
Seul un cac:PartyTaxScheme dont le cac:TaxScheme/cbc:ID vaut VAT compte, des deux côtés. Lors d'un essai, l'identifiant de l'acheteur DE123456789 placé sous le régime TAX a toujours signalé BR-IC-02. Le contrôle du taux normal, BR-S-02, est plus souple côté vendeur et accepte une immatriculation fiscale sous n'importe quel régime.
Les identifiants d'immatriculation légale ne jouent aucun rôle. La facture en échec conserve le cac:PartyLegalEntity/cbc:CompanyID de l'acheteur à 87654321 et échoue malgré tout. L'autoliquidation est différente : BR-AE-02 accepte un identifiant d'immatriculation légale de l'acheteur à la place d'un identifiant TVA de l'acheteur.
La règle teste la présence, pas le contenu. Lors d'un essai, un cbc:CompanyID vide pour l'acheteur l'a satisfaite et a été signalé par PEPPOL-EN16931-R008 à la place. Un identifiant TVA de l'acheteur avec le préfixe GB, le même pays que le vendeur, a passé toutes les étapes : les deux pays ne sont jamais comparés.
Il y a un seul constat par document, situé à la racine, qu'il manque un identifiant ou les deux.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-151 | Code de catégorie de TVA de l'article facturé | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID in a credit note) |
| BT-31 | Identifiant à la TVA du vendeur | cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
| BT-63 | Identifiant à la TVA du représentant fiscal du vendeur | cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID |
| BT-48 | Identifiant à la TVA de l'acheteur | cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
Comment une intégration en arrive là
Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :
- Le numéro de TVA de l'acheteur figure sur la fiche client, mais l'export ne le mappe que pour les documents en autoliquidation, pas pour les livraisons intracommunautaires.
- La base clients ne contient qu'un numéro d'immatriculation de l'entreprise, si bien que l'acheteur se retrouve avec
cac:PartyLegalEntity/cbc:CompanyIDet sanscac:PartyTaxScheme. - L'identifiant TVA de l'acheteur est écrit sous un code de régime fiscal autre que
VAT, repris d'un champ générique de type de taxe dans le système source. - Le vendeur facture par l'intermédiaire d'un représentant fiscal, et la
cac:TaxRepresentativePartyest envoyée sans son proprecac:PartyTaxSchemealors que l'identifiant du vendeur est lui aussi omis. - La catégorie
Kest attribuée à partir du seul pays de livraison, si bien qu'un acheteur qui n'a jamais fourni de numéro de TVA reçoit quand mêmeK. C'est alors la décision de catégorie qu'il faut corriger.
Comment corriger le document
- Examinez les deux parties. Sous
cac:AccountingSupplierParty/cac:Partyetcac:AccountingCustomerParty/cac:Party, cherchez uncac:PartyTaxSchemedont lecac:TaxScheme/cbc:IDvautVATet dont lecbc:CompanyIDa une valeur. - Pour l'acheteur, prenez l'identifiant TVA que l'acheteur vous a communiqué, stocké sur la fiche client, complet avec son préfixe pays. S'il n'y en a pas, revenez à la détermination fiscale : la catégorie
Ksuppose un numéro de TVA de l'acheteur, et ni un numéro copié ni un numéro deviné ne constitue une correction. - Écrivez-le sous la forme d'un
cac:PartyTaxSchemeaveccbc:CompanyIDet uncac:TaxScheme/cbc:IDàVAT, aprèscac:PostalAddresset avantcac:PartyLegalEntity. Placé après l'entité juridique, il a échoué à l'étape XSD lors d'un essai, et les règles EN 16931 ont été ignorées. - Pour le vendeur, envoyez l'identifiant TVA du vendeur dans la même structure. Si le vendeur est représenté, une
cac:TaxRepresentativePartyavec nom, adresse postale et uncac:PartyTaxSchemeVATsatisfait aussi le côté vendeur : lors d'un essai, elle a rendu le document valide sans identifiant TVA du vendeur.
Valider votre facture corrigée
Avant et après
Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.
Fragment de la facture en échec : l'acheteur a un identifiant d'immatriculation légale mais pas d'identifiant TVA
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address in Berlin, DE, omitted from this fragment -->
<cac:PartyLegalEntity>
<cbc:RegistrationName>Example Buyer Ltd</cbc:RegistrationName>
<cbc:CompanyID>87654321</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>Fragment de la facture corrigée : l'identifiant TVA de l'acheteur se place entre l'adresse et l'entité juridique
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address in Berlin, DE, omitted from this fragment -->
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Example Buyer Ltd</cbc:RegistrationName>
<cbc:CompanyID>87654321</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>La facture corrigée donne à l'acheteur un cac:PartyTaxScheme contenant DE123456789 sous le régime VAT ; la facture en échec n'a pas d'identifiant TVA de l'acheteur. L'identifiant TVA du vendeur GB123456789 et la ligne K sont identiques dans les deux. Le document en échec ne signale que BR-IC-02, bien que l'identifiant d'immatriculation légale de l'acheteur soit toujours là.
Ce que le validateur a signalé
- La facture en erreur signale BR-IC-02. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.
Où la règle s'applique
- S'applique aux documents UBL
InvoiceetCreditNote. Lors d'un essai, la facture en échec convertie en avoir, aveccac:CreditNoteLinepour sa ligne, a signalé le même constat unique. - Signalée par l'étape EN 16931, qui ne s'exécute qu'une fois l'étape XSD passée. Un
cac:PartyTaxSchememal placé échoue d'abord au schéma et masque cette règle. - Les autres règles intracommunautaires donnent des constats distincts :
BR-IC-10pour le motif d'exonération,BR-IC-11pour la date de livraison ou la période de facturation, etBR-IC-12pour le pays de livraison.BR-CO-09vérifie ensuite le préfixe pays des identifiants que vous ajoutez. - La validation vérifie que les identifiants sont présents, pas qu'ils sont enregistrés. Confirmer un numéro de TVA de l'acheteur, par exemple via le service VIES de l'UE, est une étape distincte.
Règles liées
- BR-AE-02 est l'équivalent en autoliquidation, qui accepte aussi un identifiant d'immatriculation légale de l'acheteur
- BR-G-02 ne demande que le côté vendeur lorsque la ligne est une exportation hors UE
- BR-CO-09 vérifie le préfixe pays des identifiants TVA que cette règle exige
- BR-IC-12 est l'exigence suivante sur le même document : le pays de livraison
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
Portée et source
Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.
La définition officielle de BR-IC-02 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.
Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.

