El sistema se construyó en seis fases, cada una utilizable por sí sola. Primero el saneamiento de claves de producto: sin SKU confiable no hay nada que cruzar. Después un inventario central de solo lectura, que durante semanas solo miró y comparó, sin autoridad para cambiar nada.
La tercera fase trajo el kardex: un registro append-only de movimientos de venta. No se edita un movimiento equivocado, se agrega el que lo corrige, y la existencia siempre es la suma de la historia. El backfill de 90 días de historia se escribió en unos dos minutos y la consulta de esa misma ventana corre en 3.5 ms sin necesidad de índices nuevos.
Con la historia confiable ya se pudo invertir la relación: la cuarta fase escribe de vuelta al canal con un reconciliador que verifica cada escritura, y la quinta hace que la tienda web deje de tener stock propio y sirva la disponibilidad del central. Las dos últimas abren el camino a un segundo canal y a la capa de analytics.
Todo corre en Node 22 con TypeScript sobre PostgreSQL, con validación de esquemas en las fronteras, registro estructurado de eventos y generación de reportes en CSV y PDF para la gente que opera desde el escritorio, no desde una terminal.