Attestwire › Rule reference › BR-15
BR-15 An invoice must state the amount due for payment
noun · EN 16931 · fatal · BT-115
For a sample invoice, the library reports: An invoice must have the Amount due for payment (BT-115), and this document does not state it: there is no element at /ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount.
- Business term
BT-115- Severity
fatal
The fix
Add cbc:PayableAmount 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-15",
"field": "BT-115",
"severity": "fatal",
"message": "An invoice must have the Amount due for payment (BT-115), and this document does not state it: there is no element at /ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount. It is the only figure on the document that says what to actually pay — it differs from BT-112 whenever a prepayment (BT-113) or a rounding amount (BT-114) applies. 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:PayableAmount 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:PayableAmount",
"docsUrl": "https://attestwire.com/rules/BR-15"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.