What does BR-43 mean?
Every charge at line level must state its amount. Otherwise the line cannot be calculated.
Common causes of BR-43
- The invoice line charge was sent without ram:ActualAmount.
- The amount carries a negative or otherwise wrong sign in the XML.
- The charge was folded into the unit price instead of being stated as its own block.
How to fix BR-43
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-141 along this XPath:
//ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ActualAmount - Apply the fix. Every charge at line level (BG-28) needs an amount (BT-141). Add the element ram:ActualAmount with the positive charge amount to the line's ram:SpecifiedTradeAllowanceCharge (with ChargeIndicator=true).
- Validate again. Save the file and validate it again to check that BR-43 is no longer reported.
Every charge at line level (BG-28) needs an amount (BT-141). Add the element ram:ActualAmount with the positive charge amount to the line's ram:SpecifiedTradeAllowanceCharge (with ChargeIndicator=true).
//ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ActualAmountBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
<ram:Reason>Eilzuschlag</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
<ram:ActualAmount>5.00</ram:ActualAmount>
<ram:Reason>Eilzuschlag</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
Frequent questions about BR-43
Positive or negative amount?
How does BR-43 differ from BR-41?
Related error codes
Check BR-43 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.