BR-CO-24
EN 16931-1 layer: en16931
Checked against Peppol BIS Billing 3.0 2026.5
What does BR-CO-24 mean? Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both.
Why did my invoice fail BR-CO-24?
Each invoice line charge (BG-28) must contain a charge reason as free text (BT-144) or a coded reason (BT-145), or both. Any surcharge on a specific line must be explained so the buyer can see what the added amount covers.
Official rule text
Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both.
Common causes
- Line-level cac:AllowanceCharge (ChargeIndicator=true) with an amount but no AllowanceChargeReason and no AllowanceChargeReasonCode.
- Charge reason only stored internally and not written to the UBL element.
- Reason code element rendered but empty.
- Line surcharge produced from a rule engine with amount only.
How do I fix it?
On the line charge add a reason, e.g. <cac:AllowanceCharge><cbc:ChargeIndicator>true</cbc:ChargeIndicator><cbc:AllowanceChargeReason>Small order fee</cbc:AllowanceChargeReason>...</cac:AllowanceCharge>.
Related rules
BR-CO-03 · BR-CO-04 · BR-CO-05 · BR-CO-06 · BR-CO-07 · BR-CO-08 · BR-CO-09 · BR-CO-10
Check your invoice against this rule
Paste it into the live demo, or call POST /v1/validate. See the quickstart.