Peppol BIS Billing 3.0.21 · UBL

BR-CO-11: Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92)

Peppol BIS Billing 3.0.21 · UBL

fatalbusiness

Original rule text

[BR-CO-11]-Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).

Stored validation assertion
xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or  (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]))

BR-CO-11 is a fatal rule in the business layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected. It refers to BT-107, BT-92.

What this rule requires

The rule requires that the total amount of document-level allowances (cbc:AllowanceTotalAmount in cac:LegalMonetaryTotal) equals the sum of all document-level allowance amounts (cac:AllowanceCharge with cbc:ChargeIndicator = false). If there are no document-level allowances, the cbc:AllowanceTotalAmount must be absent or 0. A document fails when the sum of the allowance amounts does not match the total, or when an allowance total is present without corresponding allowances or vice versa.

How to fix

Check the cac:LegalMonetaryTotal element and the sibling cac:AllowanceCharge elements at document level. Ensure that the value in cbc:AllowanceTotalAmount equals the sum of all cbc:Amount values in those cac:AllowanceCharge elements where cbc:ChargeIndicator is false. If there are no document-level allowances, remove cbc:AllowanceTotalAmount or set it to 0. Correct either the individual allowance amounts or the total so they match.

Guidance on this rule. The original text above is authoritative.

Where to go next

No published Peppol BIS Billing UBL release comparison lists a change to BR-CO-11.

Validate an invoice against these rules · All release changes