Praxisbeispiel: Bestellungen aus xt:Commerce an Lexware übertragen

In diesem Praxisbeispiel wird beschrieben, wie man Bestellungen aus xt:Commerce an Lexware faktura+auftrag überträgt.


Anwendungsfall

Shop-Schnittstelle zwischen xt:Commerce und Lexware

In diesem Beispiel wird gezeigt, wie mit Hilfe der Software CartLoad Bestellungen aus xt:Commerce nach Lexware faktura+auftrag übertragen werden können. Die Software arbeitet dabei mit dem für Lexware angepassten openTRANS-Format, in dem bestimmte Besonderheiten von Lexware berücksichtigt worden sind.

Ausgangslage

Als Shopsystem wird xt:Commerce eingesetzt. Mit Hilfe des xt:Commerce Export-Managers im Backend des Shops werden Bestellungen exportiert.

Die Warenwirtschaft ist die Software Lexware faktura+auftrag. Die Wawi hat einen Import-Dialog für Shop-Bestellungen, der mit einer speziellen Variante des openTrans-Formats arbeitet.

xt:Commerce Backend

Ansicht eCommerce in Lexware faktura+auftrag

Zielstellung

Bestellungen aus xt:Commerce sollen in Lexware weiterverarbeitet werden. Neue Kunden sollen dabei angelegt werden. Die Zuordnung einer Bestellung zu vorhandenen Kunden soll automatisch erfolgen, wobei Kunden anhand der E-Mail-Adresse identifiziert werden sollen (zwecks Eindeutigkeit).

Es dürfen keine Bestellungen doppelt ausgelesen werden. Die Software muss dies erkennen und bereits verarbeitete Bestellungen überspringen. Automatisch soll eine Zuordnung zwischen Zahlungs- und Lieferbedingungen stattfinden, damit z. B. eine PayPal-Zahlung auch korrekt in Lexware verarbeitet werden kann.

Vorgehen

Mit der Software CartLoad werden Bestellungen regelmäßig aus xt:Commerce abgerufen. Dies erfolgt ca. 1x pro Tag, kann aber auch häufiger gemacht werden. Die Software legt die Bestellungen im Dateisystem des Computers, auf dem Lexware installiert ist, als XML-Datei im Lexware-Format ab.


Vorbereitungen

Zu allererst muss der xt:Commerce Export-Manager konfiguriert werden. Hierzu habe ich eine Anleitung geschrieben. Das darin beschriebene Format ist XML. In diesem Praxisbeispiel wird jedoch JSON verwendet. Wie man das einstellt, ist hier beschrieben.

Schnittstellen-Software installieren

Im nächsten Schritt muss die Software installiert werden, mit der die Daten aus dem Export-Manager heruntergeladen werden und automatisch in das Lexware-Format konvertiert werden.

Dazu wird ein MSI-Installationspaket ausgeführt, das über einen Installationsassistenten auf dem Windows-Rechner installiert wird.

Software downloaden

CartLoad Installation

CartLoad konfigurieren

Um CartLoad für die Verwendung mit xt:Commerce und Lexware vorzubereiten, müssen zunächst Einstellungen vorgenommen werden. Die Einstellungen müssen nur einmalig gemacht werden.

CartLoad: Übersicht

Im Navigationsbereich der Einstellungen befinden sich die Punkte "Download" und "Verbindungseinstellungen".

Download

Die für die Verwendung mit Lexware wichtigen Einstellungen sind unter dem Punkt "Download" zu finden. Darunter gibt es 3 Registerkarten, mit denen gesteuert werden kann, wie Bestellungen aus xt:Commerce nach Lexware übergeben werden sollen.

Registerkarte Download-Einstellungen

Auf dieser Registerkarte wird eingestellt, von wo die Bestellungen heruntergeladen werden müssen. Zusätzlich werden Einstellungen für den Konverter festgelegt, um z. B. in Lexware die richtigen Artikelnummern zu verwenden.

