· 6 Min. Lesezeit

Shopify-Bundle-SKUs ohne Tabellen-Chaos reparieren


Wenn Ihr Shop Bundles verkauft — Geschenksets, Multipacks, kuratierte Boxen — bricht die Bestandsverfolgung zusammen. So verschlimmern Tabellen das Problem und die Lösung, die es behebt.

Das Problem

Sie verkaufen eine „Gift Box” mit 1 Kerze, 1 Seifenstück und 1 Lippenbalsam. Jede dieser Komponenten wird auch einzeln verkauft. Wenn eine Gift Box verkauft wird, müssen Sie 1 Einheit von drei verschiedenen Bestandszählungen abziehen — aber Shopify verfolgt den Bestand nur auf SKU-Ebene, nicht auf Komponentenebene.

Also öffnet jemand aus Ihrem Team eine Tabellenkalkulation.

Jedes Mal, wenn eine Bundle-Bestellung eingeht, ziehen sie die Komponenten manuell ab. Jedes Mal, wenn neuer Lagerbestand ankommt, aktualisieren sie die Tabelle. Jedes Mal, wenn jemand vergisst zu aktualisieren, weichen die Zahlen ab. Einen Monat später sagt die Tabellenkalkulation, dass Sie 40 Kerzen auf Lager haben. Das Regal sagt 12. Der Kunde, der eine Gift Box bestellt hat, erhält eine E-Mail, dass die Kerze nicht vorrätig ist — drei Tage nach dem Kauf.

Dies ist das Bundle-Bestandsproblem, und es ist die häufigste Bestandsbeschwerde, die ich von Shopify-Händlern höre, die Kits, Sets oder kuratierte Boxen verkaufen.


Warum Tabellenkalkulationen es verschlimmern

Die Tabellenkalkulation fühlt sich wie eine Lösung an, weil sie sichtbar und vertraut ist. Aber sie führt drei Fehlermodi ein, die sich im Laufe der Zeit verstärken:

1. Verzögerung zwischen Verkauf und Abbuchung

Jemand muss die Bestellung bemerken, die Tabelle öffnen und die Zahlen aktualisieren. Wenn Ihr Shop 30 Bestellungen pro Tag verarbeitet und 8 davon Bundles sind, sind das 24 manuelle Zellbearbeitungen — jeden Tag. Verpassen Sie eine, und der Fehler pflanzt sich fort: Die nächste Bundle-Bestellung könnte eine Komponente überverkaufen, von der die Tabelle noch glaubt, dass sie vorrätig ist.

2. Keine atomaren Transaktionen

Eine Bundle-Abbuchung betrifft drei Bestandszählungen. In einer Tabellenkalkulation sind das drei unabhängige Bearbeitungen. Wenn die Person, die aktualisiert, unterbrochen wird, nachdem sie die Kerzenanzahl bearbeitet hat, aber bevor sie die Seifenanzahl bearbeitet, sind die Daten jetzt inkonsistent — und niemand wird es bemerken, bis sich ein Kunde beschwert.

3. Kein Prüfpfad

Wer hat die Kerzenanzahl von 40 auf 12 geändert? Wann? Warum? In einer geteilten Google-Tabelle ist die Antwort normalerweise „Ich weiß nicht”. Die Versionshistorie existiert, aber niemand überprüft sie, bis die Diskrepanz bereits Geld kostet.

Das Ergebnis: Bestandsdrift. Ihre Tabellenkalkulation und Ihr tatsächlicher Bestand divergieren langsam, bis die Lücke groß genug ist, um Überverkäufe, Ausverkäufe oder beides zu verursachen.


Was Shopify tut (und nicht tut)

Shopify verfolgt den Bestand pro inventory_item. Jede Variante jedes Produkts hat eine. Wenn eine Bestellung versandt wird, dekrementiert Shopify den inventory_item für diese Variante. Dies funktioniert perfekt für einzelne Produkte.

Für Bundles bietet Shopify zwei Ansätze:

AnsatzWie es funktioniertEinschränkung
Shopify Bundles App (kostenlos, First-Party)Erstellt ein Bundle-Produkt, dessen Komponenten verknüpft sind; bei festen Bundles und Multipacks passt Shopify den Komponentenbestand beim Verkauf automatisch an.Funktioniert nur bei festen Bundles — keine dynamischen/mix-and-match-Bundles, keine eigene Abbuchungslogik und kein Audit-Trail der Anpassungen, den Ihr Workflow kontrollieren kann.
Drittanbieter-Bundle-Apps ($15–49/Monat)Einige Apps hören auf Bundle-Bestellungen und passen den Komponentenbestand über die Admin API an.Jede App implementiert ihre eigene Logik. Einige sind langsam. Einige brechen bei Teilrückerstattungen. Sie sind an deren Preise gebunden.

Die Lücke: Bei festen Bundles deckt die First-Party-App die Grundlagen ab, aber Sie erhalten kein transparentes, prüfbares Komponentenabbuchungssystem in Ihrem Besitz — eines, das dynamische Bundles, Teilrückerstattungen und Ihre eigenen Geschäftsregeln beherrscht.


Das Muster: Webhook-gesteuerte Komponentenabbuchung

Die Lösung ist eine kleine Automatisierung, die auf Bundle-Bestellungen hört und den Komponentenbestand über die Shopify Admin API anpasst. Keine Tabellenkalkulation. Keine manuellen Bearbeitungen. Keine App-Abonnement.

