Zum Inhalt springen
Shop-Integration & Prozesse

Teillieferungen und Teilrechnungen im B2B-Shop steuern

Teillieferungen und Teilrechnungen zwischen Shop, Middleware und Warenwirtschaft: Datenmodell, Restmenge, Belegverweise und Felder der elektronischen Rechnung.

15 Min. Lesezeit TeillieferungTeilrechnungAuftragsabwicklungERP-AnbindungB2B

Ein Großhändler bestätigt einen Auftrag über zwölf Positionen. Acht davon liegen am Lager, drei kommen in vierzehn Tagen vom Hersteller, eine ist abgekündigt. Der Versand geht trotzdem heute raus, weil der Kunde die acht Positionen braucht. Ab diesem Moment gibt es nicht mehr einen Beleg, sondern eine Kette: zwei Lieferscheine, mindestens zwei Rechnungen, eine Restmenge, die irgendwo geführt werden muss, und ein Kundenkonto, das beides zusammen anzeigen soll. Dieser Artikel beschreibt, wie diese Kette zwischen Shop, Middleware und Warenwirtschaft aufgebaut wird, welche Felder die elektronische Rechnung dafür vorsieht und woran man erkennt, dass die Zuordnung hält. Wer ERP und Shop im Großhandel verbindet, entscheidet an dieser Stelle, ob der Onlinekanal Belege erzeugt oder Rückfragen.

Das Wichtigste in Kürze

  • Eine Teillieferung ist keine Störung, sondern eine Vereinbarung: Ohne Zustimmung des Käufers ist der Schuldner zu Teilleistungen nicht berechtigt (Bundesministerium der Justiz).
  • Umsatzsteuerlich entsteht die Steuer je Teilleistung, sobald für einen Teil einer wirtschaftlich teilbaren Leistung das Entgelt gesondert vereinbart ist (Bundesministerium der Justiz) – die Belegkette folgt der Vereinbarung, nicht dem Paketband.
  • Die europäische Rechnungsnorm kennt die Teilrechnung als eigenen Dokumententyp: Code 326 im Feld BT-3 (KoSIT), daneben führt die Codeliste 386 für die Vorauszahlungsrechnung (OpenPeppol).
  • Eine Rechnung darf beliebig viele Vorgängerrechnungen benennen (BG-3, Anzahl 0..*), auf Kopfebene aber nur eine einzige Versandanzeige (BT-16, Anzahl 0..1) (KoSIT) – wer je Lieferschein abrechnet, umgeht diese Enge.
  • Die Restmenge je Auftragsposition ist der Schlüsselwert: Sie gehört in die Middleware, wird aus Lieferereignissen fortgeschrieben und macht Doppelfakturierung sichtbar.
  • Die Schlussrechnung setzt vorher vereinnahmte Teilentgelte ab, wenn darüber Rechnungen ausgestellt worden sind (Bundesministerium der Justiz).

Warum ein Auftrag in mehrere Belege zerfällt

Im Geschäftskundenhandel ist die vollständige Lieferung eines Auftrags der Normalfall, aber nicht der einzige Fall. Ein Auftrag zerfällt, sobald eine Position nicht mitfahren kann: Ein Artikel steht im Zulauf, ein zweiter liegt in einem anderen Lager, ein dritter ist chargenpflichtig und wartet auf die Freigabe der Qualitätssicherung. Die Entscheidung, trotzdem zu versenden, fällt in der Auftragsabwicklung und ist kaufmännisch meist richtig – der Kunde braucht die acht Positionen, die verfügbar sind, und nicht das Warten auf die neunte. Technisch beginnt in genau diesem Moment die Arbeit, denn ab hier trägt jeder Beleg nur noch einen Ausschnitt des Auftrags.

Der Shop merkt davon zunächst nichts. Er hat einen Auftrag angelegt, eine Auftragsbestätigung verschickt und wartet auf Statusmeldungen. Ob daraus eine Lieferung wird oder drei, entscheidet die Warenwirtschaft. Solange die Schnittstelle nur den Zustand „versendet“ kennt, kippt das Kundenkonto beim ersten Teilversand in eine Halbwahrheit: Der Auftrag sieht abgeschlossen aus, obwohl vier Positionen offen sind. Wer den Auftragsstatus live aus dem ERP spiegelt, braucht dafür ein Datenmodell, das mehrere Lieferungen und mehrere Rechnungen je Auftrag zulässt – und zwar bevor der erste Teilversand passiert, nicht danach.

