Skip to Content

🚀 Cross-Docking en Odoo: El Kessel Run de tu Logística (Haz que tu Mercancía Viaje en Menos de 12 Pársecs)

📌 Contexto
August 1, 2026 by
BloVox

Una aventura galáctica donde la mercancía llega al muelle de recepción, saluda con la mano, y en vez de instalarse a vivir en un estante del almacén, salta directo al camión que la espera para llegar a tu cliente. Sin escalas, sin bodega intermedia, sin que nadie le pida documentos de identidad.


"Hacer el Kessel Run en menos de 12 pársecs: eso es cross-docking. La mercancía no toca el suelo, no duerme en el almacén, no se hace amiga de la humedad del depósito. Llega, se cruza de un muelle al otro, y sigue viaje como si la Estrella de la Muerte no estuviera persiguiéndola." — Han Solo, después de descubrir que en su empresa la mercancía llevaba semanas viviendo en el almacén.

📌 Contexto

Imaginá la escena. Sos el jefe de logística de una empresa que distribuye productos perecederos, de alta rotación o simplemente carísimos de almacenar. Todos los días llegan camiones con mercancía de tus proveedores. Y todos los días salen camiones con mercancía para tus clientes.

Entre esos dos momentos hay un agujero negro: el almacén.

La mercancía entra, se descarga, se cuenta, se etiqueta, se ubica en un estante, se registra en el sistema... y días después, cuando llega el pedido del cliente, alguien la busca, la baja del estante, la cuenta de nuevo y la carga en otro camión. Doble manipulación, doble espacio, doble tiempo, doble posibilidad de error.

Ahora imaginate que pudieras eliminar el paso intermedio: la mercancía llega al muelle A, se cruza en línea recta al muelle B (o se mantiene unas horas en una zona de tránsito), y se va directo al camión que la lleva al cliente. Cero almacenamiento. Cero estantes. Cero "¿dónde mierda quedó la caja esa?"

Eso es el cross-docking (o cruce de andenes si querés la traducción aburrida): una estrategia logística donde la mercancía recibida se consolida y se despacha directamente hacia su destino final, con almacenamiento mínimo o nulo en el medio.

Odoo, como buen halcón milenario de los ERPs, trae las piezas para armar esto desde el estándar, sin necesidad de un módulo de otro sistema solar. Rutas, reglas, operaciones de recepción y entrega, y un par de trucos de configuración que hacen que tu almacén se convierta en un hub de tránsito en vez de un cementerio de cajas.

¿Para quién es este artículo? Nivel intermedio. Asume que conocés Odoo (inventario, compras, ventas) pero no necesitás ser un Jedi de la programación. El 95% de lo que acá se describe se hace desde la interfaz estándar, sin tocar una línea de código. Y aunque tu empresa no sea una distribuidora de alimentos, el patrón aplica a cualquier negocio con recepción y despacho frecuente: retail, farma, autopartes, e-commerce, lo que sea.


🎯 El Desafío

Historia de usuario:

Como gerente de operaciones de una distribuidora, necesito que la mercancía que llega de proveedores se despache directamente a los pedidos de clientes sin pasar por el stock general del almacén, para reducir tiempos de tránsito, costos de almacenamiento y errores de doble manipulación.

El escenario real:

La empresa Transportes VeloCorsarios (sí, la misma del artículo de pedidos por compra y traspaso, seguimos en el mismo universo) tiene un problema de espacio y de velocidad.

Recibe todos los días pallets de sus proveedores: repuestos, accesorios, consumibles. El almacén está hasta el techo. Los estantes parecen la biblioteca de la Base Rebelde en Yavin IV: todo apilado, todo apretado, y encontrar algo requiere una expedición arqueológica.

Pero acá está el detalle: gran parte de lo que recibe ya tiene destino. El cliente pidió, el proveedor despachó, y la mercancía viene con un pedido de venta asignado. Sin embargo, el proceso actual obliga a:

  1. Recibir la mercancía en el muelle de recepción
  2. Llevarla al stock general del almacén
  3. Registrarla, ubicarla, contarla
  4. Esperar a que "alguien" haga el picking del pedido del cliente
  5. Sacarla del estante, cargarla al camión de entrega
  6. Rezar para que no haya quedado mezclada con otra cosa

