InvoiceValidator.eu

BR-CO-24

fatalEN 16931EN 16931 business ruleCIIUBLBG-28BT-144BT-145

Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both.

Why it fails

An invoice line charge (BG-28) has neither a reason text (BT-144) nor a reason code (BT-145).

How to fix it

Add a reason to that line charge - free text BT-144 is sufficient.

What the validator checks

CII — context $Invoice_line_charges

(../ram:Reason) or (../ram:ReasonCode)

UBL — context $Invoice_line_charges

exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)

Related rules

Part of BR-CO — Calculation rules.

Check your own invoice against BR-CO-24

…or paste the XML instead

Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.