BR-33
EN 16931-1 layer: en16931
Checked against Peppol BIS Billing 3.0 2026.5
What does BR-33 mean? Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).
Why did my invoice fail BR-33?
Every Document level allowance (BG-20) must be justified by either a free-text allowance reason (BT-97) or a coded allowance reason (BT-98), and at least one of the two must be present. This documents why the discount was granted so the buyer can reconcile it.
Official rule text
Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).
Common causes
- Allowance added with amount and VAT category but no reason text or reason code
- Reason held only in an internal field that was never mapped to UBL
- Empty cbc:AllowanceChargeReason element emitted instead of a real value
How do I fix it?
Provide a reason and/or reason code: <cac:AllowanceCharge><cbc:ChargeIndicator>false</cbc:ChargeIndicator>...<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode><cbc:AllowanceChargeReason>Discount</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.