Error codes · EN 16931
PEPPOL-EN16931-R048Fixable here
Invoice line net amount must equal price * quantity ± allowances/charges
This is the rejection, word for word: „[PEPPOL-EN16931-R048] PEPPOL-EN16931-R048 is a Schematron calculation rule on the Peppol BIS Billing 3.0 invoice. For each cac:InvoiceLine the rule requires: BT-131 (Invoice line net amount) = (BT-129 Invoiced quantity * BT-146 Item net price / BT-149 Item price base quantity) + sum of BT-141 line-level charges − sum of BT-136 line-level allowances. When the calculated value differs from the value the seller emitted by more than the rounding tolerance, the line is rejected.“
What to have readyThe missing value from your purchase order, contract or bookkeeping.
What we doRecompute BT-131 in the canonical order: gross = round_half_up(qty * price / coalesce(base, 1), 2); net = gross + charges − allowances. Auto-fixed when components are deterministic; downgraded to input when the price base is missing or ambiguous.
If you enter it yourself in your invoicing software
Before
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">29.99</cbc:LineExtensionAmount>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>After
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">30.00</cbc:LineExtensionAmount>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>What the finding looks likeExample
FindingValue missing · PEPPOL-EN16931-R048
From youThe missing value
ThenPassed
ProofSHA-256 and /verify link after the check