CartLoad: Einstellungen

  • Download-Web-Adresse (URL)
    Unter welcher URL die Bestellungen abgerufen werden können
  • HTTP-Authentifizierung erforderlich
    Diese Funktion wird verwendet, wenn zum Abruf von Bestellungen Benutzername und Kennwort notwendig sind (Verzeichnisschutz). Der Verzeichnisschutz für Bestellungen sollte immer verwendet werden (siehe Tutorial), da sonst die Bestelldatei öffentlich für jeden zugreifbar wären.
    • Benutzername
      Benutzername für den Verzeichnisschutz
    • Passwort
      Kennwort für den Verzeichnisschutz
  • Daten umwandeln
    Hier wird der Konverter gewählt - in diesem Fall ist es xt:Commerce zu Lexware [Bestellungen, Kunden].
  • Parameter
    Spezielle Einstellungen für den Konverter (siehe unten)
  • Zieldatei (lokal)
    Angabe des Dateinamens, in der die Bestellungen gespeichert werden sollen. Hier wird ein Dateiname mit Variablen verwendet: %homepath%\Documents\CartLoad\xtc-%DATE%-%TIME%.xml
  • Lokale Zieldatei überschreiben, wenn sie schon vorhanden ist
    Wenn diese Checkbox aktiviert ist, wird die lokale Datei überschrieben, wenn Sie schon vorhanden ist. In diesem Fall wäre die Option ohne Funktion, da ein Dateiname mit Zeitstempel voreingestellt wird.
Parameter für den xt:Commerce-Lexware-Konverter
last_order_id=1054
customer_file=%homepath%\Documents\CartLoad\customer-%DATE%-%TIME%.csv
payment_cash_on_delivery=xt_cashondelivery
payment_banktransfer=xt_banktransfer
payment_prepayment=xt_prepayment,xt_paypal
payment_cash_payment=xt_cashpayment
payment_invoice=xt_invoice
payment_costs_product_no=9998
shipping_costs_product_no=9999
Parameter Beschreibung
last_order_id Beispiel: 1054
Weil in der Datei aus dem Shop immer mehrere Bestellungen enthalten sind, kann hier die Nr. der letzten abgerufenen Bestellung eingegeben werden. Dies verhindert doppelte Importe. Diese Nummer wird automatisch von CartLoad auf die letzte abgerufene Nummer gesetzt.
customer_file
(optional)
Beispiel: %homepath%\Documents\CartLoad\customer-%DATE%-%TIME%.csv
Wenn dieser Parameter verwendet wird, wird eine CSV-Datei mit den Kundendaten abgelegt. Wie in der lokalen Zieldatei können auch hier Variablen verwendet werden.
payment_cash_on_delivery Beispiel: xt_cashondelivery
Angabe mehrerer durch Komma getrennter Shop-Zahlungsarten, die als Nachnahme in Lexware gelten sollen
payment_banktransfer Beispiel: xt_banktransfer
Angabe mehrerer durch Komma getrennter Shop-Zahlungsarten, die als Bankeinzug/Lastschrift in Lexware gelten sollen
payment_prepayment Beispiel: xt_prepayment,xt_paypal
Angabe mehrerer durch Komma getrennter Shop-Zahlungsarten, die als Vorkasse in Lexware gelten sollen
payment_cash_payment Beispiel: xt_cashpayment
Angabe mehrerer durch Komma getrennter Shop-Zahlungsarten, die als Barzahlung in Lexware gelten sollen
payment_invoice Beispiel: xt_invoice
Angabe mehrerer durch Komma getrennter Shop-Zahlungsarten, die als Rechnung in Lexware gelten sollen
payment_costs_product_no
(optional)
Beispiel: 9998
Wenn dieser Parameter verwendet wird, ergänzt der Konverter für die Zahlungsartkosten eine Artikel-Position mit der angegebenen Artikelnummer.
shipping_costs_product_no
(optional)
Beispiel: 9999
Wenn dieser Parameter verwendet wird, ergänzt der Konverter für die Versandkosten eine Artikel-Position mit der angegebenen Artikelnummer.

Registerkarte URL-Aufruf (remote)

