Mein Platz in der WordPress-Community
- Mein wordpress.org-Konto besteht seit 2006.
- Ich habe zum WordPress-Core in den Versionen 7.0 und 7.1 beigetragen.
- Ich betreue 30 Plugins auf wordpress.org.
- Ich organisiere WordCamps und trete dort als Speaker auf.
- Ich war bei jedem WordCamp Europe von 2017 bis 2026 dabei.
Ein WooCommerce-Shop verkauft erst dann, wenn die Ware auch ankommt. Ich verbinde Ihren Shop mit Paketdienstleister und Lager: Versandetiketten und Sendungsnummern per Schnittstelle, Statusmails an Kunden, Bestandsabgleich mit Warenwirtschaft oder Logistikpartner. Ich arbeite allein, aus der Ferne und schriftlich, ohne Termine vor Ort. Das Layout Ihres Shops bringen Sie mit, ich setze es um. Für das Fundament rund um den Shop finden Sie die WordPress-Entwicklung in Duisburg.
Warum Versand und Lager in Duisburg ein eigenes Thema sind
Die Duisburger Hafen AG beschreibt sich auf ihrer eigenen Seite als größten Container-Binnenhafen der Welt und listet unter ihren Leistungen Kontraktlogistik mit Transport, Lagerung, IT und Beratung. Auf der logport-Seite nennt sie sechs Standorte mit zusammen rund 410 Hektar, vier davon in Duisburg: Rheinhausen, Wanheim, Hohenbudberg und Walsum. Quellen: duisport und logport-Flächen.

