Peppol error codes

BR-CO-15: invoice total with VAT does not add up

Error code BR-CO-15 means: the total with VAT is not equal to the total without VAT plus the VAT amount.

Rule set: EN 16931 · Severity: error (fatal): an Access Point rejects the invoice · Checked against the official rules of May 2026

What does BR-CO-15 mean?

The validator shows this message (as worded in the official rules):

[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

The rule compares three totals at the bottom of the invoice. The total with VAT (BT-112, TaxInclusiveAmount) must exactly equal the total without VAT (BT-109, TaxExclusiveAmount) plus the total VAT amount (BT-110, TaxTotal/TaxAmount). There is no rounding tolerance: a difference of one cent is already an error.

Common causes

  • Rounding differences: the software rounds VAT per line but adds up the totals differently.
  • A document-level allowance or charge (for example a payment discount) is included in one total but not in the total without VAT.
  • The VAT amount was edited manually after the total was calculated.
  • For scanned or OCR-extracted invoices, an amount was read incorrectly.

How to fix it as the sender

  1. Recalculate the total with VAT as total without VAT plus total VAT, and only then round to two decimals.
  2. Check that document-level allowances and charges are included in both totals.
  3. Recreate the invoice in your software and validate it before sending.

Received an invoice with this error?

An invoice with this error is not compliant. Ask the supplier for a corrected invoice rather than booking the amount yourself.

Example in the XML

❌ Wrong

<cac:LegalMonetaryTotal>
  <cbc:TaxExclusiveAmount currencyID="EUR">300.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">362.99</cbc:TaxInclusiveAmount>
</cac:LegalMonetaryTotal>
<!-- TaxTotal/TaxAmount = 63.00, so 300.00 + 63.00 = 363.00 -->

✅ Correct

<cac:LegalMonetaryTotal>
  <cbc:TaxExclusiveAmount currencyID="EUR">300.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">363.00</cbc:TaxInclusiveAmount>
</cac:LegalMonetaryTotal>

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

BR-CO-15 often comes together with BR-CO-13 (total without VAT) and BR-CO-16 (amount due). Fix them together: one wrong amount usually triggers several messages.

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.
  • PEPPOL-EN16931-R120: The net amount of an invoice line does not equal quantity × unit price, plus charges and minus allowances on that line.

Frequently asked questions about BR-CO-15

Is one cent really an error?

Yes. BR-CO-15 allows no tolerance. The total with VAT must exactly equal the total without VAT plus VAT.

Where is the total with VAT in the XML?

In cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount. The total without VAT is in TaxExclusiveAmount, the VAT total in cac:TaxTotal/cbc:TaxAmount.

← All Peppol error codes