Resultado: la mercancía que podría estar en la puerta del cliente en 24 horas, pasa 3 días durmiendo en un estante. Y cada manipulación extra es una oportunidad de error: cajas que se rompen, etiquetas que se pierden, productos que se confunden con otros visualmente idénticos (todos sabemos que hay repuestos que se parecen como dos stormtroopers).

Flujo actual (antes de la solución):

  1. Llega el camión del proveedor con mercancía ya vendida
  2. Se descarga en el muelle de recepción y se recibe en Odoo contra la orden de compra
  3. La mercancía se traslada al stock general (ubicación física: estante)
  4. El equipo de picking arma el pedido del cliente desde el stock general
  5. Se valida la entrega y sale el camión
  6. El stock disponible del almacén muestra la mercancía como "disponible" durante todo ese tiempo, aunque en realidad ya tenía dueño

Soluciones que NO funcionan:

  • Seguir usando el stock general como intermediario: Funciona, pero es exactamente lo que queremos evitar. Espacio, tiempo, doble manipulación, y el riesgo de que alguien venda esa mercancía "disponible" a otro cliente mientras espera el despacho. Es como dejar el sable de luz del padawan al alcance de un Sith: alguien lo va a agarrar.
  • Dropshipping total: La ruta de dropshipping (proveedor → cliente directo) es genial, pero requiere que el proveedor despache directo a tu cliente. No siempre es posible: a veces el proveedor solo entrega en tu almacén, o necesitás consolidar mercancía de varios proveedores antes de despachar. El cross-docking cubre exactamente ese hueco: la mercancía pasa por tus manos pero no se queda.
  • Hacerlo "a ojo" sin sistema: Anotar en un papel "esto va para el pedido X" y dejar los pallets en un rincón del muelle. Funciona hasta que tenés 50 pedidos, 3 proveedores, y un operario nuevo que no sabe que esa pila de cajas era sagrada. El caos se vuelve el lado oscuro: sin trazabilidad no hay control.
  • Tener un almacén gigante: Podés comprar más metros cuadrados, más estantes, más frío... pero es tapar el sol con la mano (o la Estrella de la Muerte con un dedo). El cross-docking no es solo ahorro de espacio: es velocidad de respuesta, y eso no se compra con metros cuadrados.

🔍 Análisis Técnico

Cómo viene en Odoo estándar

Odoo tiene todo lo necesario para cross-docking desde la configuración estándar, y la clave está en entender tres conceptos que, combinados, arman el flujo:

#### 1. Las rutas (Routes)

Las rutas son el corazón del procurement en Odoo. Definen cómo se satisface una necesidad en un almacén. Cada ruta tiene reglas (rules) que indican el camino físico que sigue la mercancía: desde qué ubicación sale, hacia qué ubicación va, y qué operación se genera.

Para cross-docking, la pieza clave es configurar una ruta donde la mercancía no pase por el stock general (o pase por una ubicación de tránsito temporal), sino que vaya directo de la recepción a la entrega.

#### 2. Las operaciones multi-paso

En Inventario → Configuración → Almacenes, cada almacén tiene un "modo de recepción" y un "modo de entrega":

  • Recepción en 1 paso: el proveedor entrega directo a Stock. Simple, pero todo pasa por el stock general.
  • Recepción en 2 pasos: la mercancía llega a Input (recepción) y después se hace un traslado interno a Stock. Agrega control pero también una manipulación extra.
  • Recepción en 3 pasos: Input → Quality/Stock → Stock, para control de calidad. Más control, más pasos.

Para cross-docking no queremos ninguno de esos caminos "clásicos": queremos una ruta que salte directo de la recepción al despacho.

#### 3. Las reglas de reaprovisionamiento (Replenishment Rules)

Cuando confirmás una orden de compra o una orden de venta, Odoo ejecuta el motor de procurement: busca qué ruta satisface la necesidad y genera las operaciones (recepciones, traslados, entregas) automáticamente.

Si armamos la ruta correcta, el resultado es mágico: la orden de compra genera una recepción, y esa recepción alimenta directamente la entrega del pedido de venta, sin pasar por stock.

Módulos involucrados

