BT-7Value added tax point dateBT-8Value added tax point date code
Texte officiel de la règle
[BR-CO-03] Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
La date d'exigibilité de la TVA (BT-7) et le code de date d'exigibilité (BT-8) s'excluent mutuellement : indiquez soit la date précise, soit le code qui désigne la date applicable, jamais les deux. En UBL, BT-7 correspond à cbc:TaxPointDate et BT-8 à cac:InvoicePeriod/cbc:DescriptionCode ; en CII, BT-7 correspond à ram:TaxPointDate et BT-8 à ram:DueDateTypeCode dans ram:ApplicableTradeTax. Le conflit provient généralement d'un mappage ERP qui renseigne toujours la date et code en dur, en plus, un code de description.
Comment corriger
Choisissez l'élément dont vous avez besoin et supprimez l'autre. Si l'exigibilité correspond à un jour précis, conservez cbc:TaxPointDate / ram:TaxPointDate (format AAAA-MM-JJ en UBL, format 102 AAAAMMJJ en CII) et supprimez le code. Si vous voulez indiquer que « l'exigibilité est la date de facture / de livraison / de paiement », conservez uniquement le code UNTDID 2005 : 3 (date d'émission de la facture), 35 (date de livraison), 432 (date de paiement). La plupart des factures n'ont besoin d'aucun des deux ; lorsque la date de livraison coïncide avec l'exigibilité, cac:Delivery/cbc:ActualDeliveryDate (BT-72) suffit généralement.
Exemple (valide)
<cac:InvoicePeriod>
<cbc:DescriptionCode>35</cbc:DescriptionCode>
</cac:InvoicePeriod>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
/ubl:Invoice | /cn:CreditNoteTest (XPath):
(exists(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and exists(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode))CII
//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTaxTest (XPath):
((//ram:TaxPointDate) and not(//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and (//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and not (//ram:DueDateTypeCode))
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-CO-04Ligne de facture sans code de catégorie de TVA (BT-151)BR-CO-05Le code motif et le motif de la remise au niveau document doivent…BR-CO-06Le code motif et le motif de la charge au niveau document doivent indiquer le…BR-CO-07Le code motif et le motif de la remise de ligne doivent indiquer…BR-CO-08Le code motif et le motif de la charge de ligne doivent indiquer le même…BR-CO-09Numéro de TVA sans préfixe pays valideBR-CO-10Somme des montants nets de ligne (BT-106) non conforme aux lignesBR-CO-11Somme des remises au niveau du document (BT-107) erronée
Questions fréquentes
Que signifie BR-CO-03 ?
BR-CO-03 est une règle de base en 16931 : Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
Ma facture sera-t-elle rejetée à cause de BR-CO-03 ?
Oui. BR-CO-03 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-CO-03 ?
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.