Hallo spreisl-thomas,
was du sucht ist der "PlentySetOrdersHead" Step.
Hier brauchst du lediglich die plenty OrderID und kannst dann verschiedene Felder der Kopfdaten der Order aktualisieren.
Viele Grüße,
Rocco
Hallo,
wir haben das nochmal getestet. Das PaidAt Datum kann offenbar nicht mehr direkt über den PlentySetOrdersHead Step gesetzt werden. Auch wenn wir ein valides (W3C Format, z.B. 2020-05-20T01:00:00+01:00 ) in der PaidAt Spalte verwendet haben, wurde weder das Zahlungsdatum noch der Zahlstatus der Bestellung geändert.
Ein möglicher Weg einen Zahlung (Zahlungseingang) zu buchen wäre über den PlentyAddOrders Step und die Option Payment Options "Create payment if paymentTransactionID is set". Falls die Bestellungen aus Shopware schon über den PlentyAddOrders Step angelegt werden, sollten die importierten Bestellungen im Datastore vorhanden sein und die Spalte "orderID" nach dem Import gefüllt sein. Wenn der Zahlungseingang bei Shopware erfolgt ist müsste für die entsprechende Bestellung die Spalte paymentTransactionID im Datastore gefüllt und der processing status auf UNPROCESSED gesetzt werden. Bei erneuter Ausführung des AddOrders Steps wird dann eine vollständige Zahlung für diese Bestellung (orderID) in Plenty erstellt.

Die Fehlermeldung bedeutet im Normalfall, dass schon eine Zahlung mit gleichen Daten an der Bestellung vorhanden ist. Plenty bildet einen Hash für die Zahlungsdaten (`amount`, `currency`, `status`, `transactionType`, `mopId`). Wenn dieser schon vorhanden ist, kann die Zahlung nicht nochmal angelegt werden.
Ich habe mir das nochmal angesehen. Der Import der Zahlung läuft wie folgt ab:
1. Bestellung wird angelegt
2. Zahlung wird angelegt (ohne Zuordnung zur Bestellung)
3. Angelegte Zahlung wird mit der Bestellung verknüpft
Der Fehler/das Problem tritt bei Schritt 2 auf. D.h. es ist vermutlich schon eine Zahlung mit gleichem Betrag, Zahlungsart etc. für eine andere Bestellung vorhanden, sodass die Zahlung nicht nochmal angelegt werden kann. Um das Problem zu lösen könnten sie zusätzlich noch einen pro Bestellung eindeutigen Buchungstext (paymentBookingText) vergeben. Dieser wird offenbar auch in den Abgleich der Zahlungen mit einbezogen und es wird eine neue Zahlung angelegt.

Hallo,
dann sind Felder an der Zahlung und haben nicht direkt etwas mit der Bestellung beim Anlegen zu tun. Momentan können wir diese Felder nicht setzten. Wir sind aber dabei die Möglichkeit zu prüfen und werden uns nochmal melden.
Viele Grüße,
Der Synesty-Support
Hi,
es ist jetzt möglich die beiden Felder zu setzten. Der Kontoinhaber wird über das Feld "billingCustomerContactPerson" und die Kunden-ID wenn in dem Feld "paymentCreateContactLink" "true" gesetzt ist.
Sollten die Felder noch nicht vorhanden sein, kannst du diese dem Datastore einfach hinzufügen. Neu angelegte Datastore mit dem Order Schema haben diese beiden Felder bereits.
Viele Grüße,
Lukas