# ibr-033

Source: https://xmlvalid.com/rules/ibr-033

> Each Document level allowance (ibg-20) MUST have a Document level allowance reason (ibt-097) or a Document level allowance reason code (ibt-098).

- Level: error
- Rule sets: PINT Billing rules 1.1.3, PINT Billing rules (as shipped with PINT AE) 1.0.4
- Context: `cac:AllowanceCharge[cbc:ChargeIndicator = false()]`
- Test: `((exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)) and not(exists(ancestor::cac:InvoiceLine|ancestor::cac:CreditNoteLine))) or (ancestor::cac:InvoiceLine | ancestor::cac:CreditNoteLine)`

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