BT-9Payment due dateBT-20Payment termsBT-115Amount due for payment
Texte officiel de la règle
[BR-CO-25] In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Si le montant à payer (BT-115) est supérieur à zéro, la facture doit indiquer soit une date d'échéance (BT-9), soit des conditions de paiement (BT-20), afin que l'acheteur sache quand payer. En UBL, la règle recherche cbc:DueDate ou cac:PaymentTerms/cbc:Note sur une Invoice dont cac:LegalMonetaryTotal/cbc:PayableAmount est positif ; en CII, ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime ou ram:Description lorsque ram:DuePayableAmount est positif. Elle est typiquement déclenchée par un logiciel qui imprime les conditions sur le PDF sans les exporter, ou ne les exporte que pour certains groupes de clients.
Comment corriger
Ajoutez cbc:DueDate (AAAA-MM-JJ) parmi les champs d'en-tête en UBL (il se place après cbc:IssueDate et avant cbc:InvoiceTypeCode), et/ou cac:PaymentTerms/cbc:Note avec les conditions en texte libre. En CII, ajoutez ram:SpecifiedTradePaymentTerms avec ram:DueDateDateTime/udt:DateTimeString format="102" et/ou ram:Description dans ram:ApplicableHeaderTradeSettlement. Indiquez de préférence les deux : la date est lisible par machine, le texte porte les conditions telles que l'escompte. Les avoirs et les factures entièrement payées d'avance (BT-115 = 0) n'ont besoin ni de l'une ni de l'autre.
Exemple (valide)
<cbc:IssueDate>2026-10-14</cbc:IssueDate>
<cbc:DueDate>2026-11-13</cbc:DueDate>
...
<cac:PaymentTerms>
<cbc:Note>Payable within 30 days without deduction.</cbc:Note>
</cac:PaymentTerms>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
/ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmountTest (XPath):
((. > 0) and (exists(//cbc:DueDate) or exists(//cac:PaymentTerms/cbc:Note))) or (. <= 0)CII
/rsm:CrossIndustryInvoiceTest (XPath):
(number(//ram:DuePayableAmount) > 0 and ((//ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime) or (//ram:SpecifiedTradePaymentTerms/ram:Description))) or not(number(//ram:DuePayableAmount)>0)
Corriger automatiquement
Le vérificateur corrige cette erreur dès que vous saisissez la valeur manquante : déposez le fichier et cliquez sur « Corriger automatiquement ».
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
BR-CO-16Le montant net à payer (BT-115) est incohérentBR-15Une facture doit comporter le montant à payerBR-DEC-18Le nombre maximal de décimales pour le montant à payer est 2BR-CO-03Date et code de date d'exigibilité de la TVA tous deux renseignésBR-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…
Questions fréquentes
Que signifie BR-CO-25 ?
BR-CO-25 est une règle de base en 16931 : In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.
Ma facture sera-t-elle rejetée à cause de BR-CO-25 ?
Oui. BR-CO-25 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-25 ?
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.