Skip to main content

Automatisierter Sales-Abgleich

Beim Sales-Abgleich gleichen Sie die getrackten Transaktionen mit Ihrem Shop- oder Warenwirtschaftssystem ab: Was bezahlt und behalten wurde, wird bestätigt, was storniert oder retourniert wurde, wird storniert. Diese Seite beschreibt den kompletten Ablauf, das Dateiformat und die drei Wege, auf denen die Ergebnisse zurück ins System kommen.

Überblick

Der Abgleich läuft immer in drei Schritten:

  1. Offene Transaktionen holen: als Datei aus der Transaktionsliste oder automatisch über die Daten-API.
  2. Abgleichen: in Ihrem System entscheiden, welche Transaktion bestätigt, storniert oder im Umsatz korrigiert wird.
  3. Ergebnis zurückspielen: per Upload, per SFTP oder per Webservice-API.
Weg Geeignet für Automatisierbar Ergebnis sehen Sie unter
Upload im Transaktionsimport monatlichen oder wöchentlichen Abgleich von Hand nein Transaktionsimport, Historie
SFTP-Ordner „Sales-Abgleich“ regelmäßige Dateien aus Ihrer Warenwirtschaft ja, Abholung alle 15 Minuten Transaktionsimport, Historie und ExternalSources Monitor
Webservice-API (PUT Orders) direkte Anbindung Ihres Systems, auch einzelne Transaktionen ja Antwort des Aufrufs und Historie der Transaktion

Alle drei Wege ändern nur bestehende Transaktionen. Neue Transaktionen legt keiner dieser Wege an, solange Sie die Transaktions-ID (id) mitgeben.


Die Abgleichsdatei

Für Upload und SFTP brauchen Sie eine CSV-Datei. Für die API gelten dieselben Felder, nur als JSON.

Diese Spalten reichen

Spalte Pflicht Inhalt
id ja Transaktions-ID aus unserem System. Nicht Ihre Bestellnummer. Sie steht in jedem Export in der ersten Spalte.
status ja Neuer Status, siehe unten.
turnover nein Korrigierter Netto-Umsatz, zum Beispiel nach einer Teilretoure. Nur mitgeben, wenn er sich geändert hat.
cancel_reason nein Stornogrund als Freitext, zum Beispiel Retoure. Sinnvoll bei Status 2.

Mehr ist für einen Abgleich nicht nötig. Die Provision müssen Sie nicht mitschicken, das System rechnet sie selbst (siehe Provision).

Status

Wert Bedeutung
0 offen
1 bestätigt
2 storniert

Statt der Zahl verstehen Upload und SFTP auch die Wörter offen, bestätigt, storniert sowie open, confirmed, cancelled. Die API erwartet die Zahl.

Ausgezahlte Transaktionen (Status 3) sind abgerechnet und lassen sich über keinen der drei Wege mehr ändern. Setzen Sie Status 3 nie selbst, er entsteht bei der Auszahlung.

Provision

Lassen Sie die Spalte commission weg, rechnet das System die Provision beim Upload und über die API so:

  • Prozentuale Provision: Ändert sich der Umsatz, wird die Provision aus dem neuen Umsatz berechnet.
  • Feste Provision: bleibt, wie sie ist.
  • Warenkorb-Provision: wird beim Upload im Verhältnis zum neuen Umsatz angepasst.

Beim SFTP-Weg gilt eine Ausnahme, siehe Weg B.

Eine Spalte commission brauchen Sie nur, wenn Sie bewusst einen festen Betrag setzen wollen, der von der Provisionsgruppe abweicht. Steht sie in der Datei, wird ihr Wert genau so übernommen, auch wenn sich der Umsatz geändert hat.

Format

  • Die erste Zeile ist die Kopfzeile mit den Spaltennamen. Kein Titel, keine Beschreibung, keine Leerzeile darüber.
  • Eine Zeile je Transaktion. Keine Summenzeile am Ende.
  • Trennzeichen Semikolon ;, Textbegrenzer doppelte Anführungszeichen ", Kodierung UTF-8.
  • Beträge als reine Zahl: 12,49 oder 12.49. Keine Währung, kein EUR, kein € in der Zelle.
  • Eine leere Zelle bedeutet „nicht ändern“. Wer nur den Status setzen will, lässt turnover leer oder die Spalte ganz weg.
  • Nur Transaktionen aufnehmen, die Sie tatsächlich entschieden haben. Offene, die offen bleiben, gehören nicht in die Datei.

