Definition der Anbindung SAP B1 an Shopware
Grundsätzliches zu sync4
sync4® verbindet die Warenwirtschaft SAP B1 mit Ihrem Shopware Shop. Produktinformationen lassen sich so komfortabel aufbereiten und mit der sync4 Schnittstelle an Ihren Shop übertragen. Bestellungen und Kundendaten werden GDPdU-konform synchronisiert. Als Middleware ist sync4® zwischen Ihrer Warenwirtschaft und Ihrem Onlineshop geschaltet, um Ihre Artikelinformationen aufzubereiten und mit dem Onlineshop zu synchronisieren.
Grundsätzliches zu Shopware
Shopware ist ein Shop System der Shopware AG. Die Shopware AG als Hersteller übernimmt für das Shopsystem die Gewährleistung.
Shopware Hosting
Als Hoster wird ein von Shopware zertifizierter Hoster wie z.B. Profihost (http://s.sync4.de/profihost) empfohlen. Nur mit einem solchem Hoster wird Shopware vollständigen Support übernehmen können. Andernfalls kann es sein, dass der Support von Shopware abgelehnt wird. Bei nicht zertifizierten Hostern sind die Systemvoraussetzungen ( https://community.shopware.com/Systemanforderungen_detail_1840.html ) zu prüfen. Der Hoster bzw. der Betreuer dessen muss die entsprechenden Anpassungen vornehmen. Dies kann hierbei zu einem erhöhtem Aufwand führen.
Shopware Plugins
Für Plugins von Drittanbieter sind die jeweiligen Hersteller verantwortlich. Die empfohlenen Plugins werden vorab nicht auf Funktion getestet. Plugins werden im Standard von sync4 nicht berücksichtigt.
sync4 Voraussetzung
Die Systemvoraussetzungen für die Installation und den Betrieb der sync4 Schnittstelle ist auf folgender Seite notiert: https://www.sync4.de/voraussetzungen/
Empfohlener Projekt Ablauf
Den aktuellen Projekt-Leitfaden zur Einführung von sync4 finden Sie bei uns auf der Homepage: https://www.sync4.de/leitfaden/
Felddefinitionen Shopware
SAP B1 an Shopware -> Artikel
Folgende Felder werden bei der Übernahme der Artikel aus SAP B1 zu Shopware 5 übernommen.
SAP B1
sync4
Shopware 6
Shopware
Anmerkung
OITM.ItemCode
products_model
product.productNumber
article.mainDetail.number
Artikelnummer
OITM.ItemName
products_name
product.name
article.name
Artikelname
OITM.OnHand
products_quantity
product.stock
article.inStock
Bestand
OITM.OnOrder
products_ordered
product.stock
article.inStock
– Auftragsbestand
OITM.IsCommited
products_committed
product.stock
article.inStock
+ Bestellbestand
OITM.PictureName
Medien Tabelle
Medien Tabelle
Medien Tabelle
Artikelbild
OITM.SWeight1
products_weight
product.weight
article.weight
Gewicht
OITM.VatGourpSA
products_tax_class
product.taxId
article.tax
Steuersatz
OITM.CodeBars
products_ean
product.ean
article.ean
EAN Nummer
OITM.frozenfor
products_status
product.active
article.active
Artikelstatus
OITM.UserText
products_description
product.description
article.descriptionLong
Artikelbeschreibung
SalPackUn
products_vpe_value
product.purchaseUnit
article.purchaseUnit
VPE-Wert
SalPackMsr
products_vpe_unit
product.unitId
article.unit
VPE
OITM.SuppCatNum
Products_manufacures_number
product.manufacturerNumber
Article.mainDetail.supplierNumber
Herstellernummer
Weitere Felder wie z.B. UDF und UDTs können mit einer Sonderprogrammierung berücksichtigt werden. Dabei ist sehr genau zu definieren, welche Felder wie übertragen werden sollen.
Shopware an SAP B1 -> Adresse und Bestellung
Folgende Felder werden bei der Adresse Übergabe vom Shopware 5 Shop zu SAP verwendet.
Shopware
Shopware 6
sync4
SAP B1
Anmerkung
order.number
order.orderNumber
orders_id
vOrder.NumAtCard
Wenn Bankverbindung vorhanden auch vBP.BPBankAccounts.UserNo2
order.billing.number
order.orderCustomer.customerNumber
customers_id
–
billing.vatId
order.orderCustomer.vatIds[0]
customers_vat_id
vBP.Addresses.FederalTaxID
order.customer.salutation
order.address.salutation.salutationKey
customers_gender
vBP.ContactEmployees.Gender
Nur Frau oder Mann
order.billing.firstName + order.billing.lastName
order.address.firstName + order.address.lastName
customers_name
vBP.ContactPerson + vBP.CardName (Wenn keine Firma) + vBP.ContactEmployees.Name
order.billing.firstName
order.address.firstName
customers_firstname
vBP.ContactEmployees.FirstName
order.billing.lastName
order.address.lastName
customers_lastname
vBP.ContactEmployees.LastName
order.billing.company
order.address.company
customers_company
vBP.CardName
order.billing.street
order.address.street
customers_street_address
–
order.billing.city
order.address.city
customers_city
–
order.billing.zipCode
order.address.zipcode
customers_postcode
–
order.billing.country.isoName
order.address.country.name
customers_country
–
order.billing.phone
order.address.phoneNumber
customers_telephone
vBP.Phone1 + vBP.ContactEmployees.Phone1
order.customer.email
order.orderCustomer.email
customers_email_address
vBP.EmailAddress + vBP.ContactEmployees.E_Mail
order.delivery.firstName + order.delivery.lastName
order.address.firstName + order.address.lastName
delivery_name
vBP.Addresses.AddressName + vBP.Addresses.AddressName2 + wenn Firma (vBP.Addresses.AddressName3)
order.delivery.firstName
order.address.firstName
delivery _firstname
–
order.delivery.lastName
order.address.lastName
delivery _lastname
–
order.delivery.company
order.address.company
delivery_company
vBP.Addresses.AddressName + vBP.Addresses.AddressName2
order.delivery.street
order.address.street
delivery_street_address
vBP.Addresses.Street
order.delivery.city
order.address.city
delivery_city
vBP.Addresses.City
order.delivery.zipCode
order.address.zipcode
delivery_postcode
vBP.Addresses.ZipCode
order.delivery.country.isoName
order.address.country.name
delivery_country
–
order.delivery.country.iso
order.address.country.iso
delivery_country_iso_code_2
vBP.Addresses.Country
order.billing.firstName + order. billing.lastName
order.address.firstName + order.address.lastName
billing_name
vBP.Addresses.AddressName + vBP.Addresses.AddressName2 + wenn Firma (vBP.Addresses.AddressName3)
order.billing.firstName
order.address.firstName
billing_firstname
–
order.billing.lastName
order.address.lastName
billing_lastname
–
order.billing.company
order.address.company
billing_company
vBP.Addresses.AddressName + vBP.Addresses.AddressName2
order.billing.street
order.address.street
billing_street_address
vBP.Addresses.Street
order.billing.city
order.address.city
billing_city
vBP.Addresses.City
order.billing.zipCode
order.address.zipcode
billing_postcode
vBP.Addresses.ZipCode
order.billing.country.isoName
order.address.country.name
billing_country
–
order.billing.country.iso
order.address.country.iso
billing_country_iso_code_2
vBP.Addresses.Country
order.customerComment
order.customerComment
comments
vOrder.Comments
order.orderTime
order.orderDateTime
date_purchased
vOrder.DocDate + vBP.BPBankAccounts.SignatureDate
order.orderStatusId
orders_status
–
order.currency
order.currency.isoCode
currency
–
order.currencyFactor
currency_value
–
order.customer.accountMode
account_type
–
order.payment.name
order.transactions[0].paymentMethod.name
payment_class
vOrder.PaymentGroupCode
order.payment.name
order.transactions[0].paymentMethod.name
payment_method
–
order.dispatch
order.deliveries[0].shippingMethod.name
shipping_method
–
order.dispatch
rder.deliveries[0].shippingMethod.name
shipping_class
vOrder.TransportationCode
order.paymentInstances[0].accountHolder
banktransfer_owner
vBP.BPBankAccounts.AccountName + vBP.BPBankAccounts.UserNo1
order.paymentInstances[0].accountNumber
banktransfer_number
vBP.BPBankAccounts.AccountNo + vBP.DefaultAccount
order.paymentInstances[0].bankName
banktransfer_bankname
–
order.paymentInstances[0].bankCode
banktransfer_blz
vBP.BPBankAccounts.BankCode + vBP.DefaultBankCode
order.paymentInstances[0].iban
IBAN
vBP.BPBankAccounts.IBAN
order.paymentInstances[0].bic
BIC
vBP.BPBankAccounts.BICSwiftCode
–
–
vBP.BPBankAccounts.MandateID
IBAN+“_“+vBP.CardCode
order.transactionId
'swag_paypal_transaction_id' oder 'swag_paypal_resource_id' oder 'swag_paypal_order_id'
transaction_number
–
position.articleNumber
order.lineItem.payload.productNumber
products_model
vOrder.Lines.ItemCode
position.articleName
order.lineItem.label
products_name
–
price
order.lineItem.unitPrice
products_price
?
final_price
final_price
–
position.quantity
order.lineItem.quantity
products_quantity
vOrder.Lines.Quantity
taxRate
lineItem.price.calculatedTaxes[0].taxRate
original_tax
–
price
order.lineItem.unitPrice
price_net
vOrder.Lines.UnitPrice
Wenn SAP-Preismodus aktiv und im Kunden nicht angehakt
price bzw. price_gross
order.lineItem.unitPrice
price_gross
vOrder.Lines.PriceAfterVat
Wenn SAP-Preismodus nicht aktiv ist; Wenn SAP-Preismodus aktiv und im Kunden angehakt dann vOrder.Lines.GrossPrice
order.billing.countryId
geo_zone_id
–
position.tax_shopID
tax_rates_id
–
products_tax
order.lineItem.price.calculatedTaxes.tax
products_tax
Wird verwendet für die Variable Bruttopreise
order.net und order.taxFree
order.taxStatus
allow_tax
Wird verwendet für die Variable Bruttopreise
Weitere Felder können mit einer Sonderprogrammierung berücksichtigt werden. Dabei ist sehr genau zu definieren, welche Felder wie übertragen werden sollen. Sprechen Sie dies auch mit Ihrem SAP B1 Betreuer ab, da die Felder in der weiteren Verarbeitung berücksichtigt werden müssen.
Preislisten zu Kundengruppen
Die Preislisten können zu den Shopware Kundengruppen zugewiesen werden. Dabei kann auch eine Preisliste aus SAP mehrfach verwendet werden. Mit folgendem SQL Befehl werden die Preise ausgelesene. Lassen Sie diesen von Ihrem SAP Betreuer prüfen.
Kundenspezifische Einzelpreise
Die Erweiterung kundenspezifische Einzelpreise ist ein kostenpflichtiges Modul für sync4. Für die Verwendung von kundenspezifischen Einzelpreisen wird ein Plugin im Shopware Shop benötigt. Shopware 5: https://store.shopware.com/swaguserpricef/kundenspezifische-preise.html Shopware 6: https://store.shopware.com/vio8752425629335/kundenspezifische-preise.html Die Reihenfolge ist definiert anhand der aufgelisteten SQL Befehle.
getCustomerPrices
getCustomersProductsgroupDiscount
getCustomersGroupDiscount
Mit folgenden SQL Befehlen werden die kundenspezifischen Einzelpreise aus SAP ermittelt. Lassen Sie diese von Ihrem SAP Betreuer prüfen.
Beachten Sie bitte, das die Datensatzmenge extrem groß werden kann, wenn man die Kunden mit den Artikeln multipliziert. Dadurch kann ein Abgleich viele Stunden benötigen. Auch muss das Hosting des Shops entsprechende Lasten abfangen können.
Besonderheiten
Artikelnummer Beschränkungen bei Shopware 5
Shopware schränkt die Artikelnummern ein, welche verwendet werden können. Die Artikelnummer muss aus mindestens einer 4-stelligen Mischung aus Buchstaben und Zahlen angelegt werden, darf im System nur einmal verwendet werden und muss immer mit einem Buchstaben beginnen!
Erlaubt sind:
Die alphanumerischen Zeichen: 0-9 A-Z
folgende Sonderzeichen: . – _
Abweichende Sonderzeichen können nicht gespeichert werden, in diesem Fall wird eine Warnung angezeigt. Weitere Informationen dazu gibt es auch in der Dokumentation von Shopware: https://docs.shopware.com/de/shopware-5-de/produkte-und-kategorien/produkte-anlegen#aufbau-der-artikelnummern-in-shopware
Zeichensatz der sync4 Datenbank
Latin1_general_CI_AS (https://en.wikipedia.org/wiki/ISO/IEC_8859-1)
Entsprechende einschränken sind zu beachten.
Zusätzliche Anpassungen
Etwaig benötigte Anpassungen für sync4 und der Warenwirtschaft sind kostenpflichtige Dienstleistungen und können in einem späteren Angebot definiert werden.
Last updated