Verfügbarkeit und Zulauf

Der häufigste Auslöser: Ein Teil des Auftrags liegt am Lager, der Rest kommt vom Hersteller. Die Middleware muss den Auftrag deshalb als Kopf mit Positionen führen, deren Mengen sich unabhängig voneinander bewegen.

Logistik und Gebinde

Sperrgut, Gefahrgut und temperaturgeführte Ware verlassen das Haus getrennt. Auch ein einzelner Auftrag verteilt sich auf zwei Sendungen, wenn Gewichtsgrenzen oder Versandarten es verlangen.

Kaufmännische Gründe

Ein ausgeschöpftes Kreditlimit, eine Vorkasse für einen Teilbetrag oder eine Freigabe im Einkauf des Kunden verschieben einen Teil des Auftrags nach hinten. Der Grund gehört als Feld an die Lieferung, damit die Kreditlimitprüfung im Checkout später nachvollziehbar bleibt.

Teillieferung ist eine Vereinbarung, keine Störung

Das Bürgerliche Gesetzbuch stellt den Ausgangspunkt klar: Der Schuldner ist zu Teilleistungen nicht berechtigt (Bundesministerium der Justiz). Eine Teillieferung ist damit kein Recht des Lieferanten, sondern etwas, das vereinbart wird – im Rahmenvertrag, in den Verkaufsbedingungen oder im einzelnen Auftrag. Für die Schnittstelle heißt das: Die Erlaubnis ist ein Datum, kein Bauchgefühl. Ein Feld am Auftragskopf, das aus dem Kundenstamm vorbelegt und im Checkout überschrieben werden kann, ist die technische Entsprechung dieser Vereinbarung. Fehlt es, entscheidet die Auftragsabwicklung jeden Fall neu, und die Entscheidung ist hinterher nicht nachvollziehbar.

Umsatzsteuerlich hängt an derselben Vereinbarung mehr als die Logistik. Bei der Berechnung der Steuer nach vereinbarten Entgelten entsteht sie mit Ablauf des Voranmeldungszeitraums, in dem die Leistungen ausgeführt worden sind; das gilt auch für Teilleistungen, die vorliegen, wenn für bestimmte Teile einer wirtschaftlich teilbaren Leistung das Entgelt gesondert vereinbart wird (Bundesministerium der Justiz). Ob eine Teillieferung eine Teilleistung in diesem Sinne ist, entscheidet also die Entgeltvereinbarung und nicht der Versandschein. Handelsrechtlich kommt hinzu, dass der Käufer die Ware unverzüglich nach der Ablieferung durch den Verkäufer zu untersuchen hat, soweit dies nach ordnungsmäßigem Geschäftsgange tunlich ist (Bundesministerium der Justiz) – bei zwei Ablieferungen laufen zwei Rügefristen, und der Kunde braucht je Sendung einen eigenen Lieferschein, um sie einhalten zu können.

Die Erlaubnis gehört an den Auftragskopf

Ein einzelnes Feld erspart später viel Klärung: partial_delivery_allowed mit den Werten yes, no und on_request, vorbelegt aus dem Kundenstamm im ERP, im Checkout sichtbar und im Auftrag gespeichert. Steht dort no, blockiert die Warenwirtschaft den Teilversand, und der Shop weist die Lieferzeit der langsamsten Position als Termin des ganzen Auftrags aus. Steht dort yes, ist die spätere Belegkette vom Kunden gedeckt – und in der Middleware dokumentiert.

Die Belegkette und ihre Verweise

Aus einem Auftrag mit zwei Lieferungen werden schnell sechs Belege: Auftragsbestätigung, zwei Lieferscheine, zwei Rechnungen und – wenn eine Anzahlung im Spiel war – eine Schlussrechnung, die das Teilentgelt wieder abzieht. Jeder dieser Belege ist für sich vollständig und trägt trotzdem einen Verweis auf seinen Vorgänger. Diese Verweise sind der eigentliche Gegenstand der Integrationsarbeit; ohne sie hat der Empfänger sechs Dokumente und keine Kette.

