DHL Zollinhaltserklärung

Über den Webservice von DHL kann auch eine Zollinhaltserklärung generiert werden.

Dabei werden die folgenden Daten im Produktstamm verwendet:

  • Herkunftsland (ISO-Code (ISO-2- Alpha))
  • Zolltarifnummer
  • Gewicht
  • SKU
  • Name

Aus den Auftragspositionen die folgenden Daten:

  • Preis pro Position
  • Gepackte Menge



wemalo connect rest api

Die Dokumention zur Schnittstelle wemalo connect REST API befindet sich hier: connect-api.wemalo.com




Gebindefunktion

Anlegen der Gebinde

Über den Produktstamm können für ein Produkt beliebig viele Gebinde eingetragen werden.
Dazu kann über das Einheiten-Tab die Gebindeeinheiten eingesehen und hinzugefügt werden. Eine Gebindeeinheit besteht aus einem Namen (wird bei Umlagerung, Pick und Pack angezeigt) und einer Menge (wie viel Stück in einer Einheit sind). Außerdem können Dimensionen (Höhe/Breite/Länge und Gewicht) hinterlegt werden, da dies Auswirkungen auf Abrechnungen haben könnte (sofern für Pick-Kategorieren eingesetzt werden).

Als mögliche Gebindeeinheitstypen stehen Karton, Griffeinheit und Palette zur Verfügung. Aus technischer Sicht gibt es allerdings keine Unterscheidung.

Mit Hilfe eines Barcodes kann ein für die Gebindeeinheit spezifischer Barcode hinterlegt werden, der bei Wareneingang, Umlagerung, Pick & Pack akzeptiert wird.

Gebinde-Upload

Über den Mandantenstamm können Gebinde per CSV-Datei hochgeladen werden. Bzgl. Aufbau der CSV-Datei siehe Inline-Hilfe in wemalo.

Integration in Abrechnungen

In der Gruppe Versand können Gebinde für die Abrechnung aktiviert werden.

Integration Anlieferung und Wareneingang

Über ein DropDown kann die Gebindeeinheit gewählt werden. Die Gesamtsumme wird entsprechend der gewählten Einheit und der eingegebenen Menge berechnet und angezeigt.

Wird der spezifische Gebindebarcode gescannt, so wird das dazugehörige Gebinde bereits vorausgewählt.

Beispiel: wenn eine Gebindeeinheit mit 6 Stück gewählt wurde und die Menge 2 eingetragen worden ist, wird als Gesamtstückzahl 12 ausgegeben.

Integration Umlagerung

In der MDE-Ansicht wird nach Scan des Produktes und Eingabe der Menge ein Vorschlag zur Entnahme der Ware als Gebinde angezeigt.

Integration Picken

Beim Picken bekommt der Mitarbeiter nach dem Scan des Produktes ein DropDown zur Auswahl des Gebindes angezeigt. Sobald ein Gebinde gewählt worden ist, springt die Anzeige auf die Mengeneingabe und der Picker kann damit fortfahren. Es wird überprüft, dass die eingegeben Menge multipliziert mit der Gebindemenge (in dem obigen Beispiel 6) nicht die zu pickende Menge übersteigt.

Beispiel: das Gebinde hat eine hinterlegte Stückzahl von 6 und als Menge wurde 2 eingetragen. Die Gesamtstückzahl beträgt somit 12. Sollten weniger als 12 gepickt werden, wird der Picker mit einer entsprechenden Fehlermeldung am Fortfahren gehindert. Zu jeder Zeit bekommt der Picker die berechnete Gesamtstückzahl ausgegeben.

Integration Packen

Der Packer kann nach dem Scan des Produkt-Barcode das Gebinde auswählen und die Scan-Anzahl wird entsprechend der Gebindemenge umgerechet. Wenn der Gebindebarcode gescannt wird, geschieht die Wahl des Gebindes automatisch.




Gebinde-Management über REST

