BR-CO-16
EN 16931 · validation rule
EN 16931Error
Amount due for payment (BT-115) must equal invoice total with VAT (BT-112) minus paid amount (BT-113) plus rounding amount (BT-114). The sender must recompute cbc:PayableAmount / ram:DuePayableAmount; if a prepayment was deducted, it must appear in cbc:PrepaidAmount / ram:TotalPrepaidAmount.
- Field
totals.due (BT-115)- Rule set
- EN 16931
- Rule-set version
- EN 16931 validation artefacts 1.3.17 · in force since · Rule-set changelog
- Who has to fix it
- The sender
This is a property of the file you received, so it cannot be corrected on your side without changing the document — ask the supplier to reissue it.
Worked example · UBL
A prepayment of 100.00 (BT-113) reduces the amount due: 336.90 − 100.00 = 236.90 in BT-115, not the full gross.
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">314.86</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">314.86</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">336.90</cbc:TaxInclusiveAmount>
<cbc:PrepaidAmount currencyID="EUR">100.00</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="EUR">336.90</cbc:PayableAmount>
</cac:LegalMonetaryTotal><cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">314.86</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">314.86</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">336.90</cbc:TaxInclusiveAmount>
<cbc:PrepaidAmount currencyID="EUR">100.00</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="EUR">236.90</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Worked example · CII
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>314.86</ram:LineTotalAmount>
<ram:TaxBasisTotalAmount>314.86</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">22.04</ram:TaxTotalAmount>
<ram:GrandTotalAmount>336.90</ram:GrandTotalAmount>
<ram:TotalPrepaidAmount>100.00</ram:TotalPrepaidAmount>
<ram:DuePayableAmount>336.90</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation><ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>314.86</ram:LineTotalAmount>
<ram:TaxBasisTotalAmount>314.86</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">22.04</ram:TaxTotalAmount>
<ram:GrandTotalAmount>336.90</ram:GrandTotalAmount>
<ram:TotalPrepaidAmount>100.00</ram:TotalPrepaidAmount>
<ram:DuePayableAmount>236.90</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>Check your own invoice
Drop the file that failed. We parse it, run the official rule sets against it and list every finding with a fix — 20 invoices per day, no key, nothing stored.
Open the live demoSame explanation over the API: GET /v1/rules/BR-CO-16?lang=en