Beispiel:

id;status;turnover;cancel_reason
4271510;1;;
4271509;2;;Retoure
4223190;1;89,90;
4223189;2;;Bestellung nicht bezahlt

Zeile 1 bestätigt, Zeile 2 storniert mit Grund, Zeile 3 bestätigt mit korrigiertem Umsatz, Zeile 4 storniert.

Weitere Spalten wie Publisher-Name oder Ihre eigenen Notizen stören nicht. Sie werden beim Upload einfach nicht zugeordnet. Beim SFTP-Weg werden nur die fest vorgegebenen Spalten gelesen (siehe Weg B).

Wenn Sie die Datei erzeugen lassen

Erstellt ein Skript, ein Export Ihrer Warenwirtschaft oder ein KI-Assistent die Datei, geben Sie genau diese Vorgaben mit: Kopfzeile id;status;turnover;cancel_reason in Zeile 1, Beträge ohne Währung, keine Kopf- oder Summenzeilen, nur entschiedene Transaktionen. Prüfen Sie die erste Datei einmal im Transaktionsimport (Weg A), bevor Sie auf SFTP oder API umstellen.


Schritt 1: Offene Transaktionen holen

In der Transaktionsliste

  1. Transaktionen → Transaktionsliste öffnen.
  2. Zeitraum wählen und unter Status & Typ auf Offen filtern, bei Bedarf zusätzlich nach Kampagne.
  3. Liste aktualisieren klicken.
  4. Unter Export die Variante Transaktionsabgleich wählen und als CSV herunterladen.

Export Transaktionsabgleich

Der Export „Transaktionsabgleich“ enthält nur die Spalten, die für den Abgleich wichtig sind: id, status, timestamp, campaign_id, ordertoken, project_id, type, commission, trigger_id, turnover, order_currency, cancel_reason, dazu Projekt- und Kampagnenname. Die Bestellnummer aus Ihrem Shop steht in ordertoken, darüber finden Sie die Bestellung in Ihrem System.

Die Datei lässt sich direkt bearbeiten und wieder hochladen. Löschen Sie vorher die Spalte commission, wenn Sie Umsätze ändern. Sonst wird die alte Provision zurückgeschrieben, statt sie neu zu berechnen.

Automatisch über die Daten-API

Unter API → Daten-API steht derselbe Export als fester Link zur Verfügung, Zeile Transaktionsabgleich. Ihr System kann ihn regelmäßig abrufen, zum Beispiel jede Nacht.

Daten-API mit Transaktionsabgleich und Access-Token

https://<Ihre-Domain>/api/<ACCESS-TOKEN>/admin/<LOGIN-ID>/get-orders_small.csv?condition[l:status]=open&condition[period][from]=01.10.2026&condition[period][to]=31.10.2026
Teil Bedeutung
<Ihre-Domain> die Adresse, unter der Sie sich anmelden
<ACCESS-TOKEN> Ihr Access-Token, rechts auf der Seite Daten-API
<LOGIN-ID> Ihre Login-ID
.csv Format, alternativ .xlsx, .xml, .json
condition[l:status] open, confirmed, canceled, paid, auch kombiniert: open,confirmed
condition[period][from], [to] Zeitraum im Format TT.MM.JJJJ
condition[l:campaigns] nur bestimmte Kampagnen, zum Beispiel 1

Am einfachsten stellen Sie die Filter oben auf der Seite Daten-API ein und kopieren den fertigen Link. Alle Filter: Transaktions-API.

Der Access-Token wirkt wie ein Passwort. Geben Sie Links mit Token nur an Personen und Systeme weiter, die diese Daten sehen dürfen.


Schritt 2: Ergebnis zurückspielen

Weg A: Upload im Transaktionsimport

Transaktionen → Transaktionsimport (bzw. Administration → Transaktionsimport).

1. Datei. „Transaktionen“ auswählen, die CSV hineinziehen, Trennzeichen Semikolon und Textbegrenzer doppelte Anführungszeichen stehen lassen, Datei einlesen. Eine Notiz wie „Abgleich Oktober“ hilft später in der Historie.

Schritt Datei

2. Zuordnung. Heißen Ihre Spalten wie oben beschrieben, ordnet das System sie selbst zu: id → Transaktions-ID, status → Status, turnover → Umsatz, cancel_reason → Stornogrund. Unter jedem Feld steht der Wert aus der ersten Datenzeile, damit Sie sofort sehen, ob die Spalte passt. Heißen Ihre Spalten anders, wählen Sie sie hier von Hand aus.

