What does BR-33 mean?
Every document level allowance must be justified, as text or as a code. That keeps it clear what the deduction is for.
Common causes of BR-33
- The allowance gives neither a reason text nor a reason code.
- The element ram:Reason was left empty and no ReasonCode was set.
- The export did not pass the allowance reason along.
How to fix BR-33
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-97 along this XPath:
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason - Apply the fix. Every document level allowance (BG-20) needs a reason as text (BT-97, ram:Reason) or a reason as a code (BT-98, ram:ReasonCode). Add at least one of them, for example ram:Reason with 'Loyalty discount' or ram:ReasonCode with '95' from UNCL5189.
- Validate again. Save the file and validate it again to check that BR-33 is no longer reported.
Every document level allowance (BG-20) needs a reason as text (BT-97, ram:Reason) or a reason as a code (BT-98, ram:ReasonCode). Add at least one of them, for example ram:Reason with 'Loyalty discount' or ram:ReasonCode with '95' from UNCL5189.
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ReasonBefore / 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>false</udt:Indicator></ram:ChargeIndicator>
<ram:ActualAmount>10.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
<ram:ActualAmount>10.00</ram:ActualAmount>
<ram:Reason>Treuerabatt</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
Frequent questions about BR-33
Do I need text and code, or is one enough?
Where do I find the codes for the allowance reason?
Related error codes
Check BR-33 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.