Error code BR-S-08 means: the taxable amount in the VAT breakdown does not equal the sum of the lines at that rate.
What does BR-S-08 mean?
The validator shows this message (as worded in the official rules):
[BR-S-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "Standard rated", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "Standard rated" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).
For each VAT rate in category S (standard rate), the invoice contains a VAT breakdown (BG-23). Its taxable amount (BT-116, cbc:TaxableAmount) must exactly equal the sum of the line amounts at that rate, plus document level charges and minus document level allowances at the same rate. The rule recalculates this per rate. So with 6 % and 21 % on the same invoice, you get two separate checks.
Common causes
- An invoice line has a different rate in the software than the rate under which it is counted in the breakdown.
- A document level allowance or charge was deducted from the taxable amount, but is not in the invoice as
cac:AllowanceCharge. - The software calculates the taxable amount from rounded VAT amounts or from amounts including VAT, instead of from the line amounts.
How to fix it as the sender
- Add up the line amounts (BT-131) per rate. Add the document level charges at that rate and subtract the allowances.
- Put that result in
cbc:TaxableAmountof the breakdown and calculate the VAT amount on it. - Check that every line, allowance and charge has the right VAT category and rate, and validate again.
Received an invoice with this error?
An invoice with this error is not compliant. Ask the supplier for a corrected invoice and do not change the XML yourself.
Example in the XML
❌ Wrong
<!-- two lines at 21 %: 200.00 + 100.00 = 300.00 -->
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">200.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">42.00</cbc:TaxAmount>
<cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>21</cbc:Percent>...</cac:TaxCategory>
</cac:TaxSubtotal>
✅ Correct
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">300.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">63.00</cbc:TaxAmount>
<cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>21</cbc:Percent>...</cac:TaxCategory>
</cac:TaxSubtotal>
Both snippets come from a complete test invoice that we checked with our validator: the wrong version gives exactly this message, the correct version no errors at all.
Good to know
When the taxable amount is wrong, the VAT amount is often wrong as well. You then also get BR-S-09 or BR-CO-17 next to BR-S-08. Fix the taxable amount first: the VAT amount usually follows from it.
Check your invoice
Drop your XML into the free validator. You see right away whether this error still occurs, with a link to the explanation for every message.
Official rule
The full rule with its technical test (Schematron) is in the official Peppol documentation:
Related error codes
- BR-CO-17: The VAT amount for a VAT rate does not equal the taxable amount × the rate.
- BR-CO-18: The invoice does not contain any VAT breakdown.
Frequently asked questions about BR-S-08
What is the difference between BR-S-08 and BR-CO-17?
BR-S-08 checks the taxable amount per rate against the lines. BR-CO-17 checks the VAT amount in the breakdown against that taxable amount and the rate.
Does BR-S-08 also apply to 0 % or exempt lines?
No. BR-S-08 applies to category S. Other categories have similar rules, such as BR-Z-08 for the zero rate and BR-E-08 for an exemption.