Anlegen/bearbeiten von Gebinden: http://connect-api.wemalo.com/#api-Product-addUnit
Laden der verfügbaren Gebinde-Einheiten: http://connect-api.wemalo.com/#api-Product-getUnits

Außerdem: beim Anlegen eines WE-Auftrages kann in der Position die ID der Gebinde-Einheit eingetragen werden: http://connect-api.wemalo.com/#api-GoodsReceipt-addGoodsReceipt
Dort gibt es jetzt den Parameter „productUnitId“.

Beispiel:

Für ein Produkt wird eine Gebinde-Einheit „Vorteilspack 5 Stück“ angelegt. Diese Gebindeeinheit beinhaltet 5 Stück des besagten Produktes.
Bei der Übermittlung des Wareneinganges kann diese Gebinde-Einheit mit einer Stückzahl angegeben werden, z.B. 2 Stück.
In dem Fall erwartet wemalo 10 Stück des Produktes (2 mal das Gebinde mit 5 Stück => 2*5=10).




Versandkostenmatrix

Mit Hilfe der Versandkostenmatrix werden die Versandkosten je Paket nach Empfängerland, Gewicht und Versanddienstleister im Mandantenstamm hinterlegt, um bei der Abrechnungsgenerierung exakte Versandpreise ermitteln zu können.

Vorlage je Mandant

Im Mandantenstamm kann unter Abrechnung->Versandkostenmatrix eine Vorlage je Versanddienstleister heruntergeladen werden. Dem Benutzer werden dabei alle Versanddienstleister angezeigt, die für den Mandanten eingerichtet worden sind.

Vorlage auf Lagerebene

Auf Lagerebene kann eine Vorlage hinterlegt werden, die für Versendungen eingesetzt wird, die nicht über den Mandanten definiert worden sind.

Spezifikation

MatchingID;Dispatcher;Product;Comments;Country;Country DE;Country Code;ZIP;BasePrice;KiloPrice;Weight;Price
  • Die Werte werden mit einem Semikolon voneinander getrennt.
  • Es ist auf die richtige Reihenfolge zu achten und die Datei muss als UTF-8 kodiert werden.
  • Es gibt eine Datei pro Versanddienstleister.
  • Damit wemalo bei der Preisermittlung ein Profil einem Eintrag in der CSV-Datei zuordnen kann, wird die Matching-ID benötigt. Diese beinhaltet eine Kombination aus Dienstleister, Produkt und optionale Zusatzleistungen (wie z.B. Nachname).
  • Die Spalte Dispatcher beinhaltet den Versanddienstleister (sollte für eine komplette Datei immer identisch sein). In der Spalte Product wird das Versandprodukt eingetragen.
  • In der Spalte Comments kann ein aussagekräftige Name für die Preislistenposition hinterlegt werden. In der Abrechnung wird die Eintragung in dieser Spalte mit in die Preisberechnung aufgenommen.
  • Die Spalten Country, Country DE und Country Code beschreiben das Empfängerland (englische und deutsche Bezeichnung, sowie der internationale Matching-Code).
  • ZIP beinhaltet die Postleitzahl (in der ersten Version der Matrix nicht verwendet).
  • Über BasePrice kann ein Basis-Preis eingetragen werden, der anhand KiloPrice je Kilo erweitert wird. In der ersten Umsetzungsversion der Matrix wird das nicht angewendet.
  • Die beiden für die Preisermittlung relevanten Spalten sind Weight und Price. Weight gibt dabei die Gewichtsgrenze an, bis zu der die jeweilige Zeile relevant ist. Die Vorlage ist so aufgebaut, dass jede Kombination aus Versandprodukt und Land mit den Gewichten 1KG bis 40KG aufgelistet wird. Wiegt ein Paket 39,5 KG, so wird der Preis für 40KG verwendet. Wiegt es 38,9KG, ist der Preis bei 39KG ausschlaggebend usw. In der Spalte Price wird der Versandpreis in Euro angegeben, wobei die Eingabe von . als Trennzeichen für Nachkommastellen zu bevorzugen ist (aber nicht zwingend erforderlich).

