Skip to content

Warning

UBL-CR-669: A price discount must not carry a reason code

In short

Warning: worth checking.

UBL-CR-669 means the discount on an item's price (BT-147) has a reason code, for which EN 16931 has no field. It is a warning; remove the reason code from the price discount.

On this page

What it means

An item price can show a discount (BT-147) taken off a gross price (BT-148). In UBL that sits in cac:Price/cac:AllowanceCharge. Unlike a discount on a line (BG-27) or on the whole invoice (BG-20), a price discount has no reason in EN 16931: only the amount and the gross price are part of it. This rule checks that cac:Price/cac:AllowanceCharge has no cbc:AllowanceChargeReasonCode.

Why it matters

This is a warning. It is worth fixing when your export adds it on every price, or when a recipient asks for a file with no warnings.

How to fix it

In your invoicing software, look at the discount fields on the unit price and clear any reason or code chosen there. If the buyer needs to know why the price is lower, put the reason in the item description, or use a discount on the line, which can carry a reason. If you build the XML yourself, delete cbc:AllowanceChargeReasonCode from the cac:AllowanceCharge inside cac:Price.

Once the file is corrected, check it again for free: Validate an invoice against EN 16931

Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice

The rule as published

A UBL invoice should not include a Price Allowance Reason Code

Where this rule applies

Rule set Version
EN 16931 (UBL) 1.3.17
EN 16931 (UBL credit note) 1.3.17
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
SI-UBL 2.0 / NLCIUS (invoice) 2.0.3.13
SI-UBL 2.0 / NLCIUS (credit note) 2.0.3.13
France CTC (UBL invoice) 1.4.0-04
France CTC (UBL credit note) 1.4.0-04
CIUS-RO UBL Invoice 1.0.9 1.0.9
CIUS-RO UBL Credit Note 1.0.9 1.0.9
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether UBL-CR-669 still fails, and which other rules do.

Updated 6 November 2026