HomeError code lexicon › BR-S-7
BR-S-7 Field BT-103 VAT categories (BR-S/Z/E/AE)

Fix BR-S-7: Charge VAT rate (BT-103) missing for category S

[BR-S-7]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" the Do

BR-S-7 in your own invoice? Upload the file and find every error in seconds.

What does BR-S-7 mean?

If a document level charge carries category S (standard rated), a rate greater than zero must be set.

Common causes of BR-S-7

How to fix BR-S-7

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-103 along this XPath://rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:RateApplicablePercent
  2. Apply the fix. A document level charge (BG-21) has VAT category "S" (standard rated, BT-102), but the VAT rate (BT-103) is 0 or missing. Standard rating needs a rate greater than 0. Enter a positive rate in ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:RateApplicablePercent, for example 19.00, matching the lines with the same category.
  3. Validate again. Save the file and validate it again to check that BR-S-7 is no longer reported.
Concrete fix

A document level charge (BG-21) has VAT category "S" (standard rated, BT-102), but the VAT rate (BT-103) is 0 or missing. Standard rating needs a rate greater than 0. Enter a positive rate in ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:RateApplicablePercent, for example 19.00, matching the lines with the same category.

XPath//rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:RateApplicablePercent

Before / after: the XML example

This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).

Wrong
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount>15.00</ram:ActualAmount>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>S</ram:CategoryCode>
    <ram:RateApplicablePercent>0.00</ram:RateApplicablePercent>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount>15.00</ram:ActualAmount>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>S</ram:CategoryCode>
    <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>

Frequent questions about BR-S-7

How do I tell a charge from an allowance in the XML?
By the ChargeIndicator: <udt:Indicator>true</udt:Indicator> marks a charge (BG-21), false an allowance (BG-20). BR-S-7 applies to charges, BR-S-6 to allowances.
Can I make the charge tax free to get around the error?
Only if it really is tax free. Then use a matching category such as "E" or "Z". With category "S" a rate greater than 0 is mandatory.

Related error codes

Check BR-S-7 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.

Find every error automatically instead of searching by hand

Upload your ZUGFeRD, Factur-X or XRechnung file – you get every violation back with rule ID, field, fix and XPath.

Validate online for free
Check invoice