BR-28: Negativer Bruttopreis
Der Bruttopreis einer Position (BT-148) darf nicht negativ sein.
- Regelwerk
- EN 16931 (CEN)
- Syntax
- UBL und CII
- Betroffene Felder
- BT-148
Offizieller Regeltext
The Item gross price (BT-148) shall NOT be negative.
Regeltext aus den Validierungsartefakten zu EN 16931 in Version 1.3.16 (CEN/TC 434, veröffentlicht von ConnectingEurope), Lizenz EUPL 1.2; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.
Schweregrad
- UBL-Rechnung: Fehler
- UBL-Gutschrift: Fehler
- CII: Fehler
Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.
Typische Ursachen
Vorzeichenfehler bei der Übernahme von Listenpreisen oder bei Rücknahmen.
So behebst du den Fehler
Den Bruttopreis positiv angeben; Rücknahmen über eine negative Menge abbilden.
Weil der Nettopreis dann nicht mehr Bruttopreis minus Preisnachlass ist, meldet der Validator zusätzlich PEPPOL-EN16931-R046.
Geprüftes Beispiel: falsch und richtig
Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.
Bei den Beispielen meldet der Validator außer BR-28 auch: PEPPOL-EN16931-R046.
Beispiel in UBL
Änderung gegenüber der gültigen Rechnung: Negativer Bruttopreis (BT-148).
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">3</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">-22.95</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price> <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">3</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">22.95</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:
Vollständige Dateien im Testkorpus: br-28-negativer-bruttopreis_ubl.xml (falsch) und positionsrabatt_ubl.xml (richtig).
Beispiel in CII
Änderung gegenüber der gültigen Rechnung: Negativer Bruttopreis (BT-148).
<ram:SpecifiedLineTradeAgreement>
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>-22.95</ram:ChargeAmount>
<ram:AppliedTradeAllowanceCharge>
<ram:ChargeIndicator><ram:SpecifiedLineTradeAgreement>
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>22.95</ram:ChargeAmount>
<ram:AppliedTradeAllowanceCharge>
<ram:ChargeIndicator>Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:
Vollständige Dateien im Testkorpus: br-28-negativer-bruttopreis_cii.xml (falsch) und positionsrabatt_cii.xml (richtig).
Testdateien zu BR-28
- br-28-negativer-bruttopreis_ubl.xml – Negativer Bruttopreis (BT-148)
- br-28-negativer-bruttopreis_cii.xml – Negativer Bruttopreis (BT-148)
Technische Details: Kontext und Prüfausdruck aus dem Schematron
CII
Kontext:
//ram:IncludedSupplyChainTradeLineItem
Prüfausdruck:
(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount >= 0) or not(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount)
UBL
Kontext:
cac:InvoiceLine | cac:CreditNoteLine
Prüfausdruck:
(cac:Price/cac:AllowanceCharge/cbc:BaseAmount) >= 0 or not(exists(cac:Price/cac:AllowanceCharge/cbc:BaseAmount))
Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.