WordPress und WooCommerce
wie man WooCommerce-Bestellungen in ein ERP synchronisiert, ohne sie neu einzugeben
warum WooCommerce-Bestellungen immer noch in das ERP-System erneut eingegeben werden
Die Finanzabteilung öffnet weiterhin WooCommerce, kopiert die Bestellnummer in Comarch Optima, enova365 oder Subiekt GT und tippt dann NIP, Lieferadresse und jede Position erneut ein. Diese Routine bricht zusammen, sobald ein Kunde die Versandmethode nach der Zahlung ändert, eine Teilrückerstattung erfolgt oder ein Bundle-SKU im Shop nicht als Karte im ERP existiert. Die Tabellenbrücke, die bei fünfzig Bestellungen pro Monat funktionierte, bricht bei einigen Hundert zusammen: Zwei Personen bearbeiten dieselbe CSV, die Mehrwertsteuersätze weichen voneinander ab und das Lager entnimmt aus einem Status, den die Buchhaltung nie gebucht hat. Die tieferen Kosten sind nicht die Tippzeit. Sie bestehen aus strittigen Rechnungen, Lagerbeständen, die das ERP als verfügbar ansieht, während der Shop sie bereits verkauft hat, und Monatsabschlüssen, die darauf warten, dass ein Mensch die Gebühren des Zahlungsdienstleisters mit der Dokumentennummerierung abgleicht. Agenturen, die Shops unter NDA anbinden, sehen wiederholt dasselbe Muster: Der Shop ist die kommerzielle Außenseite, das ERP ist das rechtliche Hauptbuch, und nichts Vertrauenswürdiges sitzt dazwischen, außer dem Stammeswissen darüber, welches benutzerdefinierte Feld für welches Lager steht und welche Zahlungsmethode welcher Kasse zugeordnet ist. Ohne einen Automatisierungsvertrag fehlt es auch an Idempotenz. Das Aktualisieren der Dankeseite oder ein Webhook-Wiederholungsversuch erzeugt ein zweites ERP-Dokument für dieselbe WooCommerce-ID. Das Personal storniert dann die Dokumente manuell, was Auditgeräusche erzeugt und die Regeln für die fortlaufende Nummerierung bricht, die einige Buchhalter als heilig betrachten. Mehrsprachige B2B-Shops verschärfen das Problem: Das abrechnende Unternehmen in der Bestellung ist eine USt-Gruppe, Lieferadresse ist eine Zweigstelle, und das ERP erwartet beide als verknüpfte Auftragspartner, bevor ein Verkaufsauftrag gebucht werden kann. Marktplatzbestellungen, die in WooCommerce weitergeleitet werden, fügen eine weitere externe ID hinzu, die korreliert bleiben muss, damit Rücksendungen das richtige steuerliche Dokument finden. Währungs- und Steuer-Sonderfälle häufen sich. Ein EUR-Checkout gegen ein PLN-Unternehmen in Optima benötigt eine explizite Kursquelle und Buchungsdatum. Ermäßigter Mehrwertsteuersatz auf Bücher oder Lebensmittel an einem Standort darf nicht stillschweigend auf den Standardsatz zurückfallen, weil die Steuerklassenzeichenfolge in WooCommerce während einer Theme-Bereinigung umbenannt wurde. Versand als separate steuerpflichtige Leistung versus Fracht im Zeilenpreis inkludiert verändert, wie enova das Dokumentenschema erwartet. Geschenkkarten, Store-Guthaben und Wallet-Aufladungen dürfen oft niemals Lagerbewegungen erzeugen, benötigen aber dennoch ein Finanzdokument, sonst verschwinden sie aus den Umsatzberichten. Eine dauerhafte Lösung behandelt die bezahlte WooCommerce-Bestellung als ein Ereignis, ordnet SKUs und Steuerklassen explizit zu, erstellt ein ERP-Dokument pro Shop-Bestellnummer und spiegelt Statusänderungen zurück, sodass der Support niemals eine Lieferung verspricht, die im Hauptbuch nicht akzeptiert wurde. Das ist die Lücke, die dieser Anwendungsfall schließt: kein schickes Dashboard, sondern eine zuverlässige Übergabe vom Warenkorb zum Buchhaltungsdokument mit klarer Verantwortlichkeit, wenn die Zuordnung fehlschlägt, und einem Abgleichpfad, wenn Webhooks über Nacht verpasst wurden. Betriebshandbücher sollten die Person benennen, die für die SKU-Steuerzuordnungen verantwortlich ist, die Person, die Dead-Letter-Bestellungen bereinigt, und den Eskalationsweg, wenn eine Steuerperiode im ERP geschlossen ist. Spitzenzeiten-Übungen, bei denen die gestern bezahlten Bestellungen in ein Sandbox-Unternehmen in Optima oder enova eingespielt werden, erfassen Abweichungen in der Zuordnung, bevor sie die Live-Dokumentnummern betreffen. Führen Sie eine schriftliche Matrix der Zahlungsmethoden zu den Registrierkassen, damit ein neues Gateway nicht stillschweigend in die falsche Kasse bucht.
wann eine bezahlte WooCommerce-Bestellung ein ERP-Dokument erstellen sollte
Lösen Sie auf WooCommerce `order.paid` oder `payment_complete` aus, und erneut auf `order.updated`, wenn sich Versandadresse, Artikelpositionen oder Status nach dem ersten erfolgreichen ERP-Eintrag ändern. Planen Sie außerdem eine fünfzehnminütige Abstimmung, die bezahlte Bestellungen ohne ERP-Dokumenten-ID in den Bestell-Metadaten auflistet, um Webhook-Ausfälle und vom Admin erstellte Bestellungen abzudecken. Lösen Sie nicht bei `pending` oder `on-hold` aus, es sei denn, Ihre Richtlinie bucht Reservierungen vor der Einziehung; die meisten polnischen und DACH-Händler warten auf eingezogene Zahlungen, sodass Optima oder enova keine Forderungen erzeugen, die nie beglichen werden. Bei Verlängerungen von Abonnements sollte die Verlängerungsbestellungs-ID als Korrelationsschlüssel verwendet werden, nicht nur die übergeordnete Abonnement-ID.
Schritte zum Abbilden von WooCommerce-Posten in ERP-Verkaufsdokumente
- Validieren Sie die Bestellung: erforderliche Rechnungsfelder, NIP- oder USt-IdNr.-Format für B2B, von der ERP-Firma erlaubte Währung und jede Zeilen-SKU, die in der Zuordnungstabelle vorhanden ist. Lehnen Sie mit einem strukturierten Fehler ab, wenn eine Geschenk- oder virtuelle Zeile keinen ERP-Artikel hat und Ihre Richtlinie stille Überspringungen verbietet. Erfassen Sie den Validierungs-Fingerabdruck, damit identische Wiederholungen abgekürzt werden.
- Fügen Sie den Auftragnehmer im ERP ein oder aktualisieren Sie ihn. Zuerst nach NIP abgleichen, dann nach E-Mail abgleichen, anschließend mit Rechnungsadresse erstellen. Wenn Subiekt oder Optima Filialen getrennt vom rechtlichen Käufer modelliert, die Lieferadresse als sekundäre Adresse hinzufügen. Die WooCommerce-Kunden-ID als externen Schlüssel für spätere Dublettenerkennung beibehalten.
- Erstellen Sie das Verkaufsdokument: ordnen Sie die Positionen zu, Steuersätze, Versand als Dienstleistungsposition oder Frachtfeld, Gutscheine als Rabatte mit derselben Steuerbehandlung, die der Shop verwendet hat, und Zahlungsmethode auf das ERP-Kassen- oder Bankkontocode. Fügen Sie Marktplatzgebühren nur als Kostenpositionen hinzu, wenn die Finanzabteilung sie im selben Dokument anfordert.
- Posten oder speichern Sie das Dokument gemäß den Unternehmensregeln, speichern Sie die ERP-Dokumentennummer und die interne ID im WooCommerce-Bestellmeta und markieren Sie einen Synchronisationsstatus von `posted`, `draft` oder `needs_mapping`, sodass der Support es sehen kann, ohne das ERP zu öffnen. Lösen Sie ein internes Ereignis für Lager- oder WMS-Listener aus.
- Bei späteren Rückerstattungen oder Stornierungen erstellen Sie die entsprechende Gutschrift oder das Stornodokument, das mit der ursprünglichen ERP-ID verknüpft ist. Erfinden Sie niemals ein neues Verkaufsdokument für ein Rückerstattungsereignis. Setzen Sie den ERP-Dokumentstatus nach Abschluss der Lagerbuchung auf einen benutzerdefinierten Auftragsstatus oder eine Notiz zurück, einschließlich Teillieferungen, wenn das ERP-System diese unterstützt.
Systeme
- WooCommerce
- Comarch Optima
- enova365
- Subiekt GT
- Subiekt nexo
Werkzeuge
- WooCommerce webhooks
- n8n
- Action Scheduler
- REST API
wie Webhooks n8n und ERP-APIs die Bestelllast übertragen
Bevorzugen Sie WooCommerce-Webhooks in n8n für eine nahezu in Echtzeit erfolgende Übergabe, mit Action Scheduler oder WP-Cron als Sicherheitsnetz, wenn der Webhook-Endpunkt ausfiel. n8n verwaltet die Zuordnungstabellen, Wiederholungen und Dead-Letter-Queue; direktes benutzerdefiniertes PHP ist für ein einzelnes Optima-Unternehmen mit stabilen SKUs in Ordnung, aber es altert schlecht, wenn Sie Enova für eine zweite juristische Einheit hinzufügen. Die Payload-Struktur ist das Shop-Bestell-JSON, normalisiert zu einem internen DTO: Käufer, Positionen, Steuern, Zahlungen und Korrelations-IDs. Der ERP-Connector spricht dann die Optima-API, Enova-Webdienste oder eine Subiekt-Partner-API oder SQL-Prozedur - wählen Sie einen Connector pro Buchungskreis und teilen Sie niemals Tokens zwischen Unternehmen. Geheimnisse leben außerhalb der WordPress-Datenbank im Vault des Automatisierungs-Hosts. Status-Callbacks vom ERP, wenn verfügbar, aktualisieren nur die Bestell-Metadaten; sie erfinden keine neuen Shop-Bestellungen. Google Sheets ist als Betreiberansicht von Fehlfunktionen akzeptabel, nicht als Aufzeichnungssystem. Bei hohem Volumen die Abgleich-Scan in Chargen durchführen, aber den bezahlten Bestellpfad ein Dokument nach dem anderen halten, um Idempotenzschlüssel zu bewahren. Bei personenbezogenen Kundendaten ist ein AVV mit dem Integrationsbetreiber zu prüfen.
Was tun, wenn das ERP die Synchronisierung einer WooCommerce-Bestellung ablehnt
Fehler klassifizieren: Validierung (falsche NIP, fehlende SKU), Transport (Timeout, 429) und geschäftliche Ablehnungen (Auftragnehmer gesperrt, Zeitraum geschlossen). Validierungsfehler eröffnen ein Slack- oder E-Mail-Ticket mit dem Bestelllink und werden niemals automatisch erneut versucht, bis die Zuordnung behoben ist. Transportfehler werden mit exponentiellem Backoff und Jitter bis zu einer begrenzten Anzahl erneut versucht und danach in den Dead-Letter gesendet. Geschäftsablehnungen frieren die Bestellung in `needs_erp_review` ein und benachrichtigen die Finanzabteilung; nicht weiterhin auf einen geschlossenen Abrechnungszeitraum einwirken. Schreibvorgänge immer anhand der WooCommerce-Bestell-ID kennzeichnen, sodass erneute Versuche idempotent bleiben. Anforderungs- und Antwort-Hashes protokollieren, ohne vollständige Kartendaten oder rohe PESEL-Werte zu speichern, falls diese jemals in benutzerdefinierten Feldern erscheinen. Wenn das ERP das Dokument akzeptiert, der Shop jedoch die Metadaten nicht gespeichert hat, muss ein Abgleichjob das Waisenkind erkennen, indem er im ERP nach der externen ID sucht, anstatt es erneut zu posten. Oberfläche eine wöchentliche Zusammenfassung des Alters von Dead-Lettern, damit stille Warteschlangen nicht einen Monat lang verrotten.
wenn die manuelle ERP-Eingabe immer noch billiger ist als die Auftragssynchronisation
Bei etwa achtzig bezahlten Bestellungen im Monat mit einer einzigen SKU-Liste, die sich nie ändert, kann ein geschulter Mitarbeiter in Optima immer noch günstiger sein, als Connectoren zu bauen und zu überwachen. Überspringen Sie es auch, wenn sich das ERP-Projekt mitten in der Migration befindet und sich die Dokumentschemata wöchentlich ändern - Sie werden Chaos automatisieren. Reines Dropshipping, bei dem der Lieferant direkt an den Kunden Rechnungen stellt, benötigt oft einen anderen Dokumentenfluss als ein klassischer Verkaufsauftrag in Subiekt, also erzwingen Sie dieses Muster nicht auf dieses Modell.
KPIs, die zeigen, dass die WooCommerce-zu-ERP-Synchronisierung gesund ist
- Median Minuten von Zahlung_abgeschlossen bis ERP-Dokument-ID, die auf der Bestellung gespeichert ist
- Anteil der bezahlten Bestellungen, die älter als eine Stunde sind und keine ERP-Dokument-ID haben
- Anzahl der doppelten ERP-Dokumente, die pro Monat derselben WooCommerce-Bestell-ID zugeordnet sind
- Anteil der Synchronisationsversuche, die in needs_mapping gegenüber veröffentlicht enden
ROI-Rechner für Automatisierung
Tragen Sie Läufe pro Monat, Minuten pro Lauf und Ihren belasteten Stundenkostensatz ein. Das Ergebnis ist eine Simulation, kein Angebot für unsere Arbeit.
Stunden = Läufe × Minuten / 60 × Rückgewinn %. Zeitwert = Stunden × Satz × Realisierung %. Vermiedene Fehler = Läufe × Fehler % × Fehlerkosten × Realisierung %. Netto = Summe − Betrieb. Amortisation = Aufbau / Netto, nur wenn Netto > 0.
Zurückgewonnene Stunden / Monat: -
Zurückgewonnene Stunden / Jahr: -
Zeitwert / Monat: -
Vermiedene Fehlerkosten / Monat: -
Netto / Monat: -
Amortisation (Monate): -
Ergebnis im ersten Jahr: -
Häufig gestellte Fragen
Praktische Antworten zur Umsetzung des Themas.
Soll das ERP-Dokument automatisch gebucht werden oder als Entwurf warten?
#Wie werden Bündel und zusammengesetzte Produkte in Optima oder enova abgebildet?
#Wie sieht es mit Bestellungen aus, die mit Guthaben oder Geschenkkarten bezahlt werden?
#Sie brauchen ein FAQ für Branche und Zielmarkt? Wir erstellen eine Version passend zu Ihren Business-Zielen.
Kontakt aufnehmen