Sur cette page
La réponse courte
BR-O-14 échoue lorsqu'une ventilation de la TVA O est présente et que des frais, un cac:AllowanceCharge avec cbc:ChargeIndicator true, ont une cac:TaxCategory dans une autre catégorie sous le schéma VAT. Les frais Delivery enregistrés de 4.00 sont en S à 20 sur une facture dont la ligne et la ventilation sont en O. Recodez les frais en O, ou, s'ils sont réellement taxables, facturez-les sur une facture distincte.
Dans la facture enregistrée, la ventilation ne trahit pas les frais : ils n'ont pas de ventilation S propre et la base imposable O les laisse de côté, si bien qu'en dehors de cette règle, seules les règles du taux normal que les frais déclenchent les remarquent.
Ce que la règle vérifie
La règle part d'une catégorie O dans cac:TaxTotal/cac:TaxSubtotal, puis compte les catégories de taxe de frais sous le schéma VAT dont le cbc:ID n'est pas O, à toute profondeur dans le document. Un seul constat est émis à la racine.
Des frais de ligne comptent aussi. Lors d'un essai, des frais de 0.00 à l'intérieur de la ligne O, codés S à 20, ont signalé cette règle, BR-S-01, BR-S-04 et l'avertissement UBL-CR-558.
La catégorie choisie ne change que les compagnons de cette règle : codés E à 0, les frais de livraison ont fait apparaître BR-E-01 et BR-E-04, et codés Z à 0, BR-Z-01 et BR-Z-04, lors d'essais.
Le montant de la ventilation décide si BR-O-08 s'y ajoute. Recoder les frais seuls, avec la base imposable O laissée à 29.00, a aussi signalé cette règle lors d'un essai, puisque le contenu O était tombé à 25.00.
| Terme | Signification | Élément UBL |
|---|---|---|
| BG-21 | Charges ou frais au niveau du document | cac:AllowanceCharge[cbc:ChargeIndicator = true] |
| 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-118 | Code de catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
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 :
- Les frais de livraison sont un article standard du système de facturation, avec le taux normal attaché, utilisé sur chaque facture.
- Le vendeur a passé ses factures en
Omais n'a mis à jour que le catalogue de produits, pas la liste des frais. - Un transporteur ou une place de marché ajoute les frais avec ses propres paramètres de TVA après la construction du document.
Comment corriger le document
- Décidez du traitement TVA des frais. S'ils se rattachent à des fournitures hors du champ de la TVA, comme ici la livraison de l'article hors champ, ils sont aussi en
O. - Mettez la
cac:TaxCategory/cbc:IDdes frais àOet retirez leurcbc:Percent, queBR-O-07interdit enO. - Incluez les frais dans la ventilation
O: la base imposable devient 25.00 + 4.00 = 29.00, le même montant quecbc:TaxExclusiveAmount. - Si les frais sont taxables, facturez-les séparément avec leur propre ventilation au taux normal et l'identifiant TVA du vendeur qu'exige cette catégorie, et retirez leurs 4.00 des totaux de cette facture.
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 livraison au taux normal sur un document dont l'unique ventilation est O
<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>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<!-- reason code and text omitted from this fragment -->
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>Fragment de la facture corrigée : les frais de livraison sont en O et comptés dans la ventilation O
<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>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">29.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<!-- reason code and text omitted from this fragment -->
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>La facture en échec code les frais Delivery de 4.00 en S avec cbc:Percent 20 et les laisse hors de la base imposable O, qui indique 25.00 ; la facture corrigée a les frais en O sans taux et une base imposable O de 29.00. Les deux différences sont voulues : la base imposable O a été abaissée à 25.00, le contenu O qui reste une fois les frais recodés, pour que BR-O-08 ne s'ajoute pas aux constats. En plus de BR-O-14, le document en échec signale BR-S-01, parce qu'un contenu au taux normal exige une ventilation au taux normal, et BR-S-04, parce que des frais au taux normal exigent un identifiant TVA du vendeur, un identifiant d'immatriculation fiscale ou un représentant fiscal.
Ce que le validateur a signalé
- La facture en erreur signale BR-O-14, BR-S-01 et BR-S-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. Réécrite en avoir, la facture en échec a signalé les trois mêmes règles lors d'un essai. - L'ensemble est complet avec
BR-O-11pour les ventilations,BR-O-12pour les lignes etBR-O-13pour les remises ; un documentOqui passe les quatre ne contient aucune autre catégorie de TVA.
Règles liées
- BR-O-13 est la règle correspondante pour les remises au niveau du document
- BR-S-04 est signalé ici parce que des frais au taux normal exigent un identifiant du vendeur pour la TVA ou l'impôt
- BR-O-07 interdit le taux une fois les frais revenus en catégorie O
- BR-O-11 rejette la ventilation au taux normal dont de tels frais auraient sinon besoin
- 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-14 (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.

