Sur cette page
La réponse courte
BR-O-04 échoue lorsqu'un cac:AllowanceCharge à la racine avec cbc:ChargeIndicator true est en catégorie O et que le vendeur, l'acheteur ou le représentant fiscal a un cbc:CompanyID dans un cac:PartyTaxScheme VAT. L'exemple enregistré facture Delivery pour 4.00 en O alors que le vendeur affiche GB123456789. Supprimez les identifiants TVA, ou reconsidérez si les frais et la facture relèvent vraiment de O.
Un vendeur qui doit imprimer son numéro de TVA indique à l'acheteur qu'il opère dans le système de TVA. Dans ce cas, vérifiez si la livraison doit suivre la catégorie des marchandises livrées plutôt que de figurer en O.
Ce que la règle vérifie
Seuls les frais à la racine du document avec cbc:ChargeIndicator true et une cac:TaxCategory O sous le schéma VAT déclenchent la règle ; des frais placés dans une ligne, non. Les identifiants recherchés ensuite sont les trois mêmes que pour les lignes et remises O.
Chaque partie visée a été essayée sur la facture corrigée : l'identifiant GB123456789 du vendeur, un identifiant GB987654321 de l'acheteur et un représentant fiscal avec GB987654321 ont chacun signalé cette règle, chaque fois à côté de BR-O-02.
Sur une facture au taux normal, la règle apparaît sans BR-O-02. Lors d'un essai, des frais de livraison de 4.00 en O ajoutés à une facture ayant une ligne S et l'identifiant GB123456789 du vendeur ont signalé cette règle et BR-O-01.
Les immatriculations fiscales sous un autre schéma sont ignorées. Avec le vendeur identifié par 1234567890 sous TAX à la place de l'identifiant TVA, le document avec les frais est resté valide lors d'un essai.
| 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 |
| BT-48 | Identifiant à la TVA de l'acheteur | cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
| BT-63 | Identifiant à la TVA du représentant fiscal du vendeur | cac:TaxRepresentativeParty/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 du vendeur est écrit sur chaque facture depuis les paramètres de la société, et les frais de livraison ont été mis en
Oparce que toute la commande l'était. - Des frais de livraison refacturés au coût sont traités comme hors du champ de la TVA dans le système source, alors que le reste de la facture est taxable et porte les numéros de TVA.
- Les frais sans code de taxe propre retombent sur
Odans le mapping, sur les factures d'un vendeur immatriculé à la TVA.
Comment corriger le document
- Décidez si les frais sont réellement hors du champ de la TVA. Des frais de livraison de marchandises taxables partagent généralement leur traitement TVA ; c'est alors la catégorie des frais qui est fausse, et
BR-O-14suit si les lignes restent enO. - Si tout le document est hors du champ de la TVA, retirez le
cac:PartyTaxSchemeVATdecac:AccountingSupplierParty/cac:Party, ainsi que de l'acheteur et du représentant fiscal s'ils en ont un. - Gardez l'identifiant d'immatriculation légale
12345678danscac:PartyLegalEntity/cbc:CompanyID, pour que le vendeur reste identifié comme l'exigeBR-CO-26. - Testez tout le document pour
Odans le mapping, frais compris, avant de décider d'écrire des identifiants TVA.
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 : un identifiant TVA du vendeur sur un document dont les frais de livraison sont en catégorie O
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address omitted from this fragment -->
<cac:PartyTaxScheme>
<cbc:CompanyID>GB123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Example Supplier Ltd</cbc:RegistrationName>
<cbc:CompanyID>12345678</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<!-- buyer omitted from this fragment -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Delivery</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">4.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>Fragment de la facture corrigée : le vendeur est identifié par son seul numéro d'immatriculation légale
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address omitted from this fragment -->
<cac:PartyLegalEntity>
<cbc:RegistrationName>Example Supplier Ltd</cbc:RegistrationName>
<cbc:CompanyID>12345678</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<!-- buyer and the delivery charge of 4.00 in category O, unchanged, omitted from this fragment -->La facture en échec donne au vendeur un cac:PartyTaxScheme VAT avec GB123456789 ; la facture corrigée n'identifie le vendeur que par 12345678 dans cac:PartyLegalEntity, et les deux documents gardent les frais Delivery de 4.00 et la ligne en O. En plus de BR-O-04, le document en échec signale BR-O-02, qui conteste le même identifiant du vendeur à cause de la ligne O.
Ce que le validateur a signalé
- La facture en erreur signale BR-O-02 et BR-O-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; convertie en avoir, la facture en échec a de nouveau donnéBR-O-02etBR-O-04lors d'un essai. - Les remises au niveau du document ont la règle jumelle
BR-O-03. Les frais enOne doivent pas non plus avoir de taux selonBR-O-07, et s'ajoutent à la base imposableOque contrôleBR-O-08.
Règles liées
- BR-O-03 est la même interdiction d'identifiants pour une remise au niveau du document en catégorie O
- BR-O-07 écarte tout taux de TVA des frais non soumis à la TVA eux-mêmes
- BR-O-02 est signalé avec cette règle chaque fois que les lignes ne sont pas non plus soumises à la TVA
- BR-CO-26 exige que le vendeur soit identifié autrement une fois son identifiant TVA retiré
- 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-O-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.

