Bestellungsexport-CSV
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
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',
);