Die Verweise laufen in zwei Richtungen. Abwärts zeigt jeder Beleg auf den Auftrag, dem er entstammt, und auf die Auftragsposition, die er bedient. Rückwärts zeigt jede Rechnung auf den Lieferschein, den sie abrechnet, und die Schlussrechnung zusätzlich auf alle Teilrechnungen, die ihr vorausgingen. Wer die Kette in der Middleware führt, kann die Frage beantworten, die im Streitfall zählt: Welche Menge welcher Position wurde wann geliefert und mit welchem Beleg berechnet? Die Belegdaten aus der Warenwirtschaft liefern die Werte, die Middleware hält die Verbindungen.

  • Auftragsbestätigung – nennt Auftragsnummer, alle Positionen mit bestellter Menge und den bestätigten Liefertermin je Position, nicht nur einen Termin für den ganzen Auftrag.
  • Lieferschein je Sendung – trägt Auftragsnummer, Positionsnummer, gelieferte Menge und die verbleibende Restmenge. Erst die Restmenge macht den Beleg für den Wareneingang des Kunden brauchbar.
  • Teilrechnung je Lieferung – rechnet genau die Mengen eines Lieferscheins ab und benennt ihn. Sie ist der Regelfall, wenn Lieferung und Rechnung im selben Takt laufen.
  • Sammelrechnung über mehrere Lieferungen – bündelt mehrere Lieferscheine eines Zeitraums. Sie braucht eine Abrechnungsperiode und je Zeile den Bezug zur Lieferung, aus der die Menge stammt.
  • Schlussrechnung – schließt den Auftrag ab und setzt vereinnahmte Teilentgelte ab, über die bereits Rechnungen ausgestellt worden sind (Bundesministerium der Justiz).
  • Storno und Korrektur – jede Berichtigung verweist auf den berichtigten Beleg; im RMA-Prozess für Retouren hängt daran die Gutschrift.

Was die elektronische Rechnung dafür vorsieht

Die europäische Norm für die elektronische Rechnung kennt den Fall. Das Feld BT-3 trägt den Code für die Rechnungsart, und die deutsche Ausprägung XRechnung nennt acht Codes aus der Codeliste UNTDID 1001, die dort übermittelt werden sollen: 326 für die Teilrechnung, 380 für die Handelsrechnung, 384 für die Rechnungskorrektur, 389 für die Gutschriftsabrechnung, 381 für die Gutschrift sowie 875, 876 und 877 für die Abschlags- und Schlussrechnungen im Bauwesen (KoSIT). Die Codeliste selbst kennt daneben 386 für die Vorauszahlungsrechnung (OpenPeppol). Wer eine Teilrechnung als 380 verschickt, verliert eine Information, die der Empfänger für die Zuordnung gebrauchen könnte.

Für die Kette sind zwei Kardinalitäten entscheidend. Die Gruppe BG-3 mit der Referenz auf die vorausgegangene Rechnung darf beliebig oft vorkommen (0..*) und trägt je Vorkommen die Kennung der vorausgegangenen Rechnung in BT-25 und optional deren Ausstellungsdatum in BT-26 (KoSIT). Eine Schlussrechnung kann damit sämtliche Teilrechnungen benennen, die ihr vorausgingen. Die Kennung für eine referenzierte Versandanzeige in BT-16 ist dagegen einmalig (0..1), ebenso das tatsächliche Lieferdatum in BT-72 (KoSIT). Auf Kopfebene lässt sich also genau eine Lieferung benennen – eine Sammelrechnung über drei Lieferscheine passt dort nicht hinein.

teilrechnung-ubl.xml
<Invoice>
  <cbc:ID>RE-2026-04417</cbc:ID>
  <cbc:IssueDate>2026-09-14</cbc:IssueDate>
  <cbc:InvoiceTypeCode>326</cbc:InvoiceTypeCode>
  <cac:OrderReference>
    <cbc:ID>AB-4711</cbc:ID>
  </cac:OrderReference>
  <cac:DespatchDocumentReference>
    <cbc:ID>LS-2026-08810</cbc:ID>
  </cac:DespatchDocumentReference>
  <cac:Delivery>
    <cbc:ActualDeliveryDate>2026-09-10</cbc:ActualDeliveryDate>
  </cac:Delivery>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="H87">8</cbc:InvoicedQuantity>
    <cac:OrderLineReference>
      <cbc:LineID>10</cbc:LineID>
    </cac:OrderLineReference>
  </cac:InvoiceLine>
