einvoicecheck

Rules / BR-CO-21 · Markdown

BR-CO-21

EN 16931-1 layer: en16931

Checked against Peppol BIS Billing 3.0 2026.5

What does BR-CO-21 mean? Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.

Why did my invoice fail BR-CO-21?

Each document-level allowance (BG-20) must state a reason as free text (BT-97) or a coded reason (BT-98), or both. This ensures every deduction from the invoice total is justified and machine- or human-readable.

Official rule text

Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.

Common causes

How do I fix it?

Add a reason to the allowance, e.g. <cac:AllowanceCharge><cbc:ChargeIndicator>false</cbc:ChargeIndicator><cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode><cbc:AllowanceChargeReason>Discount</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.