Attestwire › Rule reference › BR-12
BR-12 An invoice must state the sum of its line net amounts
noun · EN 16931 · fatal · BT-106
For a sample invoice, the library reports: An invoice must have the Sum of Invoice line net amounts (BT-106), and this document does not state it: there is no element at /ubl:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount.
- Business term
BT-106- Severity
fatal
The fix
Add cbc:LineExtensionAmount 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-12",
"field": "BT-106",
"severity": "fatal",
"message": "An invoice must have the Sum of Invoice line net amounts (BT-106), and this document does not state it: there is no element at /ubl:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount. It is the anchor the rest of the totals are derived from: BT-109 starts here, and BR-CO-10 checks it against the lines. 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:LineExtensionAmount 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:LineExtensionAmount",
"docsUrl": "https://attestwire.com/rules/BR-12"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.