</Invoice>

Der Ausschnitt zeigt die Stellen, an denen die Zuordnung hängt: die Auftragsnummer als Klammer über alles, die Kennung der Versandanzeige als Verweis auf den Lieferschein, das tatsächliche Lieferdatum als Zeitpunkt der Leistung und die Auftragspositionsnummer je Rechnungszeile. Das Umsatzsteuergesetz verlangt in der Rechnung ohnehin den Zeitpunkt der Lieferung oder sonstigen Leistung (Bundesministerium der Justiz); bei zwei Teillieferungen sind das zwei verschiedene Zeitpunkte in zwei verschiedenen Rechnungen. Wer beide Rechnungen mit dem Datum des zweiten Versands ausstellt, hat den Beleg formal beschädigt. Welche Fristen dabei ab 2027 gelten, steht im Beitrag zur Pflicht zur elektronischen Rechnung.

Eine Sammelrechnung braucht die Zeilenebene

Auf Kopfebene lässt die elektronische Rechnung nur eine Versandanzeige und ein Lieferdatum zu (KoSIT). Wer mehrere Lieferungen in einer Rechnung bündelt, verlagert die Zuordnung deshalb in die Rechnungszeile: Die Gruppe BG-26 trägt je Zeile Start- und Enddatum des Abrechnungszeitraums in BT-134 und BT-135, und der Rechnungskopf bekommt in BG-14 den Abrechnungszeitraum über alle Zeilen mit BT-73 und BT-74 (KoSIT). Ohne diese Felder steht im Beleg eine Summe, deren Herkunft der Empfänger raten muss.

Das Datenmodell in der Middleware

Shop und Warenwirtschaft haben unterschiedliche Vorstellungen davon, was ein Auftrag ist. Im Shop ist er ein Warenkorb, der bezahlt oder freigegeben wurde. In der Warenwirtschaft ist er ein Kopf mit Positionen, an denen Mengen in mehreren Zuständen hängen: bestellt, disponiert, kommissioniert, geliefert, berechnet. Die Middleware übersetzt zwischen beiden, und sie tut das am zuverlässigsten, wenn sie den ERP-nahen Zustand führt und dem Shop eine vereinfachte Sicht darauf liefert – nicht umgekehrt.

Die Struktur ist überschaubar: ein Auftrag, darunter Positionen, darunter je Position eine Liste von Lieferereignissen und eine Liste von Abrechnungsereignissen. Jedes Ereignis trägt Menge, Datum, Belegnummer und die Kennung aus dem Quellsystem. Aus dieser Liste lässt sich jede Frage beantworten, ohne einen zweiten Zustand zu pflegen: Die gelieferte Menge ist die Summe der Lieferereignisse, die berechnete Menge die Summe der Abrechnungsereignisse, die Restmenge die Differenz zur bestellten Menge. Wer diese Werte zusätzlich als eigene Felder speichert und fortschreibt, hat drei Wahrheiten und einen Abgleichjob. Eine Schnittstelle mit sauberer Fachlogik rechnet sie stattdessen aus der Ereignisliste aus.

auftrag-teillieferungen.json
{
  "order_no": "AB-4711",
  "partial_delivery_allowed": "yes",
  "lines": [
    {
      "line_no": 10,
      "sku": "40-2517-KH25",
      "qty_ordered": 12,
      "deliveries": [
        { "doc": "LS-2026-08810", "qty": 8, "date": "2026-09-10" },
        { "doc": "LS-2026-09004", "qty": 4, "date": "2026-09-24" }
      ],
      "invoices": [
        { "doc": "RE-2026-04417", "qty": 8, "type_code": "326", "refers_to": "LS-2026-08810" },
        { "doc": "RE-2026-04620", "qty": 4, "type_code": "380", "refers_to": "LS-2026-09004" }
      ]
    }
  ]
}
Terminal
$ curl -s '/api/orders/AB-4711/open-quantities' | jq '.lines[]'
{ "line_no": 10, "qty_ordered": 12, "qty_delivered": 12, "qty_invoiced": 12, "qty_open": 0 }
$ curl -s '/api/orders/AB-4711/consistency' | jq
{ "deliveries": 2, "invoices": 2, "unbilled_deliveries": [], "invoiced_without_delivery": [], "status": "closed" }