Entscheidend ist der Hinweis über dem Formular:

  • blau, „Aktualisierung“: Die Transaktions-ID ist zugeordnet, bestehende Transaktionen werden geändert. So muss es beim Abgleich aussehen.
  • grün, „Neuanlage“: Keine Transaktions-ID zugeordnet, jede Zeile würde als neue Transaktion angelegt. Dann fragt das System nach Projekt-ID, Trigger-ID, Bestellnummer und Zeitpunkt. Für einen Abgleich ist das falsch: Spalte id prüfen.

Schritt Zuordnung: Aktualisierung erkannt

3. Prüfung. Vor dem Import zählt das System, was passieren würde. Für einen Abgleich steht die Zahl unter Änderung, gültig, bei Neu steht 0. Abgelehnte Werte erscheinen als Tabelle mit Zeile, Feld, Wert und Hinweis. Die Vorschau zeigt die ersten Zeilen, filterbar nach Fehlern und Dubletten.

Schritt Prüfung

4. Import. Import starten schickt den Auftrag an den Importer, er beginnt innerhalb weniger Sekunden. Mit Zur Freigabe vorlegen wird der Auftrag erst ausgeführt, wenn ein zweites Konto ihn freigibt (Vier-Augen-Prinzip).

Danach steht der Auftrag in der Historie unter dem Formular. Ein Klick öffnet das Detail: Zahl der geänderten und übersprungenen Zeilen, jede abgelehnte Zelle mit Grund und ein Protokoll je Zeile mit dem Wert vorher und nachher. Dort sehen Sie für jede Transaktion, was der Abgleich geändert hat.

Mehr zum Transaktionsimport: Transaktionsabgleich / Conversion.

Weg B: SFTP

Für regelmäßige Dateien richten Sie sich einen eigenen SFTP-Zugang ein. Den Abgleich übernimmt danach das System.

  1. Integrations → SFTP-Uploads öffnen und oben rechts die Kampagne wählen.
  2. Zugang einrichten. Das System legt den Zugang und die Ordner an und zeigt Host, Port, Benutzername und Passwort. Das Passwort wird nur dieses eine Mal angezeigt, speichern Sie es sofort in einem Passwortmanager. Ein neues lässt sich jederzeit erzeugen, das alte wird dabei sofort ungültig.
  3. Ihre Abgleichsdatei in den Ordner /order_abgleich_import/ hochladen.

Alle 15 Minuten holt das System neue Dateien aus dem Ordner, importiert sie und verschiebt sie danach nach done/. Jede Datei erscheint als eigener Auftrag in der Historie des Transaktionsimports, mit denselben Details wie bei Weg A.

Unterschiede zum Upload:

  • Es gibt keinen Zuordnungsschritt. Die Spalten müssen genau so heißen: id, status, turnover, cancel_reason, optional commission und description.
  • Trennzeichen ist immer das Semikolon, Textbegrenzer immer das doppelte Anführungszeichen.
  • Ändern Sie über SFTP den Umsatz, geben Sie die neue Provision in commission mit an.

Der Ordner /order_tracking_import/ ist für neue Transaktionen gedacht, nicht für den Abgleich. Eine Datei mit Spalte id gehört immer nach /order_abgleich_import/.

Weg C: Webservice-API

Mit der API ändert Ihr System Transaktionen direkt, einzeln oder viele auf einmal, ohne Datei.

Ändern oder neu anlegen? Das entscheidet die HTTP-Methode:

Methode Wirkung
PUT ändert bestehende Transaktionen. Legt nie eine neue an.
POST legt neue Transaktionen an, siehe Create Orders.

Für den Abgleich nutzen Sie ausschließlich PUT.

Zugang

URL https://<Ihre-Domain>/ws/V6/admin/REST/Orders
Methode PUT
Content-Type application/json
X-Auth-ID Login-ID Ihres Admin-Benutzers
X-Auth-Token Access-Token dieses Benutzers, zu finden unter API → Daten-API
X-Network-ID -1 (bzw. die ID Ihres Mandanten, wenn Sie mehrere haben)

Legen Sie für die Anbindung am besten einen eigenen Benutzer an, zum Beispiel „Salesabgleich API“. Dann ist in der Historie jeder Transaktion zu sehen, dass die Änderung aus der Anbindung kam.

Aufruf

