Gabriel Segovia
ESEN
Escribime
Volver a proyectos

Cobranzas

Sistema de cobros · En prueba

App privada para vender en cuotas: cronogramas, cobros en pesos sobre deuda en dólares y recibos en PDF.

Captura de la página principal de Cobranzas

Datos rápidos

  • Rol: análisis, diseño del cálculo, desarrollo y despliegue.
  • Cliente: una tienda de productos importados que vende en cuotas.
  • Estado: en prueba. Se desplegó el 08-11-2026 y falta la validación del cliente.
  • Stack: Next.js, React, Supabase (PostgreSQL), PWA y Docker.

No muestro la aplicación porque tiene datos financieros reales del cliente. Por eso la captura es solo la pantalla de ingreso.

El problema

El cliente vende en cuotas y necesita saber en todo momento cuánto debe cada persona, qué cuota vence, quién se atrasó y cuánto corresponde cobrar. Con deuda en dólares y cobros en pesos, cada pago obliga a hacer cuentas con la cotización del día, y un error se paga caro.

Cómo lo encaré

  • Primero las reglas, después el código. Escribí un documento de especificación con las reglas comerciales acordadas: cómo se calculan los intereses, qué pasa con un pago parcial, cuándo hay mora y cómo se perdona.
  • Un solo administrador con inicio de sesión. Es una herramienta interna, no un sistema para público.
  • Lo que no estaba definido no lo improvisé. Los adelantos parciales y el calendario de la mora tenían puntos abiertos, y los dejé marcados como pendientes en la especificación antes de programarlos.

Las reglas acordadas, con un ejemplo mío:

  • Financiación: interés simple mensual sobre el precio. Con USD 1.000, 5 % mensual y 3 cuotas, el interés total es USD 100, el total financiado USD 1.100 y las cuotas USD 366,67, USD 366,67 y USD 366,66 (la última absorbe el redondeo).
  • Cobros en pesos: el pago se convierte a dólares con la cotización que se cargó. Con ARS 100.000 a 1.600 por dólar son USD 62,50, que cuentan como pago parcial y no cancelan la cuota entera.
  • Mora: 10 días de tolerancia, configurable por cliente. Después se suma un mes completo de interés simple, sin interés sobre interés, y se puede perdonar dejando constancia.

Qué construí

  • Clientes, ventas, cuotas, pagos y vencimientos, con la cotización usada guardada en cada pago.
  • Panel con total pendiente, cobrado del mes, próximos vencimientos y morosos, con colores por estado.
  • Recibos en PDF y avisos de vencimiento por WhatsApp con el mensaje ya armado.
  • Funciona como app en el celular (PWA).
  • Protección contra intentos repetidos de ingreso.
  • Pruebas automáticas del cálculo, porque es la parte donde un error cuesta plata.

Resultados

Qué Dato
Memoria de la aplicación Unos 54 MB, medidos el 08-11-2026
Estado Desplegada; falta la prueba del cliente
Cálculo Cubierto por pruebas automáticas

Qué aprendí

  • En un sistema de plata, las reglas van primero. Escribir las fórmulas y los ejemplos antes de programar evitó discusiones después.
  • Guardar el dato con el que se calculó. Cada pago conserva la cotización usada, para poder explicar cualquier número.
  • Marcar lo pendiente en lugar de adivinar.
JavaScriptCSSNext.jsReactSupabasePostgreSQLPWADocker

Escribime