Foto: Tuxyso, CC BY-SA 3.0, Wikimedia Commons.
Was folgt daraus für einen Shop? Wer in dieser Region verkauft, hat oft Lagerware, die nicht im eigenen Keller liegt: beim Logistikpartner, im Kontraktlager, im ERP eines Großhändlers. Dann ist WooCommerce nicht die Quelle des Bestands, sondern eine Anzeige davon. Genau an dieser Stelle entstehen die meisten Fehler, und deshalb baue ich diese Schnittstelle zuerst und teste sie am gründlichsten. Welche Lösung bei Ihnen vorliegt, weiß ich erst nach Ihrer Beschreibung; die Hafen-Angaben oben sind Kontext, keine Aussage über einen bestimmten Shop.
Etiketten und Sendungsnummern über die DHL-Schnittstelle
Ich beschreibe den Weg am Beispiel DHL, weil die Entwicklerdokumentation öffentlich ist. Andere Paketdienste binde ich nur nach deren eigener Entwicklerdokumentation an, nie nach Foren oder Hörensagen. Alle Angaben stammen aus der DHL Parcel DE Shipping API im Entwicklerportal von DHL (Version 2.2.0 zum Zeitpunkt der Prüfung).
Wer sie nutzen kann. DHL richtet die API an Absender mit mehr als 200 Sendungen im Jahr. Wer darunter liegt und keinen Geschäftskundenvertrag hat, nutzt laut DHL die separate Private-Shipping-API. Für den Vertragsweg brauchen Sie den Zugang zum Post & DHL Geschäftskundenportal (GKP), eine EKP und die Abrechnungsnummer. Die Abrechnungsnummer hat 14 Stellen: EKP, Vertragsverfahren (das Produkt) und Teilnahme, ohne Leerzeichen.
Anmeldung und Tests. Sie legen im Entwicklerportal eine App an und fügen die API hinzu. Die Sandbox steht auch Nicht-Kunden offen. Für die Produktion gibt DHL erst nach erfolgreicher Sandbox-Nutzung frei, und die App wird manuell genehmigt. Das kostet Kalenderzeit, die ich im Projektplan einrechne, bevor es um Code geht. Die Anmeldung läuft über OAuth2; DHL beschreibt die Basic-Auth-Variante als Auslaufmodell. Für den Produktivbetrieb empfiehlt DHL einen Systembenutzer, der sich nicht im GKP anmelden kann.
Was der Aufruf leistet. Mit POST /orders erzeugt der Shop bis zu 30 Sendungen in einem Aufruf und erhält Sendungsnummern und Etiketten zurück. Bei mehreren Sendungen antwortet die API mit HTTP 207 und einem Status pro Sendung. Mit dem Parameter validate=true prüft sie die Anfrage vorab. Laut Spezifikation gilt: Wenn die Prüfung durchläuft, gelingt auch die echte Anlage. Das nutze ich in jedem Test.
Was in der Praxis bricht und wie ich es abfange
| Was passiert | Warum | Mein Test auf Staging |
|---|---|---|
| Ein Sammelaufruf ist teilweise erfolgreich | HTTP 207 liefert pro Sendung einen eigenen Status | Bestellung mit absichtlich fehlerhafter Adresse mitten im Stapel; nur diese eine bleibt offen |
| Etikett ist unleserlich | DHL erlaubt keine Skalierung des Etiketts; maschinell nicht lesbare Sendungen berechnet DHL mit Aufschlag nach | Ausdruck auf dem echten Drucker, im gewählten Format |
| Adresse soll nach Versandfreigabe geändert werden | Nur nicht manifestierte Sendungen lassen sich ändern oder per DELETE /orders löschen | Korrektur vor und nach dem Tagesabschluss durchspielen |
| Etikett lässt sich nachträglich nicht mehr abrufen | Abrufbar sind laut Spezifikation nur Etiketten noch nicht abgeschlossener Sendungen | Etikett beim Anlegen speichern, nicht später nachladen |
| Plötzlich Fehler 401 | Passwörter laufen ab: 365 Tage bei Systembenutzern, 90 Tage bei persönlichen Benutzern | Ablaufdatum im Betriebshandbuch, Fehlermeldung im Admin sichtbar |
| Produkt passt nicht zur Abrechnungsnummer | Das Produkt wird durch das Vertragsverfahren in der Nummer geprüft | Jede Versandart im Shop gegen die passende Nummer testen |
Formate und Tagesabschluss. Die API bietet alle Etikettenformate des Portals, etwa A4 oder Thermodruck mit 103 x 199 Millimetern. Thermodruck entspricht 203 dpi, das gebe ich bei der Druckerauswahl an Sie weiter. Sendungen werden erst mit dem Tagesabschluss manifestiert, standardmäßig um 17:45 Uhr, oder per Aufruf /manifest. Wann Ihr Lager die Pakete tatsächlich übergibt, entscheidet, ob dieser Zeitpunkt passt. Bei DHL Paket International gibt es einen zusätzlichen Abschluss um 20:45 Uhr.
Sendungsverfolgung und Statusmails
Die Sendungsnummer aus der Anlage gehört in die Bestellung, sichtbar für Kunden und Support. Wo sie erscheint, richtet sich nach Ihrem Mailkonzept: in der Bestellbestätigung, in der Versandmail oder in beiden.
WooCommerce kennt laut REST-API-Dokumentation für Bestellungen die Status pending, processing, on-hold, completed, cancelled, refunded, failed und trash. Teillieferungen, Abholung und Rücksendung passen in diese Liste nicht von selbst. Ob Sie zusätzliche Status brauchen oder mit Bestellnotizen auskommen, entscheide ich mit Ihnen im schriftlichen Konzept, bevor ich etwas baue. Auf Staging prüfe ich, an welchem Statuswechsel welche Kundenmail hängt, damit niemand zwei Mails bekommt oder gar keine.
Für den Abruf von Sendungsstatus bietet DHL die Shipment Tracking API. Sie deckt laut Portal unter anderem Post & Parcel Germany und den Paketversand ab, nicht aber Dienste, für die ein Login nötig ist. Nach der ersten Freischaltung gelten 250 Aufrufe pro Tag und höchstens ein Aufruf alle 5 Sekunden. DHL schreibt dazu, dieses Limit sei für die Entwicklung gedacht und nicht für die Produktion; ein höheres Limit beantragen Sie im Portal. Bei einem Shop mit vielen offenen Sendungen heißt das: Ich frage nicht bei jedem Seitenaufruf nach, sondern gestaffelt und mit Zwischenspeicher.
Bestandsabgleich mit Lager oder Logistikpartner

