BR-CO-25
The invoice asks for payment but gives neither a due date (BT-9) nor payment terms (BT-20).
ErrorEN 16931UBL
Why it happens
The amount due is positive and the payment deadline was left to a covering email rather than the invoice itself.
How to fix it
Add either BT-9 (cbc:DueDate in UBL) or BT-20 (cac:PaymentTerms/cbc:Note). Either one satisfies the rule; a due date is the machine-readable option and the better choice.
The official rule
EN 16931, EnglishIn 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.
Technical detail — where the rule is evaluated and the exact test
| Syntax | Context and assertion |
|---|---|
| UBL | /ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount |
((. > 0) and (exists(//cbc:DueDate) or exists(//cac:PaymentTerms/cbc:Note))) or (. <= 0) |
Check your own invoice
Paste or drop your UBL or CII file into the free validator. It runs the official EN 16931 ruleset plus the German XRechnung layer and lists every rule that fires, BR-CO-25 included — no signup, no limit.
Validate an e-invoice freeFixing the data at source instead? The CSV converter builds a compliant invoice from a spreadsheet export.