What does BR-32 mean?
Every document level allowance needs a VAT category code. It assigns the allowance to the right VAT breakdown.
Common causes of BR-32
- The allowance has an amount, but no VAT category code.
- The element ram:CategoryTradeTax is missing entirely from the allowance block.
- The category code of the allowance does not match any of the VAT breakdowns (BG-23).
How to fix BR-32
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-95 along this XPath:
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:CategoryCode - Apply the fix. Every document level allowance (BG-20) needs a VAT category code (BT-95). Add the element ram:CategoryTradeTax/ram:CategoryCode to the allowance with a code from UNCL5305, for example 'S' for standard rate, 'Z' for zero rate, 'E' for exempt.
- Validate again. Save the file and validate it again to check that BR-32 is no longer reported.
Every document level allowance (BG-20) needs a VAT category code (BT-95). Add the element ram:CategoryTradeTax/ram:CategoryCode to the allowance with a code from UNCL5305, for example 'S' for standard rate, 'Z' for zero rate, 'E' for exempt.
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:CategoryCodeBefore / 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:CategoryTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
Frequent questions about BR-32
Which category code belongs to the allowance?
Why does an allowance need a tax code at all?
Related error codes
Check BR-32 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.