# BR-26 Item net price must be present on every invoice line

Under EN 16931 rule BR-26, every invoice line (BG-25) must include the item net price in BT-146 (PriceAmount). The item net price is the price of a single unit of the item (or base quantity of units), exclusive of VAT and after deducting any line item price discounts. Even if an item is provided free of charge (0.00 EUR) or bundled, the net price element must be explicitly declared to allow verification of line extension arithmetic: LineExtensionAmount = (ItemNetPrice / BaseQuantity) * InvoicedQuantity - LineAllowances + LineCharges.

## Problem Description

> **ERROR**: EN 16931 core business rule (CEN)

## Context and Significance

This is an EN 16931 core rule. Without BT-146 the recipient cannot check the line calculation. In Peppol BIS Billing 3.0 the line net amount formula PEPPOL-EN16931-R120 also cannot be evaluated; the KoSIT validator for XRechnung does not run Peppol rules. BR-26 usually appears when a line is exported with quantity and total only, for example a flat-rate service line.

## Solution

In your ERP item master or order pricing configuration, ensure every line item populates the unit net price. In UBL 2.1 syntax, populate <cac:Price><cbc:PriceAmount currencyID="EUR">45.00</cbc:PriceAmount></cac:Price> inside <cac:InvoiceLine>. In UN/CEFACT CII syntax, populate <ram:ChargeAmount>45.00</ram:ChargeAmount> within <ram:NetPriceProductTradePrice> under <ram:SpecifiedLineTradeAgreement>. For free goods, output 0.00.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-26)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-26)

## Valid Examples

- Invoice line price with BT-146 = 45.00 EUR and base quantity 1
- Invoice line price for promotional free item with BT-146 = 0.00 EUR

## Invalid Examples

- cac:InvoiceLine contains invoiced quantity and item details but omits the cac:Price element completely
- CII line item without ram:NetPriceProductTradePrice in ram:SpecifiedLineTradeAgreement; in UBL an empty <cbc:PriceAmount/> is already an XML schema error

## Code Examples

### Valid XML
```
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">45.00</cbc:PriceAmount>
  <cbc:BaseQuantity unitCode="H87">1</cbc:BaseQuantity>
</cac:Price>
```

### Invalid XML
```
<cac:Item>
  <cbc:Name>Softwarelizenz</cbc:Name>
</cac:Item>
```

## Affected Fields

- [BT-146 Item net price](/resources/xrechnung/bt-146-item-net-price)
- [BG-29 Price details](/resources/xrechnung/bt-146-item-net-price)
- [BG-25 Invoice line](/resources/xrechnung/bt-126-invoice-line-identifier)

## Related Rules

- [BR-24](/resources/kosit-validator-errors/br-24-invoice-line-net-amount-must-be-present)
- [PEPPOL-EN16931-R120](/resources/kosit-validator-errors/peppol-en16931-r120-line-net-amount-formula)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
