errorbusinessEN 16931

BR-24:Amount currency must match document currency

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

Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).. Check the `cbc:LineExtensionAmount` element in your invoice XML.

Severity
Fatal
Rule set
EN 16931
Country
All EU
Fix type
BLOCKED
Confidence
95%
Category
calculation

Engine Classification

Financial or legal field · Modification blocked by policy

Reason: Currency mismatches in monetary amounts cannot be auto-corrected as they may involve exchange rate calculations, accounting policies, or data integrity issues that require verification from the original transaction source

What is BR-24?

BR-24 is a fatal validation rule defined in the EN 16931 specification. It validates the @currencyID element 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: //@currencyID

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

Why This Error Matters

Invoice rejected. Line amounts are required for invoice total calculation and verification.

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

How to Fix It

1.

Get document currency

From DocumentCurrencyCode

2.

Check all amounts

Every currencyID must match

3.

Exception

Tax amounts may use TaxCurrencyCode if specified

Before / After

Failing XML
<cac:InvoiceLine>
  <!-- cbc:LineExtensionAmount is missing -->
</cac:InvoiceLine>
Corrected XML
<cac:InvoiceLine>
  <cbc:LineExtensionAmount>valid-value</cbc:LineExtensionAmount>
</cac:InvoiceLine>

Technical Reference

XPathXPath: //@currencyID
SpecEN 16931
StrategyBLOCKED: Currency mismatch between line item amounts and document currency requires manual verification and correction from source data

Code Example

<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<!-- All amounts must use currencyID="EUR" -->
<cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">1210.00</cbc:TaxInclusiveAmount>

Common Causes

  • ·Line net amount (LineExtensionAmount) not calculated
  • ·Amount field not mapped in export template
  • ·Price × quantity computed but not stored in line total
  • ·Line discounts not applied to extension amount
  • ·Monetary calculation failed for one or more lines

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

Commonly Seen In

All invoicing software

Frequently Asked Questions

All monetary amounts must have currencyID matching DocumentCurrencyCode.

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

Yes, BR-24 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-24 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-24 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: 15 April 2026

Share this guide:

Validate your invoice

Drop your XML here to check for BR-24

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