joacodev
Proyectos

05 · ERP + POS + e-commerce

Grupo VJ

ERP, punto de venta y tienda online para una distribuidora de bebidas con dos sucursales.

Año
2026
Para
Grupo VJ
Estado
En producción, con uso diario
Rol
Análisis, diseño, backend, frontend, integración fiscal, deploy y mantenimiento
Visitar grupovj.com.ar (abre en otra pestaña)
Captura de Grupo VJ
rutas de API documentadas con Swagger
~200
modelos de datos
30
sucursales y un depósito
2

El problema

Una distribuidora de bebidas de Córdoba vende a minoristas y mayoristas, tiene dos sucursales y un depósito, reparte a domicilio, fía con cuenta corriente y tiene que facturar electrónicamente ante ARCA. Todo eso se llevaba con herramientas separadas o a mano.

La solución

Una plataforma con dos caras sobre el mismo backend y la misma base: un ERP / punto de venta interno para administradores y empleados, y una tienda online pública. El stock, los precios y los pedidos están sincronizados en tiempo real entre las dos.

Features clave

  • POS con escaneo de códigos con la cámara, precio minorista, mayorista o manual por ítem y varios métodos de pago en una misma venta (incluidos QR de Mercado Pago y Nación y cuenta corriente).
  • Facturación electrónica: facturas A, B y C y notas de crédito por WSAA y WSFE, PDF con QR fiscal, remitos con CAI y cierre de caja imprimible.
  • Worker independiente que reintenta las facturas caídas por AFIP y un cron que renueva los tokens.
  • Inventario por ubicación (local / depósito) con transferencias, historial completo y combos cuyo stock se calcula desde sus componentes.
  • Cuentas corrientes conciliadas: los abonos se aplican a las ventas para que la deuda coincida con el saldo real.
  • Envíos con costo por kilómetro calculado con rutas reales de OpenRouteService desde la sucursal de origen.
  • Tienda online con carrito, seguimiento de pedidos y edición mientras estén pendientes.

Desafíos técnicos

  • Integración fiscal real con AFIP: firma de certificados con node-forge, tokens WSAA que vencen, numeración correlativa y reintentos tolerantes a fallos sin duplicar facturas.
  • Stock de productos compuestos: el disponible de un combo sale del componente más escaso, también al editar ventas pendientes.
  • Zona horaria de Argentina forzada en todo el backend para que reportes y cierres de caja den bien.
  • Envíos con distancia real por calles, no en línea recta.

Resultado

En producción y con uso diario en el negocio: la venta en el mostrador, el stock, la facturación fiscal, las cobranzas, las compras y la venta online viven en un único sistema.

Stack

  • Next.js
  • TypeScript
  • Express
  • PostgreSQL
  • Prisma
  • ARCA/AFIP
  • OpenRouteService
  • Cloudinary