Fashion Beauty Group es un grupo mexicano de cosméticos con dos marcas de consumo. Vende en su tienda en línea, en marketplace, a distribuidores mayoristas, a cadenas de retail, por teléfono y con vendedoras de campo. Todos esos canales compiten por la misma pieza de producto en el mismo almacén.
Cuando los canales de venta viven en sistemas que no se hablan, el negocio paga el precio tres veces: vende producto que no tiene, deja de vender producto que sí tiene, y no puede saber cuál de las dos cosas está pasando.
Una pieza de labial que sale de un almacén en Jalisco puede haberse vendido en la tienda en línea, en el marketplace, por teléfono a un distribuidor del norte o por una vendedora con su celular en el mostrador de una farmacia. Cada canal tiene sus propias reglas de precio, de descuento, de facturación y de entrega. El inventario, en cambio, es uno solo.
Seis sistemas especializados que comparten un mismo corazón de datos, cada uno diseñado para la realidad física de quien lo usa: el comprador en su teléfono, la vendedora en la calle, el almacenista con las manos ocupadas, el operador con el cliente esperando en la línea.
Cuando un almacenista escanea una pieza, el dato viaja al sistema central y desde ahí a la tienda en línea, al marketplace y a la pantalla del vendedor que está a punto de prometerle esa misma pieza a otro cliente.
Ninguno es un problema de programación. Los cuatro son problemas de negocio que solo se resuelven con decisiones de ingeniería correctas.
El grupo decidió migrar su ERP corporativo. El problema no era técnico en un sistema: era que los seis dependían del anterior para inventarios, pedidos y facturación, y la empresa vende todos los días en seis canales. Un corte limpio de fin de semana no existía como opción.
Se construyeron los conectores nuevos en paralelo a los viejos y se dejó una bandera de compatibilidad para que ambos ERP convivieran durante toda la transición.
Primero facturas, después pedidos, después inventarios. Cada dominio se validó en producción antes de tocar el siguiente.
Cada generación de cada integración se desactivó con una sola instrucción en lugar de borrarse. Revertir cualquier paso costaba un cambio trivial.
La desconexión final de cada sistema se ejecutó en una jornada concentrada. La bandera de compatibilidad se retiró semanas después, ya con la migración estable.
La operación no se detuvo.
Seis canales compiten por el mismo inventario físico. La tienda en línea, el marketplace, el distribuidor mayorista y la vendedora de campo pueden prometer la misma pieza al mismo tiempo, y entre que un vendedor cotiza y el pedido se factura pueden pasar días.
Lo que ve cualquier canal no es el stock del almacén: es el stock menos todo lo ya comprometido en pedidos que aún no tienen factura.
Sobre ese cálculo se aplica un margen de seguridad que la empresa ajusta por su cuenta, sin pedir un desarrollo.
En las tiendas, la disponibilidad se vuelve a comprobar en varios momentos distintos del embudo. El último, justo antes de generar el cobro.
No hay tabla de apartados ni bloqueos de base de datos: la condición de salida es que aparezca la factura. Nada que limpiar, nada que se quede trabado.
El mismo cálculo se respeta en la portada, en la ficha de producto, en los kits, en el feed de anuncios y hasta en los correos de carrito abandonado.
El almacén es donde todo lo que un sistema de ventas promete se cumple o se rompe. Un error de empaque es el más caro de todos: llega hasta el cliente final, cuesta la devolución, el reenvío y la confianza. Y es el más difícil de detectar, porque quien lo comete es exactamente quien tendría que revisarlo.
El surtidor y el auditor escriben en registros independientes. Al cerrar, el sistema los compara pieza por pieza. Una sola diferencia manda el pedido a revisión: no es una advertencia, es una puerta cerrada.
Al entrar, el sistema asigna automáticamente la orden más antigua pendiente del almacén y la bloquea para el resto del equipo. No hay pantalla de elegir pedido, y eso elimina que se escojan primero los fáciles.
Captura a una mano y sin teclado, confirmación con la tecla que emite el propio lector, y respuesta por vibración y sonido para trabajar sin mirar la pantalla.
El estándar de código de barras se implementó en el propio servidor. Cada caja nace con su identificador, su etiqueta y su contenido verificado, sin impresoras propietarias, sin licencias y sin controladores.
El cliente puede cambiar de proveedor de terminales sin tocar el software.
Un pedido de distribuidor mezcla marcas, producto suelto, exhibidores, probadores, muebles y artículos en preventa. Cada combinación sale de un almacén distinto y factura contra una unidad de negocio distinta. El almacén no puede surtir eso como un solo documento.
Cada línea del pedido se clasifica por marca, tipo de artículo y condición de preventa, y se emite una orden física por combinación con su almacén y su unidad de negocio.
Las separaciones adicionales se administran desde la aplicación. El negocio cambia su política sin esperar un despliegue.
Por cada cierta cantidad de producto, el motor agrega solo el exhibidor que debe acompañarlo. Deja de depender de que alguien lo recuerde.
Cuando el pedido se rompe en varias órdenes, los faltantes se reasignan a la orden que les corresponde en lugar de quedar colgados del pedido original.
El faltante dejó de ser una llamada perdida y se convirtió en demanda viva, medible y recuperable.
Tres usos en producción. Ninguno es un chatbot puesto encima de un sistema para poder decir que hay IA.
Calcular inventarios óptimos es difícil porque el histórico de ventas miente: cuando hubo quiebre de stock, la venta registrada es cero, no porque no hubiera demanda sino porque no había producto. Promediar ese histórico perpetúa el desabasto. El sistema construye la serie temporal por producto, identifica esos periodos como venta perdida a estimar, aplica la estacionalidad detectada y proyecta la demanda real. Cuando la cobertura de un producto baja de unos pocos días, avisa al equipo de planeación.
Los modelos de búsqueda y recomendación de la tienda no solo sugieren producto: cada tarjeta que se muestra lleva su propio token de atribución, que viaja de vuelta en los eventos de clic y de compra. El modelo aprende qué recomendación llevó a cada venta. Esto sustituyó a un servicio de terceros que el grupo pagaba por suscripción.
El personal de piso y almacén, muchos compartiendo una tableta, consulta los manuales corporativos preguntando en voz alta en español. La búsqueda es semántica sobre los documentos indexados y está filtrada por el rol del empleado: recuperación aumentada con control de acceso, no un asistente con todo el contenido abierto.
Patrones que se repiten en los seis sistemas. Son la razón por la que este ecosistema lleva años en producción y sigue siendo modificable.
Catálogo, clientes, promociones, inventario y ciclo de pedido viven en un solo esquema compartido. Cada sistema mantiene además el suyo para lo que solo a él le concierne. No hay sincronización entre sistemas hermanos porque no hay nada que sincronizar: leen el mismo dato.
Las dos tiendas no son dos desarrollos: son dos despliegues del mismo motor, diferenciados por su esquema, su línea de producto y un archivo de configuración. La fontanería es común; la presentación, propia de cada marca. Una mejora en pagos beneficia a las dos.
Cada trabajo automático toma un candado exclusivo antes de correr; si la ejecución anterior sigue viva, la nueva se retira en silencio. Nació de un incidente real de pedidos duplicados y se convirtió en política del ecosistema.
Sin plataformas de monitoreo de pago: cada error, cada pago descuadrado y cada proceso atascado publica una tarjeta con botón de acción directa en el canal del equipo. El aviso llega a quien puede resolverlo, no a un registro que nadie lee.
Márgenes de inventario, umbrales de envío gratis, políticas de escasez por producto, campos de pedido y frecuencias de los procesos se configuran desde la aplicación. El negocio cambia sus reglas sin esperar un despliegue nuestro.
Arquitectura propia, renderizado en servidor, JavaScript a mano. Cero dependencias que caduquen, cero compilación que se rompa, y un tiempo de arranque que funciona en terminales de almacén de gama baja. Después de años, siguen siendo mantenibles.
Todo lo que aparece en esta lista existe hoy en producción, en un negocio que factura todos los días. No son servicios de catálogo: son cosas que ya construimos y sostenemos.
Ver todos nuestros serviciosTodo lo que acabas de leer está en producción hoy, en un negocio que factura todos los días. Cada capacidad de esta página se puede señalar con el dedo en un sistema vivo — y esa precisión no es casualidad, es la forma en que trabajamos.
Distinguimos con exactitud qué construimos nosotros y qué aporta un tercero. Desde la propuesta sabes exactamente qué estás contratando.
Cuando decimos que algo va a funcionar es porque ya lo construimos antes, y sabemos lo que cuesta sostenerlo en el tiempo.
Cada decisión queda documentada y trazada a la solicitud que la originó. El saber vive en el proyecto, no en la cabeza de una persona.
Es la razón por la que este ecosistema lleva años en producción, absorbió nuevos canales de venta según fueron apareciendo y sigue siendo modificable hoy.
Si tus canales de venta no se hablan entre sí, si tu inventario se sobrevende, o si tu ERP se quedó corto, es exactamente el problema que sabemos resolver.