For the complete documentation index, see llms.txt. This page is also available as Markdown.

Zoll, Buchung und Kartonbestand

Zollroute

SOUDHL Customs Mgt betrachtet eine Route als zollpflichtig, wenn Absender- und Zielland unterschiedlich sind und nicht beide Länder einen EU-Country-Code besitzen.

Vor dem Parcel-Upload

  • Customs Data anlegen oder laden,

  • Customs Lines aus den Package Lines erzeugen,

  • Pflichtdaten validieren,

  • bei interaktiver Sitzung die Zollseite modal öffnen,

  • Bestätigung des Benutzers verlangen,

  • Customs-JSON in den Parcel-Request aufnehmen.

Vor dem Öffnen der modalen Seite erfolgt ein Commit(). Hintergrundprozesse müssen Zolldaten deshalb vorab vollständig und als Completed bereitstellen.

Zollgewicht

Zollpositionen verwenden rechtlich das Nettogewicht des Artikels. Fehlt es, wird auf das Package-Line-Gewicht zurückgefallen. Diese Logik ist bewusst unabhängig von Brutto-/Netto-Packing.

Verkaufsbuchung

Codeunit SOUDHL Sales Shipment Mgt abonniert Sales-Post.OnAfterSalesShptHeaderInsert.

Wenn Assign Packages on Sales Post aktiviert ist:

  • nur Verkaufsauftragspakete werden berücksichtigt,

  • nur Pakete des gebuchten Auftrags,

  • nur noch nicht zugeordnete Pakete,

  • Preview Mode wird ignoriert,

  • Posted Sales Shipment No. wird ohne Trigger gesetzt.

Warenausgang

Warenausgangspakete speichern echte Quellauftrags- und Quellzeilenreferenzen in den Package Lines. Dadurch können Empfänger, Zoll und Tracking auch nach dem Löschen oder Buchen des Warenausgangs nachvollzogen werden.

Kartonbestandsbuchung

Nach erfolgreicher Labelerzeugung kann genau ein Kartonartikel als negative Anpassung gebucht werden.

Idempotenz

  • Posted wird nicht erneut gebucht.

  • Bereits vorhandener Item Ledger Entry kann beim Retry wiedergefunden werden.

  • Ein frischer Pending-Status verhindert Parallelbuchungen.

  • Fehler werden am Paket gespeichert und können über die Paketkarte erneut versucht werden.

Warum getrennte Transaktionen?

DHL kann ein Label erfolgreich erstellt haben, obwohl die lokale Kartonbuchung scheitert. Der Connector schützt das externe Ergebnis durch einen Commit vor der Inventurbuchung. Die aufrufende App muss daher mit „Label erfolgreich, Inventurwarnung vorhanden“ umgehen.