Zum Inhalt springen

Für Shopify-Agenturen

Wenn Angebot und Shopify-Bestellung auseinanderlaufen: was nach der Umwandlung abweicht

Von Jahangir Alam · 9. Oktober 2026 · 12 Min. Lesezeit

Zuletzt geprüft
Shopify-API
2026-10
Zielgruppe
Shopify-Agenturen und Entwickler, die eine Angebotsebene, Shopify und ein ERP oder CRM nach der Umwandlung in Übereinstimmung halten
Umfang
Nach der Umwandlung in API 2026-10: Bearbeitungen am Entwurf und entkoppelte Checkouts, gelöschte und bereinigte Entwürfe, unbezahlte Rechnungen, verpasste Bestell-Webhooks, Bestelländerungen, vom Käufer angefragte Änderungen, Stornierungen, Erstattungen und Versand, aufgeteilte Geschäfte, Währung, Verknüpfungsschlüssel und überschriebene Tags, Identitätsänderungen, Feldbesitz, Events gegenüber Webhooks und ein Abgleichjob

Nachdem ein Angebot auf Shopify umgewandelt wurde, beschreiben vier Datensätze dasselbe Geschäft: das angenommene Angebot, der Bestellentwurf, die Bestellung und das, was ERP oder CRM halten. Sie hören auf übereinzustimmen, und zwar auf eine kleine Zahl dokumentierter Arten – ein nach der Umwandlung bearbeiteter Entwurf, ein Entwurf, der noch offen ist, obwohl seine Bestellung existiert, ein Entwurf, der gelöscht oder nach einem Jahr bereinigt wurde, eine bearbeitete, stornierte oder erstattete Bestellung, eine vom Käufer angefragte Änderung, eine Tag-Liste, die ein Konnektor überschrieben hat. Jede Abweichung lässt sich erkennen, indem man zwei bestimmte Felder vergleicht, und jedes Feld hat einen Besitzer. Abgleich heißt, diese Besitzer festzulegen und die Paare nach Zeitplan zu prüfen.

Diese Seite ist der Katalog dessen, was nach dem Anlegen des Entwurfs auseinanderläuft: wie sich jeder Fall erkennen und beheben lässt und wem ab der Umwandlung welches Feld gehört. Genau einen Bestellentwurf anzulegen behandelt wie aus einem angenommenen Angebot genau ein Shopify-Bestellentwurf wird; was bei der Umwandlung kaputtgeht, steht in den 17 Fehlerfällen; einen Preis, der von Anfang an falsch war, diagnostiziert warum ein Angebot zum falschen Preis umgewandelt wird. „Abgleich“ meint hier Angebots- und Bestelldaten, nicht den Abgleich von Auszahlungen oder Bankbuchungen.

Alles über Shopify wurde am 9. Oktober 2026 gegen Shopifys eigene Seiten in API-Version 2026-10 geprüft; die Quellen stehen am Ende.

Die vier Vergleiche

Vier Datensätze, vier Vergleiche Vier Kästen in einer Reihe: das angenommene Angebot, der Bestellentwurf, die Bestellung und das ERP oder CRM. Zwischen jedem Paar steht der Vergleich, der eine Abweichung erkennt: Angebot gegen Entwurf über die bei der Umwandlung gespeicherten Summen; Entwurf gegen Bestellung über das Feld order des Entwurfs; die Bestellung gegen sich selbst über die ursprüngliche gegen die aktuelle Summe; Bestellung gegen ERP über das Umwandlungsattribut oder die Tags und den Betrag in Präsentationswährung. Angenommenes Angebot was vereinbart wurde Bestellentwurf zahlbar bis bezahlt Bestellung Änderung, Erstattung, Versand ERP oder CRM was gebucht wurde Summen aus der Umwandlung DraftOrder.order und Status ursprüngliche vs. aktuelle Summe Attribut, Tags, Präsentations- währung
Jede Abweichung aus den Tabellen unten zeigt sich in einem dieser vier Vergleiche.

