BR-44
EN 16931-1 layer: en16931
Checked against Peppol BIS Billing 3.0 2026.5
What does BR-44 mean? Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code.
Why did my invoice fail BR-44?
Every charge on an invoice line (BG-28) must state why it applies, either as free-text via the Invoice line charge reason (BT-144) or as a coded value via the Invoice line charge reason code (BT-145). This ensures each line-level surcharge (e.g. packaging, freight) is justifiable and machine-processable rather than an unexplained amount.
Official rule text
Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code.
Common causes
- A line-level charge (cac:AllowanceCharge with ChargeIndicator=true) was added with only an Amount, no reason text or reason code.
- The reason was placed on document-level allowances/charges instead of on the invoice line's AllowanceCharge.
- Mapping logic populated AllowanceChargeReason for allowances but omitted it for charges.
How do I fix it?
Inside cac:InvoiceLine/cac:AllowanceCharge (with <cbc:ChargeIndicator>true</cbc:ChargeIndicator>) add <cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode> or <cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>.
Related rules
BR-01 · BR-02 · BR-03 · BR-04 · BR-05 · BR-06 · BR-07 · BR-08
Check your invoice against this rule
Paste it into the live demo, or call POST /v1/validate. See the quickstart.