MóduloPropósito
stockInventario: ubicaciones, operaciones, rutas y reglas
purchaseCompras: genera recepciones desde órdenes de compra
sale + sale_stockVentas: genera entregas desde órdenes de venta
stock_landed_costs(Opcional) Costos de importación/transporte si consolidás envíos

Configuración requerida

  • Inventario instalado y configurado con almacenes
  • Compras instalado (si el cross-dock es proveedor → cliente)
  • Ventas instalado (obvio, necesitás pedidos de clientes)
  • Permisos: usuario de Inventario + Compras (o Ventas según el flujo)

El patrón de datos

En Odoo, el cross-docking se arma con una ruta custom que contiene una o más reglas. La regla típica de cross-dock se ve así:

  • Origen: una ubicación de recepción (por ejemplo, el muelle/Input del almacén, o incluso directo el proveedor)
  • Destino: la ubicación de salida del pedido del cliente (Output / muelle de despacho)
  • Operación: un tipo de operación de "traslado interno" o la entrega directa
  • Proveedor de la regla (supplier): la regla que indica que la necesidad se satisface comprando (Buy) o viniendo de otra ubicación

Cuando el motor de procurement ve una venta de un producto con esta ruta, hace lo siguiente:

  1. La necesidad del cliente dispara la regla de la ruta de cross-dock
  2. Esa regla apunta a un proveedor → genera la orden de compra
  3. La orden de compra genera la recepción en el muelle
  4. La regla de cross-dock conecta la recepción con la entrega del pedido
  5. La mercancía "fluye" de recepción a despacho, y el picking del pedido se puede hacer directamente desde la zona de tránsito

💡 La Solución

Qué logra (en términos de negocio): la mercancía que llega con destino asignado nunca entra al stock disponible general. Se recibe, se cruza al muelle de despacho, y se entrega. El almacén deja de ser un lugar donde la mercancía "vive" y pasa a ser un lugar por donde la mercancía "pasa".

Las alternativas y por qué elegimos ésta

AlternativaProsContras
Cross-docking con ruta customVelocidad máxima, cero almacenamiento, trazabilidad total, 100% estándarRequiere configurar rutas correctamente; los equipos deben coordinar tiempos de llegada
Dropshipping puroCero manipulación, cero almacenamientoDepende del proveedor; no sirve para consolidar varios proveedores ni cuando el proveedor no despacha directo
Recepción 2 pasos + traslado manualSimple de entenderSigue pasando por stock (aunque sea un momento); doble manipulación
Stock general + picking normalCero configuraciónLento, caro, propenso a errores: exactamente lo que queremos evitar

Paso a paso desde la UI

Acá va la receta completa para armar un cross-dock en Odoo estándar. La armamos en dos fases: primero la ruta, después la asignación a los productos.

#### Fase 1: Crear la ruta de cross-docking

  1. Ir a Inventario → Configuración → Rutas
  2. Click en Crear
  3. Completar el formulario:
  • Nombre de la ruta: "Cross-Dock: Recepción a Despacho Directo" (o el nombre que le quieras poner; recordá que los nombres de rutas se ven en las órdenes)
  • Aplicable en: marcar las opciones correspondientes: Ventas (para que la ruta se pueda elegir en líneas de venta) y/o Compras
  • Secuencia: un número (define el orden de evaluación de rutas; menor = prioridad)
  1. Guardar la ruta. Ahora viene lo importante: agregar las reglas.

#### Fase 2: Agregar las reglas a la ruta

En la pestaña Reglas de la ruta, click en Agregar una línea y crear dos reglas:

Regla 1 — La compra (si el cross-dock viene de proveedor):

  • Operación: Recepciones (o el tipo de operación de entrada que uses)
  • Origen: Proveedores (la ubicación virtual de los proveedores)
  • Destino: Input (o el muelle de recepción de tu almacén)
  • Acción: Comprar (esto genera la orden de compra automáticamente)
  • Proveedor de la regla (Supply Method): Comprar

Regla 2 — El cruce directo (la estrella del show):

  • Operación: el tipo de operación de entrega de tu almacén (por ejemplo Entregas o un tipo de operación interna de tránsito)
  • Origen: Input (el muelle de recepción)
  • Destino: Clientes (la ubicación virtual de salida) — o si querés pasar por un punto de control intermedio, una ubicación de tránsito
  • Acción: Entregar
  • Proveedor de la regla: Desde otra ubicación (esto indica que la necesidad se satisface moviendo mercancía desde Input)

