errorbusinessEN 16931

BR-36:Tax total amount required

Fix: Add the required `cac:AllowanceCharge` element to your Invoice. Ensure it contains a valid value per EN 16931 (BR-36).

Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).. Check the `cac:AllowanceCharge` element in your invoice XML.

Severity
Fatal
Rule set
EN 16931
Country
All EU
Fix type
BLOCKED

Engine Classification

Financial or legal field · Modification blocked by policy

Reason: Invoice totals require manual verification. Automatic changes could cause calculation cascades affecting tax amounts, line totals, and compliance. Please verify all amounts in your source system.

What is BR-36?

BR-36 is a fatal validation rule defined in the EN 16931 specification. It validates the TaxAmount element under Invoice > TaxTotal 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/cac:TaxTotal/cbc:TaxAmount

This error requires manual correction — financial fields are protected by policy.

Why This Error Matters

Invoice rejected. Cannot calculate invoice totals without charge amounts.

BR-36 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-36
  • ·Specification: EN 16931

How to Fix It

1.

Add TaxTotal

Required even if zero VAT

2.

Calculate amount

Sum of all TaxSubtotal TaxAmounts

3.

Include currency

currencyID must match DocumentCurrencyCode

Before / After

Failing XML
<Invoice>
  <!-- cac:AllowanceCharge is missing -->
</Invoice>
Corrected XML
<Invoice>
  <cac:AllowanceCharge>valid-value</cac:AllowanceCharge>
</Invoice>

Technical Reference

XPathXPath: /Invoice/cac:TaxTotal/cbc:TaxAmount
SpecEN 16931
StrategyBLOCKED: This is a monetary amount. We cannot determine what the charge should be - it could be shipping, handling, or other fees. Source system must provide.

Code Example

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
  <!-- TaxSubtotals -->
</cac:TaxTotal>

Common Causes

  • ·Document charge added without amount value
  • ·AllowanceCharge/Amount field not mapped for charges
  • ·Percentage surcharge without base amount
  • ·Charge template missing amount field mapping
  • ·Zero-value charge exported with null instead of 0

Seeing this in production? The API handles BR-36 automatically. See the fix response →

Commonly Seen In

All invoicing software

Frequently Asked Questions

The invoice must have a TaxTotal with TaxAmount.

Add the required `cac:AllowanceCharge` element to your Invoice. Ensure it contains a valid value per EN 16931 (BR-36). This error involves a protected field — Invoice Navigator flags it in your pipeline so your team can correct it at the source.

Yes, BR-36 is a critical error that will cause invoice rejection. It must be fixed before submission to ensure your invoice is accepted by the recipient's system.

BR-36 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-36 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

Share this guide:

Validate your invoice

Drop your XML here to check for BR-36

Detect BR-36 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.