Wie wird der Inhalt von Bestellungen ausgelesen und nach Bexio synchronisiert?

Von der Bestellung ausgelesene Daten

Nachfolgend findest du Informationen dazu, welche Daten der WooCommerce Bexio Automator (WCBA) primär aus der Bestellung ausliest, um diese an Bexio zu übermitteln.

 

Adresse(n)

Der WCBA liest die in der Bestellung enthaltenen Artikel direkt aus dem Bestellungs-Objekt aus. Dazu wird die offizielle Methode von WooCommerce für diesen Zweck - get_address() - verwendet.

 

Weitere Informationen dazu, wie anhand der ausgelesenen Adressen die Kontakte nach Bexio synchronisiert werden, findest du hier.

 

Hinweise zum ausgelesenen Land

Anhand des aus der WooCommerce Bestellung ausgelesenen Landes wird in Bexio nach dem jeweiligen Land gesucht, welches übermittelt werden soll. Welche Länder in Bexio vorhanden sind, kannst du jeweils in deinem Bexio Konto überprüfen. Hierbei gilt zu beachten, dass Bexio keine einheitlichen 2 oder 3 stelligen Ländercodes nach ISO verwendet, sondern eigene Länderkürzel, wohingegen WooCommerce die offiziellen ISO-Codes verwendet. Dies kann zu Problemen führen. Aus diesem Grund mappt der Bexio Automator Länder-Codes zwischen WooCommerce & Bexio, damit diese in Bexio gefunden werden können. Dabei wird zuerst nach dem ISO Länder-Code aus WooCommerce gesucht - wird damit nichts gefunden, wird mit dem gemappten Länderkürzel von Bexio erneut gesucht. Folgende Länderkürzel von Bexio sind im WCBA gemappt (es wird von den Standardkürzeln ausgegangen, falls du diese in Bexio verändert hast, kann dies dazu führen, dass ein falsches Land in der Bestellung übermittelt wird):

  • AE => VAE
  • AT => A
  • BE => B
  • CA => CDN
  • DE => D
  • FR => F
  • IE => IRL
  • IL => ISR
  • IT => I
  • LI => FL
  • LUX => LU
  • QA => KAT
  • SG => SIN
  • US => USA

 

Anhängen von Kanton/Staat am Ort

Da Bexio für diese Daten keine separaten Felder in den Adressen hat, bietet der WCBA die Möglichkeit, diese Daten dem Ortsfeld anzuhängen, damit sie trotzdem an Bexio übermittelt werden können. Falls du dies benötigtst, kannst du im WCBA die Option "Kanton/Staat dem Ort anhängen" aktivieren.

 

Automatische Optimierung von Adressen

Falls du willst, dass die Adressdaten automatisch in ein einheitliches Format konvertiert werden, kannst du im WCBA die Option "Automatische Optimierung von Adressdaten" aktivieren. Dies wandelt E-Mail Adressen in Kleinbuchstaben um, Ländercodes in Grossbuchstaben und Namen mit grossen Anfangsbuchstaben der Wörter. Dies gilt jeweils für neu synchronisierte Adressen - bestehende Bexio-Adressen werden nicht verändert.

 

Lieferadressen-Modus

In Bexio können Zusatzadressen als Rechnungs-Adresse markiert werden. Dies kann dazu führen, dass eine andere als die vom Kunden eingegebene Adresse als Rechnungsadresse auf dem Auftrag hinterlegt wird, wenn die vom Kunden eingegebene Rechnungsadresse mit jener des gefundenen Bexio-Kontaktes selbst übereinstimmte. Weitere Informationen zu diesem Thema findest du hier. Über die Option "Bexio Lieferadressen-Modus" im WCBA kannst du einstellen, dass in jedem Fall Zusatzadressen für die Lieferadresse erstellt werden sollen.

Artikel

Der WCBA liest die in der Bestellung enthaltenen Artikel direkt aus dem Bestellungs-Objekt aus. Dazu wird die offizielle Methode von WooCommerce für diesen Zweck - get_items() - verwendet.

 

Artikel werden entweder als Standard-Position oder als Produkt-Position nach Bexio synchronisiert. Wenn in Bexio ein Produkt mit exakt übereinstimmender Artikel-Nr. gefunden wird, wird eine Produkt-Position erstellt, andernfalls eine Standard-Position.

 

Zu beachten

Ist ein Artikel mit dieser Methode nicht aus der Bestellung auslesbar, kann er nicht direkt durch den WCBA nach Bexio synchronisiert werden! Dies würde auf eine Inkompatibilität in deinem Shop, üblicherweise durch ein anderes Plugin, hindeuten. Welche Artikel aus der Bestellung ausgelesen werden können, kann mit dem Data-Dump überprüft werden (siehe weiter unten).

