# PEPPOL-EN16931-R043

Source: https://xmlvalid.com/rules/PEPPOL-EN16931-R043

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

- Level: error
- Rule sets: Peppol BIS Billing 3.0 rules 3.0.21, XRechnung 3.0 rules (UBL) 2.6.0
- Context: `ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge`
- Test: `normalize-space(cbc:ChargeIndicator/text()) = 'true' or normalize-space(cbc:ChargeIndicator/text()) = 'false'`

## Why it fails

- `cbc:ChargeIndicator` holds something other than `true` or `false`: `1`, `0`, `True` or `FALSE`.

## How to fix it

- Write `true` for a charge and `false` for an allowance, in lower case. XML Schema accepts `1` and `0` as booleans, Peppol does not.

Validate a document against these rules: https://xmlvalid.com/validate
