Unterstützung bei der Lieferscheinerstellung für Pulpo WMS und PlentyMarkets

Hallo zusammen,

ich arbeite aktuell an einem Synesty-Flow, der folgende Anforderungen erfüllen soll:

:white_check_mark: Zielstellung:

  • Die Lieferscheine sollen auf Basis der physischen Pakete erstellt werden, die über Pulpo WMS gepackt wurden.
  • Für jedes Paket muss ein separater Lieferschein erzeugt werden.
  • Die Lieferscheinnummer muss fortlaufend generiert werden.
  • Die Lieferscheine sollen sowohl an Pulpo WMS als auch an PlentyMarkets übertragen werden.
  • Die Datenquelle ist ein JSON-Objekt, das über einen Webhook von Pulpo WMS empfangen wird. Zusätzlich werden Auftragsdaten aus PlentyMarkets per PlentySearchOrders abgerufen.

:white_check_mark: Aktueller Stand:

  • Ich habe die Daten aus Pulpo WMS erfolgreich per JSON-Reader ausgelesen. Die Struktur umfasst die Pakete, Artikel und Versandinformationen.
  • Die Plenty-Daten (order_id, order_marking, shipping_method, order_date, etc.) habe ich ebenfalls per PlentySearchOrders abgerufen.
  • Der Datastore DeliveryNoteData ist bereits erstellt und umfasst folgende Spalten:
    • order_id
    • package_id
    • delivery_note_number
    • box_number
    • box_weight
    • box_name
    • items (JSON)
    • shipping_address (JSON)
    • order_marking
    • shipping_method
    • order_origin
    • order_date
    • external_order_id

:white_check_mark: Problematik / Fragen:

  1. Wie füge ich dynamisch Pakete in den Datastore hinzu?
  • Ich weiß nicht im Voraus, wie viele Pakete in packing_boxes vorhanden sind. Daher muss der DatastoreWriter die Pakete dynamisch verarbeiten und für jedes Paket einen Datensatz anlegen.
  1. Wie generiere ich die fortlaufende Lieferscheinnummer?
  • Die Lieferscheinnummer muss für jedes Paket einmalig und fortlaufend sein. Kann ich das über einen Datastore lösen oder gibt es eine bessere Methode?
  1. Datenzusammenführung:
  • Die Daten aus PlentySearchOrders (z. B. order_marking , shipping_method , etc.) müssen pro Paket in den DatastoreWriter integriert werden. Hier habe ich aktuell Probleme, da der Mapper Step scheinbar nicht sauber zusammengeführt wird.

:white_check_mark: Was bereits funktioniert:

  • JSON-Reader liest die Pakete und Artikel aus Pulpo WMS ein.
  • PlentySearchOrders holt die Auftragsdaten ab.
  • StopFlowIf filtert Aufträge, die nicht order_marking = 11 sind (Galaxus Lagerlieferungen).
  • Der Datastore DeliveryNoteData ist erstellt, aber noch nicht befüllt.

:white_check_mark: Nächste Schritte:

  • Pakete dynamisch in den Datastore schreiben – Wie setze ich das korrekt um?
  • Fortlaufende Lieferscheinnummer – Wie löse ich das am besten?
  • PDF-Generierung für jedes Paket – Wie gehe ich am effizientesten vor?

Ich hoffe, jemand aus der Community hat einen hilfreichen Ansatz oder ein Beispiel für diese Konstellation. Vielen Dank vorab für eure Unterstützung!

Beste Grüße
Frank