Vor dem eigentlichen Abruf der Bestellungen ist es möglich, eine URL aufzurufen. Das wird zum Beispiel dann gemacht, wenn vorab ein Befehl an den Server gesendet werden muss, dass die Bestellungen bereitgestellt werden sollen. Für xt:Commerce muss diese Funktion aktiviert werden.

CartLoad: Einstellungen

  • URL vor dem Download aufrufen
    Wenn diese Option aktiv ist, wird vor dem Abruf der Bestellung eine URL aufgerufen. Bei Benutzung des xt:Commerce Export-Managers wird dies benötigt, damit die Bestell-Datei durch xt:Commerce aktualisiert wird.
    • Web-Adresse (URL)
      Hier wird die zuvor aufzurufende URL angegeben.
    • HTTP-Authentifizierung verwenden
      Diese Checkbox wird aktiviert, falls für den Aufruf der URL eine Authentifizierung verlangt wird.
      • Benutzername
        Benutzername für die Anmeldung
      • Passwort
        Kennwort für die Anmeldung
    • Prüfe, ob der Aufruf erfolgreich war
      Wenn diese Option aktiv ist, wird das Ergebnis des URL-Aufrufs ausgewertet.
      • Rückgabe bei erfolgreichen Aufruf
        Hier wird für xt:Commerce das Wort "Finished" eingegeben, da dies nach dem erfolgreichen Export zurückgemeldet wird.

Registerkarte Programm-Aufruf (lokal)

Vor und nach dem Abruf von Bestellungen kann auch ein lokal installiertes Programm gestartet werden.

CartLoad: Einstellungen

Diese Einstellung kann zum Beispiel verwendet werden, wenn man nach dem Abruf von Bestellungen ein Import-Programm starten möchte.

In diesem Praxisbeispiel werden die Einstellungen zum Programm-Aufruf nicht benötigt.

Verbindungseinstellungen

Die Verbindungseinstellungen ermöglichen die Anpassung an die Netzwerkkonfiguration.

CartLoad: Einstellungen

  • Unsichere SSL-Verbindungen zulassen (nicht empfohlen)
    Wenn diese Option aktiv ist, werden Fehler, die in Zusammenhang mit SSL-Zertifikaten auftreten, unterdrückt. Diese Option sollte nur in einer Test-Umgebung aktiv sein, da solche Fehler immer auf Sicherheitsprobleme mit den Zertifikaten deuten. Damit wäre die Sicherheit der Daten gefährdet.
  • Proxy-Authentifizierung
    Wenn in dem lokalen Netzwerk ein Proxy-Server aktiv ist, können Sie diese Option aktivieren.
    • Benutzername
      Proxy-Benutzername
    • Passwort
      Proxy-Kennwort

Bestellungen aus xt:Commerce herunterladen

Durch einen Klick auf "Bestellungen herunterladen" laufen jetzt folgende Schritte automatisch ab:

  1. Aufruf der URL, damit Bestellungen von xt:Commerce bereitgestellt werden.
  2. Herunterladen der Bestellungen
  3. Konvertieren der Bestellungen
  4. Speichern der Bestellungen in einer Datei im Lexware-Format
  5. Speichern der Kundendaten in einer Datei im CSV-Format

Kunden in Lexware importieren

Lexware faktura+auftrag bietet eine Import-Funktion, mit der Daten im ASCII-Format importiert werden können. Dazu gehören Kunden, Lieferanten und Artikel.

Dadurch, dass CartLoad die Kunden aus den Bestellungen extrahiert und in einer ASCII-Datei (CSV) speichert, können Sie diese Datei importieren.

  1. Der Import-Assistent wird über Datei / Import gestartet.
  2. Anschließend wird eingestellt, dass Kundendaten importiert werden sollen.
  3. Im nächsten Schritt wird die Kunden-Datei ausgewählt (wie über die Parameter eingestellt, zum Beispiel unter: C:\Users\>Benutzer<\Documents\CartLoad\customer-20170103-152311.csv). Legen Sie dabei für jeden Datensatz einzeln fest, ob schon vorhandene Kundendaten erhalten bleiben sollen oder durch diese aktualisiert werden.
  4. Jetzt werden die Felder der Quell-Datei und die Zielfelder gegenübergestellt. Diese lassen sich zuordnen. Mit den Pfeil-Schaltflächen können Sie die Zuordnung vornehmen.
    Tipp: CartLoad fügt in das Feld Matchcode die E-Mail-Adresse der Internet-Bestellung ein. Durch die Verwendung des Feldes kann die doppelte Anlage von Kunden vermieden werden, welche die gleiche E-Mail-Adresse verwenden.
  5. Im letzten Assistent-Schritt muss nur noch auf "Fertigstellen" geklickt werden, damit die Daten importiert werden.

