Sur cette page
La réponse courte
BR-IC-04 échoue lorsque des frais au niveau du document, cbc:ChargeIndicator à true, sont de catégorie K et que le document n'identifie pas le côté vendeur et l'acheteur sous le schéma VAT. Dans l'exemple enregistré, les frais de transport de 6.00 sont en K, et le numéro GB123456789 du vendeur se trouve dans un cac:PartyTaxScheme dont le schéma est TAX ; passer ce schéma à VAT corrige le problème.
Un numéro sous TAX est un identifiant d'enregistrement fiscal du vendeur, pas un identifiant à la TVA du vendeur. Côté vendeur, c'est sur cette distinction que repose cette règle, alors que certaines règles d'autres catégories de TVA acceptent l'un ou l'autre.
Ce que la règle vérifie
La règle se déclenche sur tout cac:AllowanceCharge dont le cbc:ChargeIndicator vaut true et dont la cac:TaxCategory a un cbc:ID à K sous le schéma VAT, et signale une seule fois, à la racine.
Côté vendeur, seul compte un cbc:CompanyID dans un cac:PartyTaxScheme du vendeur de schéma VAT, ou un autre dans cac:TaxRepresentativeParty de schéma VAT. Lors d'un essai, supprimer entièrement le cac:PartyTaxScheme du vendeur a donné les deux mêmes constats que le schéma TAX.
Un vendeur avec les deux schémas passe. Lors d'un essai, ajouter un cac:PartyTaxScheme VAT avec GB123456789 à côté de celui en TAX a rendu la facture en échec valide.
Un représentant fiscal satisfait à lui seul le côté vendeur. Lors d'un essai, une cac:TaxRepresentativeParty allemande avec DE987654321 sous VAT, ajoutée à la facture en échec alors que le vendeur restait sous TAX, l'a rendue valide.
Le côté acheteur n'a pas d'alternative : il lui faut un cac:PartyTaxScheme/cbc:CompanyID de l'acheteur sous VAT. Le retirer de la facture de transport valide a signalé cette règle et BR-IC-02 lors d'un essai.
Les frais déclenchent la règle sans aucune ligne K. Lors d'un essai avec l'unique ligne passée en catégorie Z et les ventilations ajustées en conséquence, le transport en K a signalé cette règle sans BR-IC-02.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-102 | Code de catégorie de TVA des charges ou frais au niveau du document | cac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:ID |
| BT-31 | Identifiant à la TVA du vendeur | cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (tax scheme VAT) |
| BT-32 | Identifiant d'enregistrement fiscal du vendeur | cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (a tax scheme other than VAT) |
| 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 (tax scheme VAT) |
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 du vendeur est paramétré sous un code de schéma fiscal générique,
TAX, que les factures nationales au taux normal acceptent. - Le vendeur détient un numéro fiscal national en plus d'un numéro de TVA, et l'export n'écrit que le premier qu'il trouve.
- Le vendeur passe par un représentant fiscal dans le pays de destination, et
cac:TaxRepresentativePartyest envoyée sans soncac:PartyTaxScheme. - Le transport est ajouté à la facture après que les données des parties ont été construites pour un document national.
Comment corriger le document
- Examinez chaque
cac:PartyTaxSchemesous la partie vendeur et lisez soncac:TaxScheme/cbc:ID. Le numéro de TVA du vendeur doit être sousVAT. - Si le numéro présent est l'identifiant à la TVA du vendeur, passez le schéma à
VAT. S'il s'agit d'un numéro fiscal national, laissez-le sousTAXet ajoutez un secondcac:PartyTaxSchemecontenant l'identifiant à la TVA. - Si le vendeur agit par l'intermédiaire d'un représentant fiscal, envoyez
cac:TaxRepresentativePartyavec nom, adresse postale et uncac:PartyTaxSchemeVAT, aprèscac:AccountingCustomerParty. - Contrôlez aussi l'acheteur : dans l'exemple enregistré,
DE123456789sousVATdans la partie acheteur satisfait déjà le côté acheteur.
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 : des frais de transport de catégorie K, et le numéro du vendeur sous le schéma fiscal TAX
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address in London, GB, omitted from this fragment -->
<cac:PartyTaxScheme>
<cbc:CompanyID>GB123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>TAX</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<!-- legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingSupplierParty>
<!-- buyer and delivery omitted from this fragment -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Freight to Berlin</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">6.00</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 : le même numéro du vendeur sous le schéma VAT
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address in London, GB, omitted from this fragment -->
<cac:PartyTaxScheme>
<cbc:CompanyID>GB123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<!-- legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingSupplierParty>
<!-- the K freight charge of 6.00 is unchanged -->Seul le schéma fiscal du vendeur diffère : TAX dans la facture en échec, VAT dans la facture corrigée, avec GB123456789 dans les deux. Le document en échec signale BR-IC-02 en plus de BR-IC-04, car sa ligne est de catégorie K et passe par le même contrôle du côté vendeur.
Ce que le validateur a signalé
- La facture en erreur signale BR-IC-02 et BR-IC-04. 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. En avoir, la facture en échec a donnéBR-IC-02et cette règle lors d'un essai. - Signalée par l'étape EN 16931 une fois par document, à la racine.
- La règle d'autoliquidation pour les frais,
BR-AE-04, accepterait le numéro du vendeur sousTAX, de même que le contrôle du vendeur au taux normalBR-S-02. - Le taux des frais relève séparément de
BR-IC-07, et le montant des frais doit figurer dans la base imposableKselonBR-IC-08.
Règles liées
- BR-IC-02 applique le même contrôle du vendeur et de l'acheteur aux lignes K et est signalée à côté de cette règle
- BR-IC-03 est la règle des identifiants pour une remise K au niveau du document, illustrée avec le côté acheteur manquant
- BR-AE-04 est la version en autoliquidation pour les frais au niveau du document, qui accepte un identifiant du vendeur sous n'importe quel schéma
- BR-IC-07 exige que les mêmes frais K portent 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-04 (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.

