Übersicht
Abacus-Shopware-Integration
Die Abacus-Shopware-Integration verbindet Ihr Abacus-ERP mit Shopware 6 und sorgt für die Synchronisation beider Systeme. Sie überträgt Produkt-, Preis-, Bestands-, Kunden- und Belegdaten aus Abacus in Ihren Shop und sendet Bestellungen aus dem Shop zur Bearbeitung zurück an Abacus. Die meisten Daten werden automatisch nach einem Zeitplan oder nahezu in Echtzeit übertragen; einige wenige Schritte – vor allem die Verarbeitung von Adressen neuer Kunden – erfordern jedoch weiterhin eine manuelle Bearbeitung in Abacus. Diese Seite fasst zusammen, was das Plugin genau leistet, wie oft es ausgeführt wird und wo seine Grenzen liegen.
Für wen ist dies gedacht?
Diese Dokumentation richtet sich an Integratoren und Shop-Administratoren, die das Plugin einrichten oder betreiben. Sie setzt praktische Kenntnisse der Shopware 6-Administration sowie grundlegende Vertrautheit mit den Abacus E-Business-Konzepten (Shopper, Debitor, Subjekt, ProcessStep) voraus. Endkunden benötigen diese Informationen nicht – sie sehen in ihrem Konto lediglich die synchronisierten Preise, den Bestellstatus und die Dokumente.
Richtung des Datenflusses
Produkte, Preise, Lagerbestände, Kunden, Dokumente und der Bestellstatus fließen von Abacus → Shopware. Bestellungen fließen von Shopware → Abacus.
Aufbau des Plugins
Diese Dokumentation beschreibt das Basis-Plugin, das für jeden Kunden identisch ist. Einzelne Kunden haben in der Regel eine kundenspezifische Erweiterung darauf aufbauend, für ihr eigenes Abacus-Setup und ihre Geschäftsregeln; diese Erweiterungen werden pro Projekt dokumentiert, nicht hier. Ein Teil des Verhaltens des Basis-Plugins wird dennoch pro Kunde konfiguriert (Statuszuordnung, Dokument- und Rabattzuordnung, Versandmodus, Mandantenfähigkeit).
Pro Kunde konfiguriert vs. Erweiterung erforderlich
„Pro Kunde konfiguriert" bedeutet eine Einstellung im Basis-Plugin, die von jedem Plugin-Nutzer anders ausgefüllt wird. Es bedeutet nicht, dass das Basis-Plugin beliebige Abacus-Daten zuordnen kann. Alles, was über die dokumentierte Basisfunktionalität hinausgeht, erfordert eine kundenspezifische Erweiterung – zum Beispiel wird das Zuordnen von benutzerdefinierten Abacus-Benutzerfeldern (Userfields) nach Shopware immer in einer Erweiterung implementiert und kann nicht im Basis-Plugin konfiguriert werden.
Funktionsübersicht
| Bereich | ✅ Was es kann | ❌ Was es nicht kann |
|---|---|---|
| Produkte | Vollständige Produktsynchronisation oder reiner Bestandsmodus (PIM) (Standard: keine Produktsynchronisation); synchronisiert die Kategoriehierarchie unter einem konfigurierbaren übergeordneten Element; erstellt Hersteller automatisch; speichert Abacus-Produkt-/Varianten-IDs in benutzerdefinierten Feldern | Produktdaten von Shopware → Abacus übertragen (nur in eine Richtung); im Modus „Keine Produktsynchronisation“ wird nichts synchronisiert |
| Lagerbestand | Synchronisiert den Lagerbestand nach Zeitplan; Echtzeit-Bestandsabgleich mit Abacus vor der Bestellabgabe (blockiert Auslaufprodukte mit unzureichendem Abacus-Bestand) | — |
| Preise | Echtzeitpreise für Gäste und angemeldete Benutzer; Preistypen Standard/Listenpreis, Staffelpreis, Sonderpreis und Aktionspreis; Rabatte und kundenspezifische Mengenpreise; speichert Preise für 60 Minuten über den konfigurierten Cache-Pool des Shops, mit einem geplanten Gastpreis-Warmup; Shopware-Standardpreis als Fallback | Implementierung oder Anforderung eines spezifischen Cache-Backends (z. B. Redis) – d. h. der shop-eigenen Infrastruktur; Betrieb ohne Backup-Preis in Shopware |
| Kunden | Synchronisiert Käufer → Kunden (24-Stunden-Vollsynchronisation + Abonnement für geplante Änderungen); Anrede- und Steuerzuordnung; Erkennung von Adressduplikaten; Bindung an Vertriebskanäle; Sammeldebitor für Gäste | Erkennung von Abacus-Adressänderungen über Abonnement (erfordert die 24-Stunden-Vollsynchronisation); Behandlung mehrerer Käufer, die sich eine E-Mail-Adresse teilen, wenn UUID = „E-Mail“ |
| Adressen | Ordnet Rechnungs-/Liefer-/Kontaktadressen zu; erkennt Duplikate anhand von ID oder Feldübereinstimmung | Adressänderungen automatisch übernehmen — erfordert manuelle Bearbeitung in Abacus (J15), bevor eine Bestellung bearbeitet werden kann |
| Bestellungen (Export) | Sendet Bestellungen von Gästen, Neukunden und Bestandskunden über eine Flow-Builder-Aktion; Exportzeitpunkt pro Zahlungsmethode/Status konfigurierbar; Versand als ShippingHandlingList oder Einzelposten; markiert exportierte Bestellungen mit dem benutzerdefinierten Feld abacus_order_sent | Ändern Sie eine Bestellung in Abacus, sobald sie im Bestell-Posteingang ist |
| Rabatte | Prozentuale Rabatte auf Einzelposten und Versand, zu Abacus-Rabattarten zugeordnet | Festbetragsrabatte – werden ignoriert und nicht an Abacus gesendet |
| Dokumente | Synchronisiert Abacus-Dokumente (z. B. Bestellbestätigung, Lieferschein) über eine konfigurierbare Typzuordnung in die Shopware-Bestellung und das Kundenkonto | Synchronisiert Dokumente für Bestellungen, die nicht nach Abacus exportiert wurden |
| Bestellstatus | Synchronisiert Bestell-/Versand-/Zahlungsstatus über konfigurierbare ProcessStep-Zuordnung (pro Mandant); verknüpft Bestellungen über benutzerdefinierte Felder; berücksichtigt die Zustandsmaschine von Shopware | Nicht zugeordnete ProcessSteps anwenden (ignoriert); ungültige Zustandsübergänge durchführen |
| Einrichtung | Live- und Testmodus (Standard: Test); Multi-Tenant (mehrere Abacus-Instanzen, global oder pro Vertriebskanal) | — |
| Angebote | – | Angebote sind nicht implementiert; dies muss über eine benutzerdefinierte Integration erfolgen, da „Angebote“ keine Standardfunktion von Shopware (CE) ist |
Einschränkungen & bekannte Einschränkungen
| Thema | Einschränkung |
|---|---|
| Kompatibilität | Wir unterstützen immer die aktuellste sowie die vorherige Version auf beiden Seiten. Shopware: 6.7 und 6.6 / Abacus: 2026 und 2025. |
| Produktsynchronisation | Nur in eine Richtung (Abacus → Shopware). Das Plugin schreibt niemals Produktdaten zurück nach Abacus. |
| Rabatte | Es werden nur prozentuale Rabatte unterstützt. Rabatte mit festem Betrag werden stillschweigend ignoriert. |
| Adressänderungen | Werden nicht automatisch übernommen. Neue/geänderte Adressen müssen in Abacus (J15) manuell bearbeitet werden, bevor die Bestellung konvertiert werden kann. |
| Erkennung von Adressänderungen | Adressänderungen in Abacus werden vom Shopper-Änderungs-Abonnement nicht erfasst; sie erfordern die 24-Stunden-Vollsynchronisation der Shopper. |
| Kundenidentität | „Account“ (E-Mail im Feld „Account“) ist die standardmäßige und empfohlene UUID. Bei „E-Mail“ werden mehrere Shopper, die sich eine E-Mail-Adresse teilen, nicht berücksichtigt. |
| Bestellbearbeitung | Sobald sich eine Bestellung im Abacus-Bestell-Inbox befindet, kann sie vom Plugin nicht mehr geändert werden. |
| Preis-Cache | Preise werden über den konfigurierten Cache-Pool des Shops für 60 Minuten zwischengespeichert. Das Plugin stellt selbst kein Cache-Backend (z. B. Redis) bereit. |
| Zuordnung von Bestellstatus | ProcessSteps, die in Ihrer Zuordnung nicht vorhanden sind, werden ignoriert – es erfolgt keine Statusänderung. |
Geplante Aufgaben & Häufigkeit
Die folgenden Werte sind die Standardwerte des Codes (getDefaultInterval()). Alle Intervalle können unter Einstellungen → System → Geplante Aufgaben angepasst werden, und Aufgaben können manuell über die Konsole oder das Tools-Plugin ausgelöst werden.
| Geplante Aufgabe | Standardintervall | Zweck |
|---|---|---|
webwirkung.abacus.product.synchronization | 6 Stunden | Vollständige Produktsynchronisation |
webwirkung.abacus.category.synchronization | 6 Stunden | Synchronisierung der Kategoriebaumstruktur |
webwirkung.abacus.subscription.product | 30 Minuten | Synchronisiert nur in Abacus geänderte Produkte |
webwirkung.abacus.subscription.stock | 30 Minuten | Bestandssynchronisierung |
webwirkung.abacus.shopper.synchronization | 24 Stunden | Vollständige Kunden-/Käufersynchronisierung – der einzige Job, der Adressänderungen in Abacus übernimmt |
webwirkung.abacus.subscription.shopper | 30 Minuten | Verarbeitet Käuferänderungen (ausgenommen Adressänderungen) |
webwirkung.abacus.subscription.subscribe | 23 Stunden | (Neu-)Registriert die Abacus-Änderungsabonnements |
webwirkung.abacus.subscription.order | 100 Sekunden | Verknüpft Abacus-Bestellungen wieder mit Shopware-Bestellungen |
webwirkung.abacus.subscription.order.status | 5 Minuten | Synchronisiert Bestell-/Versand-/Zahlungsstatus aus Abacus |
webwirkung.abacus.synchronize_product_id | 24 Stunden | Synchronisiert Abacus-Produkt-IDs mit Shopware-Produkten |
webwirkung.abacus.cache.warmup.price | 45 Minuten | Wärmt den Gastpreis-Cache vor |
Erste Schritte und Voraussetzungen
Um die Integration von Abacus und Shopware vorzubereiten, können Sie mit folgenden Schritten beginnen:
- Stelle sicher, dass deine Abacus- und Shopware-Instanzen die unterstützten Versionen erfüllen – siehe Einschränkungen & bekannte Einschränkungen oben. Bitte beachte, dass du für bestimmte Funktionen möglicherweise deine Abacus-Instanz auf eine neuere Version aktualisieren musst.
- Aktivieren Sie E-Business in Ihrer Abacus-Instanz und aktivieren Sie unser API-Modul gemäß dem Abacus-Marktplatz.
- Besorgen Sie sich die folgenden Informationen:
- API-URL
- Mandantennummer
- Client-ID
- Client-Secret
Nützliche Links
Kontakt
Wenn Sie Fragen haben oder Hilfe bei der Integration benötigen, kontaktieren Sie uns bitte unter [email protected].