Matrix erstellen

Um eine Matrix für einen Mandanten zu erstellen, kann auf eine Vorlage aufgebaut werden. Dazu können pro Lager Vorlagen je Versanddienstleister hinterlegt werden. Über den Mandanten kann zusätzlich eine auf die für den Mandanten eingerichteten Versandprofilen zugeschnittene Vorlagendatei heruntergeladen werden.

Übersicht der bisher hinterlegten Versandmatrizen

Anzeige einer hinterlegten Matrix als HTML-Ansicht

 

Download als CSV


Ansicht nach CSV-Export

Versandprofil

  • Im Versandprofil kann eingestellt werden, ob das Profil in der Generierung der Preise berücksichtigt werden soll.

Matrix anwenden

  • Im Bereich Versand in der Preisliste muss dazu die Option „Versandkosten“ aktiviert werden.



Trackingnummer-Upload

wemalo bietet für manche Versanddienstleister (z.B. GLS) einen manuellen Upload von Trackingnummern an. Dazu wird ein Upload-Button im DockManagement eingeblendet, über den eine CSV-Datei für den jeweiligen Versanddienstleister hochgeladen werden kann.

Spezifikation

NICHT VERWENDET;Mandantenauftragsnummer;Trackingnummer;NICHT VERWENDET(Optional);NICHT VERWENDET(Optional)

Bitte beachten: die erste Spalte wird zwar nicht verwendet, muss aber dennoch gefüllt werden (der Import geht nur nach Spalte 2 und 3).

Beispiel

21.09.2017;test 2;123456789;wemalo Kunde;1030
21.09.2017;7531;987654321;Max Mustermann;1170

Wobei nur die zweite und dritte Spalte verwendet werden!

 




Rollende Inventur

Die rollende Inventur ist eine stichprobenartige Inventur, die je nach eingestelltem Intervall während der Kommissionierung stattfindet. Dabei wird die rollende Inventur zunächst auf Lagerebene aktiviert. Für die einzelnen Mandanten kann anschließend eingestellt werden, ob die rollende Inventur durchgeführt und welches Intervall verwendet werden soll.

Einstellung auf Lagereben

Durch markieren der Option „Rollende Inventur aktivieren“ kann auf Lagerebene die rollende Inventur aktiviert werden. Über diese Checkbox kann für das komplette Lager bestimmt werden, ob rollende Inventuren generell durchgeführt werden dürfen oder nicht.

Einstellung im Mandantenstamm

Im Mandantenstamm wird die rollende Inventur über „Konfiguration“->“Rollende Inventur“ eingestellt:

  • „Rollende Inventur aktivieren“ aktiviert die rollende Inventur für den Mandanten. Die rollende Inventur wird nur in den Lagern durchgeführt, in denen sie global aktiviert worden ist.
  • „Rollenden Inventur bei Anzahl Teilen durchführen“ definiert nach wie vielen Picks eine Inventurzählung stattfinden soll.
  • Die E-Mail-Adresse eingetragen in „Empfänger für Rollende Inventur-Ergebnis“ bekommt eine Übersicht des Inventurergebnisses per E-Mail zugesendet.

Vorgehensweise

Während des Picks wird der Inventur-Zähler hochgezählt. Wenn das im Mandantenstamm hinterlegte Limit erreicht worden ist, dann wird der Picker zu einer rollenden Inventur aufgefordert. Dabei müssen alle Artikel des aktuellen Mandanten auf dem Stellplatz gezählt werden, von dem der Picker gerade gepickt hat. Das Ergebnis wird verarbeitet und per E-Mail verschickt.

Es findet keine Buchung der Differenzen statt!

