# Negative Rechnungspositionen

> https://billhorse.com/leitfaeden/negative-rechnungspositionen/

## 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](/begriffe/bt-113/) (Vorauszahlung), das laut [BR-CO-16](/regeln/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](/begriffe/bt-131/) darf negativ sein. Die saubere Konstruktion dafür ist: **negative Menge, positiver Preis**. Die Menge [BT-129](/begriffe/bt-129/) ist ausdrücklich vorzeichenbehaftet — eine Rücknahme von einem Stück ist schlicht `-1`. Der Netto-Stückpreis [BT-146](/begriffe/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:

```xml
<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:

```xml
<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](/begriffe/bg-27/)) mit Betrag in [BT-136](/begriffe/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](/begriffe/bg-20/), Betrag in [BT-92](/begriffe/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](/regeln/br-co-10/) verlangt, dass die Positionssumme [BT-106](/begriffe/bt-106/) exakt der Summe aller Positionsbeträge (BT-131) entspricht, negative Werte eingeschlossen. Darauf baut die Kette auf: Nach [BR-CO-13](/regeln/br-co-13/) ist der Nettobetrag BT-109 = BT-106 − Nachlässe (BT-107) + Zuschläge (BT-108), und nach [BR-CO-15](/regeln/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](/regeln/br-s-10/)), und der USt-Gesamtbetrag passt nicht mehr zu [BR-CO-14](/regeln/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](/api/) (Private Beta) mit den Endpoints validate und parse.