Con estas dos reglas, el flujo queda así: Proveedores → Input → Clientes. La mercancía entra al muelle y sale directo al cliente. El stock general (la ubicación Stock del almacén) ni se entera de que existió.

#### Fase 3: Asignar la ruta a los productos

  1. Ir a Inventario → Productos → [producto]
  2. Pestaña Inventario
  3. En Rutas, tildar la nueva ruta "Cross-Dock"
  4. Importante: desmarcar la ruta de almacenamiento normal (la que pasa por Stock) si querés que el producto SIEMPRE haga cross-dock. Si lo dejás con ambas rutas, Odoo evaluará por prioridad de secuencia.
  5. Guardar

También podés asignar la ruta a nivel de categoría de producto (Inventario → Configuración → Categorías de producto → pestaña "Logística") para que todos los productos de una categoría hereden el comportamiento. Ideal para familias de productos de alta rotación.

#### Fase 4: Probar el flujo completo

Escenario de prueba:

  • Producto "Repuesto Hyperdrive X-23" con la ruta de cross-dock
  • Un proveedor que lo vende
  • Un cliente que lo pide

Pasos:

  1. Crear una orden de venta del producto al cliente → Confirmar
  2. Odoo detecta que no hay stock y que la ruta de cross-dock aplica → genera automáticamente la orden de compra al proveedor
  3. Confirmar la orden de compra (o dejarla confirmada automáticamente con el ajuste correspondiente)
  4. Odoo genera la recepción esperando la mercancía del proveedor
  5. Cuando llega el camión del proveedor: Validar la recepción (Inventario → Operaciones → Recepciones)
  6. Momento de la verdad: la mercancía recibida debería aparecer disponible para el picking del pedido de venta, no en stock disponible general. El operario arma el pedido desde el muelle de tránsito y valida la entrega
  7. El camión sale con la mercancía, la orden de venta se marca como entregada, y el stock general nunca se ensució las manos

Verificación funcional:

  • [ ] Al confirmar la venta, se generó la orden de compra automáticamente (si el flujo es compra)
  • [ ] Al recibir la mercancía, el pedido de venta quedó "listo para entregar" sin pasar por stock disponible
  • [ ] El informe de Inventario → Reportes → Valoración de inventario no muestra movimientos de entrada/salida al stock general
  • [ ] La trazabilidad del producto muestra: Proveedores → Input → Clientes (sin pasar por Stock)

Variantes del cross-dock (porque cada galaxia es distinta)

Variante 1: Cross-dock con zona de tránsito (recomendada para consolidar)

Si recibís de varios proveedores y necesitás consolidar antes de despachar (ej: un pedido que junta repuestos de 3 proveedores distintos), agregá una ubicación de tránsito intermedia:

  • Regla A: Proveedores → Input (comprar)
  • Regla B: Input → Zona Cross-Dock (traslado interno)
  • Regla C: Zona Cross-Dock → Clientes (entregar)

La zona cross-dock es una ubicación interna tipo Vista interna (Internal Location) creada desde Inventario → Configuración → Ubicaciones. No es stock disponible general: es una zona de paso. Podés definirla como "no almacenable" en la práctica (no la contás en el stock vendible).

Variante 2: Cross-dock entre almacenes

Si tenés un almacén central que recibe del proveedor y sucursales que despachan al cliente, la ruta se arma con traspasos inter-almacén: el central recibe, y una regla de reaprovisionamiento entre almacenes mueve la mercancía directo a la sucursal que tiene el pedido. Es el patrón de "pedido por traspaso" que ya vimos en el artículo anterior, pero con cross-dock en el origen para no acopiar en el central.

Variante 3: Cross-dock de oportunidad (manual)

No todo tiene que ser automático. Si querés que el equipo decida caso a caso, podés usar las operaciones estándar sin ruta custom: recibir contra la orden de compra, y en vez de trasladar a stock, hacer un traslado interno directo Input → Output (o Input → Zona de despacho) y validar la entrega del pedido asociado. Menos automático, más flexible. Odoo te deja hacer el "encuentro" entre la recepción y el pedido usando la función de entregas parciales o vinculando por origen (source document).

