What does BR-36 mean?
Every document level charge must state its amount. Otherwise the sum of the charges cannot be built.
Common causes of BR-36
- The charge has a reason and a tax rate, but no ram:ActualAmount.
- The amount was written into a wrong element instead of ActualAmount.
- The export created the charge block but left the amount empty.
How to fix BR-36
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-99 along this XPath:
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ActualAmount - Apply the fix. Every document level charge (BG-21) needs a document level charge amount (BT-99). Add the element ram:ActualAmount with the amount excluding VAT to the charge (ram:SpecifiedTradeAllowanceCharge with ChargeIndicator true), for example 15.00.
- Validate again. Save the file and validate it again to check that BR-36 is no longer reported.
Every document level charge (BG-21) needs a document level charge amount (BT-99). Add the element ram:ActualAmount with the amount excluding VAT to the charge (ram:SpecifiedTradeAllowanceCharge with ChargeIndicator true), for example 15.00.
//ram:ApplicableHeaderTradeSettlement/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>Versandkosten</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
<ram:ActualAmount>15.00</ram:ActualAmount>
<ram:Reason>Versandkosten</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
Frequent questions about BR-36
How does the XML show a charge?
What counts as a document level charge?
Related error codes
Check BR-36 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.