Die Restmenge ist der Schlüsselwert

In der Praxis entstehen die teuren Fehler nicht beim ersten Teilversand, sondern beim zweiten. Eine Position wird doppelt berechnet, weil die Teilrechnung aus dem ERP und die Rechnung aus dem Shop-Prozess beide auf dieselbe Menge zugreifen. Eine Restmenge bleibt liegen, weil der Auftrag im Shop nach der ersten Lieferung auf „abgeschlossen“ gesprungen ist. Oder eine Nachlieferung wird versendet, obwohl der Kunde die Restmenge längst storniert hat. Alle drei Fälle haben dieselbe Ursache: Es gibt mehr als eine Stelle, an der die offene Menge geführt wird. Dasselbe Muster kennt jede Bestandssynchronisation über mehrere Lager.

  1. Die bestellte Menge je Position wird bei der Auftragsanlage festgeschrieben und danach nur durch eine dokumentierte Auftragsänderung verändert.
  2. Die gelieferte Menge wird ausschließlich aus Lieferereignissen des ERP fortgeschrieben, nicht aus dem Versandstatus eines Logistikdienstleisters.
  3. Die berechnete Menge wird ausschließlich aus Rechnungsereignissen fortgeschrieben, und jedes Rechnungsereignis nennt den Lieferschein, den es abrechnet.
  4. Die offene Menge wird berechnet und nicht gespeichert: bestellte Menge abzüglich gelieferter Menge, je Position.
  5. Eine Rechnung ohne zugehöriges Lieferereignis und ein Lieferereignis ohne Rechnung nach Ablauf einer Frist sind Befunde, die in einen Bericht gehören – nicht in ein Protokoll, das niemand liest.
  6. Storniert der Kunde die Restmenge, entsteht ein eigenes Ereignis mit Grund und Zeitpunkt; die bestellte Menge bleibt unverändert.

Zwei Zahlen, die zusammenpassen müssen

Die Summe der gelieferten Mengen und die Summe der berechneten Mengen sind je Auftragsposition zwei unabhängig entstandene Zahlen. Stimmen sie überein und ist die offene Menge null, ist der Auftrag abgeschlossen. Weichen sie voneinander ab, hat entweder eine Lieferung keine Rechnung oder eine Rechnung keine Lieferung. Dieser Abgleich trägt denselben Gedanken wie der Abgleich von Zahlungen und Belegen: Zwei getrennt geführte Bestände, die sich gegenseitig prüfen, finden Fehler, die ein einzelner Bestand verbirgt.

Anzahlung, Teilrechnung, Schlussrechnung

Bei Aufträgen mit langer Lieferzeit kommt ein zweiter Fall dazu: die Anzahlung. Sie ist keine Teillieferung, sondern ein vereinnahmtes Teilentgelt vor der Leistung. Das Umsatzsteuergesetz regelt den Abschluss ausdrücklich: Wird eine Endrechnung erteilt, sind in ihr die vor Ausführung der Lieferung oder sonstigen Leistung vereinnahmten Teilentgelte und die auf sie entfallenden Steuerbeträge abzusetzen, wenn über die Teilentgelte Rechnungen ausgestellt worden sind (Bundesministerium der Justiz). Für die Schnittstelle heißt das: Die Schlussrechnung braucht die Liste der Anzahlungsrechnungen mit Nettobetrag und Steuerbetrag, nicht nur eine Summe.

Technisch ist das genau der Fall, für den BG-3 mehrfach belegbar ist. Die Schlussrechnung nennt jede vorausgegangene Rechnung in BT-25 und deren Ausstellungsdatum in BT-26 (KoSIT) und zieht die bereits abgerechneten Teilbeträge in eigenen Zeilen ab. Die Frist für die Rechnungstellung läuft dabei unabhängig von der Belegart: Bei einer Leistung an einen anderen Unternehmer für dessen Unternehmen ist die Rechnung innerhalb von sechs Monaten nach Ausführung der Leistung auszustellen, sofern der Umsatz nicht nach § 4 Nummer 8 bis 29 UStG steuerfrei ist (Bundesministerium der Justiz). Wer Teilrechnungen sammelt, um sie später in einer Schlussrechnung zusammenzufassen, sollte diese Frist im Kalender der Inventur- und Jahreswechselarbeiten haben.