Configuración y Pruebas

  • Settings: Inventario → Configuración → Ajustes → verificar que "Rutas Multi-paso" esté activado (es requisito para rutas custom con reglas)
  • Permisos: Usuario de Inventario (recibir/trasladar) + Compras (confirmar OC) + Ventas (confirmar pedidos). Si usás el flujo automático de confirmación de compras, menos intervención manual
  • Tip: activá la opción "Confirmar órdenes de compra automáticamente" (Compras → Configuración → Ajustes) si confiás en tus proveedores, para que el flujo sea más fluido

¿Cuándo el cross-docking NO es la respuesta? (el lado oscuro de la Fuerza)

No todo lo que brilla es un sable de luz. El cross-docking es una herramienta poderosa, pero tiene sus límites, y conocerlos te ahorra implementaciones que terminan en la trinchera de la Estrella de la Muerte:

  • Productos de demanda irregular o bajo volumen: si el producto se vende dos veces por mes, no tiene sentido armarle un flujo de cross-dock. Terminás con mercancía dando vueltas en la zona de tránsito esperando que alguien la pida. Para esos productos, el almacenamiento clásico sigue siendo la opción sabia.
  • Proveedores poco confiables en fechas: el cross-dock depende de que la mercancía llegue cuando se espera. Si tu proveedor entrega "cuando la Fuerza lo decida", el camión de salida va a esperar, y el cliente va a esperar, y el gerente va a esperar... con cara de Darth Vader. En ese caso, mantené un colchón de stock de seguridad en el almacén.
  • Falta de coordinación entre muelles: si recibís y despachás en horarios totalmente desacoplados (los proveedores llegan a la mañana y los camiones de entrega salen a la tarde-noche), necesitás sí o sí una zona de tránsito con capacidad real. El cross-dock puro de "cruzar el pallet de andén a andén" exige ventanas horarias coordinadas.
  • Control de calidad obligatorio por lote: si cada recepción requiere inspección previa a la venta (farmacéutica, alimentos, electrónica sensible), el flujo necesita una parada intermedia de calidad. Eso ya no es cross-dock puro: es un tránsito con control, y está perfecto, pero hay que configurarlo conscientemente.

La regla de oro: el cross-docking es para mercancía que ya tiene destino conocido y alta certeza de flujo. Si el destino es incierto o el volumen es bajo, dejalo descansar en un estante.

Errores comunes y cómo esquivarlos (o el lado oscuro del cross-dock)

  1. "La mercancía entró a stock general igual" — Revisá las reglas de la ruta: probablemente el producto tiene también la ruta de almacenamiento normal y Odoo la eligió por prioridad. Ajustá la secuencia de la ruta de cross-dock (menor número = mayor prioridad) o desmarcá la ruta normal en el producto.
  1. "Se generó la compra pero no la entrega" — Verificá que la regla 2 tenga el Supply Method correcto ("Desde otra ubicación") y que la operación de destino exista. Sin esa conexión, la mercancía llega a Input y se queda ahí, como un stormtrooper sin órdenes.
  1. "El picking del pedido no encuentra la mercancía" — Si usás zona de tránsito, asegurate de que la mercancía se trasladó a esa zona (validar el traslado interno) antes de intentar el picking. El pedido necesita que la mercancía esté en la ubicación que la regla de entrega espera.
  1. "Los costos no cierran" — Si consolidás mercancía de varios proveedores en un mismo despacho, usá el módulo de Costos de Importación (Landed Costs) para distribuir los costos de flete entre los productos. Sin eso, el costo del flete queda "flotando en el espacio".
  1. "El equipo no coordina los tiempos" — El cross-dock exige que el camión de salida esté cuando llega el de entrada (o poco después). Si el camión del cliente llega 3 horas tarde, la mercancía necesita un lugar donde esperar: la zona de tránsito existe exactamente para eso. Coordiná ventanas horarias de recepción y despacho.
  1. "¿Y si el cliente cancela el pedido mientras la mercancía está en tránsito?" — Buena pregunta, padawan. La mercancía que viene con destino asignado y el pedido se cancela queda en tu zona de tránsito sin dueño. Acá es donde la trazabilidad de Odoo te salva: el movimiento queda registrado, podés reconvertirla a stock general con un traslado interno (Input → Stock), y el costo ya lo tenés cargado en la valoración. No es el fin del mundo: es un desvío en la ruta, no una colisión con un asteroide.
  1. "Los usuarios no encuentran la operación de cross-dock" — Si creaste la zona de tránsito y las reglas pero las operaciones no aparecen donde el equipo las espera, revisá los tipos de operación: cada regla usa un tipo de operación, y esos tipos se filtran por visibilidad en el menú. Ajustá Inventario → Configuración → Tipos de operación para que el equipo vea las que necesita y no se pierda entre 15 tipos iguales.

