Automatische Lagerverwaltung
mit Bexio und WooCommerce
Der Bexio Automator bietet zahlreiche Einstellungsmöglichkeiten, und ermöglicht es dadurch Bexio und WooCommerce optimal miteinander zu verknüpfen. Ein häufiges Szenario ist, dass Bexio das Quell-System sämtlicher Produktdaten ist. Die Produkte werden dabei in Bexio verwaltet und Lagerbestände auch dort gepflegt. Der Automator stell sicher, dass die Bestände der zwei Systeme stets übereinstimmt, sodass keine Produkte verkauft werden können, die gar nicht mehr im Lager sind. Das Tätigen von Einkäufen und Verkäufen aktualisiert automatisch den Lagerbestand und übernimmt die korrekte Buchhaltung.
In diesem Artikel erfährst du, wie du dein System optimal konfigurieren kannst, sodass die Lagerbestände der beiden Systeme automatisch aktuell gehalten werden.
So funktioniert der Abgleich
Durch das Anlegen von Aufträgen und Lieferungen in bexio, wird der Lagerbestand in bexio automatisch aktualisiert:
- Wenn ein Auftrag in bexio angelegt wird, ist der Lagerbestand für alle Produkte im Auftrag reserviert
- Wenn eine Lieferung erstellt wird in bexio, ist der Lagerbestand für alle Produkte der Lieferung kommissioniert
- Wenn die Lieferung abgeschlossen wird, wird der Lagerbestand für alle Produkte der Lieferung definitiv abgebucht
- Wenn die Lieferung gelöscht und der Auftrag storniert wird, wird der Lagerbestand für alle Produkte wieder freigegeben
Nachfolgendes Diagramm veranschaulicht diesen Prozess:
Wann wird der Bestand abgeglichen?
Standardmässig wird der Lagerbestand ereignisbasiert (passiv) abgeglichen. Dies bedeutet: der Bestand wird grundsätzlich nur dann synchronisiert, resp. von Bexio abgefragt, wenn er irgendwo in deinem Shop angezeigt werden muss. Wenn der Lagerbestand nirgends angezeigt wird, kann es also sein, dass er auch nicht synchronisiert wird. Grundsätzlich ist der Abgleich der Lagerbestände so ausgelegt, dass so wenig wie möglich abgeglichen werden muss (aus Performancegründen).
Wurde der Lagerbestand eines Produktes abgefragt, wird er grundsätzlich für 6h gecacht (resp. zwischengespeichert). Ist der Bestand im Cache, wird er nur neu abgefragt, wenn das Produkt bestellt wird (Checkout) oder wenn der Bestand dieses Produktes (oder der Variante) manuell mit Bexio synchronisiert wird.
Sind die 6h Cache-Zeit abgelaufen, wird der Bestand zusätzlich neu synchronisiert, wenn er im Shop angezeigt werden muss (z.B. wenn der Kunde das Produkt / die Variante im Shop aufruft und der Bestand dort angezeigt wird). WICHTIG: wird nach Ablauf der 6h Cache-Zeit der Bestand nicht manuell abgeglichen und das Produkt wird nicht bestellt oder dessen Bestand im Shop angezeigt (z.B. weil kein Besucher dieses Produkt betrachtet / aufgerufen hat), wird der Bestand nicht automatisch neu abgeglichen (da er nicht mehr angezeigt werden musste) und es gilt weiterhin der letzte gecachte Bestand. Es kann dann also vorkommen, dass in Bexio ein anderer Bestand vorhanden ist als im Shop.
Zu beachten:
- Wird in Bexio ein Lagereingang getätigt, ist dieser beim ereignisbasierten Abgleich nicht innert X Minuten im Shop abgeglichen – es kann sein, dass der Bestand dort noch im Cache liegt (für 6h) und oder / dass der Bestand im Shop nicht angezeigt werden muss / das Produkt nicht mehr aufgerufen wurde. Wenn das Bedürfnis besteht, dass Lagereingänge in Bexio so schnell wie möglich in den Shop übertragen werden, sollte der Bestand des betroffenen Produktes manuell abgeglichen werden.
- Werden in Bexio manuell Änderungen am Bestand getätigt (z.B. manuelle Lagerausgänge oder manuell erstellte Aufträge / Lieferungen), reduziert sich der verfügbare Bestand in Bexio, jedoch nicht im Shop (es sei den, der Bestand wird autom. neu abgeglichen – siehe oben wann der autom. Abgleich stattfindet). In diesem Fall müsste der manuelle Abgleich ausgeführt werden, um den Bestand aktuell zu halten.
Alternative Möglichkeit – asynchroner Abgleich
Alternativ zum ereignisbasierten Abgleich, kann mit dem Zusatzmodul “Erweiterte Lagerbestand Synchronisierung” (nur mit dem Premium Abonnement verfügbar) der Bestand asynchron (1x / Stunde) abgeglichen werden.
Zu beachten: wird der Bestand aller Produkte abgeglichen, kann dies abhängig von der Anzahl Produkte im Shop / in Bexio zu Performance-Problemen führen – dies kann bereits ab einigen Tausend Produkten geschehen. Im Extremfall kann dies den Server überlasten, wodurch die Website nicht mehr erreichbar ist / beeinträchtigt wird. In diesem Fall müsste die Ausführung der Cronjobs durch das Betriebssystem eingerichtet oder auf den ereignisbasierten Abgleich umgestellt werden.
Mit diesen Einstellungen legst du los
Der Abgleich vom Lagerbestand kann ganz einfach ein- oder ausgeschaltet werden. Die passende Einstellungen dazu findest du auf der Konfigurationsseite vom WooCommerce Bexio Automator Plugin unter dem Abschnitt Synchronisierungsdaten:
- Logge dich im Admin-Bereich der Webseite ein (Backend)
- Gehe im Menü zu WooCommerce » Bexio Automator
- Öffne den Abschnitt Synchronisierungsdaten
- Suche die Option Abgleich vom Lagerbestand
Stelle sicher, dass der Abgleich nicht deaktiviert ist, Standardmässig ist der Abgleich immer aktiv.
Wichtige Voraussetzungen
- Die Produkte werden über die eindeutige Artikelnummer/SKU identifiziert — nur Artikel die in beiden Systeme bestehen werden synchronisiert. Wenn ein Produkt nicht synchronisiert wird, könnte es daran liegen, dass die Artikelnummern nicht übereinstimmen.
- Der Lagerbestand von Produkten wird nur dann synchronisiert, wenn die Lagerverwaltung aktiviert ist. Auch hier wieder gilt es dies in beiden Systeme zu aktivieren.
Die Lagerbestände stimmen nicht überein?
Wenn der Lagerbestand trotz automatischem Abgleich nicht identisch zu sein scheint in den zwei Systemen, hängt dies mit grösser Wahrscheinlichkeit mit dem reservierten Lagerbestand in bexio zusammen. Denn bexio kennt, im Gegensatz zu WooCommerce, unterschiedliche Lagerzustände:
- Gesamt Lagerbestand, entspricht allen Produkten im Lager
- Reservierte Produkte sind Artikel, welche in einem bexio-Auftrag erfasst worden sind. Diese stehen nicht mehr zum Verkauf zur Verfügung, sind jedoch noch im Lager und werden dementsprechend in der bexio Lageransicht angezeigt.
- Kommissionierte Produkte sind Artikel, für welche bereits eine Lieferung existiert. Auch diese Produkte stehen nicht mehr zum Verkauf zur Verfügung, sind jedoch noch im Lager und werden dementsprechend in der bexio Lageransicht angezeigt.
- Verfügbare Produkte, sind die Produkte welche noch für den Verkauf zur Verfügung stehen (Verfügbar = Gesamt – Reserviert – Kommissioniert)
Das Ganze wird auch hier noch von bexio ausgeführt: Wie das Lager funktioniert
Dabei kann Folgendes ein bisschen verwirrend sein:
- In WooCommerce wird standardmässig der verfügbare Lagerbestand verwendet
- In bexio wird standardmässig der gesamte Lagerbestand angezeigt
Dadurch entsteht der Eindruck, dass die beiden Lagerwerte nicht übereinstimmen. Wir empfehlen daher Folgendes: Verwende in bexio die dedizierte Lagerbestand-Ansicht, dort sind alle Bestände ersichtlich:
Wenn Du anschliessend immer noch der Meinung bist, dass etwas nicht stimmt, können wir Dir gerne weiterhelfen.