BG-21Document level chargesBG-23VAT breakdownBT-102Document level charge VAT category codeBT-118VAT category code
Texte officiel de la règle
[BR-O-14] An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level charges (BG-21) where Document level charge VAT category code (BT-102) is not "Not subject to VAT".
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Les règles de TVA relient la catégorie de TVA des lignes, remises et frais à la ventilation de TVA du document. Le validateur vérifie qu'il existe exactement une ligne de ventilation par catégorie utilisée, que le taux et le motif d'exonération correspondent à la catégorie, et que base et montant de taxe s'additionnent par catégorie.
Comment corriger
Utilisez un code de catégorie de TVA (UNTDID 5305 : S taux normal, Z taux zéro, E exonéré, AE autoliquidation, K intracommunautaire, G export, O hors champ) de façon cohérente dans les lignes et la ventilation. Pour E, AE, K, G et O le taux doit être 0 et un motif d'exonération (texte ou code VATEX) est requis ; pour S le taux doit être supérieur à 0 sans motif d'exonération. Recalculez la base par catégorie à partir des lignes.
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
/ubl:Invoice | /cn:CreditNoteTest (XPath):
(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) and count(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) != 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0) or not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O'])CII
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'O'][upper-case(ram:TypeCode) = 'VAT']Test (XPath):
not(//ram:CategoryTradeTax[ram:CategoryCode != 'O'])
Vérifier votre facture
Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
BR-O-01Une facture contenant une ligne de facture, une remise au niveau document ou une…BR-AE-01Une facture contenant une ligne de facture, une remise au niveau document ou une…BR-AF-01Une facture contenant une ligne de facture, une remise au niveau document ou une…BR-AG-01Une facture contenant une ligne de facture, une remise au niveau document ou une…BR-E-01Une facture contenant une ligne de facture, une remise au niveau document ou une…BR-G-01Une facture contenant une ligne de facture, une remise au niveau document ou une…BR-IC-01Une facture contenant une ligne de facture, une remise au niveau document ou une…BR-S-01Une facture contenant une ligne, une remise ou un supplément au niveau document…
Questions fréquentes
Que signifie BR-O-14 ?
BR-O-14 est une règle de base en 16931 : An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level charges (BG-21) where Document level charge VAT category code (BT-102) is not "Not subject to VAT".
Ma facture sera-t-elle rejetée à cause de BR-O-14 ?
Oui. BR-O-14 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.
À quels formats s'applique BR-O-14 ?
Toute facture EN 16931 : Factur-X / ZUGFeRD 2.x (profils EN 16931, EXTENDED, XRECHNUNG), XRechnung, Peppol BIS Billing 3.0 et les CIUS nationales. Syntaxe : UBL et CII.
Source: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.