Attestwire › Rule reference › BR-14
BR-14 An invoice must state its total amount with VAT
noun · EN 16931 · fatal · BT-112
For a sample invoice, the library reports: An invoice must have the Invoice total amount with VAT (BT-112), and this document does not state it: there is no element at /ubl:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount. It is the gross value of the supply, and BR-CO-15 ties it to BT-109 + BT-110.
- Business term
BT-112- Severity
fatal
The fix
Add cbc:TaxInclusiveAmount to the document with the amount the issuing system computed. If you are generating the document with this library, generation always emits all of the document totals, so this cannot happen on the way out — it means the file was produced by something else.
What the library returns
The full error returned by @attestwire/en16931. It includes the rule ID,
affected field and suggested correction. Developers can use this object in their application:
{
"rule": "BR-14",
"field": "BT-112",
"severity": "fatal",
"message": "An invoice must have the Invoice total amount with VAT (BT-112), and this document does not state it: there is no element at /ubl:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount. It is the gross value of the supply, and BR-CO-15 ties it to BT-109 + BT-110. The value was not inferred from the lines — a document total is a statement the issuer makes, and a validator's job is to check it, not to supply it. The rest of this report still uses the totals computed from the lines, so you can see what the document ought to have said.",
"fix": "Add cbc:TaxInclusiveAmount to the document with the amount the issuing system computed. If you are generating the document with this library, generation always emits all of the document totals, so this cannot happen on the way out — it means the file was produced by something else.",
"xpath": "/ubl:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount",
"docsUrl": "https://attestwire.com/rules/BR-14"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.