# PEPPOL-EN16931-R120 Invoice line net amount must match the Peppol formula

Peppol requires BT-131 to equal quantity times unit net price, adjusted by line charges and allowances.

## Problem Description

Peppol requires BT-131 to equal quantity times unit net price, adjusted by line charges and allowances.

> **ERROR**: XRechnung 3.0

## Context and Significance

This is a common rejection when PDF extraction rounds unit prices too early or drops line-level allowances.

## Solution

Recompute line nets from BT-129, BT-146, price base quantity, line charges, and line allowances, then update BT-131.

- validate
- convert

## Valid Examples

- 2 x 100.00 minus 10.00 allowance gives BT-131 = 190.00

## Invalid Examples

- Formula gives 190.00 but BT-131 = 189.99

## Technical Details

### Affected Fields
BT-129 Quantity, BT-146 Unit net price, BT-131 Line net amount

## Related Rules

- [BR-24](/resources/kosit-validator-errors/br-24-invoice-line-net-amount-must-be-present)
- [BR-CO-10](/resources/kosit-validator-errors/br-co-10-sum-of-line-net-amounts-must-equal-line-total)
- [PEPPOL-EN16931-R046](/resources/kosit-validator-errors/peppol-en16931-r046-net-price-must-match-gross-minus-allowance)

## Validation Tools

- [Official KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Validate your XRechnung files against all BR-DE rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Automatic validation error fixes when converting.

## Related Resources

- [Official Specification](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Complete Error List](/resources/kosit-validator-errors): Overview of all German XRechnung validation rules.
