Gestión de pedidos para distribuidores mayoristas
La distribución mayorista mueve volúmenes enormes con márgenes muy delgados, y funciona con reglas que ninguna herramienta de retail o de e-commerce da por sentadas: el mismo SKU se vende a un precio distinto para cada cuenta, los pedidos llegan por caja y no por unidad, y casi nunca despachas el pedido completo en la primera vuelta. Los mayoristas de Estados Unidos hicieron ventas por más de once billones de dólares en un solo año, y cada dólar de eso pasa por precios específicos por cliente, condiciones de crédito y envíos parciales. Esta guía recorre el sistema de gestión de pedidos que un distribuidor realmente necesita, y cómo ponerlo de pie como una app en marcha y alojada en ybuild, servida en tu propio dominio.
El problema
- Cada cuenta tiene su propio precio negociado. Una caja registradora de retail conoce un solo precio por SKU, pero tú manejas precios de contrato, quiebres por volumen y niveles de cliente, así que el precio de una línea es en realidad una función de quién compra, qué, cuánto y cuándo.
- Compras, almacenas y despachas en unidades distintas. Un producto vive en el estante como unidades sueltas, se vende por caja de 24 y se mueve por tarima, y un sistema que guarda un solo número no puede saber si «pedir 3» significa tres unidades o tres cajas.
- Rara vez surtes el pedido completo. Siempre falta algo, así que despachas lo que tienes y dejas el resto en faltante, mientras que un sistema ingenuo asume el surtido total y o bien descuenta stock de más o bien pierde en silencio la demanda no surtida.
- Vendes a crédito, no de contado. Las cuentas pagan a Net 30 contra un límite de crédito, facturas por lo que de verdad se despachó, y un pedido liberado por encima del límite de un cliente es dinero que quizá nunca veas.
Qué crearías
Un registro de cliente B2B que lleva una lista de precios o un nivel asignado, condiciones de pago, un límite de crédito, un saldo abierto de cuentas por cobrar, direcciones de envío y un vendedor. Cuando inicias un pedido para esa cuenta, la pantalla de captura carga su lista de precios de forma automática, así cada línea se cotiza a su tarifa negociada en lugar del precio de lista. Se publica en vivo y alojado en ybuild desde la primera versión.
Una pantalla de pedido donde capturas las líneas en la unidad que prefieras, caja o unidad, y el sistema convierte a la unidad base usando el empaque por caja, aplica las reglas de pedido mínimo y de solo cajas, verifica el disponible para prometer, asigna lo que hay en existencia y divide cualquier faltante en una línea de faltante para que el resto del pedido pueda despacharse hoy.
Un flujo de cumplimiento que convierte un pedido liberado en una lista de surtido para el almacén, captura la cantidad realmente surtida, confirma el envío con una nota de empaque, descuenta del inventario solo lo que se despachó y genera la factura por la cantidad enviada con las condiciones del cliente y una fecha de vencimiento, todo en tu app en vivo de ybuild.
El modelo de datos
Un día con el sistema
- Por la mañana: un vendedor o un cliente coloca un pedido. Eliges la cuenta y la pantalla de captura carga la lista de precios de esa cuenta, así cada línea se cotiza a su tarifa negociada en lugar del precio de lista.
- Capturas las líneas por caja, «3 cajas del SKU 4247», y el sistema convierte a unidades usando el empaque por caja, verifica cualquier regla de pedido mínimo y de solo cajas, y muestra el precio extendido a su número de contrato.
- El pedido compara el límite de crédito del cliente contra su saldo abierto de cuentas por cobrar. Si lo dejara por encima, el pedido cae en retención por crédito en lugar de liberarse al almacén.
- Al liberar, lo que hay en existencia se asigna al pedido; lo que falte se divide de forma automática en una línea de faltante, así un artículo agotado no detiene todo lo demás.
- El almacén trabaja una lista de surtido agrupada por ubicación de estante. El surtidor confirma cantidades, que pueden ser menores a las pedidas, y cualquier surtido corto regresa a la línea de faltante.
- La confirmación de envío genera la nota de empaque, descuenta del inventario solo la cantidad enviada y crea la factura por lo que de verdad salió, sellada con las condiciones del cliente y una fecha de vencimiento.
- Las líneas en faltante quedan abiertas en el pedido. Cuando llega la orden de compra de reabastecimiento, aparecen en una cola de surtido de faltantes y se despachan como un segundo envío, facturado por separado.
- Al cierre del día, los reportes de antigüedad de cuentas por cobrar y de pedidos abiertos muestran quién está fuera de plazo, qué pedidos están en retención por crédito y cuánto stock está comprometido contra el reabastecimiento entrante.
Dónde falla la IA
- Cotizar desde el registro del producto en lugar de la lista de precios del cliente. En el mayoreo el precio es una función de cliente, SKU, cantidad y fecha: precios de contrato, quiebres por nivel y promociones conviven todos. Guarda un solo precio por SKU y en silencio le cobrarás de más a unas cuentas y de menos a otras, y cada disputa de factura se rastrea directo hasta ahí.
- Modelar la cantidad en una sola unidad. Compras, almacenas, vendes y despachas en unidades distintas: unidad, empaque interno, caja y tarima. Si el esquema no guarda una unidad base y un empaque por caja y convierte entre ellos, alguien pide «3» pensando en tres cajas y tú despachas tres unidades, o al revés.
- Asumir el surtido total. El retail descuenta el pedido completo en la caja; el mayoreo despacha parcial y deja el resto en faltante. Si una línea de pedido no puede llevar qty_ordered, qty_shipped y qty_backordered como tres números separados, los faltantes desaparecen y o descuentas inventario de más o pierdes por completo la demanda no surtida.
- Facturar al pedir en lugar de al despachar. Facturas por lo que se despachó, no por lo que se pidió, o al cliente se le factura por mercancía en faltante que nunca recibió. La factura tiene que generarse en la confirmación de envío a partir de las cantidades enviadas, con condiciones y una fecha de vencimiento, no en la captura del pedido.
- Saltarte el control de crédito y la asignación. Liberar un pedido que rebasa el límite de crédito de un cliente, o prometer el mismo stock a dos pedidos porque nada se asigna en existencia, son las dos formas en que un sistema mayorista pierde dinero en silencio. El disponible para prometer es lo que hay en existencia menos lo ya asignado, y la retención por crédito tiene que ser un estado de pedido real contra el que el almacén no pueda surtir.
- La columna vertebral de precios: clientes asignados a listas de precios, y una pantalla de pedido que resuelve cada línea desde la lista de ese cliente con cantidades por caja. Todo lo demás no vale nada si el precio está mal.
- Del pedido al despacho con surtido parcial: capturar un pedido, asignar stock en existencia, dividir los faltantes en línea de faltante, confirmar el envío y generar la factura por la cantidad enviada.
- Control de crédito: una verificación de límite de crédito y de cuentas por cobrar abiertas que pone un pedido en retención en lugar de liberarlo al piso.
- Un libro mayor completo y las cuentas por pagar. Exporta las facturas a tu contador o a QuickBooks en lugar de reconstruir la contabilidad dentro de la app.
- Feeds EDI y un portal de autoservicio para clientes. Empieza con tu equipo capturando pedidos, y agrega el pedido electrónico una vez que el flujo central esté sólido.
- Planeación de rutas, cotización de fletes y automatización de almacén. La v1 confirma envíos e imprime notas de empaque; deja las integraciones de TMS y WMS para después.
Preguntas frecuentes
¿Cómo le doy a cada cliente su propio precio?
Asigna cada cuenta a una lista de precios o a un nivel, y guarda precios unitarios específicos por cliente, con quiebres por cantidad, en price_list_items. La pantalla de pedido resuelve entonces el precio a partir de la lista del cliente, el SKU, la cantidad y la fecha, así una cuenta con contrato y una cuenta recién creada pueden pedir el mismo SKU y cada una ve su propio número. El precio de lista del producto es solo el respaldo cuando ninguna entrada de la lista aplica.
Vendemos por caja pero almacenamos por unidad. ¿Cómo funciona eso?
Cada producto lleva una unidad base y un empaque por caja, digamos 24. Pides y cotizas en la unidad que elijas, y el sistema convierte a la unidad base para el inventario. Pedir 3 cajas asigna 72 unidades, y las reglas de pedido mínimo y de solo cajas se aplican en la captura para que nadie pida media caja.
¿Qué pasa cuando no puedo surtir el pedido completo?
La línea se divide. La cantidad disponible se asigna y se despacha ahora, y el faltante se convierte en una línea de faltante que queda abierta en el pedido. Cuando llega tu reabastecimiento aparece en una cola de surtido de faltantes y se despacha como un segundo envío, facturado por separado, así nunca prometes stock que físicamente no tienes.
¿Cuándo se le factura de verdad al cliente?
En la confirmación de envío, por lo que de verdad se despachó, no en la captura del pedido. La factura toma las condiciones de pago del cliente, como Net 30, y una fecha de vencimiento, y se registra en su saldo de cuentas por cobrar. La mercancía en faltante se factura solo cuando se despacha, así a un cliente nunca se le cobra por algo que sigue en tu almacén.
¿Cómo dejo de despachar a una cuenta que no ha pagado?
El pedido compara el límite de crédito del cliente contra su saldo abierto de cuentas por cobrar. Un pedido que lo dejaría por encima cae en retención por crédito, un estado real contra el que el almacén no puede surtir, hasta que alguien lo revisa y lo libera. Esa sola verificación es lo que separa a un sistema mayorista de verdad de un simple bloc de pedidos.
Fuentes
- Oficina del Censo de EE. UU.: Encuesta Anual de Comercio Mayorista 2022 — Datos oficiales del gobierno que muestran que los mayoristas de EE. UU. tuvieron ventas por 11.3823 billones de dólares en 2022, la escala del canal de distribución al que sirve esta app.
- Oficina de Estadísticas Laborales de EE. UU.: Comercio Mayorista (NAICS 42) — El perfil oficial «Industry at a Glance» del sector del comercio mayorista, que abarca a los mayoristas de bienes duraderos y no duraderos.
- NetSuite: Fórmula, consejos y beneficios de la Cantidad Mínima de Pedido (MOQ) — Una guía práctica de cómo funcionan las reglas de MOQ y de cantidad por caja y por qué corresponden a la etapa de captura de pedidos en un negocio de distribución.
Descríbelo y publícalo en tu propio dominio de una vez: alojado, full-stack, sin servidor. Gratis para empezar.