BR-26fatal

How to fix BR-26

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

What this rule checks

The item net price (BT-146, mapped to cac:Price/cbc:PriceAmount) is the unit price of the item after any item-level price discounts but before VAT. This value is required so the receiver can verify the line extension amount by multiplying quantity by price. It must use the same currency as the document currency.

Referenced business terms

This rule references the following EN 16931 business terms. Click through for the full definition, the UBL XPath and the cardinality.

How to fix it

Add a cbc:PriceAmount element inside cac:InvoiceLine → cac:Price.

Common causes

  • The cac:Price/cbc:PriceAmount element is missing from the invoice line.
  • The cac:Price block is entirely absent.
  • The price amount element is empty or contains non-numeric text.
  • The currencyID attribute on PriceAmount does not match the document currency.

Example: before (broken)

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">500.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Widget A</cbc:Name>
  </cac:Item>
  <!-- cac:Price is missing -->
</cac:InvoiceLine>

Example: after (fixed)

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">500.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Widget A</cbc:Name>
  </cac:Item>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

Related rules

Validate your invoice

Upload your corrected invoice to check it passes BR-26 and all other EN 16931 and Peppol BIS 3.0 rules. Free, instant, no signup.