Sollte es zu Differenzen gekommen sein, muss ein normaler Inventurauftrag für den Mandanten und den Stellplatz erstellt und der Stellplatz nochmals geprüft werden.




REST API workflow

Is using wemalos rest api, at least the following calls might be used for interacting with wemalo.

First of all, an account needs to be set up for you. You’ll get a rest api token that is being used for authorization. Please see header information: Authorization

Product master data

Orders




Trackingnummer E-Mail bei WooCommerce einfügen

Unser WooCommerce-Plugin schreibt die Trackingnummer in das Order-Feld tracking_number. Dabei kann es sein, dass ein Auftrag aus mehreren Paketen besteht und in dem Feld die Trackingnummern mit Komma getrennt erscheinen.

Zusätzlich wird in das Feld carrier eingetragen, mit welchem Versanddienstleister (z.B. DHL, DPD o.ä.) das Paket versendet worden ist.

Über das Template customer-completed-order.php kann die Vorlage beim E-Mail-Versand eingestellt werden. Über das Admin-Menü WooCommerce->Einstellungen->E-Mails kann die Vorlagendatei in das Template und darüber anschließend angepasst werden.

Die Trackingnummern könnten in der Datei z.B. oberhalb des Footers angezeigt werden, also direkt oberhalb von:

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );

Der folgende Code-Ausschnitt ließt die Trackingnummern aus und gibt sie als DHL-Link in der E-Mail wieder. Für den Produktionseinsatz müsste man an dieser Stelle zusätzlich noch den Carrier auslesen und je nach Carrier den Link entsprechend zusammenstellen.

$post_id = $order->ID;
echo "tracking number for $post_id ";
$tn = get_post_meta($post_id, "tracking_number");
if ($tn) {
 $numbers = explode(',', $tn[0]);
 if ($numbers) {
 foreach ($numbers as $code) {
 echo '<a href="https://nolp.dhl.de/nextt-online-public/de/search?piececode="'.$code.'>'.$code.'</a><br/>';
 }
 }
}

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );

 




WordPress Wemalo API 2

Mit der zweiten Version des WordPress-Plugins hat Wemalo den Funktionsumfang erheblich erweitert.

Einrichtung

  • Plugin Wemalo Connect über den WordPress-Shop herunterladen und aktivieren.
  • Anschließend muss ein Benutzeraccount in wemalo-connect eingerichtet werden (erfolgt durch einen Wemalo-Mitarbeiter).
  • Der in wemalo-connect generierte Sicherheitsschlüssel muss in der Konfiguration des Plugins hinterlegt werden (im Admimmenü wurde dazu ein Wemalo-Eintrag hinzugefügt).

Produkte

  • wird ein Produkt aktualisiert, so wird die Änderung direkt über wemalo-connect an Wemalo gesendet.
  • Zusätzlich werden in regelmäßigen Abständen die Produktstammdaten durch Wemalo abgefragt. Da dies primär für die initiale Einrichtung benötigt wird, ist die Häufigkeit des periodischen Abfragens reduziert.

Pflichtfelder

Das einzige wirkliche Pflichtfeld ist die Artikelnummer. Wichtig für die Lagerprozesse sind allerdings auch:

  • EAN (sofern Artikelnummer nicht bereits scannbar)
  • Artikelmaße und Gewicht (für Lagerung und Versand)
  • Produktbild (zur visuellen Verifikation)
  • Produktname (zum Namensabgleich beim Picken/Packen)

Erweiterung der Produkte

Das Plugin erweitert die Produkte und Varianten und fügt folgende Informationen hinzu:

  • neues Feld alternativer Bestand (z.B. B-Ware)
  • neues Feld EAN (Tab Wemalo im Hauptprodukt)
  • neue Einstellmöglichkeit Seriennummer (Tab Wemalo im Hauptprodukt)
  • Übersicht der Seriennummern/Chargen (Tab Wemalo im Hauptprodukt)