✅ Resultados y Beneficios

Mejoras funcionales:

  • La mercancía con destino asignado ya no ocupa espacio en el stock general
  • El flujo de recepción → despacho es automático y trazable de punta a punta
  • El equipo de almacén deja de hacer doble manipulación (recibir + almacenar + buscar + despachar)
  • El stock disponible refleja la realidad: lo que está en tránsito no aparece como "vendible"

Impacto medible:

  • Reducción de tiempo de tránsito: de días a horas. La mercancía que antes esperaba en un estante ahora sale el mismo día que llega
  • Menos errores de picking: cada manipulación eliminada es una oportunidad de error menos. Productos mezclados, etiquetas perdidas, entregas equivocadas: todo eso baja
  • Optimización de espacio: el almacén se descomprime. Podés crecer en volumen sin alquilar más metros
  • Menos capital inmovilizado: la mercancía pasa menos tiempo "en camino" y más tiempo facturada

Beneficios por rol:

RolQué gana
Logística / AlmacénFlujo directo, menos manipulación, menos espacio ocupado, operaciones claras con origen/destino definido
ComprasEl sistema genera las órdenes de compra automáticamente según las ventas (reposición directa), con trazabilidad al pedido final
VentasPuede comprometer fechas realistas: sabés que lo que se compra para un pedido llega directo a ese pedido
Administración / FinanzasValoración de inventario limpia, costos de flete asignables con Landed Costs, menos stock "fantasma"
GerenciaVelocidad de respuesta al cliente, menor capital inmovilizado, almacén que crece sin obras

Lecciones aprendidas:

  • El cross-docking no es una configuración "mágica": es una decisión de proceso. Primero definí qué productos deben fluir directo (alta rotación, perecederos, pedidos grandes) y cuáles pueden seguir usando stock
  • La zona de tránsito es tu mejor amiga: aunque el objetivo sea "cero almacenamiento", la realidad siempre necesita un colchón de unas horas. Planificala desde el día uno
  • Empezá con una familia de productos (o un proveedor), probá el flujo completo, y recién después escalalo. Cambiar el proceso de golpe para todo el almacén es receta de caos
  • La trazabilidad es el verdadero superpoder: en Odoo, cada movimiento tiene origen y destino. Usá esa información para medir cuánto tiempo pasa cada mercancía en tu hub y optimizar ventanas horarias

Extensiones futuras:

  • Planificación de muelles: combiná cross-dock con el calendario de recepciones/entregas para coordinar ventanas horarias
  • Códigos de barras: con la app Inventario Barcode, escaneás la mercancía al recibir y el sistema la direcciona directo al pedido
  • Cross-dock con control de calidad: agregá una regla intermedia de inspección (Input → Quality → Despacho) para productos que necesitan verificación antes de salir
  • Integración con transportistas: si tu transportista tiene API (los proveedores de envío), podés emitir la guía apenas se valida la recepción

📚 Para Profundizar


💬 ¿Tu experiencia es diferente?

¿Implementaste cross-docking en Odoo? ¿Lo armaste con rutas custom como acá, o preferís el enfoque de zona de tránsito manual? ¿Tenés un flujo de consolidación multi-proveedor que te haya hecho tirarte de los pelos (o de la capa)? Contanos en los comentarios — en la galaxia del ERP hay mil formas de hacer el Kessel Run, y todas son válidas mientras la mercancía llegue antes de que el cliente active el hiperespacio.

📬 ¿No querés perderte ningún artículo nuevo?

Dejanos tu correo y te avisamos cuando publiquemos algo.

¡Gracias por suscribirte!