BeleglageWas der Kunde bekommtWas die Schnittstelle liefern muss
Vollständige LieferungEin Lieferschein, eine RechnungAuftragsnummer und Positionsbezug je Rechnungszeile
Zwei Teillieferungen, je eine RechnungZwei Lieferscheine, zwei RechnungenJe Rechnung Code 326 oder 380 und der Verweis auf den Lieferschein
Mehrere Lieferungen, eine SammelrechnungMehrere Lieferscheine, eine RechnungAbrechnungszeitraum im Kopf und je Zeile (BG-14, BG-26)
Anzahlung und SchlussrechnungAnzahlungsrechnung, danach EndrechnungAlle Vorgängerrechnungen in BG-3 mit Betrag und Steuerbetrag
Teilstorno der RestmengeBestätigung der StornierungEreignis mit Grund und Zeitpunkt, bestellte Menge bleibt dokumentiert
Retoure aus einer TeillieferungGutschrift mit BezugVerweis auf die berichtigte Rechnung und den Lieferschein

Was der Kunde im Konto sehen muss

Die Belegkette ist erst dann fertig, wenn sie im Kundenkonto ankommt. Ein Auftrag, der als teilweise geliefert ausgewiesen ist, braucht drei Angaben auf einen Blick: welche Positionen mit welcher Menge geliefert wurden, welche Menge offen ist und welcher Termin für den Rest gilt. Der Zustand des ganzen Auftrags ist dabei nachrangig – der Einkäufer will wissen, ob seine Position dabei war, nicht ob der Auftrag statistisch als abgeschlossen zählt. Ein Fortschrittsbalken je Position sagt darüber mehr aus als ein Statuswort je Auftrag.

Dazu gehört der Zugriff auf die Belege selbst. Jeder Lieferschein und jede Rechnung liegen als Datei im Konto, nach Datum sortiert und je Auftrag gruppiert. Der Bezug wird sichtbar gemacht, nicht unterstellt: Die Rechnung nennt den Lieferschein, den sie abrechnet, und der Lieferschein nennt die Rechnung, sobald sie existiert. Wer bereits Versand- und Logistikschnittstellen angebunden hat, hängt die Sendungsverfolgung an das Lieferereignis und nicht an den Auftrag – bei zwei Sendungen gibt es zwei Nummern, und eine davon im Auftragskopf zu speichern, kostet später eine Rückfrage.

Buchhaltung, Zuordnung und Aufbewahrung

In der Buchhaltung trifft die Kette auf die Zahlung. Zwei Teilrechnungen können in einer Überweisung ankommen, eine Teilrechnung in zwei Raten, und der Verwendungszweck nennt gelegentlich die Auftragsnummer statt der Rechnungsnummer. Die Zuordnung gelingt, wenn beide Nummern im Beleg stehen und die Schnittstelle zur Buchhaltung je Rechnung den Auftragsbezug mitgibt. Für die Übergabe an die Finanzbuchhaltung zählt außerdem der Steuerzeitpunkt je Beleg: Bei Teilleistungen entsteht die Steuer je Teilleistung und nicht erst am Ende des Auftrags (Bundesministerium der Justiz).

Aufbewahrungsseitig hängen an der Kette unterschiedliche Fristen. Der Unternehmer hat ein Doppel der Rechnung sowie alle Rechnungen, die er erhalten hat, acht Jahre aufzubewahren (Bundesministerium der Justiz); dieselbe Frist nennt die Abgabenordnung für Buchungsbelege, soweit nicht andere Steuergesetze kürzere Aufbewahrungsfristen zulassen. Bei empfangenen Lieferscheinen, die keine Buchungsbelege sind, endet die Aufbewahrungsfrist dagegen mit dem Erhalt der Rechnung (Bundesministerium der Justiz). Wer Lieferscheine und Rechnungen im selben Archiv ablegt und pauschal gleich behandelt, hebt entweder zu viel auf oder zu wenig; welche Datei wann verschwinden darf, gehört in das Löschkonzept über Systemgrenzen hinweg.

