InvoiceValidator.eu

BR-44

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

Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code.

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 the line charge; free text BT-144 is enough.

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 — EN 16931 core business rules.

Check your own invoice against BR-44

…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.