Verkaufskanäle

Überblick
Ein Verkaufskanal ist eine Verkaufsstelle außerhalb des Systems — ein Marktplatz oder ein Shop. Der Bereich hält zwei Richtungen zusammen: hinaus gehen Angebote und Bestände, herein kommen Bestellungen.
Der Grundsatz dahinter: Das System bleibt die Wahrheit. Ein Kanal bekommt eine Zuteilung vom Bestand, nicht den Bestand selbst — sonst verkauften zwei Kanäle dasselbe Stück.
Kernaufgaben
Einen Kanal einrichten. Sie legen den Kanal an, hinterlegen die Zugangsdaten und bestimmen, welche Bestandszuteilung und welcher Kunde für eingehende Bestellungen gelten.
Angebote pflegen. Ein Angebot verbindet ein Produkt mit dem Kanal. Titel, Beschreibung und Preis lassen sich je Kanal überschreiben — was nicht überschrieben ist, kommt aus dem Produktstamm.
Abgleich anstoßen. Der Abgleich sendet Angebote und Bestände hinaus und holt Bestellungen herein. Er lässt sich von Hand starten; im Regelbetrieb läuft er automatisch.
Bundles und Konfigurationsartikel. Meldet der Kanal die gewählten Optionen mit (Shopware: verschachtelte Positionen, Shopify: Bundles), übernimmt der Import einen Konfigurationsartikel mit genau dieser Auswahl und bucht die Teile nicht zusätzlich. Ist das Bundle bei Ihnen kein Konfigurationsartikel, bleiben die einzelnen Teile die Bestellung — wie ohne Bundle. WooCommerce liefert diese Angaben noch nicht.
Ein Angebot zurückziehen. Zurückziehen entfernt es auf dem Kanal, ohne das Produkt anzufassen.
Felder im Detail
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Kennung channelKey | ja | Text, max. 100 Zeichen | Die technische Kennung des Kanals. Nicht mehr ändern, sobald Aufträge darüber laufen. |
Name name | ja | Text, max. 160 Zeichen | Wie der Kanal in Listen und Auswertungen heißt. |
Anbindungsart connectorType | ja | verfügbarer Konnektor, max. 60 Zeichen | Womit verbunden wird — Marktplatz, Shop, Fremdsystem. |
Anbieter-Verbindung integrationProvider | nein | eingerichtete Anbindung | Über welche Anmeldung zugegriffen wird. |
Einstellungen config | nein | je nach Anbindung | Zugangsdaten und Kennungen des Kanals. |
Marke brandId | nein | eine Ihrer Marken | Unter welcher Marke die Aufträge dieses Kanals laufen. |
Währung currency | nein | Währungskennung nach ISO 4217, 3 Zeichen | In welcher Währung dieser Kanal verkauft. Leer = die Buchwährung. Steht hier etwas anderes, rechnet das System die Preise einmal um und meldet Betrag und Währung gemeinsam; ohne hinterlegten Kurs läuft kein Preis- oder Angebotslauf. |
Lager warehouseId | nein | bestehendes Lager | Aus welchem Bestand der Kanal bedient wird. |
Bestandsanteil (%) stockPercent | nein | 1 bis 100 | Wie viel des Bestands dem Kanal gemeldet wird. Bei mehreren Kanälen auf demselben Lager der Weg, nicht dieselbe Ware doppelt zu verkaufen. |
Bestandspuffer stockBuffer | nein | 0 oder mehr | Wie viele Stück zurückgehalten werden. Der wirksamste Schutz gegen Überverkauf: Der letzte Artikel wird nicht gemeldet, damit die zeitliche Lücke zwischen zwei Verkäufen niemanden trifft. |
Preis-Kunde priceCustomerUlid | nein | bestehender Kunde | Von welchem Kunden die Preisfindung übernommen wird. So bekommt ein Marktplatz seine eigenen Preise, ohne dass sie irgendwo doppelt gepflegt werden. |
Auffang-Kunde fallbackCustomerUlid | nein | bestehender Kunde | Wem ein Auftrag zugeordnet wird, dessen Käufer sich nicht zuordnen lässt. Ohne ihn bleibt der Auftrag hängen. |
Ausführender Nutzer runAsUserUlid | nein | bestehendes Konto | In wessen Namen der Kanal handelt. Dessen Rechte gelten — und im Protokoll steht diese Identität. |
Aufträge automatisch bestätigen autoConfirmOrders | nein | Ja/Nein | Ob eingehende Aufträge ohne Prüfung in die Bearbeitung gehen. |
Aufträge orders | nein | Liste eingehender Aufträge | Die vom Kanal übernommenen Bestellungen. |
Nur über Schnittstelle und Automation
| Feld | Werte / Format | Was es bewirkt |
|---|---|---|
operation und force | Vorgangsart, Ja/Nein | Löst einen Abgleich aus — Bestand melden, Preise senden, Aufträge holen. force übergeht die Schonfrist zwischen zwei Läufen; mit Bedacht zu verwenden, weil Marktplätze die Zahl der Anfragen begrenzen. |
externalOrderId | Fremd-Kennung | Welche Bestellung des Kanals als versandt gemeldet wird. Daran erkennt der Marktplatz die Sendung wieder. |
orderUlid | eigener Auftrag | Aus welchem eigenen Auftrag die Sendung stammt. |
carrier | Text, max. 60 Zeichen | Der Versanddienstleister — in der Schreibweise, die der Kanal erwartet. |
trackingNumber | Text, max. 120 Zeichen | Die Sendungsnummer, die der Käufer zu sehen bekommt. |
trackingUrl | Adresse, max. 500 Zeichen | Der Verfolgungs-Link zur Sendung. |
shippedAt | Zeitpunkt | Wann versandt wurde; leer = jetzt. |
lines | Liste aus Artikelnummer und Menge | Meldet eine Teilsendung. Leer heißt: die ganze Bestellung ist raus. Die Positions-Kennung des Marktplatzes ergänzt das System aus dem Bestell-Import — sie ist nirgends sonst zu bekommen. |
Einstellungen & Rechte
- Sehen:
channels.channel.view - Kanal einrichten (Zuteilung, Zugangsdaten, Kunde):
channels.channel.manage - Angebote:
channels.listing.manage - Abgleich anstoßen:
channels.sync.execute
Modul-Flag: module.channels. Die eigentliche Anbindung an einen konkreten Marktplatz bringt jeweils ein eigenes Kanal-Plugin mit.
FAQ & Fehlerbilder
Der Bestand auf dem Kanal weicht ab. Prüfen Sie die Zuteilung: Der Kanal sieht nur seinen Anteil, nicht den Gesamtbestand.
Eine Bestellung kam ohne Kunden an. Dann fehlt am Kanal der Kunde für eingehende Bestellungen.
Der Abgleich meldet einen Fehler. Die Meldung des Kanals steht im Lauf-Journal — meist sind es abgelaufene Zugangsdaten oder ein vom Marktplatz abgelehntes Feld.