curl -X PUT "https://<Ihre-Domain>/ws/V6/admin/REST/Orders" \
  -H "Content-Type: application/json" \
  -H "X-Auth-ID: <LOGIN-ID>" \
  -H "X-Auth-Token: <ACCESS-TOKEN>" \
  -H "X-Network-ID: -1" \
  -d '[
    { "id": 4271510, "status": 1 },
    { "id": 4271509, "status": 2, "cancel_reason": "Retoure" },
    { "id": 4223190, "status": 1, "turnover": 89.90 }
  ]'
Feld Pflicht Inhalt
id ja Transaktions-ID
status ja 0, 1 oder 2 als Zahl
turnover nein korrigierter Netto-Umsatz als Zahl mit Punkt, zum Beispiel 89.90
cancel_reason nein Stornogrund
commission nein nur für einen bewusst festen Betrag, siehe Provision

Schicken Sie nur diese Felder. Eine campaign_id ist nicht nötig, die id reicht. Große Abgleiche teilen Sie auf mehrere Aufrufe auf.

Antwort: Woran Sie sehen, dass alles angekommen ist

Die Antwort enthält in data jede Transaktion, die geändert wurde, mit ihrem neuen Stand:

{
  "data": [
    { "id": 4271510, "status": 1, "turnover": 19.99, "commission": 5, "cancel_reason": null, "status_change_date": "2026-10-28T14:50:44+00:00", ... },
    { "id": 4271509, "status": 2, "turnover": 19.99, "commission": 5, "cancel_reason": "Retoure", ... },
    { "id": 4223190, "status": 1, "turnover": 89.9, "commission": 8.99, ... }
  ]
}
  • Gleichen Sie die IDs in der Antwort mit den gesendeten ab. Eine Transaktion, die in data fehlt, wurde nicht geändert: Die ID gibt es nicht, oder die Transaktion ist bereits ausgezahlt. Die API meldet dafür keinen Fehler, die Zeile fehlt einfach.
  • status, turnover und commission in der Antwort sind die Werte, die jetzt im System stehen. Hier sehen Sie auch, ob die Provision neu berechnet wurde.
  • status_change_date setzt das System selbst, sobald sich der Status ändert.
  • Bei falschen Zugangsdaten kommt {"error": true, "message": "Authentification failed."}.

Testen Sie die Anbindung zuerst mit einer einzigen Transaktion und prüfen Sie das Ergebnis in der Transaktionsliste, bevor Sie den ganzen Abgleich schicken.

Weitere Felder und Beispiele: Update Orders.


Häufige Fehler

Was Sie sehen Ursache Lösung
„Es wurde nur eine Spalte erkannt“ und „Für die Neuanlage fehlen: Kampagnen-ID, Projekt-ID …“ Über der Kopfzeile stehen Titel, Beschreibung oder Leerzeilen, oder das Trennzeichen stimmt nicht. Alles über der Kopfzeile löschen. Trennzeichen im Schritt Datei prüfen.
Hinweis „Neuanlage“ statt „Aktualisierung“ Die Spalte mit der Transaktions-ID fehlt oder heißt anders. Spalte id nennen oder im Schritt Zuordnung bei Transaktions-ID auswählen.
Betrag abgelehnt: nicht als Zahl lesbar Währung oder Text in der Zelle, zum Beispiel 12,49 EUR. Nur die Zahl eintragen.
Letzte Zeile ungültig Summenzeile wie „Gesamt“ am Ende der Datei. Summenzeile entfernen.
Provision hat sich geändert, obwohl nur der Status geändert werden sollte Die Spalte commission aus dem Export wurde mitgeschickt. Spalte commission vor dem Upload löschen.
Provision bleibt alt, obwohl der Umsatz geändert wurde Spalte commission aus dem Export enthält noch den alten Wert, oder Abgleich per SFTP ohne commission. Beim Upload die Spalte löschen. Bei SFTP die neue Provision mitgeben.
Transaktion wurde nicht geändert Sie ist bereits ausgezahlt (Status 3), oder die ID stimmt nicht. ID in der Transaktionsliste suchen. Ausgezahlte Transaktionen korrigiert der Support.

So sieht der Transaktionsimport aus, wenn über der Kopfzeile noch Text steht:

Datei mit Text über der Kopfzeile


Fragen

Für Abgleiche, die über diese Wege hinausgehen, etwa ein Abruf direkt aus Ihrem Warenwirtschaftssystem oder ein festes Dateiformat, das Sie nicht ändern können, schreiben Sie an support@easy-m.de. Wir richten die passende Strecke mit Ihnen ein.