Der Schuldner ist zu Teilleistungen nicht berechtigt.

Bürgerliches Gesetzbuch, § 266 (Bundesministerium der Justiz)

Woran man sieht, dass die Kette hält

Eine Teillieferungslogik lässt sich prüfen, ohne auf den nächsten Engpass zu warten. Der Testfall bleibt derselbe: ein Auftrag mit mehreren Positionen, eine Lieferung über einen Teil der Mengen, eine Rechnung darüber, danach die zweite Lieferung und die Schlussrechnung. Entscheidend ist, dass die Prüfung an den Belegen ansetzt und nicht an den Statusfeldern – ein Statusfeld sagt, was ein System glaubt, ein Beleg sagt, was es ausgestellt hat.

  • Die Summe der berechneten Mengen je Position entspricht der Summe der gelieferten Mengen, und beide entsprechen der bestellten Menge.
  • Jede Rechnung nennt genau einen Lieferschein oder – bei einer Sammelrechnung – je Zeile den Abrechnungszeitraum.
  • Jede Rechnung trägt einen Dokumententyp-Code, der zur Belegart passt, und die Schlussrechnung nennt alle Vorgängerrechnungen.
  • Das Lieferdatum in der Rechnung ist das Datum der zugehörigen Lieferung, nicht das Erstellungsdatum des Belegs.
  • Das Kundenkonto zeigt je Position die offene Menge und je Sendung eine eigene Sendungsverfolgung.
  • Ein Auftrag mit offener Restmenge lässt sich nicht in den Zustand abgeschlossen versetzen, solange kein Storno-Ereignis vorliegt.

Teillieferungen sind kein Randfall, den man beim nächsten Release nachzieht, sondern der Normalbetrieb eines Sortiments mit Zulaufware. Ob der Onlinekanal daran wächst oder Rückfragen erzeugt, entscheidet sich an drei Stellen: an einem Datenmodell, das mehrere Lieferungen und Rechnungen je Auftrag zulässt, an Belegen, die einander benennen, und an einem Kundenkonto, das die offene Menge zeigt. Wir bauen diese Kette in bestehende Systeme ein – von der Anbindung an SAP über die Middleware bis zur elektronischen Rechnung – und prüfen sie an echten Belegen statt an Statusfeldern. Einen Überblick über die einzelnen Bausteine gibt die Seite zu unseren Leistungen.

Quellen und Regelwerke

Dieser Artikel basiert auf Daten aus: dem Bürgerlichen Gesetzbuch (§ 266), dem Umsatzsteuergesetz (§§ 13, 14, 14b und 27), dem Handelsgesetzbuch (§ 377) und der Abgabenordnung (§ 147) in der auf dem Portal des Bundesministeriums der Justiz veröffentlichten Fassung, der Spezifikation Standard XRechnung, CIUS und Extension in der Version 3.0.2 der Koordinierungsstelle für IT-Standards (KoSIT) sowie der Codeliste UNTDID 1001 in der Dokumentation von OpenPeppol. Alle genannten Werte beziehen sich auf den Stand der jeweiligen Veröffentlichung.

Verwandte Artikel

Shop-Integration & Prozesse

Auftragsstatus live aus dem ERP: B2B-Kundenkonto 2026

Kommissionierung, Teillieferung und Rechnungsstatus live aus dem ERP im B2B-Kundenkonto anzeigen: So bauen Sie den Status-Rückkanal ohne neues Datensilo.

12 Min. Lesezeit
ERP- & Warenwirtschaft

Mengeneinheiten und Gebinde aus dem ERP sauber abbilden

Basis-, Lager-, Verkaufs- und Bestelleinheit trennen, Umrechnungsfaktoren aus dem ERP ziehen und Bestände, Mindestmengen sowie Grundpreise sauber abbilden.

13 Min. Lesezeit
ERP- & Warenwirtschaft

Mehrere ERP-Mandanten sauber an einen Shop anbinden

Unternehmensgruppen mit mehreren ERP-Mandanten und einem Shop: Artikelrouting, Nummernkreise, Steuerkennzeichen, Bestände und Auftragsaufteilung im Griff.

13 Min. Lesezeit