errorbusinessEN 16931

BR-45:Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).

Fix: Add the required `cac:TaxSubtotal` element to your Invoice. Ensure it contains a valid value per EN 16931.

Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).. Check the `cac:TaxSubtotal` element in your invoice XML.

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

Engine Classification

Financial or legal field · Modification blocked by policy

Reason: VAT category taxable amount (BT-116) must be calculated from source invoice line data and cannot be derived independently. It represents the sum of all invoice line net amounts (BT-131) that belong to the same VAT category. This calculation requires access to the original line-level data and VAT categorization logic from the source system.

What is BR-45?

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

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

Why This Error Matters

Invoice rejected. Cannot verify VAT calculation without knowing the taxable base.

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

How to Fix It

1.

Add period

InvoicePeriod with StartDate and EndDate

2.

Format dates

YYYY-MM-DD format

3.

Optional on header

Or add to document-level InvoicePeriod

Before / After

Failing XML
<cac:TaxTotal>
  <!-- cac:TaxSubtotal is missing -->
</cac:TaxTotal>
Corrected XML
<cac:TaxTotal>
  <cac:TaxSubtotal>valid-value</cac:TaxSubtotal>
</cac:TaxTotal>

Technical Reference

XPathXPath: /Invoice/cac:InvoiceLine/cac:InvoicePeriod
SpecEN 16931
StrategyCannot calculate VAT category taxable amounts automatically as they must equal the sum of invoice line net amounts for each VAT category

Code Example

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cac:InvoicePeriod>
    <cbc:StartDate>2024-12-01</cbc:StartDate>
    <cbc:EndDate>2024-12-31</cbc:EndDate>
  </cac:InvoicePeriod>
  <!-- line content -->
</cac:InvoiceLine>

Common Causes

  • ·VAT breakdown missing taxable amount (TaxableAmount)
  • ·Tax subtotal created without tax base value
  • ·TaxSubtotal/TaxableAmount not mapped in export
  • ·VAT calculation skipped taxable amount field
  • ·Tax category present but base amount missing

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

Commonly Seen In

All invoicing software

Frequently Asked Questions

Service lines should specify the billing period.

Add the required `cac:TaxSubtotal` 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-45 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-45 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-45 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: 16 April 2026

Share this guide:

Validate your invoice

Drop your XML here to check for BR-45

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