InvoiceIn
Language: EN

PEPPOL-EN16931-R120

Peppol BIS Billing 3 · validation rule

Peppol BIS Billing 3Warning
Invoice line net amount (BT-131) should equal quantity (BT-129) x (net price BT-146 / price base quantity BT-149) + line charges (BT-141) - line allowances (BT-136). The sender should recompute cbc:LineExtensionAmount / ram:LineTotalAmount; a line discount not reflected in the price or a missing base quantity is the usual cause.
Field
lines[].net_amount (BT-131)
Rule set
Peppol BIS Billing 3
Rule-set version
Peppol BIS Billing 3.0 (rules master, Sep 2026) · in force since · Rule-set changelog
Who has to fix it
The sender

This is a property of the file you received, so it cannot be corrected on your side without changing the document — ask the supplier to reissue it.

Worked example · UBL

Peppol recomputes every line: 7 DAY × 410 = 2870, but the line states 2800; with 400 the price matches the stated net amount.

Fails this rule
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">410</cbc:PriceAmount>
</cac:Price>
Passes
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">400</cbc:PriceAmount>
</cac:Price>

Check your own invoice

Drop the file that failed. We parse it, run the official rule sets against it and list every finding with a fix — 20 invoices per day, no key, nothing stored.

Open the live demo

Same explanation over the API: GET /v1/rules/PEPPOL-EN16931-R120?lang=en