BR-28: Item gross price (BT-148) is negative
Official message
[BR-28] The Item gross price (BT-148) shall NOT be negative.
[BR-28] The Item gross price (BT-148) shall NOT be negative.
[BR-28] The Item gross price (BT-148) shall NOT be negative.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
- Affected fields
- BT-148
What does this mean?
The item gross price (BT-148), i.e. the price before deducting the price discount (BT-147), shall not be negative. It is less than 0 for at least one line. The gross price is optional; if it is missing, the rule does not apply.
Typical causes
A credit, return or discount was entered as a line with a negative price.
The sign of a discount was transferred to the gross price.
How to fix the error
State the gross price as a positive value or omit it. If the line is to reduce the invoice amount, state a negative quantity (BT-129).
CII: ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount, UBL: cac:InvoiceLine/cac:Price/cac:AllowanceCharge/cbc:BaseAmount.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form ("Experte" view), section "Rechnungspositionen (BG-25)" (invoice lines), enter a value of 0 or more in the field "Bruttopreis (BT-148)" (gross price) or leave it empty; negative prices are not saved.
Example
Wrong
<ram:SpecifiedLineTradeAgreement>
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>-60.00</ram:ChargeAmount>
</ram:GrossPriceProductTradePrice>
...
</ram:SpecifiedLineTradeAgreement>
Correct
<ram:SpecifiedLineTradeAgreement>
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>60.00</ram:ChargeAmount>
</ram:GrossPriceProductTradePrice>
...
</ram:SpecifiedLineTradeAgreement>
For developers: test expression per syntax
EN 16931 (CII) (CII)
Context: //ram:IncludedSupplyChainTradeLineItem
(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount >= 0) or not(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount)
EN 16931 (UBL) (UBL)
Context: cac:InvoiceLine | cac:CreditNoteLine
(cac:Price/cac:AllowanceCharge/cbc:BaseAmount) >= 0 or not(exists(cac:Price/cac:AllowanceCharge/cbc:BaseAmount))
Factur-X / ZUGFeRD EN 16931 (CII)
Technical ID in the source: FX-SCH-A-000207
Context: //ram:IncludedSupplyChainTradeLineItem
(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount >= 0) or not(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount)
Related validation rules
Last updated:
Explanation of the validation rule, not legal or tax advice.