Bestellungsexport-CSV

Benötigte Lesezeit: 3 Minuten


Einleitung

Der PepperShop bietet in der Enterprise Version via Business Connector / Caller den Bestellungsexport im XML-Format an. Dies ist vor allem bei ERP-Systemanbindungen zu empfehlen. Falls man aber tabellarische Daten benötigt ist ein CSV-Export (Character separated data) ideal. Der Shop bietet einen einfachen CSV-Export an, welcher alle Daten innerhalb eines Zeitintervalls ausliest (ideal für Excel oder LibreOffice / OpenOffice.org).

Installation

Systemanforderungen

Um dieses Modul einsetzen zu können, ist ein PhPepperShop Enterprise ab Version 5 erforderlich.

Dateien kopieren und hochladen

Das Modul besteht im Wesentlichen aus zwei Dateien, die man in seinen installierten PepperShop kopieren muss. Dazu entpackt man zuerst das mitgelieferte ZIP-Archiv. Es befindet sich darin das folgende Verzeichnis.

{shopdir}/shop/Admin/bestellung_export_csv.php
{shopdir}/shop/Admin/bestellung_export_csv_config.def.php

Die Dateien lassen sich einfach via (S)FTP oder SCP zum Webserver hochladen. Der Platzhalter {shopdir} steht dabei für das Shopverzeichnis auf dem Webserver, wo die Datei index.php zusammen mit der Datei README.txt zu finden ist.

Inbetriebnahme

Das Modul ist nach dem kopieren der Moduldateien in der Standardkonfiguration sofort verwendbar.

Konfiguration

In der Shop-Administration klickt man auf das Menü ‘Import/Export’ und darunter auf das neu erschienene Modul ‘Bestellungsexport CSV’.

In der darauffolgend angezeigten Maske sieht man im wesentlichen zwei Fensterteile:

  • Export: Start des Datenexports gemäss Datumsangaben und unten angegebener Konfiguration (Datumswerte im Format TT.MM.JJJJ). Das Zielformat hat die Zeichenencodierung UTF-8.

  • Konfiguration:

    • Artikel exportieren: Pro Zeile im CSV wird ein Artikel exportiert – die Bestelldaten also mehrfach
    • Kunden exportieren: Es werden weitere Spalten pro Bestellung mit Kundendaten exportiert
    • Lieferadressen exportieren: Weitere Spalten für die abweichenden Lieferadressen exportieren
    • Bestellung mit Status “Pending”: Hier sollte man eigentlich nie ein Häkchen setzen, ausser man weiss, was man tut. Es werden dann auch die Bestellungen exportiert, welche eigentlich für die Verarbeitung durch Drittsysteme noch gesperrt sind – z.B. weil eine Zahlungsvalidierung noch läuft.

Exportierbare Spalten anpassen

Abbildung 1: Modul Verwaltungsmaske

Anpassungen der exportierten Daten werden hier vorgenommen: {shop_verzeichnis}/shop/Admin/bestellung_export_csv.php

// Daten der Bestellung
$export_arr['bestellung'] = array(
    // 'Versandart' => 'versandart',
    'Bestellungs_Nr' => 'Bestellungs_Nr',
    'Rechnungs_Nr' => 'Rechnungs_Nr',
    // 'Versandland' => 'Versandland',
    'Abgeschlossen_am' => 'abgeschlossen_am',
    // 'Waehrung' => 'Waehrung',
    // 'Rechnungsbetrag' => 'Rechnungsbetrag', // Rechnungsbetrag in
    // Fremdwaehrung gerundet!
    // 'Rechnungsbetrag_Basis' => 'Rechnungsbetrag', // Rechnungsbetrag in
    // Basiswaehrung und
    // ungerundet!
);
// Daten der Kunden
// (nur relevant, wenn ['global']['kunden_exportieren'] = true)
$export_arr['kunde'] = array(
    'Kunden_Nr' => 'Kunden_Nr',
    'Sprache' => 'locale',
    'Anrede' => 'Anrede',
    'Vorname' => 'Vorname',
    'Nachname' => 'Nachname',
    'Firma' => 'Firma',
    'Abteilung' => 'Abteilung',
    'Strasse' => 'Strasse',
    'Hausnummer' => 'Hausnummer',
    'Postfach' => 'Postfach',
    'PLZ' => 'PLZ',
    'Ort' => 'Ort',
    // 'Land' => 'Land',
    // 'Land_id' => 'land_id',
    // 'Tel' => 'Tel',
    // 'Fax' => 'Fax',
    // 'Handy' => 'Handy',
    'Email' => 'Email',
);
// Daten der abweichenden Lieferadressen
// (nur relevant, wenn ['global']['lieferadr_exportieren'] = true)
$export_arr['lieferadresse'] = array(
    'Anrede' => 'Anrede',
    'Vorname' => 'Vorname',
    'Nachname' => 'Nachname',
    'Firma' => 'Firma',
    'Abteilung' => 'Abteilung',
    'Strasse' => 'Strasse',
    'Hausnummer' => 'Hausnummer',
    'Postfach' => 'Postfach',
    'PLZ' => 'PLZ',
    'Ort' => 'Ort'
);
// Daten der Artikel in den Bestellungen
// (nur relevant, wenn ['global']['artikel_exportieren'] = true)
$export_arr['artikel'] = array(
    // 'Artikel_ID' => 'Artikel_ID',
    'Artikel_Nr' => 'Artikel_Nr',
    'Name' => 'Name',
    'Anzahl' => 'Anzahl',
    // 'Einzelpreis' => 'einzelpreis', // in Basiswaehrung, ungerundet
    // 'Einzelgesamtpreis' => 'einzelgesamtpreis', // Basiswaehrung, no round
    // 'MwSt-Satz' => 'MwSt_Satz',
    // 'Zusatzfeld_1' => 'Zusatzfeld_1',
    // 'Zusatzfeld_2' => 'Zusatzfeld_2',
    // 'Zusatzfeld_3' => 'Zusatzfeld_3',
    // 'Zusatzfeld_4' => 'Zusatzfeld_4',
    // 'Zusatzfeld_5' => 'Zusatzfeld_5',
    // 'Zusatzfeld_6' => 'Zusatzfeld_6',
    // 'Zusatzfeld_7' => 'Zusatzfeld_7',
    // 'Zusatzfeld_8' => 'Zusatzfeld_8',
    // 'Zusatzfeld_9' => 'Zusatzfeld_9',
    // 'Zusatzfeld_10' => 'Zusatzfeld_10',

);
🌶️
🔥
🌶️