Sur cette page
La réponse courte
BR-IC-03 échoue lorsqu'une remise au niveau du document, cbc:ChargeIndicator à false, a la catégorie de taxe K et qu'il manque au document un identifiant TVA du côté vendeur ou pour l'acheteur. Dans l'exemple enregistré, la remise palette complète de 1.25 est en K et l'acheteur n'a pas de cac:PartyTaxScheme ; ajouter l'identifiant TVA de l'acheteur DE123456789 sous le schéma VAT corrige le problème.
Une remise intracommunautaire accompagne normalement des lignes K, si bien que BR-IC-02 arrive avec elle, comme ici. Un seul identifiant manquant donne les deux constats, et l'ajouter corrige les deux.
Ce que la règle vérifie
Le déclencheur est tout cac:AllowanceCharge dont le cbc:ChargeIndicator vaut false et dont la cac:TaxCategory est K sous le schéma VAT. Le constat est émis une seule fois, à la racine du document.
La remise suffit, sans aucune ligne K. Lors d'un essai, la facture en échec enregistrée, avec sa ligne passée en catégorie Z et les ventilations ajustées en conséquence, a signalé cette règle et pas BR-IC-02.
Les identifiants demandés sont ceux qu'exige une ligne K : côté vendeur, un cac:PartyTaxScheme/cbc:CompanyID VAT pour le vendeur ou pour un représentant fiscal, et côté acheteur, un cac:PartyTaxScheme/cbc:CompanyID VAT pour l'acheteur.
Un identifiant d'immatriculation légale de l'acheteur ne le remplace pas. La facture en échec garde 87654321 dans le cac:PartyLegalEntity de l'acheteur et échoue malgré tout, alors que la règle d'autoliquidation pour les remises BR-AE-03 l'accepterait.
Un numéro de l'acheteur sous un autre schéma ne compte pas non plus. Lors d'un essai, DE123456789 avec le schéma fiscal TAX a signalé cette règle et BR-IC-02, exactement comme son absence.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-95 | Code de catégorie de TVA de la remise au niveau du document | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID |
| 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 n'est mappé que pour les documents en autoliquidation, et l'export remplit les parties d'une livraison intracommunautaire comme pour une opération nationale.
- Le client a été configuré pour les livraisons dans l'UE à partir du seul pays de livraison, et son numéro de TVA n'a jamais été collecté.
- La remise reprend la catégorie
Kdes lignes, alors que la partie acheteur vient d'un enregistrement de commande sans champs fiscaux. - Le numéro de TVA de l'acheteur se trouve dans un enregistrement de contact ou de livraison que l'export des factures ne lit pas.
Comment corriger le document
- Confirmez que la remise se rattache à la livraison intracommunautaire. Une remise sur des marchandises
Kprend la catégorieKet un taux de 0. - Prenez l'identifiant TVA de l'acheteur dans la fiche client, avec son préfixe pays, et écrivez-le sous la forme d'un
cac:PartyTaxSchemeaveccbc:CompanyIDet uncac:TaxScheme/cbc:IDàVAT, entrecac:PostalAddressetcac:PartyLegalEntitydans la partie acheteur. - Contrôlez en même temps le côté vendeur : le
cac:PartyTaxSchemedu vendeur doit utiliser le schémaVAT, ou unecac:TaxRepresentativePartydoit porter un identifiantVAT.BR-IC-04montre le côté vendeur en échec. - Si l'acheteur n'a pas de numéro de TVA, renvoyez la catégorie des lignes et de la remise à la détermination fiscale plutôt que d'inventer un identifiant.
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 : une remise de catégorie K, et un acheteur avec un identifiant d'immatriculation légale mais sans 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>
<!-- delivery omitted from this fragment -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Full pallet discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">1.25</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>K</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>Fragment de la facture corrigée : l'identifiant TVA de l'acheteur DE123456789 sous le schéma VAT
<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>
<!-- the K discount of 1.25 is unchanged -->La facture corrigée donne à l'acheteur DE123456789 dans un cac:PartyTaxScheme VAT ; la facture en échec n'a pas d'identifiant TVA de l'acheteur, et la remise de 1.25 en K est identique dans les deux. Outre BR-IC-03, le document en échec signale BR-IC-02, car sa ligne est aussi de catégorie K.
Ce que le validateur a signalé
- La facture en erreur signale BR-IC-02 et BR-IC-03. 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. Convertie en avoir, la facture en échec a signaléBR-IC-02et cette règle lors d'un essai. - Signalée par l'étape EN 16931 comme un seul constat fatal à la racine, quel que soit le côté manquant.
- Les frais en
Kont la même exigence selonBR-IC-04, et les lignes selonBR-IC-02. L'équivalent en autoliquidation pour les remises,BR-AE-03, accepte en outre un identifiant du vendeur sous n'importe quel schéma et un identifiant d'immatriculation légale de l'acheteur.
Règles liées
- BR-IC-02 pose la même exigence d'identifiants pour les lignes K et est signalée à côté de cette règle
- BR-IC-04 est la règle des identifiants pour des frais K au niveau du document, illustrée avec le côté vendeur manquant
- BR-AE-03 est la version plus souple de l'autoliquidation pour les remises au niveau du document
- BR-IC-06 exige que la même remise K porte un taux de 0
- 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-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.
La définition officielle de BR-IC-03 (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.

