InvoiceIn
Language: EN

BR-CO-13

EN 16931 · validation rule

EN 16931Error
Invoice total without VAT (BT-109) must equal sum of line net amounts (BT-106) minus document level allowances (BT-107) plus document level charges (BT-108). The sender must recompute cbc:TaxExclusiveAmount / ram:TaxBasisTotalAmount; a common cause is applying allowances twice or forgetting a charge.
Field
totals.net (BT-109)
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

With no document-level allowance or charge, BT-109 must equal BT-106 exactly: 314.86, not a rounded 314.00.

Fails this rule
<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">314.86</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">314.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">336.90</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">336.90</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
Passes
<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:PayableAmount currencyID="EUR">336.90</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Worked example · CII

Fails this rule
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount>314.86</ram:LineTotalAmount>
  <ram:TaxBasisTotalAmount>314.00</ram:TaxBasisTotalAmount>
  <ram:TaxTotalAmount currencyID="EUR">22.04</ram:TaxTotalAmount>
  <ram:GrandTotalAmount>336.90</ram:GrandTotalAmount>
  <ram:DuePayableAmount>336.90</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Passes
<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:DuePayableAmount>336.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 demo

Same explanation over the API: GET /v1/rules/BR-CO-13?lang=en