Export aller Bestellungen für Buchhaltung

Thema wurde von ff-webdesigner, 15. April 2023 erstellt.

  1. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    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 o
    LEFT JOIN orders_tax_sum_items 
    AS otsi
    ON otsi
    .order_id = o.orders_id
    LEFT JOIN orders_total 
    AS ot
    ON ot
    .orders_id = o.orders_id
    WHERE o
    .date_purchased >= '2023-02-01' AND o.date_purchased < '2023-03-01'
    GROUP BY o.orders_id
    ORDER 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!
     
    Zuletzt bearbeitet: 15. April 2023
  2. markus_wick

    markus_wick Erfahrener Benutzer

    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.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    [gelöscht]
     
    Zuletzt bearbeitet: 4. Oktober 2023
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Das sehe ich genauso, die Bestellung selbst ist doch komplett egal - das einzig Interessante ist die PDF Rechnung, damit arbeiten wir auch.
     
  5. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    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.
     
  6. Hilke (Gambio)

    Hilke (Gambio) Super-Moderator Mitarbeiter

    (Ich habe schnell den Typo im Titel angepasst, damit das Thema auch für andere findbar ist :) )
     
  7. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    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.