Peppol BIS Billing 3.0.20 · UBL

BR-44: Each Invoice line charge shall have an Invoice line charge reason or an invoice line…

Peppol BIS Billing 3.0.20 · UBL

fatalbusiness

Original rule text

[BR-44]-Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code.

Stored validation assertion
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)

BR-44 is a fatal rule in the business layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected.

What this rule requires

Each line charge (a cac:AllowanceCharge with cbc:ChargeIndicator = true) under cac:InvoiceLine or cac:CreditNoteLine must contain at least one of cbc:AllowanceChargeReason (free-text reason) or cbc:AllowanceChargeReasonCode (coded reason). The test exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) means one is enough; both are not required. The rule only checks for the presence of these elements, not their content.

How to fix

In the invoice or generating system, find the line charge that caused the error and add at least one of the two child elements. For example, add <cbc:AllowanceChargeReason> with the reason text, or add <cbc:AllowanceChargeReasonCode> with a code value from the applicable code list referenced by the specification. If both are missing, the document fails validation.

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-44.

Validate an invoice against these rules · All release changes