BR-38
EN 16931-1 layer: en16931
Checked against Peppol BIS Billing 3.0 2026.5
What does BR-38 mean? Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).
Why did my invoice fail BR-38?
Every Document level charge (BG-21) must be justified by either a free-text charge reason (BT-104) or a coded charge reason (BT-105), with at least one present. This documents why the additional charge (e.g. freight, packaging) was applied.
Official rule text
Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).
Common causes
- Charge added with amount and VAT category but no reason text or code
- Reason held only internally and never mapped to cbc:AllowanceChargeReason
- Empty reason element emitted rather than a real value
How do I fix it?
Provide a reason and/or reason code: <cac:AllowanceCharge><cbc:ChargeIndicator>true</cbc:ChargeIndicator>...<cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode><cbc:AllowanceChargeReason>Freight charge</cbc:AllowanceChargeReason></cac:AllowanceCharge>
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.