Peppol error codes

BR-CO-16: amount due does not add up

Error code BR-CO-16 means: the amount due does not equal the total with VAT, minus the amount already paid, plus rounding.

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-16 mean?

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

[BR-CO-16]-Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).

The amount due for payment (BT-115, PayableAmount) must equal the total with VAT (BT-112, TaxInclusiveAmount), minus the amount already paid (BT-113, PrepaidAmount), plus any rounding (BT-114, PayableRoundingAmount). So if you deduct a prepayment without stating PrepaidAmount, BR-CO-16 follows.

Common causes

  • The software deducted a prepayment from the amount due, but did not state it in PrepaidAmount.
  • The software rounded the amount to 5 cents, but did not put the rounding in PayableRoundingAmount.
  • After a correction of the totals, the software did not update the amount due.

How to fix it as the sender

  1. State what has already been paid, such as a prepayment, in PrepaidAmount.
  2. Put any rounding of the amount due in PayableRoundingAmount.
  3. Finally, calculate the amount due as the last step: total with VAT, minus paid, plus rounding.

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

<cac:LegalMonetaryTotal>
  ...
  <cbc:TaxInclusiveAmount currencyID="EUR">363.00</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">360.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<!-- no prepayment (PrepaidAmount) and no rounding -->

✅ Correct

<cac:LegalMonetaryTotal>
  ...
  <cbc:TaxInclusiveAmount currencyID="EUR">363.00</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">363.00</cbc:PayableAmount>
</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

For a final invoice after an advance invoice, it is also good practice to refer to the advance invoice. As a result, your customer can match both documents.

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-15: The total with VAT is not equal to the total without VAT plus the VAT amount.
  • BR-CO-13: The total without VAT does not equal the sum of lines minus document-level allowances plus charges.

Frequently asked questions about BR-CO-16

May the amount due for BR-CO-16 be zero?

Yes, for example when the customer paid everything in advance. In that case, PrepaidAmount equals the total with VAT and PayableAmount is 0.00.

Where do I put a prepayment?

In cac:LegalMonetaryTotal/cbc:PrepaidAmount. The rule then deducts that amount from the total with VAT.

← All Peppol error codes