Skip to content

Fatal

PEPPOL-EN16931-R043: The charge indicator must be true or false

In short

Fatal: fails the selected checks.

PEPPOL-EN16931-R043 means a ChargeIndicator holds something other than true or false. This is a technical error in how the file was produced.

On this page

What it means

In UBL, every cac:AllowanceCharge has a cbc:ChargeIndicator that says whether it is a charge (true) or a discount (false). Peppol only accepts the exact lower-case words true and false, not 1, 0, TRUE or yes.

Why it matters

Peppol BIS Billing 3.0 adds this rule to EN 16931 so that every access point and receiver can process the invoice the same way. The sending or receiving access point rejects an invoice that fails it, so it never reaches the buyer.

How to fix it

This is a technical error in how the file was produced. If you build the XML yourself, write <cbc:ChargeIndicator>false</cbc:ChargeIndicator> for a discount and true for a charge. If your invoicing software produced it, report it to your software provider.

The rule as published

Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'

Where this rule applies

Rule set Version
XRechnung 3.0 (UBL) 3.0.2
XRechnung 3.0 (UBL credit note) 3.0.2
Peppol BIS Billing 3.0 (invoice) 2026.5
Peppol BIS Billing 3.0 (credit note) 2026.5
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether PEPPOL-EN16931-R043 still fails, and which other rules do.

Updated 6 November 2026