Back to the error catalogue
BR-CO-24BT-144
input

A line charge states no reason

Each invoice line charge (BG-28) must carry a reason in plain text (BT-144), a reason code (BT-145), or both.

Only the issuer holds this value: Factlint reports it and never fabricates it. Test your invoice to find out whether it is affected.

The message your validator prints

Copied verbatim from the sealed artefact: this is the exact sentence the check prints when this rule fails.

[BR-CO-24]-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.

Quoted from schematron-cen 1.3.16, licensed under EUPL-1.2.

Common searches around this code

These phrases mirror what an integrator searches for: code, syntax, rule, business field and correction.

BR-CO-24 A line charge states no reasonBR-CO-24 CEN EN 16931 SchematronBR-CO-24 BT-144[BR-CO-24]-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.BR-CO-24 correction

Test your file with this error in mind

Upload the invoice involved: the report will say whether this code appears, where it appears in the document, and whether Factlint can only report it or also fix it.

To automate this check in an ERP flow, call the validation API and link every returned code to its public page.

Why this error happens

This is the previous rule's counterpart for surcharges: environmental levy, fuel surcharge, small-quantity uplift. All are computed by a rule that has a name internally and none on the way out.

How to fix it

Carry the pricing rule's name into BT-144, or map it onto a UNCL 7161 code. The check is per line: its XPath is in the finding.

XML correction example

BEFORE (invalid)
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ActualAmount>2.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
AFTER (compliant)
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ActualAmount>2.00</ram:ActualAmount>
  <ram:Reason>Écocontribution</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>