Gebühren

Der WCBA liest die in der Bestellung enthaltenen Gebühren direkt aus dem Bestellungs-Objekt aus. Dazu wird die offizielle Methode von WooCommerce für diesen Zweck - get_fees() - verwendet. Gebühren werden Standardmässig als Standard-Position nach Bexio synchronisiert.

Versand

Der WCBA liest die in der Bestellung enthaltenen Versandkosten direkt aus dem Bestellungs-Objekt aus. Dazu wird die offizielle Methode von WooCommerce für diesen Zweck - calculate_shipping() - verwendet.

Ist in WooCommerce eingestellt, dass die Preise im Checkout inkl. MwSt. sind, werden zusätzlich die Steuern aus der Bestellung ausgelesen und dazugerechnet, dazu wird die Methode get_shipping_tax() von WooCommerce verwendet.

Versandkosten werden Standardmässig als Standard-Position nach Bexio synchronisiert, jeweils mit dem für Versand festgelegten Buchungskonto und Steuersatz.

Rabatte

Der WCBA liest die in der Bestellung enthaltenen Rabatte direkt aus dem Bestellungs-Objekt aus. Dazu wird die offizielle Methode von WooCommerce für diesen Zweck - get_total_discount() - verwendet.

Rabatte können auf verschiedene Arten nach Bexio synchronisiert werden:

  • Rabatte werden standardmässig als Rabatt-Position nach Bexio synchronisiert.
  • Alternativ kann ein Buchungskonto für Rabatte festgelegt werden, damit Rabatte als Standard-Position mit negativem Betrag synchronisiert werden können - dadurch kann dieser Position ein bestimmtes Buchungskonto zugewiesen werden (ist bei Rabatt-Positionen in Bexio nicht möglich). Beachte jedoch, dass dies zu Problemen führen kann, wenn im Auftrag gemischte Steuersätze vorhanden sind, da der Betrag dann nur über den Steuersatz der Standard-Position abgezogen werden kann.
  • Mit dem Zusatzmodul "Rabatt Synchronisierung" ist es weiterhin auch möglich, Rabatte pro Auftrags-Position aufgeschlüsselt zu synchronisieren.

 

Aufgepasst bei Gutschein-Plugins

Gutschein-Plugins hinterlegen die Rabatte durch angewendete Gutscheine erfahrungsgemäss häufig nicht gleich auf der Bestellung, wie WooCommerce dies standardmässig tut. Dies führt dazu, dass wenn so ein Gutschein angewendet wurde und der WCBA mit der WooCommerce-Methode get_total_discount() (siehe oben) versucht, die angewendeten Rabatte auszulesen, diese mitunter nicht ausgelesen werden können, weil sie anders hinterlegt wurden. Falls du ein Gutschein-Plugin verwendest und Rabatte nicht erkannt, resp. synchronisiert werden, ist höchstwahrscheinlich das die Ursache. In diesem Szenario musst du dann individuelle Anpassungen vornehmen, um die notwendigen Rabatte aus der Bestellung auszulesen und nach Bexio zu übermitteln. Dazu kannst du z.B. den Filter 'raptus_wc_bexio_connector_discount_data' im WCBA verwenden, um die Rabatte zu schicken - wie diese ausgelesen werden können, hängt dann jeweils vom verwendeten Plugin ab.

Kommentare

Der WCBA liest die in der Bestellung enthaltenen Bemerkungen / Kommentare direkt aus dem Bestellungs-Objekt aus. Dazu wird die offizielle Methode von WooCommerce für diesen Zweck - get_customer_note() - verwendet.

Kommentare werden standardmässig als Kommentar im Bexio-Auftrag synchronisiert. Mit der Option "Synchronisierungsmodus von Bestellkommentaren" lässt sich alternativ einstellen, dass Kommentare als Text-Position synchronisiert werden.

 

Text-Positionen synchronisieren

Es können beliebige weitere Text-Positionen synchronisiert werden, indem diese in den nach Bexio geschickten Daten im Array mit dem Key 'texts' geschickt werden. Diese werden dann am Ende des Auftrages als Text-Position(en) angehängt (Pro Text im Array je eine Text-Position).

Währung

Der WCBA liest die in der Bestellung gesetzte Währung direkt aus dem Bestellungs-Objekt aus. Dazu wird die offizielle Methode von WooCommerce für diesen Zweck - get_order_currency - verwendet. Existiert diese Methode nicht, wird nach dem Postmeta-Eintrag '_order_currency' gesucht.

Anhand der so ermittelten Währung (z.B. CHF) wird in Bexio nach einer Währung mit übereinstimmendem Namen gesucht, welche dann im Auftrag hinterlegt wird. Damit die gewünschte Shop-Währung korrekt nach Bexio synchronisiert wird, muss sie dort entsprechend auch existieren.

 

