Negative Rechnungspositionen

Rückgaben, Pfand, verrechnete Anzahlungen: Negative Zeilen sind in EN 16931 erlaubt — wenn Menge, Preis und Summenarithmetik stimmen. So bauen Sie sie richtig.

Raw

Wo negative Positionen herkommen

Drei Fälle tauchen in der Praxis immer wieder auf. Erstens die Korrektur in derselben Rechnung: Eine Position wurde doppelt oder falsch erfasst und wird direkt darunter wieder ausgebucht, statt eine separate Rechnungskorrektur zu erzeugen. Zweitens Pfand und Rückgaben: Leergut oder zurückgenommene Ware wird mit der nächsten Lieferung verrechnet — die Rücknahme steht als eigene Zeile mit negativem Betrag neben den neuen Artikeln. Drittens die Verrechnung von Anzahlungen: Die Schlussrechnung führt alle Leistungen auf und zieht bereits berechnete Anzahlungen als negative Zeilen wieder ab.

Beim dritten Fall lohnt ein zweiter Blick: EN 16931 kennt für gezahlte Beträge auch das Feld BT-113 (Vorauszahlung), das laut BR-CO-16 nach der Umsatzsteuer vom Bruttobetrag abgezogen wird. Eine negative Zeile wirkt dagegen vor der Steuer und mindert die Bemessungsgrundlage. Welcher Weg korrekt ist, hängt davon ab, ob die Anzahlungsrechnung bereits Umsatzsteuer ausgewiesen hat — das ist eine umsatzsteuerliche Frage, keine technische. Beide Wege sind normkonform.

Was die Norm erlaubt — und was nicht

Der Positionsbetrag BT-131 darf negativ sein. Die saubere Konstruktion dafür ist: negative Menge, positiver Preis. Die Menge BT-129 ist ausdrücklich vorzeichenbehaftet — eine Rücknahme von einem Stück ist schlicht -1. Der Netto-Stückpreis BT-146 dagegen darf nicht negativ sein: Genau das sagt die Geschäftsregel BR-27 der EN 16931. Billhorse prüft BR-27 derzeit nicht — Empfängersysteme und andere Prüfwerkzeuge (etwa das KOSIT-Prüftool) tun es aber, und eine Rechnung mit negativem Preis wird dort abgelehnt. Negieren Sie also nie den Preis, sondern immer die Menge.

Eine negative Zeile in UBL und CII

In UBL sieht eine Rücknahme so aus — Menge negativ, Preis positiv, LineExtensionAmount ergibt sich als Menge × Preis:

<cac:InvoiceLine>
  <cbc:ID>2</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">-1</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">-89.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Rücknahme Ladegerät</cbc:Name>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">89.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

Dasselbe in CII (ZUGFeRD/Factur-X): Die Menge steht als BilledQuantity in der Delivery, der Preis als ChargeAmount im NetPriceProductTradePrice, der Positionsbetrag als LineTotalAmount in der Zeilen-Summation:

<ram:IncludedSupplyChainTradeLineItem>
  <ram:AssociatedDocumentLineDocument>
    <ram:LineID>2</ram:LineID>
  </ram:AssociatedDocumentLineDocument>
  <ram:SpecifiedTradeProduct>
    <ram:Name>Rücknahme Ladegerät</ram:Name>
  </ram:SpecifiedTradeProduct>
  <ram:SpecifiedLineTradeAgreement>
    <ram:NetPriceProductTradePrice>
      <ram:ChargeAmount>89.00</ram:ChargeAmount>
    </ram:NetPriceProductTradePrice>
  </ram:SpecifiedLineTradeAgreement>
  <ram:SpecifiedLineTradeDelivery>
    <ram:BilledQuantity unitCode="C62">-1</ram:BilledQuantity>
  </ram:SpecifiedLineTradeDelivery>
  <ram:SpecifiedLineTradeSettlement>
    <ram:ApplicableTradeTax>
      <ram:TypeCode>VAT</ram:TypeCode>
      <ram:CategoryCode>S</ram:CategoryCode>
      <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
    </ram:ApplicableTradeTax>
    <ram:SpecifiedTradeSettlementLineMonetarySummation>
      <ram:LineTotalAmount>-89.00</ram:LineTotalAmount>
    </ram:SpecifiedTradeSettlementLineMonetarySummation>
  </ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>

Nachlass oder negative Zeile?

Nicht jeder Abzug gehört in eine eigene Zeile. Ein Rabatt auf eine Position — Mengenrabatt, Aktionspreis — ist ein Positionsnachlass (BG-27) mit Betrag in BT-136; er bleibt Teil derselben Zeile und mindert deren BT-131. Ein Rabatt auf die gesamte Rechnung — Treuerabatt, Skonto-Vorwegabzug — ist ein Nachlass auf Dokumentebene (BG-20, Betrag in BT-92) und fließt in die Nachlasssumme BT-107 ein. Eine negative Zeile ist das Mittel der Wahl, wenn ein eigenständiger Vorgang mit eigener Menge und eigenem Artikel abgebildet wird: eine Rückgabe, eine Pfandgutschrift, eine verrechnete Anzahlung. Faustregel: Bezieht sich der Abzug auf eine Lieferung von etwas, ist es eine Zeile; ist er nur ein Preisbestandteil, ist es ein Nachlass.

Die Summen müssen stimmen

Negative Zeilen ändern nichts an der Arithmetik der Norm — sie werden schlicht mitaddiert. BR-CO-10 verlangt, dass die Positionssumme BT-106 exakt der Summe aller Positionsbeträge (BT-131) entspricht, negative Werte eingeschlossen. Darauf baut die Kette auf: Nach BR-CO-13 ist der Nettobetrag BT-109 = BT-106 − Nachlässe (BT-107) + Zuschläge (BT-108), und nach BR-CO-15 ist der Bruttobetrag BT-112 = BT-109 + Umsatzsteuer (BT-110). Berechnen Sie diese Felder immer aus den Zeilen, statt sie separat zu pflegen. Kippt die Positionssumme insgesamt ins Negative, ist das formal zulässig — meist ist dann aber eine Gutschrift (Typ-Code 381) das passendere Dokument.

Umsatzsteuer: Kategorie muss passen

Eine negative Zeile trägt dieselbe USt-Kategorie und denselben Steuersatz wie die Leistung, die sie korrigiert — die Rücknahme eines mit 19 % berechneten Artikels steht in Kategorie S mit 19 %, nicht in Z oder E. Denn die Bemessungsgrundlage jeder Kategorie ist die Summe der zugehörigen Zeilenbeträge; die negative Zeile mindert die Grundlage ihrer Kategorie. Landet sie in der falschen, gehen die Aufschlüsselung (BG-23) und Regeln der BR-S-Familie schief — bis hin zu Widersprüchen wie einem Befreiungsgrund in einer besteuerten Kategorie (BR-S-10), und der USt-Gesamtbetrag passt nicht mehr zu BR-CO-14.

Ob Ihre Rechnung mit negativen Zeilen durchgeht, sehen Sie im Browser-Validator — die Datei bleibt dabei auf Ihrem Rechner. Für die Integration in eigene Software gibt es dieselbe Engine als Developer-API (Private Beta) mit den Endpoints validate und parse.

Ergebnis direkt gegenprüfen

Der Billhorse-Validator prüft XRechnung, ZUGFeRD und Factur-X direkt im Browser — Ihre Datei wird nicht hochgeladen.

Zum Validator

← Alle Guides · Stand: 2026-07-04