Pickware-konforme Stornierung einer Bestellung

Hallo,

wir stornieren in unserem Plugin automatisch Bestellungen. Damit dies im Zusammenspiel mit Pickware (Shopware ERP) funktioniert, haben wir bisher einfach in den OrderDetails das Attribut viisonCanceledQuantity mit der Menge der Position befüllt. Das hat z.B. in Pickware Version 2.1.128 noch funktioniert.

In der aktuellen Pickware Version (getestet mit 4.0.10) scheint dies nicht mehr ausreichend zu sein. Die Ware bleibt auf „reserviert“ und somit wird der verfügbare Lagerbestand nicht aktualisiert. Was müssen wir tun, um eine Bestellung so zu stornieren, wie es auch über das Backend laufen würde? Oder kann uns jemand auf den entsprechenden Code in Pickware verweisen, der beim stornieren einer Bestellung ausgeführt wird?

Vielen Dank!

Manuel

Meinst Du das Stornieren einer Bestellung vor Versand?
Es sollte doch reichen, in der Bestellübersicht in der Spalte “Bestellübersicht” den Status “Storniert/Abgelehnt” auszuwählen.
Nach Auswahl und klick auf den blauen Button “Update” kommt eine Abfrage, die man bestätigt.
 

Hallo,

erstmal danke! Ja, Stornieren vor dem Versand, allerdings eben nicht im Backend durch den Benutzer, sondern programmatisch in einem Plugin. Ich möchte im Code sozusagen genau das durchführen, das durch das Bestätigen dieser Abfrage gemacht wird

Hallo @komfortkasse‍, 

prinzipiell ist der Prozess so abbildbar wie Sie es oben beschrieben haben. Wir haben bereits eine Vermutung, welche kleine Änderung Sie zusätzlich vornehmen müssen. Am Besten schreiben Sie uns noch einmal eine Mail an info@pickware.de und wir werden genauer auf die Problemursache eingehen.

Viele Grüße
Team Pickware

1 „Gefällt mir“

Der Hinweis von VIISON war: einfach den Bestand hochzählen.

Wir verwenden jetzt dieses Plugin dafür: http://store.shopware.com/nfx00988/storno-bestandskorrektur.html

Damit passt auch der Bestand wieder, auch wenn die Bestellung zB per API storniert wurde.

 

Ab Pickware 6.0.0 gibt es für die Stornierung einen eigenen Service:

Der Service zum Stornieren einer Bestellposition (pickware.erp.order_canceler_service) steht seit Version 6.0.0 zur Verfügung. Unter der Annahme, das die Bestellung komplett storniert werden soll, können Sie die Anzahl aus Shopware\Models\Order\Detail::$quantity​ verwenden um mit der Methode cancelRemainingQuantityToShipOfOrderDetail​ die Positionen zu stornieren. Die Versandkosten können mit cancelShippingCostsOfOrder​storniert werden.