Lexware Import-Assistent

Bestellungen in Lexware importieren

Nach dem Start der Ansicht "eCommerce" wird ein Fenster eingeblendet, das im oberen Bereich offene Aufträge anzeigt. Um neue Aufträge aus der XML-Datei einzulesen, wird die Schaltfläche "Daten austauschen" verwendet.

Es öffnet sich das Fenster "Daten austauschen".

Im unteren Teil "Bestellungen importieren" klicken Sie auf die Schaltfläche Durchsuchen und wählen den Pfad für die zu importierende XML-Datei aus (zum Beispiel unter: C:\Users\>Benutzer<\Documents\CartLoad\xtc-20170103-152311.xml).

Durch Klicken der Schaltfläche "Importieren" werden die Bestellungen importieriert. Anschließend werden die importierten Bestellungen als offene Aufträge (Internetaufträge) in der eCommerce Ansicht angezeigt.

Lexware - Daten austauschen

Kunden zuordnen und xt:Commerce-Bestellungen in Lexware übernehmen

Im unteren Bereich der Ansicht "eCommerce" können Kunden den Bestellungen zugeordnet werden. Durch den vorherigen Import der Kunden sollte hier automatisch der korrekte Kunde gefunden werden.

Die Verbindung zwischen Kunde und Bestellung wird durch Bestätigen der Schaltfläche "Kunde zuordnen" hergestellt.

Über die Registerkarten "Kunde", "Auftragspositionen" und "Konditionen" können die Einzelheiten der Bestellung vor dem Import noch einmal eingesehen werden.

Ansicht eCommerce in Lexware faktura+auftrag

Um den Auftrag aus xt:Commerce nach Lexware faktura+auftrag zu übernehmen, wählen Sie zuerst im Bereich "Auftrag übernehmen als" aus dem Auswahlmenü die gewünschte Auftragsart aus. Wählen Sie danach über das Kontextmenü den Eintrag "Übernehmen" aus.

Der Auftrag ist dann in der Ansicht "Auftrag" zu finden und kann dort noch einmal bearbeitet oder in eine Rechnung weitergeführt werden. Ab diesem Punkt erfolgt die bekannte Weiterverarbeitung mit Lexware faktura+auftrag.

Fazit

Dieses Praxisbeispiel zeigt, wie Bestellungen und Kundendaten aus xt:Commerce in Lexware auftrag+faktura übernommen werden können.

Da Lexware ein spezielles Datenformat für Webshop-Bestellungen verwendet, ist ein Konverter notwendig, der xt:Commerce-Bestellungen in dieses Format umwandelt. Dieses Format basiert zwar auf dem Standardformat openTrans 1.0, ermöglicht aber im Unterschied zu dem Standard, mehrere Bestellungen in einer Datei zu verarbeiten.

Um das Problem der Kundenanlage in Lexware zu lösen, kann mit CartLoad zusätzlich zu den Bestellungen eine Kunden-Datei im CSV-Format (ASCII) exportiert werden, die vor den Bestellungen eingelesen werden muss. Dann ist es möglich, jedem Webshop-Kunden eine richtige Kundennummer zuzuteilen und Lexware erkennt den zugehörigen Kunden selbstständig.

Nehmen Sie das E-Commerce-Handbuch von Lexware zur Hilfe, um faktura+auftrag für den Import von Internetaufträgen vorzubereiten. Dazu gehören zum Beispiel das Angleichen von Artikelnummern zwischen Faktura und Shop und zuordnen von Zahlungs- und Lieferkonditionen.

Links zum Thema

Vorbereitungen

Infos und Dokumentationen

Software