What does BR-48 mean?
Every VAT breakdown (BG-23) must contain a VAT category rate (BT-119), unless the invoice is not subject to VAT. In the CII structure the rate sits as ram:RateApplicablePercent in each ram:ApplicableTradeTax at document level. With a zero rate or an exemption the value is 0, but it must be set. Only for the category 'not subject to VAT' (code O) may the rate be left out.
Common causes of BR-48
- ram:RateApplicablePercent is missing in the ram:ApplicableTradeTax block.
- With a zero rate or an exemption the rate was left out instead of set to 0.
- Empty element with no value.
- The rate sits only at line level, not in the breakdown.
How to fix BR-48
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-119 along this XPath:
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:RateApplicablePercent - Apply the fix. Add the element ram:RateApplicablePercent with the VAT rate to every ram:ApplicableTradeTax at document level, e.g. 19.00 or 7.00; with a zero rate or an exemption 0.00. Only for category O (not subject to VAT) may the rate be omitted.
- Validate again. Save the file and validate it again to check that BR-48 is no longer reported.
Add the element ram:RateApplicablePercent with the VAT rate to every ram:ApplicableTradeTax at document level, e.g. 19.00 or 7.00; with a zero rate or an exemption 0.00. Only for category O (not subject to VAT) may the rate be omitted.
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:RateApplicablePercentBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>0.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>100.00</ram:BasisAmount>
<ram:CategoryCode>E</ram:CategoryCode>
</ram:ApplicableTradeTax>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>0.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>100.00</ram:BasisAmount>
<ram:CategoryCode>E</ram:CategoryCode>
<ram:RateApplicablePercent>0.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Frequent questions about BR-48
What do I set for tax-free turnover?
When may the rate be missing?
In which format is the rate given?
Related error codes
Check BR-48 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.