Hallo beisammen, wie schon zahlreiche andere Leute über viele Jahre hier gepostet haben suchen auch wir eine Funktion, die eigentlich Standard in jedem Shopsystem sein sollte. Aber leider nicht ist. Für die Buchhaltung eines größeren Gambio Shops der in mehrere Länder B2C und B2B zu unterschiedlichen MwSt.-Sätzen verkauft brauchen wir dringend die Möglichkeit des Exportes aller Bestelllungen sowie Stornorechnungen. Ich hab mich bereits mehrere Stunden hingesetzt und einen wunderbar komplexen MySQL Befehl erarbeitet: PHP: SELECT o.orders_id,o.billing_firstname,o.billing_lastname, o.date_purchased,o.gm_orders_code,o.payment_method, o.billing_country,o.customers_vat_id, otsi.gross, otsi.net, otsi.tax, otsi.tax_rate, GROUP_CONCAT(ot.value separator '|')FROM orders AS oLEFT JOIN orders_tax_sum_items AS otsiON otsi.order_id = o.orders_idLEFT JOIN orders_total AS otON ot.orders_id = o.orders_idWHERE o.date_purchased >= '2023-02-01' AND o.date_purchased < '2023-03-01'GROUP BY o.orders_idORDER BY o.orders_id; Damit bekomme ich: Bestell ID Vorname und Nachname Kaufdatum Bestellnummer Bezahlweise Rechnungsland VAT ID Kunde Nettoendpreis Bruttoendpreis Steuerbetrag Steuersatz Aber nur für alle B2C und nicht ins Ausland Kunden. Bei den Bestellungen aus dem Ausland enthält die Tabelle order_tax_sum_items keinerlei Werte. Erste Frage: warum? Ja, ist klar dass es technisch nicht nötig oder "korrekt" ist dort Daten zu schreiben wenn keinen VAT berechnet wird - aber die DB Struktur wäre dann VIEL konsistenter. Was macht Gambio bei Kunden B2B oder Ausland? So wie es ausschaut werden dann einfach sehr inkonsistente Text in die Tabelle orders_total geschrieben. Die Abfolge und Anzahl der Werte variiert von Bestellung zu Bestellung. Eine automatisierte Auswertung ist damit nicht möglich, nur manuelles Entschlüsseln. Das reicht meinem Kunden nicht. Meine Fragen: Kann man mittels MySQL auch an die B2B und steuerbefreite Auslandskunden Werte oben rankommen? Ich habe außer orders_total nichts gefunden, und die Daten dort sind wie gesagt höchst inkonsistent Wie komme ich an die obigen Daten für Stornorechnungen, also zumindest Netto/Brutto/Steuersatz und Kundenkontaktdaten / Land? Es kann doch nicht sein dass man für eine eigentlich derartig wichtige Sache eine volle ERP der Wawi für gerne mal 50 € im Monat anbinden muss. Kennt jemand vielleicht ein passendes Modul? Vielen Dank!
Nachdem ich MySQL-technisch komplett ungebildet bin und ich auch der Meinung bin dass eine Abfrage von Werten direkt über die Datenbank problematisch ist, da sich Strukturen dort von Version zu Version des Shops schnell mal ändern können fände ich das Mittel der Wahl die Abfrage per REST-API umzusetzen. https://developers.gambio.de/docs/4.8.0.0/rest/gambio-gx3-api/reference/orders/get-orders/ Mit welcher Software man so was umsetzt ist offen, ob JavaScript, Python, PHP oder wie in meinem Fall eine simple FileMaker Datenbank (https://www.claris.com). Alles was curl-Abfragen unterstützt und idealerweise auch JSON-Antworten interpretiere kann ist geeignet. Und wenn Gambio intern an der Shop-Datenbank was ändert ist das egal, weil die API-Abfragen gleich bleiben.
Das sehe ich genauso, die Bestellung selbst ist doch komplett egal - das einzig Interessante ist die PDF Rechnung, damit arbeiten wir auch.
Stimmt. In der Tabelle invoices stehen dazu alle relevanten Daten. Alles weitere kann man anhand der order_id und/oder der customers_id aus allen anderen Tabellen raussuchen. So etwas habe ich bei mehreren Kunden schon als "Steuerberaterexport" installiert.
in invoces hatte ich auch schon reingeschaut. da bekommt man summen, zahlweisen. aber nicht brutto/netto. ebenso nicht vk. der einzige ort wo das bei vat-befreiten bestellungen zu stehen scheint ist orders_total - und da sehr inkonsistent strukturiert.