Daten-Übermittlung

  • Beim Speichern des Hauptproduktes wird der Datensatz direkt an Wemalo übermittelt. Im Tab Wemalo wird der Zeitstempel der letzten Daten-Übermittlung angezeigt.
  • Auch beim Speichern von Varianten findet eine direkte Übermittlung statt. Hier wird der Zeitstempel mit in der Varianten-Ansicht angezeigt.
  • Kommt es bei der Übermittlung zu einem Fehler, wird die Rückgabe des Servers ausgegeben.

Product Bundles

  • Das Plugin WooCommerce Product Bundle wird seit der Version 2.0.2 des Wemalo-Plugins unterstützt. Damit das Bundle-Produkt nicht mit als Position übertragen wird, darf für das Bundle keine Artikelnummer hinterlegt worden sein.
  • Alternativ zum Einsatz eines Plugins in WooCommerce, können Sets auch in Wemalo definiert sein. Dazu muss das Set-Produkt als normales Proodukt in WooCommerce angelegt und entsprechend in Wemalo konfiguriert werden (geschieht durch den Wemalo Kundenberater).

 Bestellungen

  • Sobald eine Bestellung auf „in Bearbeitung“ gesetzt wird, erfolgt eine Datenübermittlung an wemalo-connect und somit eine direkte Übertragung an Wemalo.
  • Der Download-Zeitstempel wird unmittelbar gesetzt. Kommt es bei der Übertragung zu einem Fehler, wird die Fehlermeldung als Custom Field hinterlegt.
  • Wenn der Auftrag vollständig reserviert werden konnte, wechselt er in einen neuen Fulfillment-Status.
  • Solange der Auftrag nicht reserviert worden ist und sich im Auftrag in Bearbeitung befindet, kann er über die Wordpress Stronierfunktion auch in Wemalo storniert werden. Sollte der Auftrag sich allerdings bereit im Fulfillment-Prozess befinden, muss er in Wemalo manuell storniert werden.
  • Einmal pro Stunde wird aus WooCommerce heraus der aktuelle Auftragsstatus abgefragt, so lange der Auftrag noch nicht reserviert worden ist.

Aufträge aktualisieren

  • Sofern sich der Auftrag noch nicht im Fulfillment befindet, kann er jederzeit bearbeitet werden.

Status-Erweiterung

  • Retoure angemeldet (siehe Retouren)
  • Retoure gebucht (siehe Retouren)
  • Auftrag im Fulfillment

Wurde ein Auftrag an Wemalo übermittelt, kann dort aber nicht in den Wemalo-Status offen gesetzt werden (und damit freigegeben zum Picken), so wird er in WooCommerce auf dem Status in Bearbeitung bleiben und kann aus WooCommerce heraus auch weiterhin storniert werden.

Wemalo-Felder in Aufträgen

  • Blockiert: wenn die Checkbox markiert wird, dann erfolgt eine Übertragung an Wemalo und der Auftrag wird gepickt und gepackt. In Wemalo landet er allerdings im Status „blockiert gepackt“ und wird erst nach Freigabe versendet.
  • Notiz: über das Textfeld kann eine Notiz übermittelt werden, die dem Picker bzw. Packer angezeigt wird.
  • ETD: wenn das Datumsfeld gesetzt worden ist und in der Zukunft liegt, dann wird die Ware zwar reserviert, in Wemalo kann dazu aber noch keine Pickliste erstellt werden. Erst wenn das Datum erreicht worden ist, kann die Pickliste erstellt und der Auftrag weiter bearbeitet/versendet werden.

