Rule at a Glance

ID Severity Context (XPath)
BR-15 Fatal (error) ubl:Invoice/cac:LegalMonetaryTotal
Series reference: BR-15  |  Schematron ID: ibr-015

Classification

Transaction Data — The amount due for payment (IBT-115) is the final net payable figure after deducting any prepaid amounts (IBT-113) from the total with tax (IBT-112) and applying any rounding (IBT-114). It is the operationally critical field for accounts payable — the figure that drives payment instructions and settlement records.

What the Rule Is Checking

BR-15 fires when the cac:LegalMonetaryTotal block does not contain a cbc:PayableAmount element. This element holds IBT-115 and is the last mandatory field in the legal monetary total sequence. It must always be present even when IBT-115 equals IBT-112 (i.e., no prepayment has been made). A zero-value PayableAmount is valid — it simply means the invoice has been fully prepaid.

Why This Rule Exists

IBT-115 is the field that drives downstream payment processing. In an automated AP workflow, the buyer's ERP reads IBT-115 to post the payment obligation. Without it, the system cannot determine whether a balance remains outstanding or has been cleared by a prior payment, making automated three-way matching (purchase order, goods receipt, invoice) impossible.

From the FTA's perspective, IBT-115 is the figure that must reconcile with the buyer's claimed input tax position. If the invoice records a zero amount due because a prepayment cleared it, the input tax on the prepayment invoice must already have been recognised. The audit trail depends on IBT-115 being present and correctly calculated.

Standard / Code List

No code list applies. The value is a decimal in the invoice currency (IBT-005). A zero value (0.00) is valid and indicates a fully prepaid invoice. Negative values are not permitted on an invoice (only on credit notes).

UAE Data Example

PASSES ✓ — standard invoice, no prepayment
<cac:LegalMonetaryTotal>
  <cbc:TaxExclusiveAmount currencyID="AED">5000.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="AED">5250.00</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="AED">5250.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

PASSES ✓ — fully prepaid invoice
<cac:LegalMonetaryTotal>
  <cbc:TaxExclusiveAmount currencyID="AED">5000.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="AED">5250.00</cbc:TaxInclusiveAmount>
  <cbc:PrepaidAmount currencyID="AED">5250.00</cbc:PrepaidAmount>
  <cbc:PayableAmount currencyID="AED">0.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

FAILS ✗
<cac:LegalMonetaryTotal>
  <cbc:TaxExclusiveAmount currencyID="AED">5000.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="AED">5250.00</cbc:TaxInclusiveAmount>
  <!-- PayableAmount missing — BR-15 fires as fatal -->
</cac:LegalMonetaryTotal>

What Your ERP / IT Team Must Ensure

  • Always output cbc:PayableAmount — even when the value is 0.00. Omitting the element entirely is the failure mode BR-15 targets.
  • Calculate IBT-115 as: IBT-112 minus IBT-113 (PrepaidAmount) plus IBT-114 (PayableRoundingAmount). Hardcoding the value from the gross total without checking for prepayments is a common integration error.
  • Ensure your ERP advance payment or deposit logic writes a PrepaidAmount element when a deposit has been applied, so IBT-115 reflects the true outstanding balance.
  • For UAE advance payment invoices (where a deposit is received before the final invoice), the final invoice must show the original prepayment reference and reduce IBT-115 accordingly.
  • Include IBT-115 in your pre-clearance validation — a missing PayableAmount causes a fatal rejection at the ASP before the document reaches the PEPPOL network.

Related Rules

BR-13 (IBT-109 — net total), BR-14 (IBT-112 — total with tax), BR-CO-16 (mathematical relationship: IBT-115 = IBT-112 - IBT-113 + IBT-114). See also advance payments and retention in UAE e-invoicing.