HomeError code lexicon › BR-27
BR-27 Field BT-146 EN 16931 core rules (BR)

Fix BR-27: Item net price (BT-146) is negative

[BR-27]-The Item net price (BT-146) shall NOT be negative.

BR-27 in your own invoice? Upload the file and find every error in seconds.

What does BR-27 mean?

The price per unit without VAT must not be less than zero. Discounts belong in an allowance, not in a minus price.

Common causes of BR-27

How to fix BR-27

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-146 along this XPath://ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount
  2. Apply the fix. The item net price (BT-146) must not be negative. Set a value of 0 or greater in ram:NetPriceProductTradePrice/ram:ChargeAmount. For credit notes or discounts use a credit note (invoice type 381) or an allowance, not a negative price.
  3. Validate again. Save the file and validate it again to check that BR-27 is no longer reported.
Concrete fix

The item net price (BT-146) must not be negative. Set a value of 0 or greater in ram:NetPriceProductTradePrice/ram:ChargeAmount. For credit notes or discounts use a credit note (invoice type 381) or an allowance, not a negative price.

XPath//ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount

Before / after: the XML example

This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).

Wrong
<ram:NetPriceProductTradePrice>
  <ram:ChargeAmount>-10.00</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
Correct
<ram:NetPriceProductTradePrice>
  <ram:ChargeAmount>10.00</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>

Frequent questions about BR-27

How do I show a discount if the price must not be negative?
Use an invoice line allowance (BG-27) or a document level allowance (BG-20). Both reduce the amount correctly without a negative unit price.
May the price be 0?
Yes. A unit price of 0 is allowed, for free items for example. Only a value below 0 is forbidden.

Related error codes

Check BR-27 automatically

Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.

Find every error automatically instead of searching by hand

Upload your ZUGFeRD, Factur-X or XRechnung file – you get every violation back with rule ID, field, fix and XPath.

Validate online for free
Check invoice