Zusätzlich gibt es das Panel mit wemalo mit folgenden Daten:

  • Priorität: bestimmt die Priorität des Auftrags und kann zwischen normal, hoch und sehr hoch unterschieden werden. Die Priorität wirkst sich auf die Reihenfolge bei der Kommissionierung, sowie Reservierung aus.
  • Auftrag: über Auftrag kann ein anderer WooCommerce-Auftrag verlinkt werden, in dem die Auftragsnummer eingetragen wird. Eine darüber hinaus gehende Funktion existiert nicht (keine Verlinkung in wemalo o.ä.).
  • Dokumenten-Upload: ermöglicht den Upload von Dokumenten, wie Rechnungen oder Zollinhaltserklärungen.
  • Promi: erlaubt das Markieren eines Auftrages als Promi-Versand. Zusätzlich kann ein Text eingegeben werden, der an eine in der Konfiguration hinterlegte E-Mail-Adresse verschickt wird. Hierüber können z.B. individuelle Texte zu Aufträgen geschrieben und den Paketen beigelegt werden.
  • Versand: zum Einstellen des Versanddienstleisters.
  • Produkt: je nach Versanddienstleister können die Versandprodukte gewählt werden.
  • Retoure kein SN-Check: sollten Produkte Seriennummern beinhalten, kann über dieses Flag die Validierung auf richtig zurückgeschickte Seriennummern ausgeschaltet werden. Das Flag wird beim Anmelden einer Retoure an wemalo übertragen.

Trackingnummern

Trackingnummern werden als Notiz und in das Feld tracking_number eingetragen.

Sofern wp_liste for Amazon oder Ebay installiert worden sind, wird der Versanddienstleister in das Feld _wpla_tracking_provider (Amazon) / _wpl_tracking_provider (Ebay) und die Trackingnummer in _wpla_tracking_number (Amazon) / _wpl_tracking_number (Ebay).

Die Trackingnummer kann auch in den E-Mails integriert werden, die von WooCommerce automatisch beim Fertigstellen von Aufträgen versendet werden. Eine Anleitung befindet sich hier: Trackingnummer E-Mail bei WooCommerce einfügen

Versandprofile

In Wemalo kann für das Matching des zu versendenden Versandprofils eine externe ID hinterlegt werden. Diese kommt aus der WordPress-Installation und befindet sich unter unter WooCommerce->Einstellungen->Versand.


 Bestände

  • Wemalo führt eine Bestandsaktualisierung durch. Das heißt, dass in regelmäßigen Abständen die in Wemalo geänderten Bestände an den WooCommerce-Shop übertragen werden. Die Bestände von A-Ware wird dabei in den normalen Lagerbestand übernommen. Alle weiteren Bestände (B-Ware, C-Ware etc.) werden in ein gesondertes Feld für alternative Bestände eingetragen.
  • Damit die Bestände nach WooCommerce übertragen werden können, muss shopseitig in den Produkten die Bestandsverwaltung aktiviert werden.

Minusbestände

Die API gibt Minusbestände zurück, wenn es mehr Artikel in Aufträgen gibt als Bestand vorhanden ist. Im Frontend in Wemalo ist dann zwar eine “0” als Bestand ersichtlich, jedoch ist es in der API anders, diese speichert nämlich in solchen Fällen einen Minusbestand, der dann an den WooCommerce Shop zurückgemeldet wird. Aus diesem Grund kann es durchaus sein, dass der Kunde Minusbestände im Shop hat. Um diesen „aufzuheben“, ist es notwendig einen Wareneingang für dieses Produkt in Wemalo zu buchen. Sobald ein Wareneingang kommt, werden diese Bestände entsprechend in Wemalo verbucht und mit den Minusbeständen in der API verrechnet.


 Retouren

  • Das Wemalo API-Plugin bietet die Möglichkeit, aus einer Bestellung eine angemeldete Retoure zu machen. Sobald der Status der Bestellung entsprechend geändert worden ist, wird die Retoure an Wemalo übermittelt.
  • Die Retoure kann dann gegen den Ursprungsauftrag gescannt und die Ware daher validiert werden.
  • Wemalo meldet die vereinnahmte Ware an das Plugin zurück und setzt den Status auf Retoure gebucht.

Unterstützte Plugins

Unterstützte WordPress-Plugins