← Ecosistema

JoeLedger

Análisis de gastos personales sobre trece años de datos reales: no otro registro de gastos, sino una herramienta para comparar categorías año a año.

El problema

Desde 2013 apunto mis gastos en una app de Android: más de catorce mil movimientos. Pero la app solo muestra el saldo y el mes en curso: no deja ver cómo se ha movido una categoría a lo largo de los años, ni comparar este año con el mismo periodo de años anteriores.

La copia de seguridad de la app está cifrada en un formato cerrado, y la única salida era una exportación CSV. De ahí nació una herramienta que importa, normaliza y compara.

Cómo funciona

Estructura

Cuentas, categorías, subcategorías y movimientos en tablas propias dentro de JoeCMS. Tres vistas: un resumen, la lista de movimientos y la página de comparación, que es el corazón del proyecto.

Flujo de uso

Se exporta el CSV desde la app y se sube. El importador sincroniza: actualiza las filas cambiadas, añade las nuevas y quita las que han desaparecido en el periodo del archivo. Después se elige una categoría o subcategoría y se compara año a año, por semana, mes o año.

Decisiones técnicas

Importaciones repetibles sin duplicados gracias a una huella por movimiento, todo dentro de una transacción que se puede deshacer. Las reglas sobre los datos están escritas: personas y lugares siguen siendo categorías, cuando categoría y subcategoría están invertidas gana la principal, los importes positivos en la cuenta de gastos cuentan como ingresos.

Límites conocidos

Está en fase de diseño: el importador y las páginas existen, el nuevo aspecto está aprobado pero aún no está en las plantillas, y la importación del archivo completo debe validarse antes de publicarlo.

Números

Movimientos desde 2013 14.373
Años de datos 13
Categorías principales 82
Subcategorías 1.278
Cuentas 4

Stack

  • PHP 8
  • MySQL
  • JoeCMS
  • Chart.js
Capturas próximamente