PEPPOL-EN16931-R043
Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
What does this rule mean?
The ChargeIndicator is neither 'true' nor 'false'.
This flag decides whether the entry is a charge (true) or an allowance (false) — any other value can flip the sign.
Official rule message (standard)
Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
Where the rule applies
Syntax: CII · UBL
The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.
UBL
ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge
CII
ram:SpecifiedTradeAllowanceChargeram:AppliedTradeAllowanceCharge
Technical test
The rule passes when this Schematron expression holds true:
normalize-space(ram:ChargeIndicator/udt:Indicator/text()) = 'true' or normalize-space(ram:ChargeIndicator/udt:Indicator/text()) = 'false'How to fix it
A missing or incorrect business entry only you can supply. Add or correct it, then re-check.
Set the ChargeIndicator to 'true' (charge) or 'false' (allowance).
Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.
Check an e-invoice here
Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.