Foto: Steffen Schmitz, CC BY-SA 4.0, Wikimedia Commons.
Für den Datenaustausch bietet WooCommerce die REST-API. Sie authentifizieren sich mit Schlüsseln, die Sie unter WooCommerce, Einstellungen, Erweitert anlegen. Für ein Lagersystem vergebe ich einen eigenen Schlüssel mit den kleinsten nötigen Rechten und trage ihn nur in dessen Konfiguration ein.
Laut Dokumentation der Produkte sind für den Bestand drei Felder wichtig: manage_stock, stock_quantity und stock_status (instock, outofstock, onbackorder). Dazu kommt backorders mit den Werten no, notify und yes. Mehrere Produkte lassen sich über products/batch in einem Aufruf anlegen, ändern oder löschen. Abfragen liefern standardmäßig nur 10 Einträge pro Seite; ein Abgleich, der das nicht beachtet, sieht nur einen Bruchteil des Sortiments.
Meine Regeln für den Abgleich:
- Eine Quelle der Wahrheit. Entweder das Lager schreibt den Bestand, oder der Shop. Nie beide.
- Absolute Werte statt Differenzen. Ich setze
stock_quantityauf den Stand des Lagers. So heilt sich ein verpasster Lauf beim nächsten von selbst. - Webhooks für Bestellungen. Die Webhook-Schnittstelle kennt Themen wie
order.updatedund eine Ziel-URL. Ich melde damit neue Bestellungen an das Lager und pausiere Webhooks (Statuspaused) während eines Massenimports, damit keine Schleifen entstehen. - Ein Protokoll, das Sie lesen können. Jede Abweichung zwischen Lager und Shop landet in einer Liste im Admin, nicht nur im Server-Log.
Der heikelste Moment ist der Zeitraum zwischen zwei Abgleichläufen: Der Shop zeigt noch Bestand, das Lager hat ihn schon verkauft. Wie groß dieses Fenster sein darf, hängt von Ihrer Ware ab. Bei wenigen Stücken je Artikel lege ich die Webhooks enger, bei großer Stückzahl genügt ein Takt.
Ablauf auf Staging in sechs Schritten
- Ich lege eine Kopie des Shops mit Testdaten an und trenne sie von echten Mails und Zahlungen.
- Ich lege mit der DHL-Sandbox Sendungen an, erst mit
validate=true, dann echt. - Ich spiele fehlerhafte Fälle durch: falsche Adresse im Stapel, abgelaufene Anmeldung, Produkt ohne passende Abrechnungsnummer.
- Ich schicke Bestandsänderungen in beide Richtungen und vergleiche das Protokoll mit dem Lagerstand.
- Ich prüfe jede Kundenmail im Postfach, mit Bestellung, Teillieferung und Erstattung.
- Sie erhalten ein schriftliches Betriebshandbuch: Schlüssel, Ablaufdaten, Fehlerbilder, Rücknahme.
Erst danach geht es in die Produktion, in Ihrem Zeitfenster und mit einem Rückweg.
Datenschutz bei Versand und Mails
Für die Etikett-Anlage geht die Empfängeradresse an den Paketdienst. Das gehört in Ihre Datenschutzhinweise, ebenso Mails mit Sendungsstatus. Zuständig für Duisburg ist die Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen (LDI NRW). Sie bietet unter Datenschutz für die Wirtschaft eine Umsetzungshilfe zu den Datenschutzhinweisen an. Ich liefere die technische Beschreibung der Datenflüsse, die Rechtsprüfung bleibt bei Ihrer Datenschutzberatung.
Was Sie mitbringen
- Zugang zum Shop und zu einer Staging-Umgebung (oder die Erlaubnis, eine anzulegen)
- Ihre Versandverträge: bei DHL den Zugang zum Geschäftskundenportal und die Abrechnungsnummern
- Name des Lagersystems oder Logistikpartners und dessen Schnittstellendokumentation
- Eine Tabelle mit den Versandarten im Shop und der Mail, die jeweils beim Kunden ankommen soll
- Layout- und Textwünsche für Mails von Ihrer Seite; ich setze sie um
Häufige Fragen
Muss ich DHL-Geschäftskunde sein?
Für die Shipping-API von DHL gilt: Sie richtet sich an Absender mit mehr als 200 Sendungen im Jahr. Darunter verweist DHL auf eine Private-Shipping-API. Welche für Sie passt, kläre ich schriftlich mit Ihnen schriftlich.
Wie lange dauert die Freischaltung?
Die Sandbox steht sofort bereit. Für die Produktion genehmigt DHL die App manuell und nach erfolgreicher Sandbox-Nutzung. Einen Termin dafür kann ich nicht zusagen, ich plane Puffer ein.
Kann ich weitere Paketdienste anbinden?
Ja, sofern der Dienst eine öffentliche Entwicklerdokumentation hat. Ich lese sie vor dem Angebot und nenne Ihnen schriftlich, was damit machbar ist.
Wie verhindere ich Überverkäufe?
Eine einzige Quelle für den Bestand, absolute Werte, Webhooks bei Bestellungen und eine sichtbare Abweichungsliste. Vollständig ausschließen lässt sich das Fenster zwischen zwei Abgleichen nur, wenn das Lager bei jeder Bestellung sofort antwortet.
Was passiert, wenn die DHL-Anmeldung abläuft?
Systembenutzer-Passwörter laufen nach 365 Tagen ab, persönliche nach 90. Das Ablaufdatum steht im Betriebshandbuch, und eine fehlgeschlagene Anmeldung erscheint im Admin, nicht erst bei der ersten Kundenbeschwerde.
Gehört die Wartung dazu?
Nein, sie ist eine getrennte Option. Updates teste ich auf Staging, bevor sie in den Shop gehen, die Stunden eines Monats verfallen am Monatsende.
Anfrage schicken
Schreiben Sie mir über die Kontaktseite: die Adresse des Shops, womit Sie versenden, welches Lagersystem im Hintergrund läuft und bis wann es laufen soll. Sie bekommen eine schriftliche Einschätzung mit Annahmen und Umfang. Die erste Einschätzung ist kostenlos, ich antworte schriftlich an Werktagen.
Ausgewählte Projekte
Beispiele aus meiner Arbeit.
olshtyn.com - WordPress Projekt | WPPoland
Die Website olshtyn.com ist ein modernes Informationsportal, das für Einwohner und Touristen entwickelt wurde, die sich für das Leben und die Attraktionen de...
osemka.pl - WordPress Projekt | WPPoland
Osemka.pl (auch bekannt als 8.pl) ist ein soziales Netzwerk, das in den Jahren 2006-2007 als Ort der Integration von Nutzern im Zeitalter des frühen sozialen...
predko.pl - WordPress Projekt | WPPoland
predko.pl ist ein moderner Online-Dienst, der dem Leben und der Karriere des Rallyefahrers Krzysztof Predko gewidmet ist. Die Seite wurde für Motorsportfans ...
WordPress Support & Entwicklung in Duisburg
Siehe auch in Deutschland
Brauchen Sie die Leistung: WooCommerce Entwickler in Duisburg?
Beschreiben Sie Ihr Projekt per E-Mail. Antwort innerhalb von 48 Stunden.
Projekt beschreibenWeitere WordPress-Dienste und Wissensbasis entdecken
Shops, Checkout-Prozesse und Verkaufslogik.
Shop-Ausfall, langsamer Checkout, Chaos nach Updates.
Laufende WooCommerce-Betreuung, Monitoring und Verfügbarkeit.
EU-Checkliste für Shops: VAT, Barrierefreiheit, Nachweise.
White-Label-WordPress-Entwicklung für Agenturen.
WooCommerce-Synchronisierung mit ERP und Großhandel.
Geschäftsprozessautomatisierung rund um WordPress und Firmensysteme.
Bibliothek konkreter Automatisierungsfälle.
Verwandte Kategorien
Unterstützende Artikel

Laut einer Auswertung des HTTP Archive liegt Shopify in Deutschland vor WooCommerce, Österreich und die Schweiz fehlen in den Daten. Was die Messung taugt, was E-Rechnung und Zahlungsarten ändern und wann ich welche Plattform empfehle.

Google hat Universal Cart in Search und Gemini auf Basis des Universal Commerce Protocol (UCP) gestartet. So wird WooCommerce bereit für nativen KI-Handel.

Architektur für einen WooCommerce-Katalog auf Astro 7. Was in wp-admin bleibt, welche Plugins mit dem Theme sterben, Store-API gegen GraphQL, und warum die deutsche Kasse auf WooCommerce bleibt.