errorEN 16931

BR-26:Each Invoice line (BG-25) shall contain the Item net price (BT-146).

Each Invoice line (BG-25) shall contain the Item net price (BT-146).. This applies to the `cbc:PriceAmount` element in the invoice XML.

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

Engine Classification

Financial or legal field · Modification blocked by policy

Reason: Line item amounts must be verified by the invoice issuer. Auto-correction could create financial discrepancies.

What is BR-26?

BR-26 is a fatal validation rule defined in the EN 16931 specification. It validates the EndpointID element under AccountingCustomerParty > Party in the UBL invoice XML.

When this rule fires, the invoice is non-compliant and will be rejected by Peppol access points and national validation services. The sending system receives a rejection response and the invoice does not reach the buyer.

Target path: XPath: /Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID

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

Why This Error Matters

Invoice rejected. Price is required for line total calculation and payment verification.

BR-26 is a hard failure. Invoices that trigger this rule are rejected at the access point and never reach the recipient. In Peppol networks, this means your sending system receives an MLR (Message Level Response) with a rejection status. The invoice must be corrected and re-sent, adding delay to your payment cycle.

Validator Behavior

  • ·Causes invoice rejection
  • ·Error returned: BR-26
  • ·Specification: EN 16931

How to Fix It

1.

Get buyer ID

Buyer Peppol participant ID

2.

Add scheme

Match buyer registration scheme

3.

Verify active

Check Peppol Directory for active registration

Before / After

Failing XML
<cac:Price>
  <cbc:PriceAmount><!-- invalid or missing value --></cbc:PriceAmount>
</cac:Price>
Corrected XML
<cac:Price>
  <cbc:PriceAmount>correct-value</cbc:PriceAmount>
</cac:Price>

Technical Reference

XPathXPath: /Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID
SpecEN 16931
StrategyBLOCKED: This is a monetary value. We never auto-set prices because an incorrect price directly affects the payment amount. Must come from your pricing/ERP system.

Code Example

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">5790000435975</cbc:EndpointID>
  </cac:Party>
</cac:AccountingCustomerParty>

Common Causes

  • ·Item net price (PriceAmount) field not mapped in export
  • ·Price stored in different field than template expects
  • ·Unit price calculation failed or returned null
  • ·Free item exported without zero price value
  • ·Export template missing Price/PriceAmount mapping

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

Commonly Seen In

Peppol-enabled systems

Frequently Asked Questions

The buyer must have an electronic address for Peppol delivery.

Review and correct the `cbc:PriceAmount` element in your Invoice XML to satisfy this validation rule. This error involves a protected field — Invoice Navigator flags it in your pipeline so your team can correct it at the source.

Yes, BR-26 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-26 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-26 is commonly seen in exports from Peppol-enabled systems. These software packages sometimes generate invoices that need adjustment to meet full compliance standards.

Related Content

Last updated: 3 March 2026

Share this guide:

Detect BR-26 Before Submission

This error involves a financial or legal field that cannot be auto-modified. The compliance engine flags it immediately with a clear diagnosis so your team can fix it at the source.