Dokumentation IntraSell Magento Schnittstelle
Benutzerhandbuch
IntraSell Magento Schnittstelle
Autor: Grigor Tonkov
Datum: 03.09.2014 - 28.03.2015
Änderunge
26.01.2015 – Die Änderungen im Dokument sind gelb hinterlegt.
18.03.2015 – Aktualisierung Bild, Korrektur Pfad Dateiname Konfig Datei.
Inhaltsverzeichnis
Installation
Das Schnistellenprogramm kannauf einem Windows Pc mit Zugang zur IntraSell Datenbank und Magento SOAP Interface eingerichtet werden. Optional benötig das Programm Verzeichnisse mit Bilder für den Export der Artikelstammdaten.
Da das Programm automatisch läuft empfielt sich die Installation am IntraSell DB Server.
Das Programm benötigt .NET 4 Laufzeitumgebung und MySQL Datenbank Komponenten.
Mit den Buttons „Connect to Magento” und „Connect to IntraSell” kann die Anbindung geprüft werden.
Bedienung der Schnittstelle
Folgendes Screnshot stellt die Hauptmaske desSchnittstellen Programms dar.
Pro Funktion = Schnittstelle is eine eigene Schaltfläche vorgesehen.
Manche Funktionen davon (Blaues Hintergrund) werden zusätzlich automatisch ausgeführt.
Vorbereitung in Magento
1. Stores anlegen
- a. for 1-pros pro and 2-arfaian
- i. in pros pro en und de
- ii. in arfaian deu und eng
- a. for 1-pros pro and 2-arfaian
2. In Megento Admin Bereich customer groups anlegen mit Namen wie die Preislisten in IntraSell.
3. Artikel Attribut set namens „default“ anlegen wenn nicht vorhanden.
4. Für den Paketnummer Export, speziell für die Funktion salesOrderShipmentAddTrack wird ein carrier:="GLS" benötigt. In Magento muss in Menü System->Konfiguration->Lieferungsmethoden einVersender konfiguriert werden. (Bemerkung Grigor: ich weiss nicht wie das geht).
5. Lagerinfo product attribute anlegen.
6. SQL für Preise Aktualisieren in IntraSell
update grArtikel gr , `grartikel-vkpreisperselection` g set preisats = vkpreis, preisats_brutto=vkpreis*1.2 WHERE gr.artnr > 0 and idnr = -1 and PreislisteName like '1-%'and g.artnr = gr.artnr and stkab <= 1 and vkpreis is not null;
Intrasell -> Magento Export
Benutzer synchronisieren
Die IntraSell Kunden können mit dem Button „Is Kunden 2 Magento“ exportiert werden.
Es müssen alle vorhandenen Kundendaten an Magento weitergeleitet werden. Es erfolgt eine Email-Aussendung an alle Kunden in der über das neue Shopsystem informiert wird. Gleichzeitig erhält jeder Kunde ein neues, verschlüsseltes Kennwort. Die „Kundendaten Schnittstelle“ wird daher folgende Daten beinhalten:
IntraSell | Magento | Richtung | |
Kundennummer | Customer_id | Wird in magento neu vergeben | |
Anrede | 2* | ||
Titel | 2 | ||
Firmenname | Address.company | 2 | |
Nachname | lastname | 2 | |
Vorname | firstname | 2 | |
Adresse | street | 2 | |
Land | country_id | 2 | Mapping ? |
PLZ | postcode | 2 | |
Ort | city | 2 | |
UID-Nummer,falls vorhanden | taxvat | ||
Telefonnummer | Address.tel | 2 | |
Mobilnummer | Kein Feld in Magento gefunden | ||
Faxnummer | Address.fax | ||
Email Addresse | 0 | ||
Passwort | Password | Das Programm setz ein zufälliges Passwort.
Wenn nicht notwendig muss auskommenitert werden. Im Admin Bereich von Magenot kan ein neues Paswort für den Kunden gesetzt werden. Lt. Manuel werden alle Kunden ein neues Passwort automatisch bekommen. | |
Geburtsdatum,falls vorhanden | |||
Mandant(Firma Arfaian =1/Firma Pros Pro=2) | website_id | Aktuell kann nur einen Mandant importiert werden. Prospro.
D.h der Kunde wird je mandant nur einer web site zugeordnet. z.Bsp. Kunden mit Mandant Prostpro werden der webseite Prospro zugeordnet. | |
Preisliste (derzeit 3 Preislisten aktiv: 1 = Endverbraucher / 2 = Großhandel / 4 = Exportkunden
Europa) –beliebig erweiterbar |
Customer_group_id | ||
Abweichende Lieferadresse, falls vorhanden (Firma, Nachname, Vorname, Adresse, Land, PLZ,
Ort, Telefonnummer, Email). |
Address for shipping | ||
Hinterlegte Zahlungskonditionen (falls zB auf Rechnung) | offen | ||
Kundengruppe - beliebig erweiterbar | Ist bereits mit der Preisliste belegt. |
0* - IntraSell->Magento
2* - Wird in beide Richtungen synchronisiert
Nachdem die Auftragsbearbeitung bzw. Rechnungsstellung in unserem Warenwirtschaftssystem erfolgt, ist fraglich, ob für Magento überhaupt die Kundengruppe von Bedeutung ist. Derzeit werden alle Onlinebestellungen einem Belegkreis, dem der Kundengruppe „Online“, zugeordnet.
Neukunden werden vorerst der Kundengruppe „Online“ eingegliedert – im Warenwirtschaftsprogramm erfolgt dann die richtige Zuordnung.
Bereits bestehende Kunden sind schon einer Kundengruppe eingegliedert – jedoch erfolgt die Belegnummerierung laut Belegkreis Online, sodass es zu keiner doppelten Erfassung von ein und derselben Belegnummer kommen kann.
Sonderpreise (Artikelgruppen)
TODO
Sonderpreise für individuelle Artikel für bestimmte Kunden – unabhängig der am Kundenkonto hinterlegten Preisliste. Derzeit liegt folgender Aufbau vor.
Artikel synchronisieren
Die „Artikeldaten Schnittstelle“ für die Übernahme / Anlage der Artikel:
Es werden nur Artikel mit namen, EAN und online status exportiert.
Für den Shop in English muss das Häckchen „export in english“ gesetzt werden.
IntraSell | Magento | Kommentar |
Artikelnummer - EAN | SKU | Die EAN Nummer in Intrasell wird als SKU Nummer in Magento geführt. |
Online-Kategorie | categories | {findISCatByID(ISArtikel.ArtKatNr)}
Nur eine Zuordnung in IS möglich, Erweiterung für mehrere denkbar. |
Hersteller | ||
Bezeichnung DE, EN, … | magentoProduct.short_description | English wenn „export in english“ gesetzt |
Produktbeschreibung DE, EN, …
ISArtikel. Beschreibung |
description | English wenn „export in english“ gesetzt |
htmlinfo.description | meta_description | |
htmlinfo.keywords | meta_keyword | |
Lagerinfo/Bezeichnung1 | Attribut.lageringo | Achtung: „lageringo“ muss als attribut zu jedem Produkt konfiguriert werden. |
Flag „nicht bestellbar“ | Attribut.bestellbar | Achtung: „bestellbar“ muss als attribut zu jedem Produkt konfiguriert werden.
Folgende Logik wurde implemenitert:
|
Gewicht | weight | 1 KG wenn nicht in IntraSell gesetzt |
Preislisten sowie Staffelpreise | ||
Bruttogewicht | ||
Spezifikation (zB Griffstärke, Farbe, etc) | Offen – weil keine Spezifikation in IntraSell vorhanden | |
productImage | Picture | Bild 1 – Pfad muss in der Konfiguration eingestellt werden,
wenn pfad nicht konfiguriert wird auch nicht exportiert. |
productImageLarge | Picture | Bild 1 - Pfad muss in der Konfiguration eingestellt werden |
Bezeichnung | Picture.Label | Label für das Bild. |
ProduktAktivOnline | Status | Feld ProduktAktivOnline steuer das Feld Status in Magento. |
ProduktAktiv | Feld ProduktAktiv steuert ob Synchronisierung mit Magento druchgeführt wird. | |
shop | Offen – Shop Zuordnung | |
status | My.MySettings.Default.Magento_product_status | |
tax_class_id | My.MySettings.Default.Magento_product_tax_class_id | |
visibility | My.MySettings.Default.Magento_product_visibility 'catalog and search. | |
VKPreisPerSelection | groupprices | Mit der Funktion exportGroupPrices(ISArtikel.ArtNr, found(0).product_id) |
Für die laufende Aktualisierung der Lagerstände wird eine eigene Schnittstelle generiert, die in regelmäßigen Abständen in den Magento Shop importiert wird. Diese beinhaltet: Artikelnummer Lagerbestand (welcher im Onlineshop nicht numerisch sondern als „Lagernd“ angezeigt wird).
Andere Statusanzeigen wie „lieferbar ab …“ oder „auf Anfrage“, etc müssen hinterlegt werden können (beliebig erweiterbar)
Bilder
Es werden die productimages und productImagesLarge aus dem aktuellen IntraSell WebShop exportert. Siehe bitte die Programmeinstellungen in #Konfiguration.
Bilder aktualisieren
Bestehende, bereits importierte Bilder können ersetzt werden.
Dafür beide CheckBoxen export pics und delete pics selektieren.
Relevante log Eintragungen
23.08.2015 11:34:52: 7 ExportProducts: Close magento
23.08.2015 11:34:50: 7 ExportProducts: Update image for ArtNr=10008 and filename=c:\Intrasell\IntraSell_WebShop_2013\WebShop_2008\productImages_jpg\10008.jpg
23.08.2015 11:34:49: 7 ExportProducts: load image for ArtNr=10008 and filename=c:\Intrasell\IntraSell_WebShop_2013\WebShop_2008\productImages_jpg\10008.jpg
Preise
Preisänderungen – werden mit dem Artikel Update nach Magento exportiert
Achtung: die Preisgruppen in IntraSell sollten die gleiche Bezeichnung tragen wie die CustomerGroups in Magento.
Lagerstand synchronisierene
Der Lagerstand wird mit dem Button „IS Lagerstand 2 Magento“ bzw. einmal täglich synchronisiert.
Es wird die Magento Funktion „catalogInventoryStockItemUpdate“ verwendet.
Da es in Magento keine eigene Lagerorte existieren wird die Summe alle Lagerorte in intraSell exportiert.
Manuel, wird am 29.09 Anweisung senden was genau zu exportieren ist. Es ist aber nicht die Stückzahl.
Events
Änderungen (Update, Insert) in Tabellen grArtikel, Preise, ofAdressen, buchRechnung bewirken einige Minuten Später Export nach Magento. Somit ist ein Batch Export der gesamten Tabellen nicht mehr notwendig.
Auftragsbestätigung und Lieferschein Export
Der Auftragsstatus wird mit dem Button „Is Auftragstatus 2 Magento“ bzw. einmal täglich synchronisiert.
IntraSell | Magento | Kommentar |
buchAuftrag.Status | status | Auftragstatus |
buchAuftrag.Notiz | notiz | |
notify:=True | Der Kunde wird notifiziert | |
Falls eine Rechnung existiert | ||
---|---|---|
Eigebschaft Paketnummer | salesOrderShipmentAddTrack( sessionId:=magento.sessionid, shipmentIncrementId:=shipmentIncrementId, carrier:="GLS", title:="GLS Paketnummer", trackNumber:=orderPaketnummer) | Noch nicht fertig
Die Lieferscheine und Tracking Nummer werden exportiert. |
Rechnung Export als PDF
Die Rechung (Wunsch als PDF) + Paketnummer wird exportiert,
Die Rechnung hat eine Eigenschaft „Paketnummer“, diese wird mit dem Sub Progrmam GLS Export einmal täglich von GLS bereitgestellt und in IntraSell importiert.
Ablauf: Sobald die Rechnung fertig ist sollte ein PDF Export gestartet werden. Intrasell: Rechnung Ansicht: Funktion „PDF Export“. Das Program PDFCreator ist so eingestlellt so dass die Rechnung als PDFdirekt gespeichert werden.
Einstellungen für PDFCreator siehe Screenshot: