Wichtigste Einstellungen
Im Folgenden findest du eine Zusammenfassung der empfohlenen Einstellungen, die in den verschiedenen Tabs, bis auf wenige Ausnahmen, immer gesetzt sein sollten.
Aufträge
- „Aufträge ab“: Wähle hier ein Datum, dass nicht zu weit zurück liegt. Gegebenenfalls solltest du es nach einigen Monaten immer wieder aktualisieren, um eine gute Perfomance des Auftragsimports zu gewährleisten.
- „Sicherheitstage zu letzter fehlerfreien Synchronisation“: Hier sollte ausnahmslos immer mindestens eine 1 hinterlegt sein, damit weclapp bei einem Abruf sicherheitshalber nicht nur das aktuelle Datum, sondern auch den Vortag auf noch abzuholende Aufträge prüft.
- „Kundenübertragung“: Hier empfehlen wir, die zweite oder dritte Option zu nutzen, damit weclapp bei Gastbestellungen immer zunächst über die Mailadresse prüft, ob der Kunde bereits in weclapp existiert, um Mehrfachanlagen von Gastbestellern zu vermeiden.
- “Coupons mit Mehrwertsteuer”: Muss aktiv gesetzt werden, wenn WooCommerce die Steuern von Rabatten und Gutscheinen separat ausweist. Faustregel: Für B2C (Brutto-Verkäufe) inaktiv lassen, für B2B (Netto-Verkäufe) aktiv schalten.
Auftragsart & Auftragsstatus
- Für die “Zuordnung Shop-Zahlungsart zu weclapp-Auftragsart” musst du die ID der Zahlungsart aus WooCommerce eintragen. Für die Banküberweisung lautet die ID üblicherweise “bacs”. Um die genauen IDs herauszufinden, ersetze die Platzhalter in folgender URL mit den Daten, die du für die Verbindung von weclapp zu WooCommerce hinterlegt hast:
https://SHOP-URL/wp-json/wc/v3/payment_gateways?consumer_key=KEY&consumer_secret=SECRET
- Achte in der Tabelle “Status-Aktualisierung in WooCommerce” darauf, dass dein Prozess keinen Status doppelt übergibt.
Wenn deine Aufträge im Shop also beispielsweise schon bevor weclapp sie überhaupt abholt den Status “processing” haben, darf in der Tabelle nicht hinterlegt werden, dass weclapp den Auftrag bei einem Statusupdate im Shop erneut auf “processing” setzen soll.
Vermeide zudem Duplikate. Wenn du zum Beispiel hinterlegt hast, dass weclapp den Auftrag im Shop auf “completed” setzen soll, sobald er in weclapp “Komplett ausgeliefert” ist, darfst du nicht einstellen, dass weclapp den Auftrag zusätzlich auf “completed” setzen soll, wenn der Auftrag in weclapp “Komplett abgeschlossen” wird.
WooCommerce nimmt keine Statusupdates an, wenn der Auftrag schon den Status hat, in den er gesetzt werden soll, und gibt weclapp einen Fehler zurück. Diese Fehlermeldungen sammelt weclapp und versucht immer wieder, den Status upzudaten, was zu sehr viel Traffic auf dem Shop und zu verzögerten oder ausbleibenden Statusaktualisierungen führen kann.
Versandkosten
- Aktiviere die beiden Checkboxen „Steuern der Zusatzkosten über Positionssteuern berechnen“ und „Höchste Positionssteuer für Zusatzkosten verwenden“, um sicher zu stellen, dass weclapp die Versandkostensteuern einfach an die Steuern der Artikel im Auftrag anpasst.
- Für die “Zuordnung Versandkosten-Artikel” muss der exakte, zeichengenaue Name der Versandart in WooCommerce eingetragen werden. Innerhalb der WooCommerce-API findet man diesen im “method_title”.
Vertriebswege
- Du solltest sicherheitshalber sowohl einen Netto- als auch ein Brutto-Vertriebsweg hinterlegen:
Artikel
- Achte darauf, die Option „Produktpreise mit Mehrwertsteuer“ entsprechend zu aktivieren oder zu deaktivieren, je nachdem, ob du Brutto- oder Nettopreise an deinen Artikeln in weclapp pflegst und zum/vom Shop übertragen möchtest.
Die Einstellungen muss in weclapp und in WooCommerce gleichgeschaltet sein, da die Schnittstelle bei der Übertragung keine Umrechnung von Brutto zu Netto (oder umgekehrt) vornehmen kann.
Kundendaten – Umsatzsteuer-ID
- In WooCommerce gibt es ohne die Verwendung von Plugins kein Feld für die Umsatzsteuer-ID von Kunden. weclapp geht, basierend auf den am häufigsten verwendeten Plugins, folgendermaßen vor, um die Umsatzsteuer-ID herauszufinden:
1. Es prüft im Auftrag in der WooCommerce-API, ob es ein Feld “vat_number” gibt
2. wenn nicht, wird geprüft, ob der Bereich “billing” des Auftrags ein Feld “vat_id” enthält
3. wenn nicht, wird geprüft, ob der Bereich “meta_data” des Auftrags ein Feld “_vat_number” enthält
4. wenn nicht, wird geprüft, ob der Bereich “meta_data” des Auftrags ein Feld “_billing_vat” enthält
5. Findet weclapp dann noch immer keinen Eintrag, wird der Auftrag und der Kunde ohne Umsatzsteuer-ID zu weclapp übertragen.
Fehler, Ursachen und Lösungen
Wo finde ich die Fehlerprotokolle?
Zunächst ist es wichtig zu wissen, wo die Fehlerprotokolle in weclapp gefunden werden können. Für jede Art der Übertragung (Aufträge, Artikel, Kunden, Bestand) gibt es in weclapp immer, nachdem die Synchronisierung angestoßen wurde, im entsprechenden Bereich oben rechts eine Ampel (Hintergrundprotokoll), die beim Klick darauf ein filterbares Protokoll preisgibt:
- Auftragsübertragung: E-Commerce -> E Commerce Center
- Artikelübertragung: Artikel > Artikel
- Kundenübertragung: CRM > Kunden
- Bestandsübertragung: Lager > Bestand
Plugins, Module und Eigenentwicklungen
weclapp unterstützt für keins der anbindbaren Shopsysteme Plugins, Module oder Eigenentwicklungen im Onlineshop. Alle unsere Schnittstellen sind auf den Standardumfang eines Shopsystems ausgelegt. Wenn du also über ein Plugin in deinem Shop beispielsweise neue Artikeltypen hinzugefügt hast oder besondere Gutscheine generierst, kann es durchaus sein, dass daraufhin die Synchronisierung mit weclapp nicht mehr funktioniert.
Ausnahmen bilden hier für WooCommerce die Plugins „B2B-Market“, „Germanized“ und „WPML“.
„Keine eindeutige Steuer für … gefunden“
seit Update 22.10.1 (E-Commerce Center) arbeitet weclapp beim Import aus dem Shop noch strikter nach den Steuerregeln, zu finden und anzulegen unter
Einstellungen -> Grundeinstellungen -> Steuern -> Verkauf-UmsatzsteuerregelnWenn der Fehler also beispielsweise lautet:
“Keine eindeutige Steuer für Position “1”, Steuersatz in % “0”, Steuersatz “(leer)”, Versandland “Deutschland”, Empfängerland “Vereinigtes Königreich”, Personenart “Person” und Datum “03.06.22 00:00″ gefunden”
dann fehlt weclapp an besagter Stelle diese RegelVersandland: “Deutschland” -> Empfängerland: “Vereinigtes Königreich” -> Steuersatz: “leer” (“Bitte wählen…” stehen lassen) -> Kundenart: “Person” ===> “0%” SteuerÜber dieses Schema lassen sich aus allen Fehlern die notwendigen Regeln herauslesen.Zusätzlich ist darauf zu achten, dass unter
Einstellungen -> Integration -> Shops -> Betroffener Shop -> Reiter Versandkosten
auf jeden Fall die Option “Steuern der Zusatzkosten über Positionssteuern berechnen” aktiv ist, damit weclapp die Versandkostensteuern, die immer individuell sein können, direkt über die Steuern der verkauften Artikel ermittelt.
„no item tax found“
In den Steuerregeln (Grundeinstellungen -> Steuern -> Verkauf-Umsatzsteuerregeln) in weclapp gibt es mehrere Regeln, in denen kein Empfängerland gesetzt ist. Es sollte, bis auf wenige, spezielle Ausnahmen, immer nur eine einzige Regel existieren, in der die Spalte „Empfängerland“ leer ist. Ansonsten sollten in den Regeln immer mindestens das Versandland und das Empfängerland gesetzt sein.
Lösung: Entferne alle Steuerregeln, die aktuell gültig sind, bei denen kein Empfängerland gesetzt ist, bis auf eine einzige, bei der auch keine andere Spalte befüllt ist.
„Diskrepanz in den Auftragssummen“
Bitte prüfe, ob in den betroffenen Aufträgen Gutscheine oder Rabatte angewendet wurden. In den WooCommerce-Einstellungen in weclapp im Reiter „Aufträge“ gibt es die Einstellung „Coupons mit Mehrwertsteuer“. Teste den Import noch einmal, nachdem du diese aktiviert/deaktiviert hast.
Die Steuern innerhalb des Datensatzes, den weclapp von WooCommerce ausliest, müssen in sich schlüssig und logisch sein. Das kannst du prüfen, indem du die vom Shop übergebenen Daten per Klick auf den Link in der Spalte “E-Commerce-ID” im E-Commerce Center herunterlädst. Siehe dazu weiter unten “WooCommerce-Auftragsberechnung”.
Weitere Fehler
Allgemein | Ich kann die Shops unter “Integration” nicht sehen. | Der Benutzer muss “Mein-weclapp-Admin” sein und die Option “Darf nur eigene Kontakte sehen” darf nicht aktiv sein. |
Allgemein | Woher stammen meine Kunden- und Auftragsnummern? Kann ich einstellen, welches System die Nummern definiert? | Die Nummern stammen immer aus dem Shop/Marktplatz, damit eine Zuordnung nach der Übertragung zu weclapp möglichst einfach ist. |
Allgemein | Wie kann ich meine Shop-Kategorien zu weclapp übertragen? | In der Artikeltabelle unter dem Button “Externe Dienste” gibt es die Funktion “Shopkategorien zuordnen”, über die Artikel per Massenaktion den Shopkategorien zugewiesen werden können. Um die Kategorien dafür initial einmal vom Shop zu weclapp zu übertragen, klicke bitte auf die beiden runden Pfeile “Kategorien in weclapp aktualisieren”. |
Allgemein | Bei einer Artikelübertragung zeigt die Ampel immer “0” an, eine vollständige Synchronisierung scheint nicht möglich zu sein. | In den Shop-Einstellungen in weclapp im Tab Artikel gibt es das Feld “Letzte fehlerfreie Artikelsynchronisierung”. Ist hier ein Datum eingetragen werden nur Artikel berücksichtigt, die NACH diesem Datum noch einmal geändert wurden. Umgehen lässt sich das, indem man man in der Artikeltabelle in weclapp über den “Externe Dienste”-Button eine Artikelsynchronisierung anstößt und dabei ein sehr lange zurückliegendes Datum angibt (z.B. 01.01.1900). |
Allgemein | “Ein Fehler ist aufgetreten.” bei versuchter Artikel- oder Bestandssynchronisierung | Bitte prüfe, ob die URL in der Verbindung zum Shop in weclapp ohne jegliche Erweiterungen hinterlegt ist. Falsch: https://www.meinshop.com/shop/ Richtig: https://www.meinshop.com/ |
Allgemein | “Übertragung fehlgeschlagen: article is not available for sales channel XXXXX” | Im Auftrag enthaltene Artikel sind im Artikel in weclapp unter Weitere -> Aktivierte Vertriebswege nicht für den genannten Vertriebsweg freigegeben. |
Allgemein | Trotz korrekter Keys und URL lässt sich der Shop nicht verbinden. | Das SSL-Zertifikat kann eventuell nicht verifiziert werden. Bitte prüfe das Zertifikat des Shops. |
Allgemein | “address cannot be deleted” | Prüfen, ob die Rechnungsadresse am Kundendatensatz (NICHT am Auftrag selbst!) im Quellsystem vollständig ist. Die Ursache kann hier sein, dass weclapp die Kundendaten eines bestehenden Kunden mit den neuen Daten des Shops updaten will und diese Daten aber nicht vollständig sind, also beispielsweise kein Land enthalten. Zudem muss weclapp die bestehende Adresse am Kunden im CRM löschen können, um die neue, aktualisierte zu hinterlegen. Wenn die Adresse jedoch nicht löschbar ist, weil sie beispielsweise als primäre Rechnungsadresse deklariert ist, tritt dieser Fehler ebenfalls auf. Workaround: Option “Kunden beim Auftragsimport updaten” in den Shop-Einstellungen (temporär) deaktivieren. Aufträge laufen dann weiterhin mit den aktuellsten Daten aus dem Shop zu weclapp, Kundendaten im CRM werden dann aber nicht mehr aktualisiert. |
Allgemein | “contact (id=XXXXXX) is not removable” | In weclapp wurde dem Kunden ein Ansprechpartner hinzugefügt, der nicht löschbar ist, aber im Shop nicht vorhanden ist. weclapp versucht, den Kunden ohne Ansprechpartner zu aktualisieren, kann ihn aber nicht löschen. Workaround: Option “Kunden beim Auftragsimport updaten” in den Shop-Einstellungen (temporär) deaktivieren. Aufträge laufen dann weiterhin mit den aktuellsten Daten aus dem Shop zu weclapp, Kundendaten im CRM werden dann aber nicht mehr aktualisiert. |
Allgemein | “partyType cannot be changed” | Der Kunde hatte im Shop ursprünglich eine Firma angegeben, das wurde in der Kundenadresse im Shop geändert, so dass dort keine Firma mehr steht. In weclapp kann ein Firmenkunde nicht in einen Personenkunden umgewandelt werden. Gleiches Verhalten gilt andersherum auch, ein Personenkunde kann nicht in eine Firma umgewandelt werden. Workaround: Option “Kunden beim Auftragsimport updaten” in den Shop-Einstellungen (temporär) deaktivieren. Aufträge laufen dann weiterhin mit den aktuellsten Daten aus dem Shop zu weclapp, Kundendaten im CRM werden dann aber nicht mehr aktualisiert. |
Allgemein | Aufträge werden nicht übertragen, es gibt keine Fehlermeldung. | Wenn die Aufträge ein älteres Datum als das aktuelle haben, in den Shop-Einstellungen in weclapp das Feld “Letzte fehlerfreie Synchronisierung” mit dem aktuellen Datum befüllt ist und keine Sicherheitstage eingetragen sind, holt weclapp immer nur die Aufträge des aktuellen Datums ab. Entweder muss das Feld “Letzte fehlerfreie Synchronisierung” geleert oder Sicherheitstage eingetragen werden.
Sollten parallel mehrere Shops verbunden sein muss geprüft werden, ob sich die Nummernkreise der Aufträge überschneiden. Wenn Auftrag 12345 aus Shop A abgeholt wurde, kann kein Auftrag mit der selben Auftragsnummer aus Shop B geholt werden. Bei manchen Shopsystemen kann man einstellen, dass nur Aufträge abgeholt werden sollen, die einen bestimmten Status haben. Die Aufträge befinden sich ggf. nicht in dem Status. |
Allgemein | “No country for customer null” | Im Shop sind am Kundendatensatz (nicht am Auftrag!) keine oder unvollständige Adressdaten hinterlegt. |
Allgemein | “salesChannel is required” | In den Shop-Einstellungen im Tab “Vertriebswege” ist kein brutto- oder netto-Standardvertriebsweg hinterlegt. |
Allgemein | “Auftragsvalidierung fehlgeschlagen, bitte erst alle Lagerartikel entfernen” | In den Shop-Einstellungen im Tab “Aufträge” ist für die Option “Versand” die Einstellung “Kein Versand” gesetzt. Damit weclapp Aufträge aus dem Shop importieren kann, die bestandsführende Artikel beinhalten, muss hier auf “weclapp Lieferung” umgestellt werden. |
WooCommerce | Warum werden meine Artikel aus weclapp mit dem Namen “Produkt” in WooCommerce angelegt? | Prüfen, ob es Variantenartikel sind. Wenn ja, Variantennamen prüfen bzw. Option “Variantenartikelname synchronisieren” deaktivieren. |
WooCommerce | Beim Verbinden mit weclapp kommt der Fehler “401 – Unauthorized”, warum? | Schlüssel und/oder Geheimnis stimmen nicht, der API-Token hat nicht alle notwendigen Rechte oder wichtige Ordner auf dem Server sind zusätzlich vor Zugriff geschützt. |
WooCommerce | Woher kommt der Fehler “unexpected error”? | Bitte den weclapp-Support kontaktieren. |
WooCommerce | Übertragung fehlgeschlagen: Die von Ihrem Shop übermittelten Auftrags-Summendaten sind nicht konsistent | Häufig, wenn Gutscheine/Coupons im Auftrag vorhanden sind. Option “Coupons in Aufträgen mit verschiedenen Steuersätzen importieren” setzen und Option “Coupons inklusive Mehrwertsteuer” an WooCommerce-Einstellung angleichen. Ansonsten über die API prüfen, ob die Beträge (Total, Versand, Steuern, Discount) im Header des Auftrags mit den einzelnen Positionen übereinstimmen. In WooCommerce ist die Einstellung “Wertgutschein? Wähle diese Option aus, falls es sich um einen Wertgutschein handelt. Wertgutscheine wurden ohne MwSt. verkauft und werden erst bei der Einlösung besteuert.” dafür verantwortlich. |
WooCommerce | Übertragung fehlgeschlagen: Die Bruttobeträge in weclapp und im Shop stimmen nicht überein | Tritt auf, wenn die Steuerregeln in weclapp nicht mit den Regeln in WooCommerce übereinstimmen oder wenn in einem Shop sowohl normal (DE 19%) als auch ermäßigt (DE 7%) besteuerte Artikel verkauft werden. Ursache ist, wenn in einem Warenkorb beide Steuersätze vorkommen und WooCommerce jeweils Anteilig die Mehrwertsteuer dafür berechnet. Das unterstützt weclapp derzeit noch nicht. Um die Aufträge sauber zu weclapp zu übertragen muss in WooCommcerce eingestellt sein, dass die Versandkostensteuern immer dem höchsten, im Warenkorb auftretenden Steuersatz entsprechen. Dazu ist im “Germanized”-Plugin (dessen Verwendung wir dringend empfehlen) folgende Einstellung zu deaktivieren: “Plugins” -> “Installed Plugins” -> “Settings” bei “Germanized” -> “Taxes” -> “Split-Tax”. Zusätzlich müssen in weclapp in den Versandkosteneinstellungen der WooCommerce-Verbindung die Optionen “Steuern der Zusatzkosten über Positionssteuern berechnen” und “Höchste Positionssteuer für Zusatzkosten verwenden” aktiv sein. |
WooCommerce | Warum ist die Anrede immer “Herr”? | Die WooCommerce-API kann die Anrede nicht übergeben. |
WooCommerce | Warum werden meine Artikelbilder nicht zu WooCommerce übertragen? | Wenn die Bilder zuvor aus einem anderen WooCommerce-Shop samt Artikel übertragen wurden, können sie nicht an ein neues WooCommerce übergeben werden. |
WooCommerce | Generic Failure – HTTP/1.1 400 Bad Request – {“code”:”rest_invalid_param”,”message”:”Ung\u00fcltige(r) Parameter: images”,”data”:{“status”:400,”params”:{“images”:”images[0][src] ist nicht vom Typ string.”}}} | Das Bild hat einen falschen Dateityp oder Endung (muss .jpg oder .png sein). Auch wenn im Namen ein .jpg oder .png steht, kann der Typ falsch sein. Bilder mit richtige Typ erneut am Artikel hochladen. |
WooCommerce | Daten aus der zweiten Adresszeile werden in weclapp alle in “Straße” geschrieben, statt den Adresszusatz zu befüllen. | Der Key WOO_COMMERCE_DONT_JOIN_ADDRESS muss eingetragen werden. |
WooCommerce | “Übersetzung konnten nicht im Shop aktualisiert werden für […]: 500 Internal Server Error” | WooCommerce antwortet hier mit einem Shop-internen Fehler ohne weitere Informationen für weclapp. Das muss nicht zwangsläufig etwas mit den Übersetzungen zu tun haben, meistens ist die Übersetzungsübertragung auch gar nicht aktiv. Häufigste Ursache: In weclapp sind Artikelbilder hinterlegt, die entweder eine zu hohe Auflösung haben, zu groß sind oder ein Dateiformat verwenden, das WooCommerce nicht annimmt. Einfacher Gegentest: In den WooCommerce-Einstellungen in weclapp die Bildübertragung deaktivieren und prüfen, ob sich die Artikel dann synchronisieren lassen. Wenn ja, Bilder in weclapp entsprechend anpassen. |
WooCommerce-Auftragsberechnung
Body (hier befinden sich die einzelnen Positionen):
Jede Position im Auftrag hat die Felder “subtotal”, “subtotal_tax”, “total” und “total_tax”
“subtotal”: Positionswert ohne Steuern und ohne Gutscheinanteile
“subtotal_tax”: Steuern der Position ohne Steueranteil der Gutscheine
“total”: Positionswert ohne Steuern nach Abzug der Gutscheinanateile ohne Steuern
“total_tax”: Steuern nach Abzug der Steueranteile der Gutscheine
Gutscheine haben die Felder “discount” und “discount_tax”:
“discount”: Gutscheinwert ohne Steuern
“discount_tax”: Steuern der Gutschein
Wenn es einen Gutschein gibt, teilen sich der Betrag und die Steuern des Gutscheins gleichermaßen auf die Positionen auf.
Header (hier beffinden sich die Positionen aufsummiert):
“discount”: Summierter Wert aller Gutscheine ohne Steuern (Summe aller Werte aus “discount” im Body)
“discount_tax”: Summierter Wert aller Steuern der Gutscheine (Summe aller Werte aus “discount_tax” im Body)
“total”: Summierter Wert aller Werte aus “total” im Body
“total_tax”: Summierter Wert aller Werte aus “total_tax” im Body