Zettle Verkaufskanal: Durch Verkauf im Zettle POS quasi doppelte Lagerbestände in Shopware. Jemand Ideen?

Hallo in die Runde.

Nutze den Zettle-Verkaufskanal. Funktioniert soweit auch wunderbar. Veränderte Lagerbestände durch Verkäufe in Shopware werden korrekt an Zettle übertragen. Nur andersrum gibt es Probleme.

Es ist nicht immer zu 100% reproduzierbar, aber wenn über den zettle POS im Geschäft ein oder mehrere Produkte in einer Bestellung verkauft werden, dann erscheinen in Shopware zunächst die korrekten Lagerbestände. Also Produkt hat vor dem Verkauf Bestand 5, einmal verkauft im Geschäft, dann in Shopware 4. Aber einige Sekunden bzw. manchmal Minuten später, ist der Lagerbestand in Shopware plötzlich 9. Scheinbar weil irgendwo der alte und neue Lagerbestand summiert werden. Das passiert dann mit allen im POS verkauften Produkten. Weiß nicht, ob Zettle daran Schuld ist oder der Zettle-Verkaufskanal. Hat jemand Ideen oder das auch schonmal erlebt? Ich vermute das, was hier im Hintergrund passiert ist der Übeltäter: swag_paypal.pos_inventory_sync Diese “Verdopplungen“ treten immer im zeitlichen Zusammenhang mit dieser Aufgabe auf.

Shopware: 6.7.6.2
PayPal für Shopware 6 Erweiterung: 10.4.1

Aufgaben:
swag_paypal.pos_inventory_sync (läuft alle 300 s - aktuell 600 s)
swag_paypal.pos_complete_sync (läuft alle 3600 s)

Scheduler und Message Queue werden per Cronjob alle 5 Minuten angestoßen. Habe die Message Queue nun als php Worker konfiguriert, aber das hat auch nichts gebracht. Das anpassen der Intervalle der Aufgaben hat bisher auch nichts gebracht. Hatte swag_paypal.pos_inventory_sync mal auf 60 s gesetzt, aber das ändert auch nichts am Grundproblem.

Danke für jeden Hinweis.

Hi, das liest sich wie ein Caching oder Race-Condition Problem. Müssen die Inventory-Syncs denn in diesen “kleinen” Intervallen laufen? Wenn nicht, könnte man mal die Jobs deaktivieren und über Cronjobs / manuell in den Off-hours (nachts o.ä.) getrennt von einander laufen lassen.

Dann würde man schon mal Informationen zum isolierten Verhalten der beiden Jobs bekommen.