robin.vision Appointment

SmartFormular

Tools › SmartFormular E-Rechnung lite › Validation rules › PEPPOL-EN16931-R046

PEPPOL-EN16931-R046

The net price (BT-146) is not the gross price (BT-148) minus discount (BT-147)

Validation rule of XRechnung 3.0.2 (KoSIT, Schematron 2.6.0) · Level: Error

What the message means

The net price (BT-146) is not the gross price (BT-148) minus discount (BT-147).

What the issuer needs to change

Make gross price, net price and discount consistent.

This rule is part of XRechnung, even though its name starts with PEPPOL.

Fields concerned

Your invoice reports PEPPOL-EN16931-R046? Check it with SmartFormular E-Rechnung lite, free to try until 31 December 2026: the tool shows every finding with an explanation, the invoice in readable form and a GiroCode to pay – in your browser, no upload.

Check an e-invoice

Origin

Rule set
XRechnung 3.0.2 (KoSIT, Schematron 2.6.0)
Syntax
CII, UBL
Level
Error

Original rule text

Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.

Source: KoSIT, XRechnung Schematron 2.6.0, Apache License 2.0

Technical details for IT

UBL

Context: cac:Price/cac:AllowanceCharge
Test: not(not(cbc:BaseAmount) or xs:decimal(../cbc:PriceAmount) = xs:decimal(cbc:BaseAmount) - xs:decimal(cbc:Amount))

CII

Context: rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice
Test: not(not(ram:ChargeAmount) or xs:decimal(../ram:NetPriceProductTradePrice/ram:ChargeAmount) = xs:decimal(ram:ChargeAmount) - u:decimalOrZero(ram:AppliedTradeAllowanceCharge/ram:ActualAmount[1]))

Related rules

All validation rules

Technical explanation by robin.vision, not tax or legal advice. Rules as of 31 August 2026 (KoSIT validator configuration).