BR-28 Feld BT-148 EN-16931-Grundregeln (BR)

BR-28 beheben: Brutto-Einzelpreis (BT-148) ist negativ

[BR-28]-The Item gross price (BT-148) shall NOT be negative.

BR-28 in deiner eigenen Rechnung? Lade die Datei hoch und finde alle Fehler in Sekunden.

Was bedeutet BR-28?

Der Listenpreis pro Einheit darf nicht kleiner als null sein. Rabatte werden getrennt als Positions-Abschlag ausgewiesen.

Häufige Ursachen für BR-28

So behebst du BR-28

  1. Fehlerhafte Stelle im XML finden. Öffne die XML der E-Rechnung und navigiere zum Feld BT-148 über den folgenden XPath://ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount
  2. Korrektur einsetzen. Der Brutto-Einzelpreis (BT-148) darf nicht negativ sein. Setze in ram:GrossPriceProductTradePrice/ram:ChargeAmount einen Wert von 0 oder groesser. Rabatte gehoeren als Positions-Abschlag in ram:AppliedTradeAllowanceCharge, nicht in einen negativen Bruttopreis.
  3. Erneut validieren. Speichere die Datei und validiere sie erneut, um zu prüfen, dass BR-28 nicht mehr gemeldet wird.
Konkreter Korrekturvorschlag

Der Brutto-Einzelpreis (BT-148) darf nicht negativ sein. Setze in ram:GrossPriceProductTradePrice/ram:ChargeAmount einen Wert von 0 oder groesser. Rabatte gehoeren als Positions-Abschlag in ram:AppliedTradeAllowanceCharge, nicht in einen negativen Bruttopreis.

XPath//ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount

Vorher / Nachher: das XML-Beispiel

So sieht die betroffene Stelle vor und nach der Korrektur aus (Cross-Industry-Invoice, ZUGFeRD/Factur-X).

Fehlerhaft
<ram:GrossPriceProductTradePrice>
  <ram:ChargeAmount>-11.90</ram:ChargeAmount>
</ram:GrossPriceProductTradePrice>
Korrekt
<ram:GrossPriceProductTradePrice>
  <ram:ChargeAmount>11.90</ram:ChargeAmount>
  <ram:AppliedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
    <ram:ActualAmount>1.90</ram:ActualAmount>
  </ram:AppliedTradeAllowanceCharge>
</ram:GrossPriceProductTradePrice>

Häufige Fragen zu BR-28

Wo trage ich einen Positionsrabatt richtig ein?
Als ram:AppliedTradeAllowanceCharge innerhalb des Brutto-Einzelpreises. Der Rabattbetrag (BT-147) senkt den Bruttopreis auf den Nettopreis (BT-146), ohne dass ein Preis negativ wird.
Muss ich ueberhaupt einen Bruttopreis angeben?
Nein, der Brutto-Einzelpreis (BT-148) ist optional. Gibst du ihn an, darf er aber nicht negativ sein.

Verwandte Fehlercodes

BR-28 automatisch prüfen

Statt das XML manuell zu durchsuchen, kannst du deine ZUGFeRD- oder XRechnung-Datei online validieren – lade die PDF oder XML hoch und du bekommst jeden Fehler mit Regel-ID, betroffenem Feld, Korrekturvorschlag und XPath, als lesbaren Report oder strukturiertes JSON über die API.

Jeden Fehler automatisch finden statt manuell suchen

Lade deine ZUGFeRD- oder XRechnung-Datei hoch – du bekommst jeden Verstoß mit Regel-ID, Feld, Korrekturvorschlag und XPath zurück.

Kostenlos online validieren
Rechnung prüfen