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.
<cac:Price>
<cbc:PriceAmount currencyID="EUR">410</cbc:PriceAmount>
</cac:Price><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 demoSame explanation over the API: GET /v1/rules/PEPPOL-EN16931-R120?lang=en