BR-31:Each Document level allowance (BG-20) shall have a Document level allowance...
Fix: Add the required `cac:AllowanceCharge` element to your Invoice. Ensure it contains a valid value per EN 16931.
Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).. Check the `cac:AllowanceCharge` element in your invoice XML.
Engine Classification
Financial or legal field · Modification blocked by policy
Reason: Payment terms affect cash flow and contractual obligations. Due dates must be set according to your business agreements.
What is BR-31?
BR-31 is a fatal validation rule defined in the EN 16931 specification. It validates the Note element under Invoice > PaymentTerms in the UBL invoice XML.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Target path: XPath: /Invoice/cbc:DueDate or /Invoice/cac:PaymentTerms/cbc:Note
Why This Error Matters
Invoice rejected. Cannot calculate invoice totals without allowance amounts.
BR-31 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Validator Behavior
- ·Causes invoice rejection
- ·Error returned: BR-31
- ·Specification: EN 16931
How to Fix It
Add DueDate
Specific date in YYYY-MM-DD format
Or PaymentTerms
Describe terms like Net 30
Calculate from issue
DueDate = IssueDate + payment terms
Before / After
<Invoice> <!-- cac:AllowanceCharge is missing --> </Invoice>
<Invoice> <cac:AllowanceCharge>valid-value</cac:AllowanceCharge> </Invoice>
Technical Reference
XPath: /Invoice/cbc:DueDate or /Invoice/cac:PaymentTerms/cbc:NoteCode Example
<cbc:DueDate>2025-01-18</cbc:DueDate>
<cac:PaymentTerms>
<cbc:Note>Payment due within 30 days</cbc:Note>
</cac:PaymentTerms>Common Causes
- ·Document allowance added without amount value
- ·AllowanceCharge/Amount field not mapped in export
- ·Percentage discount without base amount to calculate
- ·Allowance template missing amount field
- ·Zero-value allowance exported with null instead of 0
Seeing this in production? The API handles BR-31 automatically. See the fix response →
Commonly Seen In
Frequently Asked Questions
The invoice should specify when payment is due.
Add the required `cac:AllowanceCharge` element to your Invoice. Ensure it contains a valid value per EN 16931. This error involves a protected field — Invoice Navigator flags it in your pipeline so your team can correct it at the source.
BR-31 is a warning that may not always cause rejection, but it indicates a potential compliance issue that should be addressed to ensure full compatibility.
BR-31 involves a financial or legal field that cannot be auto-modified by policy. Invoice Navigator detects and flags this error immediately, but the correction must be made manually in your ERP or invoicing software.
BR-31 is commonly seen in exports from All invoicing software. These software packages sometimes generate invoices that need adjustment to meet full compliance standards.
Related Errors
Related Content
Last updated: 3 March 2026
Validate your invoice
Drop your XML here to check for BR-31
Detect BR-31 before submission
This error involves a financial field that can't be auto-modified. We'll flag it with a clear diagnosis so you can fix it at the source.