Was auseinanderläuft und wie Sie es erkennen

Gruppiert nach dem Zeitpunkt. „Führend“ ist der Datensatz, der ab der Umwandlung gilt.

Bevor die Bestellung existiert

# Was abweicht Ursache in Shopify Erkennen Beheben Führend
1 Positionen oder Summen des Entwurfs gegenüber dem Angenommenen Das Team bearbeitet den Entwurf nach der Umwandlung; ein Update von tags überschreibt die ganze Liste Summen der draft_orders/update-Nutzlast gegen die bei der Umwandlung gespeicherten Summen; DraftOrder.tags gegen die Tags, die Sie geschrieben haben Eine kaufmännische Änderung ist ein neuer Vorschlag oder ein Gegenangebot und ein neuer Entwurf, der alte Entwurf wird gelöscht; eine logistische Änderung wird festgehalten Die angenommene Version, bis zur Zahlung
2 Der Entwurf ist noch offen, obwohl seine Bestellung existiert Ein Update während eines laufenden Checkouts hat den Checkout entkoppelt: Die Bestellung wird angelegt, und „der Entwurf bleibt offen, auch nachdem die Bestellung angelegt wurde“ Eine Bestellung trägt Ihr Umwandlungsattribut, aber DraftOrder.order ist null oder der Status ist nicht COMPLETED Die Bestellung über das Attribut verknüpfen; ein Mensch löscht den veralteten Entwurf Die Bestellung
3 Das Angebot verweist auf einen Entwurf, den es nicht mehr gibt Jemand aus dem Team hat ihn gelöscht draft_orders/delete; als Rückfallebene liefert draftOrder(id) nichts Den Entwurf als verloren markieren; bestätigen, dass keine Bestellung das Attribut trägt; neu anlegen oder schließen Shopify
4 Dasselbe, nach einem Jahr Entwürfe, die am oder nach dem 1. April 2025 angelegt wurden, werden nach einem Jahr ohne Bearbeitung gelöscht draftOrder(id) liefert nichts – Shopify dokumentiert nicht, ob die Bereinigung einen Lösch-Webhook sendet Lange vor Ablauf des Jahres entscheiden, ob das Geschäft verloren ist oder neu angeboten wird Shopify
5 Die Rechnung ging raus und wurde nie bezahlt Eine Bestellung existiert erst, wenn der Entwurf bezahlt oder abgeschlossen ist draftOrders(query: "tag:… status:invoice_sent") plus Alter Nachfassen, verlängern oder den Entwurf löschen und das Angebot schließen – beides zusammen Der Status des Entwurfs
6 Das Angebot ist abgelaufen, der Entwurf noch zahlbar Ein Entwurf hat keine Frist außer der Bereinigung Das Angebot ist abgelaufen, während DraftOrder.status auf OPEN oder INVOICE_SENT steht Den Entwurf löschen, wenn das Angebot abläuft, oder Angebote nach der Rechnung nicht mehr ablaufen lassen Eines von beiden – aber nur eines
7 Eine bezahlte Bestellung, die Angebotsebene oder ERP nicht kennen Webhook-Zustellung ist nicht garantiert draftOrder.order ist gesetzt, aber keine Bestell-ID gespeichert; oder orders(query: "tag:… updated_at:>…") gegen die gespeicherten IDs Durch denselben Webhook-Handler nachspielen (der Sweep) Die Bestellung

Nachdem die Bestellung existiert

