Cross-Docking in Odoo 20: Einrichtung und Ablauf
Kurz gesagt
Cross-Docking bilden Sie in Odoo 20.0 Community (On-Premise) mit einer eigenen Route ab, weil die frühere Route Cross-Dock fehlt: Sie fiel mit der Linie 19.0 aus dem Lager-Modul, und die Dokumentation führt sie nur bis Version 18.0. Nötig sind ein Lagerhaus mit zwei Schritten im Ein- und Ausgang, eine Route mit Einkaufsregel und Push-Regel Eingang → Ausgang sowie die Zuweisung an der Verkaufsauftragszeile; dieser Routenaufbau ist ein redaktioneller Konfigurationsvorschlag, keine dokumentierte Odoo-Funktion.
Das Wichtigste
- Im öffentlichen Community-Zweig 20.0 gibt es keine Route Cross-Dock mehr: Das Feld crossdock_route_id fehlt, und die Nutzerdokumentation beschreibt die Route nur bis Version 18.0.
- Die Vorgangsart Kreuzverkupplung (Cross Dock) bleibt je Lagerhaus erhalten: Quelle WH/Eingang, Ziel WH/Ausgang.
- Zwei Schritte im Wareneingang und im Warenausgang sind Voraussetzung; sie erzeugen die Lagerorte Eingang und Ausgang (Standard WH/Eingang, WH/Ausgang).
- Der hier vorgeschlagene Routenaufbau braucht Sequenz 20, eine Einkaufsregel mit Ziel Partner/Kunden und eine Push-Regel WH/Eingang → WH/Ausgang.
- In diesem Aufbau gehört die Route an die Verkaufsauftragszeile; am Produkt hinterlegt greift sie auch bei jedem normalen Wareneingang.
Beim Cross-Docking verlässt die Ware den Wareneingang in Richtung Versand, ohne im Lagerbestand zu landen. Odoo hält für diesen Ablauf zwei Lagerorte bereit — Eingang und Ausgang — und eine Vorgangsart zum Umladen; es fehlt die Route, die beide verbindet. Diese Anleitung legt sie an und führt den Belegfluss von der Bestellung bis zur Lieferung durch. Beschrieben ist Odoo 20.0 Community als On-Premise-Installation; eine Route gibt Odoo nicht dokumentiert vor, der Aufbau unten ist ein redaktioneller Konfigurationsvorschlag. Wie Routen und Regeln grundsätzlich zusammenspielen, steht unter Lagerrouten und Regeln in Odoo.
Was Sie vorab brauchen
- Schreibrechte auf Lager ‣ Konfiguration; die Lagerhaus-Einstellungen liegen bei den Lagerverwaltern.
- Die Apps Lager, Verkauf und Einkauf; für die Route selbst genügt die App Lager.
- Ein Lagerhaus, dessen Wareneingänge und Warenausgänge Sie umstellen dürfen, ein Produkt mit hinterlegtem Lieferanten und Preis und einen Kundenkontakt.
- Eine Entscheidung über den Anwendungsfall: ein Produkt, das immer cross-docked wird, oder einzelne Aufträge eines sonst eingelagerten Produkts. Sie bestimmt, wo die Route hängt.
- Eine Testkopie der Datenbank: Odoo dokumentiert diesen Aufbau seit 19.0 nicht mehr, prüfen Sie ihn vor dem Einsatz.
Warum Odoo 20.0 keine Cross-Docking-Route mehr mitbringt
Bis Version 18.0 entstand die Route von selbst. Wer Mehrstufige Routen aktivierte und Wareneingänge und Warenausgänge auf je zwei Schritte stellte, bekam die Route Cross-Docking automatisch; am Produkt wurden die Routen Einkaufen und Cross-Dock gesetzt, und der Empfang lief vom Lagerort Eingang zum Lagerort Ausgang. So steht es auf der Seite “Organize a cross-dock in a warehouse”, die für Version 18.0 noch abrufbar ist.
Mit der Linie 19.0 fiel die Route weg. Die Dokumentation löschte die Seite am 9. April 2025 (Commit “[REM] Inventory: remove cross dock saas-18.2”), im öffentlichen Community-Quellcode der Zweige 19.0 und 20.0 kommen das Feld crossdock_route_id und seine Regeln nicht mehr vor, und die Nutzerdokumentation führt für 19.0 und 20.0 keine Cross-Docking-Seite. Erhalten geblieben ist die Vorgangsart Kreuzverkupplung (Cross Dock): Odoo legt sie je Lagerhaus an, mit WH/Eingang als Quelllagerort und WH/Ausgang als Ziellagerort.
Den Grund nennt die Änderung “[FIX] {sale_purchase_,}stock: remove the cross-dock route” vom 17. Januar 2025. Die Regeln der alten Route übersteuerten die regulären Regeln des Wareneingangs, sobald sie am Produkt hingen — ein normaler Einkauf wurde dann nicht mehr eingelagert. Hing die Route nur am Verkaufsauftrag, blieb sie wirkungslos, weil die daraus erzeugte Bestellung keine Route mitführte. Odoo entfernte die Route und ließ stattdessen die Routen der Verkaufsauftragszeile an die Vorgänge der Bestellzeile weiterlaufen. Genau dieser Weg trägt den Aufbau unten.
Mit den Standardrouten allein erreichen Sie Cross-Docking nicht: Der zweistufige Wareneingang führt die Ware über WH/Eingang nach WH/Bestand, und die zweistufige Lieferung kommissioniert aus WH/Bestand und gibt sie über WH/Ausgang frei (Dokumentation 20.0, Seite “Two-step receipt and delivery”).
Schritt für Schritt: eigene Route für Cross-Docking
Die folgenden Schritte sind ein redaktioneller Konfigurationsvorschlag für Odoo 20.0 Community (On-Premise); sie stehen in dieser Form in keiner Odoo-Dokumentation.
Schritt 1: Mehrstufige Routen aktivieren
Öffnen Sie Lager ‣ Konfiguration ‣ Einstellungen und setzen Sie im Abschnitt Lagerhaus das Kontrollkästchen Mehrstufige Routen. Speichern Sie. Laut Dokumentation 20.0 schaltet diese Funktion die Lagerorte mit ein.
Ergebnis: Unter Lager ‣ Konfiguration stehen die Menüpunkte Routen und Lagerhäuser zur Verfügung.
Schritt 2: Lagerhaus auf zwei Schritte stellen
Öffnen Sie Lager ‣ Konfiguration ‣ Lagerhäuser und wählen Sie Ihr Lagerhaus. Setzen Sie im Reiter Lagerhaus-Konfiguration das Feld Wareneingänge auf “In 2 Schritten erhalten (Eingang + Bestand)” und das Feld Warenausgänge auf “In 2 Schritten liefern (Kommissionierung + Versand)”.
Ergebnis: Odoo legt die Lagerorte WH/Eingang und WH/Ausgang an (WH ist der Kurzname des Standardlagerhauses; bei einem anderen Kürzel heißen sie entsprechend) und führt je Lagerhaus die Vorgangsart Kreuzverkupplung mit Quelle WH/Eingang und Ziel WH/Ausgang.
Schritt 3: Route anlegen
Öffnen Sie Lager ‣ Konfiguration ‣ Routen und klicken Sie auf Neu. Tragen Sie den Namen Cross-Docking ein und setzen Sie die Sequenz auf 20. Odoo ordnet Regeln mit kleinerer Route-Sequenz zuerst ein und zieht damit die Regeln dieser Route vor die des Lagerhauses heran (addons/stock/models/stock_rule.py, Zweig 20.0). Setzen Sie das Kontrollkästchen Auswählbar in Verkaufsauftragszeilen; Bei Produkt auswählbar nur dann, wenn jedes Exemplar des Produkts cross-docked wird.
Ergebnis: Die Route erscheint an der Verkaufsauftragszeile im Feld Routen.
Schritt 4: Einkaufsregel für den Bedarf eintragen
Öffnen Sie im Reiter Regeln eine neue Zeile und wählen Sie: Aktion Einkaufen, Vorgangsart Eingänge, Quelllagerort leer, Ziellagerort Partner/Kunden.
Ergebnis: Meldet ein Auftrag mit dieser Route Bedarf am Kundenlagerort, erzeugt Odoo eine Angebotsanfrage an den Lieferanten des Produkts.
Diese Regel folgt einem Muster aus Odoo selbst: Die Route Streckengeschäft, die Odoo 20.0 ausliefert, besteht aus einer Regel der Aktion Einkaufen von Partner/Lieferanten zu Partner/Kunden. Auch die alte Cross-Dock-Route trug bis Version 18.0 eine Einkaufsregel mit dem Kundenlagerort als Ziel.
Schritt 5: Umladeregel eintragen
Legen Sie im Reiter Regeln eine zweite Zeile an: Aktion Schieben nach, Quelllagerort WH/Eingang, Ziellagerort WH/Ausgang, Vorgangsart Kreuzverkupplung.
Ergebnis: Validieren Sie später einen Wareneingang dieser Route, legt Odoo den Umladevorgang Eingang → Ausgang an, statt die Ware einzulagern. Odoo nutzte bis Version 18.0 selbst eine Push-Regel von Eingang zu Ausgang.
Schritt 6: Auftrag mit der Route versehen
Legen Sie in Verkauf ‣ Aufträge ‣ Angebote einen Auftrag an, öffnen Sie in der Auftragszeile die Detailansicht und wählen Sie im Feld Routen die Route Cross-Docking. Bestätigen Sie den Auftrag. Das Feld erscheint mit Mehrstufigen Routen und führt nur Routen, die für Verkaufsauftragszeilen auswählbar sind.
Ergebnis: Odoo erzeugt eine Bestellung und verknüpft sie mit dem Auftrag; die Route der Auftragszeile läuft an die Vorgänge der Bestellzeile mit.
Konfigurationsbeispiel: vom Wareneingang bis zum Versand
Beispiel mit erfundenen Angaben: Ein Händler führt das Produkt Ersatzteil A im Lagerhaus WH, Bestand 0. Lieferant ist die Teile AG, Kundin die Handel GmbH. Der Verkaufsauftrag S00045 über 40 Stück trägt an der Auftragszeile die Route Cross-Docking.
| Auslöser | Beleg in Odoo | Lagerorte | Menge | Was Sie kontrollieren |
|---|---|---|---|---|
| Auftrag S00045 bestätigen | Bestellung P00032 an die Teile AG | – | 40 | der Auftrag zeigt die verknüpfte Bestellung |
| Bestellung bestätigen | Wareneingang WH/IN/00031, Vorgangsart Eingänge | Partner/Lieferanten → WH/Eingang | 40 | Feld Erledigte Menge vor dem Validieren auf 40 setzen |
| Wareneingang validieren | Umladevorgang WH/XD/00007, Vorgangsart Kreuzverkupplung | WH/Eingang → WH/Ausgang | 40 | der Umladevorgang entsteht beim Validieren des Eingangs |
| Umladevorgang validieren | Lieferung WH/OUT/00042, Vorgangsart Lieferaufträge | WH/Ausgang → Partner/Kunden | 40 | die Lieferung entsteht beim Validieren des Umladevorgangs |
| Lieferung validieren | Lieferung (erledigt) | – | 40 | die gelieferte Menge am Auftrag steigt auf 40 |
| Lager | kein Vorgang über WH/Bestand | – | – | der Bestand von Ersatzteil A bleibt 0 |
| Abrechnung | Kundenrechnung aus S00045, Lieferantenrechnung aus P00032 | – | 40 | Mengen und Beträge prüfen |
Die Belegnummern folgen den Sequenzen der Vorgangsarten (WH/IN, WH/XD, WH/OUT); Nummern, Namen und Mengen sind erfunden. Mit der validierten Lieferung ist der zweistufige Ausgang abgeschlossen: Die Push-Regel Ausgang → Kunde gehört zur Standard-Lieferroute des Lagerhauses und gilt damit für alle Produkte. Wie die Vorgänge eines zweistufigen Eingangs und Ausgangs im Einzelnen ablaufen, steht unter Wareneingang und Lieferung in Odoo.
So prüfen Sie das Ergebnis
- Route: Unter Lager ‣ Konfiguration ‣ Routen steht die Route Cross-Docking auf Sequenz 20, ist in Verkaufsauftragszeilen auswählbar und trägt die beiden Regeln Einkaufen (Ziel Partner/Kunden) und Schieben nach (WH/Eingang → WH/Ausgang).
- Vorgangsart: Unter Lager ‣ Konfiguration ‣ Vorgangsarten zeigt Kreuzverkupplung Quelle WH/Eingang und Ziel WH/Ausgang.
- Wareneingang: Nach dem Validieren steht der Eingang auf Erledigt, die Ware liegt in WH/Eingang, und unter Lager ‣ Vorgänge ‣ Transfers erscheint ein Vorgang mit der Vorgangsart Kreuzverkupplung.
- Umladevorgang: Nach dem Validieren liegt die Ware in WH/Ausgang, und die Lieferung ist bereit.
- Bestand: Öffnen Sie das Produkt und sehen Sie über die Schaltfläche Vorrätig (On Hand) nach — die Menge im Lagerort WH/Bestand ist unverändert, weil kein Vorgang dieses Produkts diesen Lagerort berührt hat.
- Abrechnung: Erstellen Sie die Kundenrechnung am Auftrag und die Lieferantenrechnung an der Bestellung und vergleichen Sie Mengen und Beträge. Ob die Abrechnungspolitik des Produkts eine validierte Lieferung verlangt, hängt am einzelnen Produkt.
Wenn etwas nicht klappt
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Beim Bestätigen des Auftrags entsteht keine Bestellung | Die Einkaufsregel der Route fehlt oder ihr Ziellagerort passt nicht zum Bedarf der Auftragszeile | Ziellagerort der Regel auf Partner/Kunden setzen |
| Die Ware geht nach WH/Bestand statt nach WH/Ausgang | Die Route steht nicht an der Auftragszeile, deshalb greifen die Regeln des Lagerhauses (Eingang → Bestand) | Route an der Auftragszeile im Feld Routen setzen |
| Nach dem validierten Wareneingang fehlt der Umladevorgang | Die Push-Regel fehlt, hat eine andere Vorgangsart oder eine höhere Sequenz als die Regel des Lagerhauses | Regel Schieben nach mit Vorgangsart Kreuzverkupplung, Route-Sequenz 20 und den Lagerorten WH/Eingang und WH/Ausgang prüfen |
| Die Lieferung bleibt auf Wartend | Die Ware ist noch nicht mit dem Umladevorgang nach WH/Ausgang gebucht | Umladevorgang validieren |
| Die Route steht an der Auftragszeile nicht zur Auswahl | Mehrstufige Routen fehlen, oder das Kontrollkästchen Auswählbar in Verkaufsauftragszeilen ist nicht gesetzt | Lager ‣ Konfiguration ‣ Einstellungen und das Kontrollkästchen der Route prüfen |
Wann Sie Hilfe holen sollten
Cross-Docking berührt Wareneingang, Lieferung und Beschaffung zugleich. Ziehen Sie Ihren Odoo-Partner hinzu, wenn mehrere Lagerhäuser, Qualitätskontrollschritte, Chargen oder Seriennummern beteiligt sind oder wenn dasselbe Produkt teils cross-docked und teils eingelagert wird. Änderungen an Routen und Regeln prüfen Sie in einer Kopie der Datenbank, nicht im laufenden Betrieb; Odoo dokumentiert diesen Aufbau seit 19.0 nicht mehr. Passend zum Thema sind auch die Artikel Retouren in Odoo abwickeln und Versandarten und Versandetiketten in Odoo.