Tres aplicaciones sueltas se volvieron un panel donde se decide el precio y se ve la ganancia real.
Panel interno que reemplazó tres aplicaciones dispersas — catálogo y precios, operación de Mercado Libre y cuentas por pagar sobre una sola base.
- Proyecto
- Bazar Grupo Dos
- Año
- 2026
- Línea
- CRM & Dashboards · Integraciones
El punto de partida
Grupo Dos vende por tres canales a la vez: su tienda online, Mercado Libre y el local. Detrás de esos tres canales hay un solo catálogo de unos 6.000 productos repartidos entre siete proveedores, un solo sistema de facturación electrónica y una sola cuenta corriente con cada proveedor. La gestión, en cambio, estaba partida en tres aplicaciones internas construidas en momentos distintos, cada una con su base de datos y su forma de entrar.
El desafío
Las decisiones que más pesan en un bazar —a qué precio se publica, cuánto deja cada venta y a quién hay que pagarle esta semana— dependían de juntar a mano datos que vivían separados. El precio se calculaba en una herramienta, la deuda con cada proveedor se llevaba en otra, y la ganancia por venta era una estimación: el sistema viejo calculaba las comisiones de Mercado Libre en lugar de leer las que efectivamente se cobraron, así que el número con el que se decidía nunca era el número que había pasado.
Qué construimos
Construimos un panel interno único que reemplaza a las tres aplicaciones, con una sola base de datos y una sola cuenta por persona. El catálogo y los precios viven ahí: a partir del costo del proveedor, sus descuentos y las reglas de cada canal, el sistema resuelve los cuatro precios con los que se vende —mayorista, contado, web y Mercado Libre— y los publica sin volver a cargar nada. Sobre el marketplace se opera desde el mismo lugar: las preguntas entran solas y se contestan con plantillas, las etiquetas de envío se imprimen por lote con el vencimiento a la vista, y los reclamos y las campañas se siguen sin abrir otra pantalla. Del lado de la plata, la cuenta corriente de cada proveedor —facturas, pagos aplicados y plan de cuotas— está en el panel, la facturación electrónica se trae sola todos los días, y el reporte de rentabilidad dejó de estimar: por cada venta lee la comisión que se cobró, el costo real del envío según cómo se despachó, las retenciones de impuestos y el costo de la mercadería, y muestra cuánto quedó.
Cómo está construido
Next.js 16 con App Router y Server Actions sobre PostgreSQL 16 con Drizzle, containerizado y desplegado por push. Autenticación propia con sesiones en la base, permisos por módulo y registro de auditoría. Contra Mercado Libre se trabaja de las dos formas que corresponden: por aviso del marketplace lo que el marketplace avisa —preguntas, ventas, envíos— y por tarea programada lo que no avisa, como el catálogo de campañas o el precio de la competencia. Los cálculos que deciden plata son motores puros, separados de la interfaz y cubiertos por tests con datos reales: el de precios y el de rentabilidad no dependen de ninguna pantalla para dar el mismo resultado.
Qué sigue evolucionando
El panel se construyó por módulos y sigue así: precios, Mercado Libre y finanzas ya operan todos los días, y el módulo de pedidos todavía corre en su aplicación vieja hasta que le toque. Es la misma lógica de la migración de la tienda —una capa por vez, con la operación andando— aplicada puertas adentro.
Con qué está hecho
- Next.js 16
- React 19
- TypeScript
- PostgreSQL 16
- Drizzle ORM
- Tailwind 4
- Docker
- Contabilium (facturación DGI)
- API de Mercado Libre
El panel por dentro
Las pantallas son las de la aplicación en producción, pero los datos que se ven son de relleno: los productos, los proveedores, los compradores, los precios y los importes fueron reemplazados. La información comercial de Grupo Dos, de sus proveedores y de sus clientes no se publica, así que ninguna cifra ni ningún nombre de esta galería es real.