# Was abweicht Ursache in Shopify Erkennen Beheben Führend
8 Positionen oder Summe der Bestellung gegenüber der angenommenen Version Der Händler oder eine andere App bearbeitet die Bestellung: Laut Shopify kann die Bestellung aus dem Entwurf einer App „im Shopify-Admin und von anderen Apps bearbeitet werden“ orders/edited; Order.edited; originalTotalPriceSet gegen currentTotalPriceSet Den Grund an der Bestellung festhalten; das Angebot nicht umschreiben; das ERP folgt der Bestellung Die Bestellung für Versand und Rechnung; das Angebot für das Vereinbarte
9 Eine ausstehende Änderung durch den Käufer, die ERP oder Lager nicht sehen Ab 2026-10 kann ein Käufer das Entfernen nicht ausgelieferter Positionen anfragen requested_order_edit/*-Webhooks; Order.requestedOrderEdits Den Versand anhalten, solange sie aussteht; annehmen oder ablehnen; eine angenommene Anfrage kommt als Bestelländerung an Die Bestellung
10 Das Angebot zeigt ein laufendes Geschäft, die Bestellung ist storniert Eine Stornierung ist „unumkehrbar“ orders/cancelled; cancelledAt Pro Bestellung festhalten; das Angebot bleibt der Nachweis; ein erneutes Angebot ist ein neues Die Bestellung
11 Beträge nach Erstattungen und Retouren Erstattungen pro Position oder für den Versand; Retouren refunds/create; returns/*; currentSubtotalPriceSet Die Gutschrift im ERP kommt aus der Erstattung, nicht aus dem Angebot Die Erstattungen der Bestellung
12 Versandstatus an mehreren Stellen kopiert Ein Lager oder ERP schreibt Fulfillments nach Shopify fulfillments/*; displayFulfillmentStatus Den Versand nicht in die Angebotsebene spiegeln Lager oder ERP, über Shopify

Die Form des Geschäfts und seine Schlüssel

# Was abweicht Ursache Erkennen Beheben Führend
13 „Das Angebot hat eine Bestellung, es sollte zwei haben“ Teilannahme oder aufgeteilte Umwandlung erzeugt einen Entwurf pro Gruppe; für später gelassene Positionen sind noch offen, nicht abgelehnt Umgewandelte Gruppen gegen gespeicherte Bestell-IDs; die Zwischensumme jeder Bestellung gegen ihre angenommenen Positionen Pro Gruppe abgleichen; offene Positionen fehlen nicht Die Angebotsebene dafür, welche Positionen offen sind; die Bestellungen dafür, was gekauft wurde
14 Die Angebotssumme passt nicht zum Betrag im ERP Entwurf und Bestellung sind in der Präsentationswährung; shopMoney ist umgerechnet Das Angebot nur mit presentmentMoney vergleichen Bewusst von einer Seite buchen Der Betrag in Präsentationswährung
15 Die Bestellung ist nicht mehr als Bestellung aus dem Angebot erkennbar Tags durch einen Schreibvorgang mit der ganzen Liste überschrieben; Attribut oder Notiz bearbeitet orders(query: "tag:…") gegen gespeicherte IDs; Events-Trigger auf order.tags und order.customAttributes Aus dem Angebotsdatensatz wiederherstellen; Integrationen ergänzen Tags mit tagsAdd, nie durch Neuschreiben der Liste Die Angebotsebene, die die Schlüssel einmal geschrieben hat
16 Die Identität des Käufers hat sich nach der Umwandlung geändert Ein Kontakt entfernt, ein Standort gelöscht oder geändert, Kunden zusammengeführt company_contacts/delete, company_locations/delete, customers/merge gegen gespeicherte IDs Vor der Zahlung den Entwurf für den richtigen Standort neu anlegen; danach den Kundenstamm korrigieren, nicht die Bestellung Der Kundenstamm des ERP oder Shopify – eines von beiden
17 Ein Konnektor überschreibt Felder, die der Angebotsebene gehören Zwei Schreiber auf einem Feld Events-Trigger auf Feldebene; Diff gegen das, was die Angebotsebene geschrieben hat Den Konnektor auf seine eigenen Felder beschränken Ein Schreiber pro Feld
18 Eine Integration hat Ereignisse der Angebotsebene verpasst Zustellung mindestens einmal und ohne feste Reihenfolge; ein Endpunkt war nicht erreichbar Lücken in der Ereignisfolge; Zustellungen, die der Absender aufgegeben hat Aus dem Ereignis-Feed nachspielen, dann über die API Das Ereignisprotokoll der Angebotsebene
19 Ein Abgleichjob meldet bei alten Bestellungen „alles in Ordnung“ Apps sehen nur die Bestellungen der letzten 60 Tage, sofern sie nicht read_all_orders haben Der Umfang des Jobs gegen das Alter der Bestellung read_all_orders beantragen oder innerhalb des Fensters abgleichen –

Wem welches Feld nach der Umwandlung gehört

Integrationsmuster für ERP, CRM und PIM enthält die Besitztabelle für die gesamte Lebensdauer einer Integration. Diese hier beginnt in dem Moment, in dem der Entwurf existiert:

Feld Besitzer nach der Umwandlung Alle anderen Warum
Vereinbarte Positionen, Mengen, Stückpreise, Konditionen, Version Die Angebotsebene – die versiegelte, angenommene Version, nie bearbeitet Lesen sie zur Prüfung Sie ist der Nachweis der Vereinbarung; ein gesendeter Vorschlag ist gesperrt
Welche Positionen noch offen sind Die Angebotsebene Das CRM liest sie als Pipeline Nicht umgewandelt und nicht verloren
Der Inhalt des Entwurfs bis zur Zahlung Die Angebotsebene hat ihn einmal geschrieben; Bearbeitungen durch das Team sind Ausnahmen, die festgehalten werden Das ERP ignoriert Entwürfe Der Entwurf ist zahlbar – wer ihn ändert, ändert das Geschäft
Positionen, Mengen und Summen der Bestellung Die Shopify-Bestellung ERP und Lager lesen; die Angebotsebene spiegelt nicht Bearbeitungen, Erstattungen und Retouren passieren an der Bestellung
Zahlung und Erstattungen Shopify Das ERP bucht aus den Erstattungen; die Angebotsebene hält nur Endzustände fest Geld bewegt sich an der Bestellung
Versand Lager oder ERP, schreibend nach Shopify Die Angebotsebene: nichts Ein Schreiber
Rechnung, Hauptbuch, Gutschriften ERP oder Buchhaltung – Shopify ist nicht das Hauptbuch
Verknüpfungsschlüssel – die Tags des Angebots, das Umwandlungsattribut, die Notizzeile Die Angebotsebene schreibt sie einmal Andere ergänzen mit tagsAdd Ein Update von tags überschreibt die Liste
Unternehmen, Standort, Kontakt Der Kundenstamm des ERP oder Shopify – eines von beiden Die Angebotsebene liest Ein Schreiber
Angebotsstatus nach der Umwandlung Die Angebotsebene, abgeleitet aus Shopifys Bestellereignissen Integrationen lesen Abgeleitet, nie umgekehrt

Die Regel, die daraus folgt: Schreiben Sie Bestelländerungen nie in das Angebot zurück. Das Angebot ist das, was vereinbart wurde; die Bestellung ist das, was ausgeliefert und bezahlt wird. Wenn beide sich unterscheiden, halten Sie den Grund an der Bestellung fest.

Events oder Webhooks dafür

Shopifys Events sind mit API 2026-10 allgemein verfügbar geworden, als Nachfolger der klassischen Webhooks, und klassische Webhooks funktionieren weiter. Events hat Topics für Bestellungen, Erstattungen, Retouren, Fulfillment Orders, Unternehmen und Kunden, mit Triggern auf einzelnen Feldern – darunter order.tags, order.customAttributes und order.lineItems.quantity –, was zu den Zeilen 8, 15 und 17 passt. Es hat kein Topic für Bestellentwürfe, also brauchen die Zeilen 1 bis 6 weiterhin die klassischen draft_orders/*-Webhooks. Shopify dokumentiert keine Zustellgarantien für Events; behalten Sie den Abgleichjob unten also bei, egal welchen Weg Sie nutzen.

Ein Abgleichjob zum Übernehmen

Lassen Sie ihn nach Zeitplan laufen, gegen die gespeicherten IDs und innerhalb des Fensters für den Bestellzugriff:

  1. Entwürfe, die Sie angelegt und noch nicht bezahlt gesehen haben: draftOrders(query: "tag:<your-tag> updated_at:>…"). Für jeden status und order prüfen: Eine Bestellung ohne gespeicherte ID ist Zeile 7; ein fehlender Entwurf ist Zeile 3 oder 4; ein alter INVOICE_SENT-Entwurf ist Zeile 5 oder 6.
  2. Bestellungen, die Ihren Schlüssel tragen: orders(query: "tag:<your-tag> updated_at:>…"). originalTotalPriceSet mit currentTotalPriceSet vergleichen (Zeile 8), cancelledAt und den Zahlungsstatus prüfen (Zeilen 10, 11), dazu requestedOrderEdits (Zeile 9) und ob Tags und Umwandlungsattribut noch vorhanden sind (Zeile 15).
  3. Externe Systeme: pro Bestellung den Betrag im ERP gegen presentmentMoney (Zeile 14), die Zahl der Bestellungen gegen die umgewandelten Gruppen (Zeile 13).
  4. Umfang: Ohne read_all_orders sind nur die Bestellungen der letzten 60 Tage sichtbar (Zeile 19).

Die Anlegeseite – der Sweep, der eine Umwandlung mit unbekanntem Ergebnis findet – steht im Beitrag zur idempotenten Umwandlung.

Wie QuotWay sich verhält

Eine Implementierung, beschrieben, wie sie heute arbeitet:

  • Worauf es abgleicht. Jeder Entwurf, den QuotWay anlegt, trägt die Tags quotway und quotway-<Angebotsreferenz>, eine nur für den Händler sichtbare Notiz mit Angebotsreferenz und Version sowie ein Umwandlungsattribut, das die Bestellung mit ihrer Umwandlungsgruppe verknüpft. QuotWay bearbeitet, schließt oder löscht einen Entwurf nach dem Anlegen nie und bearbeitet nie Bestellungen.
  • Was es festhält. Eine Änderung an den Summen eines umgewandelten Entwurfs wird im Aktivitätsverlauf des Angebots festgehalten, mit dem Betrag davor und danach. Sobald ein Angebot auf Bestellung abgeschlossen steht, hält QuotWay am Angebot fest, wenn seine Bestellung storniert oder vollständig erstattet wird. Teilerstattungen, Retouren, Bestelländerungen und Versand bleiben an der Shopify-Bestellung – prüfen Sie dafür die Bestellung (in einen Bestellentwurf umwandeln).
  • Aufgeteilte und Teilumwandlungen. Jede angenommene Gruppe wird ihr eigener Entwurf und ihre eigene Bestellung; Positionen, die der Käufer für später gelassen hat, bleiben am Angebot noch offen und können später umgewandelt werden (Teilannahme und aufgeteilte Umwandlung).
  • Verpasste Bestell-Webhooks. Ein Sweep prüft Angebote mit gesendeter Rechnung, die nach sieben Tagen keine Bestellung haben, und spielt die Bestellung, wenn Shopify eine zeigt, durch denselben Handler nach.
  • Für Integrationen. Im Enterprise-Tarif – auch während der 14-tägigen kostenlosen Testphase – listet das Angebotsobjekt der API die IDs des Shopify-Bestellentwurfs und der Bestellung auf, und ein Ereignis-Feed über 30 Tage ist der Weg, verpasste Webhooks nachzuholen (der Ereignis-Feed). Die Tarife stehen auf der Preisseite; die Umwandlung ist unter Angebote in Bestellungen umwandeln beschrieben.

Häufige Fragen

Warum ist ein Shopify-Bestellentwurf noch offen, obwohl der Kunde bezahlt hat?

Der Entwurf wurde aktualisiert, während sein Checkout lief, und das entkoppelt den Checkout: Die Bestellung wird angelegt, aber „der Entwurf bleibt offen, auch nachdem die Bestellung angelegt wurde“. Prüfen Sie DraftOrder.order, verknüpfen Sie die Bestellung über Ihren eigenen Schlüssel und löschen Sie den veralteten Entwurf.

Gibt es einen Webhook dafür, dass ein Bestellentwurf bezahlt wurde?

Kein „bezahlt“-Topic für Bestellentwürfe. Die Zahlung legt eine Bestellung an; hören Sie also auf orders/create und ordnen Sie die Bestellung über Ihr eigenes Attribut oder Tag dem Entwurf zu; der status des Entwurfs wird COMPLETED, und sein Feld order ist gesetzt. draft_orders/update deckt Änderungen am Entwurf ab, und Shopifys Events hat in 2026-10 kein Topic für Bestellentwürfe.

Sollte sich das Angebot ändern, wenn die Bestellung bearbeitet wird?

Nein. Das Angebot ist der Nachweis dessen, was vereinbart wurde; die Bestellung ist das, was ausgeliefert und bezahlt wird. Halten Sie den Grund für eine Änderung an der Bestellung fest und lassen Sie das ERP der Bestellung folgen.

Wie erkenne ich Bestelländerungen für mein ERP?

Über den Webhook orders/edited, das Feld edited der Bestellung und eine Differenz zwischen originalTotalPriceSet und currentTotalPriceSet. Mit Events leistet ein Trigger auf order.lineItems.quantity dasselbe für Mengen.

Was sind vom Käufer angefragte Bestelländerungen?

Ab API 2026-10 kann ein Käufer anfragen, nicht ausgelieferte Positionen aus einer Bestellung zu entfernen. Die Anfrage kommt als requested_order_edit/*-Webhooks an und ist unter Order.requestedOrderEdits sichtbar; halten Sie den Versand an, solange sie aussteht, und eine angenommene Anfrage wird zu einer gewöhnlichen Bestelländerung.

Laufen unbezahlte Bestellentwürfe ab?

Entwürfe, die am oder nach dem 1. April 2025 angelegt wurden, werden nach einem Jahr ohne Bearbeitung gelöscht. Sonst lässt nichts sie ablaufen; ein Angebot, das früher abläuft, lässt seinen Entwurf also zahlbar, solange Sie ihn nicht löschen.

Ersetzt Shopify Events die Webhooks für den Abgleich?

Events ist der Nachfolger der klassischen Webhooks, und klassische Webhooks funktionieren weiter, aber Events hat kein Topic für Bestellentwürfe; Entwürfe brauchen also weiterhin draft_orders/*. Shopify dokumentiert keine Zustellgarantien für Events, behalten Sie also in jedem Fall einen Abgleichjob.

Warum stimmt die Summe im ERP nicht mit dem Angebot überein?

Angebot, Entwurf und Bestellung sind in der Präsentationswährung des Käufers; shopMoney ist umgerechnet. Erstattungen und Bestelländerungen verändern die aktuelle Summe der Bestellung. Vergleichen Sie das Angebot mit dem Betrag der Bestellung in Präsentationswährung und mit ihrer ursprünglichen Summe.

Quellen

Shopify-Seiten, gelesen am 9. Oktober 2026 in API-Version 2026-10:

QuotWays Verhalten ist nach seiner öffentlichen Dokumentation und dem Quellcode der App beschrieben, gelesen am 9. Oktober 2026.

Verwandte Artikel

So funktioniert QuotWay in Ihrem Shop.

Wir möchten Analyse-Cookies setzen, um zu verstehen, wie die Website genutzt wird. Sie sind nicht erforderlich – eine Ablehnung ändert nichts an der Funktion der Website, und Sie können Ihre Entscheidung jederzeit ändern auf unserer Datenschutzseite.