Error code BR-CO-16 means: the amount due does not equal the total with VAT, minus the amount already paid, plus rounding.
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
- State what has already been paid, such as a prepayment, in
PrepaidAmount. - Put any rounding of the amount due in
PayableRoundingAmount. - 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.