Shopware 6 API <> ERPNext API

Hallo ich schaue mir nach über 1,5 Jahren ERPNext wieder an.

Gibt es jemanden der schonmal probiert hat Shopware 6 an ERPNext anzubinden über die beiden API’s?

Kennt jemand ein Projekt das das schon vorhat?

1 Like

Hallo, mich würde das auch interessieren, falls es noch jemanden in der Community gibt, der hierauf antworten könnte :slight_smile:

Auch bei uns aktuell ein Thema.

Das wäre auch für uns hochinteressant!

Hier auch Interesse!

Ein erster Ansatz wäre ja das man die “Bestellungen” importieren könnte.

Ich bin kein Entwickler und schon gar nicht Python aber ich werde mal schauen was man hinbekommt. Ich will schon lange mich mit Python beschäftigen und vielleicht ist das ein passender Ansatz es zu machen.

Für uns wäre eine Integration zwischen Shopware 6 und ERPNext zukünftig auch interessant.

Wir können gerne an der Entwicklung mitarbeiten.
Mit Shopware 6 kennen wir uns sehr gut aus, sowohl bei den Schnittstellen (Admin API, Storefront API) als auch bei der Entwicklung von Plugins / Apps.
In ERPNext haben wir uns bisher nur an kleineren PoCs probiert, allerdings entwickeln wir all unsere Microservices in Python (Flask) daher sollte ERPNext auch machbar sein.

Vielleicht würde ein einfaches Shopware-Plugin schon reichen, welches einen Webhook von ERPNext aufruft und die Daten (Kunde, Bestellung, Artikel…) weitergibt, sobald die Entität angelegt wurde oder einen bestimmten Status erreicht hat.
Mit den Flows und der Shopware Enterprise Edition quasi schon möglich.
Oder übersehe ich da etwas?

Gibt es reusable Code für solcherlei Connector?

Inkl. für Shopware 5, das ja bald endgültig EOL ist? => Opportunities?

Bei einer Datenbank mit 364 Tabellen (reales Shopware Beispiel) mit je X Feldern, oder alternativ die APIs mit ihren leicht abweichend zusammengestellten DB-Strukturen (inkl. Sub-Abfragen wie Detaillisten usw.), da wären schon Beschreibungen der Tabellen, Felder, Datenstrukturen/Entitäten und Abhängigkeiten hilfreich, oder sogar bloße Mapping-Beispiele.

Z.B. enthält ein Export einer Bestellung komplette Artikelbeschreibungen, Kunden- und Lieferantendaten, vmtl. weil es als Dokumentation der Willenserklärung des bestellenden Kunden eine Bedeutung hat.
Ein Datenwust, der sich gewaschen hat. Aus den Bestelldaten könnten man womöglich sogar die Geschichte von Änderungen der Artikelbeschreibungen rekonstruieren.

Tabellen ganz ohne Inhalte. Oder komplett nie genutzte Felder. => Was muss überhaupt übernommen werden?

Viel Arbeit, Erfahrung hilft, Einarbeitung braucht Zeit, alles irgendwie mühselig.

Kennt jemand Tools, die solche Arbeit unterstützen?
Z.B. Tools zur Datenbankexploration, also was man real in Tabellen und Feldern findet, aber übersichtlich und zeitschonend – nicht bloß sowas wie DBxyzAdmin?

Die Export Funktionalität könnte da schon manch eine Frage beantworten: Shopware 6 - Einstellungen - Import/Export
Und die API Reference für Orders: Detailed information about a Order resource. | Admin API

In Shopware 6 könnte man mit dem Flowbuilder im Paid-Plan auch Webhooks callen.

Über die API könnte man sicher auch den Order-Status mit ERPNext in Shopware updaten: Partially update information about a Order resource. | Admin API

Danke für die Infos!
Die dev-Doku für Shopware 5 und 6 nutze ich schon.
Die Webhooks kannte ich noch nicht. Was machen die, wenn das Zielsystem mal nicht erreichbar ist: Retry / Abort / Fehlermeldung – geht die Bestellung dann erstmal unter, bis man im SW-Backend checkt?

Ich bin ein Freund der APIs. Erster Zugriff (Auth) und genaues Protokoll (Entity-Namen, Filter, Order, …) sind manchmal etwas fummelig, aber ich komme schon an alles ran, was ich will.

Mein momentanes Projekt ist, eingehende (über SW5) Bestellungen mit einem eigenen Tool auszulesen (cron oder/und auf Anfrage), zu speichern und bei ERPnext als eingehenden Auftrag einzuspielen.
Damit kann dann das ERP-System mit realen und aktuellen Daten (parallel zum aktuellen System) von den Mitarbeitern getestet (und konfiguriert) werden.

Da eine abgerufene Bestellung über die SW5-API ziemlich geschwätzig daherkommt, könnte man gleichzeitig nach und nach die Lagerdaten (Warehouses, Bins, Artikel, Preise, Kundenkategorie, Bestand, Lieferant) sammeln. Ggf. sogar verschiedene Analysen fahren.

Als Start so eines Vorgehens müssten an sich also erstmal nur ein API-Passwort und die IPs konfiguriert werden. – Wenn so ein Tool intelligent mit den Daten umgeht, könnte das vielleicht viele Leute interessieren und die Hürde für eine ERPnext-Installation senken.

Wenn das funktioniert, dann wäre praktisch fast eine komplette Auftragsverarbeitung und sozusagen eine Art sanfte Übernahme ganzer Systemteile möglich. (Man könnte sie sogar parallel laufen lassen und die Ergebnisse automatisch vergleichen, zur Bestätigung der Richtigkeit der Verfahren.)

Dann fehlen aber noch die Einbindungen der Auslieferungsdienste (DHL / Spedition), und die Anbindung von Buchhaltung, idealerweise auch Bank, wg. Vorkassen und SEPA-Lastschriften.

Was mir bei ERPnext schnell aufgefallen ist, sind die teilweise schlechten Übersetzungen. Der aktuelle Stand der Methodik würde mich mal interessieren. Forum-Posts dazu habe ich schon gesehen, aber keine wirklich aktuellen.
Übersetzung ohne Kontextberücksichtigung kann nicht gut funktionieren, und das sieht man sofort (vielleicht ist das derzeit sogar ein oder gar der Show-Stopper für viele Interessenten). Übersetzen ist immer direkt damit verbunden, Mehrdeutigkeiten aufzulösen (disambiguation), was maschinell oft misslingt.
Ich vermute, dass jetzt vor der Konferenz in Mumbai (bzw. der offiziellen Freigabe von Version 15) noch eifrig einiges poliert wird und danach vielleicht der aktuelle Stand sichtbar(er) wird?

Ansonsten würde mich interessieren, ob unsere vorhandenen Picker (d.h. kleine Geräte am Unterarm mit den abzuarbeitenden Picklisten, die im Lager verwendet werden zum Packen der Sendungen, läuft über WLAN) weiterverwendet werden können, die laufen derzeit über ein SW-Plugin (“Pickware ERP”).
Gibt es dazu Erfahrungen?
Alternativen?
Oder müsste man sich selbst eine kleine Web-App machen, die die Picker ersetzen können? Oder einen eigenen Connector zur direkten Weiternutzung der Geräte mit ERPnext?
Barcode scannen können die auch, wird in der Praxis aber nicht genutzt, außer für Umlageraufträge.
Als Picker würde ein einfaches Smartphone im Prinzip schon reichen, und eine Barcode-API gibt es bei denen ja auch längst. Rugged => Baustellen-Smartphone.