Hinweise zur Rundung: beachte, dass die Preise, die synchronisiert werden, gerundet werden. Einerseits werden im Shop die Rundungs-Einstellungen von WooCommerce beachtet, andererseits rundet der WCBA Preise auf maximal 6 Nachkommastellen bei der Synchronisierung nach Bexio (da Bexio nicht mehr als 6 Nachkommastellen auf Produkten erlaubt).

 

Hinweise zur Rundung in Bexio

Bexio zeigt Beträge gerundet gemäss eigenen Einstellungen an, ungeachtet der Rundung in WooCommerce. Auf Produkten können Preise zwar grundsätzlich mit 6 Nachkommastellen angegeben werden, auf Aufträgen, Rechnungen etc. werden allerdings standardmässig nur 2 Nachkommastellen angezeigt. In den Dokumenteneinstellungen kann zwar angegeben werden, dass Preise mit bis zu 4 Nachkommastellen gerundet werden sollen, allerdings scheint sich dies Erfahrungsgemäss nur auf die Anzeige im Dashboard auszuwirken, nicht auf die Anzeige in Aufträgen, Rechnungen etc.

Bei Fragen zur Rundung und Darstellung von Preisen in Bexio selbst, wende dich an den Support von Bexio.

Sprache

Informationen dazu, wie die Sprache für die Synchronisierung nach Bexio ausgelesen wird, findest du hier.

Beachte, dass jeweils die ausgelesene Sprache zum Zeitpunkt der Synchronisierung gilt. Dies ist insbesondere dann relevant, wenn du z.B. mit dem Data-Dump (siehe unter Troubleshooting) eine Bestellung überprüfen willst und diese mit einer anderen Sprache betrachtest, als die Kund:in bei der Bestellung verwendet hatte.

 

Anpassen der nach Bexio geschickten Daten

Der WCBA bietet mehrere Filter, um die nach Bexio geschickten Daten anzupassen. Dies sind folgende:

  • 'raptus_wc_bexio_connector_order_data' = der generelle Filter, erlaubt es alles anzupassen, was an Bexio geschickt wird (enthält aber auch alle Daten).
  • 'raptus_wc_bexio_connector_order_item_data' = dieser Filter erlaubt es, die nach Bexio geschickten Produkt-Daten anzupassen.
  • 'raptus_wc_bexio_connector_discount_data' = dieser Filter erlaubt es, die nach Bexio geschickten Gebühren anzupassen.
  • 'raptus_wc_bexio_connector_shipping_data' = dieser Filter erlaubt es, die nach Bexio geschickten Versandkosten anzupassen.
  • 'raptus_wc_bexio_connector_shipping_title' = dieser Filter erlaubt es, den Text der Versandkosten-Position, die nach Bexio synchronisiert wird, anzupassen.
  • 'raptus_wc_bexio_connector_order_title' = dieser Filter erlaubt es, den Titel des Auftrages, welcher in Bexio erstellt wird, anzupassen.
  • 'raptus_wc_bexio_connector_order_title_template_replacements' = dieser Filter erlaubt es, die Platzhalter-Argumente zum Anpassen des Auftrags-Titels, anzupassen.

Zu beachten: dies ist keine abschliessende Auflistung der verfügbaren Filter im Plugin. Eine vollständige Liste ist im README des Plugins zu finden.

 

Troubleshooting

Wenn du das Gefühl hast, dass etwas nicht richtig aus der Bestellung ausgelesen wird, kann du dies mit dem Data-Dump überprüfen. Bearbeite dazu die betroffene Bestellung in WooCommerce und füge der URL &order_bexio_data_dump an. Damit kannst du die Daten einsehen, die zum aktuellen Zeitpunkt aus der Bestellung ausgelesen werden können.

 

Zu beachten

Der Data-Dump liest die Daten zum aktuellen Zeitpunkt aus. Daher gilt: diese entsprechen evtl. nicht zu 100% den Daten, die bei der Synchronisierung einer Bestellung an Bexio geschickt wurden. Dies betrifft z.B. nachträgliche Änderungen an Buchungskonten / Steuersätzen etc. oder Daten, die vom jeweiligen Zustand im Shop abhängig sind (z.B. die Sprache). Generelle, auf der Bestellung hinterlegte Daten (wie Zahlungsmethode, Adresse, Artikel, Rabatte etc.) stimmen jedoch in der Regel mit jenen überein, die bei der Synchronisierung der Bestellung geschickt worden wären.

War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich

Kommentare

0 Kommentare

Zu diesem Beitrag können keine Kommentare hinterlassen werden.

Haben Sie noch Fragen?
Anfrage einreichen