# PEPPOL-EN16931-R120 Rechnungspositions-Nettobetrag muss der Menge multipliziert mit dem Nettopreis abzüglich Positionsnachlässen und zuzüglich Positionszuschlägen entsprechen

Nach Peppol-Regel PEPPOL-EN16931-R120 muss der Positionsnettobetrag in BT-131 (LineExtensionAmount) der Berechnungsformel entsprechen: Positionsnettobetrag = abgerechnete Menge × (Artikelnettopreis ÷ Preismenge) + Summe der Positionszuschläge − Summe der Positionsnachlässe. Das Peppol-Schematron lässt eine Abweichung von höchstens 0,02 zu, um Rundungen aufzufangen. Häufige Fehlerursachen sind der Verlust von Positionsrabatten bei der Konvertierung, verfrühtes Runden von Einzelpreisen auf 2 Nachkommastellen oder das Nichtberücksichtigen der Preismenge (BT-149).

## Problembeschreibung

> **FEHLER**: Regel von Peppol BIS Billing 3.0 (OpenPeppol)

## Kontext und Bedeutung

PEPPOL-EN16931-R120 schlägt fehl, sobald der exportierte BT-131 um mehr als 0,02 von dem Betrag abweicht, der aus Menge, Nettopreis, Preismenge sowie Positionsnachlässen und -zuschlägen neu berechnet wird. Typische Ursachen sind ein bei der Konvertierung verlorener Positionsnachlass, ein zu früh auf 2 Nachkommastellen gerundeter Einzelpreis oder eine nicht berücksichtigte Preismenge (BT-149).

## Lösung

Rechnen Sie in Ihrer Fakturierung oder Konvertierung mit Einzelpreisen in voller Genauigkeit und beziehen Sie alle Positionsnachlässe und -zuschläge in BT-131 ein, bevor Sie den Positionsbetrag auf 2 Nachkommastellen runden; teilen Sie durch die Preismenge (BT-149), wenn sie gesetzt ist. In UBL 2.1 schreiben Sie bei Menge 2, Preis 100.00 und 10.00 Positionsnachlass <cbc:LineExtensionAmount currencyID="EUR">190.00</cbc:LineExtensionAmount>.

- [XML validieren](/de/xrechnung-validator?source=resource&rule=PEPPOL-EN16931-R120)
- [Rechnung konvertieren](/de/pdf-to-xrechnung?source=resource&rule=PEPPOL-EN16931-R120)

## Gültige Beispiele

- Menge 2 x Einzelpreis 100.00 EUR abzüglich Nachlass 10.00 EUR ergibt BT-131 = 190.00 EUR
- Menge 50 x Einzelpreis 1.2550 EUR (62.75 EUR) ergibt BT-131 = 62.75 EUR

## Ungültige Beispiele

- Menge 2 x Preis 100.00 EUR minus Nachlass 10.00 EUR = 190.00 EUR, aber BT-131 wird als 200.00 EUR exportiert, weil der Nachlass in der Summation vergessen wurde
- Formel ergibt 190.00 EUR, aber BT-131 wird aufgrund von Rundungsfehlern als 189.90 EUR exportiert

## Code-Beispiele

### Gültiges XML
```
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="H87">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">190.00</cbc:LineExtensionAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  </cac:AllowanceCharge>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>
```

### Ungültiges XML
```
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="H87">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  </cac:AllowanceCharge>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>
```

## Betroffene Felder

- [BT-131 Positionsnettobetrag](/resources/xrechnung/bt-131-invoice-line-net-amount)
- [BT-129 Abgerechnete Menge](/resources/xrechnung/bt-129-invoice-line-quantity)
- [BT-146 Artikelnettopreis](/resources/xrechnung/bt-146-item-net-price)
- [BG-25 Rechnungsposition](/resources/xrechnung/bt-126-invoice-line-identifier)

## Verwandte Regeln

- [BR-22](/resources/kosit-validator-errors/br-22-invoice-line-quantity-must-be-present)
- [BR-24](/resources/kosit-validator-errors/br-24-invoice-line-net-amount-must-be-present)
- [PEPPOL-EN16931-R046](/resources/kosit-validator-errors/peppol-en16931-r046-item-net-price-math)

## Validierungstools

- [Offizieller KoSIT Validator](https://github.com/itplr-kosit/validator): Führen Sie den offiziellen KoSIT-Validator mit der XRechnung-Konfiguration aus, um EN-16931- und XRechnung-Regeln zu prüfen.
- [PDF zu XRechnung konvertieren](/pdf-to-xrechnung): Validierungsfehler beim Konvertieren erkennen, prüfen und gezielt beheben.

## Verwandte Ressourcen

- [Offizielle Spezifikation](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle Validierungsfehler](/resources/kosit-validator-errors): Übersicht der hier erklärten Validierungsregeln aus EN 16931, XRechnung und Peppol.