Bundle order placed

Shopify orders/paid webhook fires

Your server reads the bundle's component list

For each component: POST /inventory_levels/adjust
   { available_adjustment: -1 × bundle_qty }

Shopify inventory is now correct

Log the adjustment (who, when, which components)

Der wichtigste API-Aufruf ist POST /admin/api/2024-10/inventory_levels/adjust.json:

{
  "location_id": 655441491,
  "inventory_item_id": 808950810,
  "available_adjustment": -2
}

Dies ist eine atomare Anpassung — Shopify wendet sie in einer einzigen Transaktion an. Wenn die Kerze 5 verfügbare Einheiten hat und Sie um -2 anpassen, wird sie 3. Kein Zwischenzustand. Keine Teilaktualisierungen.

Was passiert bei einer Rückgabe oder Rückerstattung?

Das gleiche Muster umgekehrt: Hören Sie auf den refunds/create-Webhook, lesen Sie, welche Artikel zurückgegeben wurden, und passen Sie den Komponentenbestand nach oben an. Das Prüfprotokoll protokolliert beide Richtungen.

Was ist mit Teil-Bundles?

Wenn ein Kunde 2 Gift Boxes bestellt, ist die Anpassung -2 pro Komponente. Die Mathematik ist einfach: Bundle_Menge × Komponenten_Menge_pro_Bundle. Das Webhook-Payload enthält die Artikelmenge — kein Raten.


Kostenvergleich

AnsatzMonatliche KostenWer wartet esPrüfpfad
Tabellenkalkulation$0 (aber 30–60 Min./Tag Personalzeit)Ihr Team, manuellKeiner
Drittanbieter-Bundle-App$15–49/MonatDer App-AnbieterApp-abhängig
Benutzerdefinierte Webhook-Automatisierung~$20/Monat (VPS-Hosting)Ihr Entwickler, einmalVollständig — jede Anpassung protokolliert

Die monatlichen Kosten des benutzerdefinierten Ansatzs sind nur das Hosting — derselbe Server, der Ihre anderen Shopify-Webhooks verarbeitet. Die einmaligen Baukosten betragen typischerweise 4–8 Stunden Entwicklung.


Wie es in der Praxis aussieht

Ein illustratives Beispiel (kein Kundenergebnis) — ein Shop, der 15 Bundle-SKUs an 3 Standorten verkauft und 80 Bestellungen/Tag verarbeitet:

  • Vorher: Das Personal verbringt 45 Minuten/Tag mit der Aktualisierung der Bestandstabelle. Monatliche Überverkäufe: eine Handvoll Bestellungen. Kundenbeschwerden über „vorrätige” Artikel, die es nicht sind.
  • Nachher: Bundle-Bestellungen ziehen Komponenten innerhalb von Sekunden nach der Zahlung ab. Null manuelle Aktualisierungen. Überverkauf sinkt auf nahe null (begrenzt nur durch Shopifys eigene Bestandssynchronisation, die nahezu in Echtzeit läuft).

Die Automatisierung verarbeitet 60–100 Bundle-Bestellungen/Tag ohne menschliches Eingreifen. Das Prüfprotokoll protokolliert jede Anpassung mit Zeitstempel, Bestellreferenz und Komponentendetails.


Wenn Sie mehr als Komponentenabbuchung brauchen

Die Komponentenabbuchung löst das unmittelbare Problem. Aber wenn Ihr Shop wächst, werden Sie irgendwann die nächste Ebene erreichen:

  • Nachbestellwarnungen: Wenn eine Komponente unter einen Schwellenwert fällt, das Einkaufsteam benachrichtigen.
  • Multi-Standort-Bundles: Die Gift Box wird von Standort A versendet, aber die Kerzen sind an Standort B. Die Automatisierung muss prüfen, welcher Standort Bestand hat, bevor sie abbucht.
  • Dynamische Bundles: Der Kunde wählt 3 Artikel aus einer Liste von 10. Die Komponentenliste ist nicht festgelegt — sie wird an der Kasse bestimmt.

Jeder dieser Punkte ist eine direkte Erweiterung desselben Musters. Der Webhook wird ausgelöst, Ihr Server liest die Bestellung, wendet die Geschäftslogik an und passt den Bestand an. Die API ändert sich nicht — nur die Logik zwischen dem Webhook und dem API-Aufruf wächst.


Zusammenfassung

AspektTabellenkalkulationAutomatisiert
AbbuchungsgeschwindigkeitMinuten bis Stunden< 2 Sekunden
Atomare AktualisierungenNeinJa
PrüfpfadKeinerVollständig
Monatliche KostenPersonalzeit$0
Verarbeitet RückgabenManuellAutomatisch
Skaliert auf 100+ Bestellungen/TagBrichtDafür gebaut

Wenn Ihr Shop Bundles verkauft und Ihr Team nach jeder Bestellung noch eine Tabellenkalkulation aktualisiert, ist die Lösung ein einmaliger Bau — kein weiteres monatliches Abonnement.


Dieser Artikel ist Teil der Shopify-Automatisierungsserie. Wenn Sie Probleme mit Bundle-Beständen haben, buchen Sie eine 20-Minuten-Fit-Gespräch — ich schaue mir Ihre Einrichtung an und sage Ihnen, ob Automatisierung die richtige Lösung ist. Für die größere Frage, wann Tabellen-Inventar vollständig scheitert, siehe Deine Inventartabelle bricht bei 10k SKUs.