/xXSDHub

BR-24: Each invoice line needs a net amount

Each invoice line needs a net amount; restore LineTotalAmount within the CII line monetary summation.

What the rule says

[BR-24]-Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).

Official en16931 source, version 1.3.16. EUPL 1.2; sources, licences and notices. Syntax and business checks are separate; this is not certification.

Each invoice line needs a net amount

Each invoice line needs a net amount. The controlled example changes the specific field or group named by this rule. Remove only /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[1]/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount.

Business terms: BT-131.

Restore LineTotalAmount within the CII line monetary summation.

Reproduced failure and correction

Tested on 2 November 2026 with the production SaxonC-HE 13.1 / saxonche 13.1.1 engine, en16931 mode, CII. The XSD passes; the report then contains BR-24. Restoring this fragment makes the complete original invoice pass the selected checks.

[BR-24]-Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).

Additional triggered rules: 2. BR-S-08, BR-CO-10. Counts include distinct error and warning codes; the target code is excluded.

Precise mutated XPath: /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[1]/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount.

Before: triggers this rule

<ram:SpecifiedTradeSettlementLineMonetarySummation xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100">
                    </ram:SpecifiedTradeSettlementLineMonetarySummation>
            

After: passes

<ram:SpecifiedTradeSettlementLineMonetarySummation xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100">
                    <ram:LineTotalAmount>19.9</ram:LineTotalAmount>
                </ram:SpecifiedTradeSettlementLineMonetarySummation>
            

The context shown is part of a complete invoice; it is not a standalone invoice. Mutation: remove at /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[1]/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount. The passing baseline is validated with the selected pinned package. UBL examples use a controlled single-line adaptation of the official XRechnung example; the CII example uses the official EN 16931 baseline.

Download complete failing invoice · Download complete passing invoice

Check your corrected invoice →

Check the rest of the invoice

Repair the source data and exporter, then validate the complete invoice again with the same package. Review every remaining error and warning; a passing rule is not a guarantee of recipient acceptance.

EN 16931 syntax and business checks · XRechnung profile requirements · Pro/Team batch checks.