PMG: Personal Money Guard
v3.18.1

Novedades por versión

  • fix Al registrar o modificar un movimiento en Registrar Movimiento, la actualización en tiempo real de Presupuesto dejaba en $0 las columnas Gastado y Disponible de cada tarjeta en la tabla de Tarjetas de Crédito (aunque el total sí quedaba correcto), obligando a recargar la página para ver los valores reales — el JavaScript que repinta esa tabla leía los campos con un nombre distinto al que envía el servidor

  • fix Al registrar un Gasto, el campo Origen Pago ya no queda con el primer banco de la lista preseleccionado por defecto — ahora inicia en "Seleccione" para evitar registrar un banco equivocado sin querer
  • feat Los campos Pagado en Firme, Fecha Pago y Origen Pago del formulario de Gasto ahora están agrupados bajo un enlace "Información adicional" que el usuario despliega solo si los necesita diligenciar; los valores por defecto y los ajustes automáticos (por ejemplo al pagar en efectivo o por transferencia) se siguen aplicando igual, y el panel se abre solo si alguna de esas acciones automáticas deja Origen Pago pendiente por diligenciar

  • feat La barra de navegación ahora va de borde a borde en toda la app (antes quedaba centrada con márgenes) — el logo PMG queda pegado al borde izquierdo y las opciones al derecho
  • feat El mockup de teléfono del login se hizo mucho más grande y protagonista en la columna derecha, y ahora incluye el texto "Keeping your future safe" debajo del logo con una animación de glitch estilo Cyberpunk
  • fix En la vista de escritorio, el formulario de inicio de sesión ya no se estiraba a lo ancho de toda la columna — ahora tiene un ancho fijo y compacto, más profesional
  • fix El fondo de la "pantalla" del mockup de teléfono ahora coincide exactamente con el fondo real del logo, sin costura visible
  • fix En móvil, el logo ya no quedaba oculto: ahora se muestra sin el marco de teléfono, directamente como una imagen con esquinas redondeadas y resplandor

  • feat El formulario de inicio de sesión se rediseñó otra vez: en vez de la tarjeta giratoria de la versión anterior, ahora es una pantalla dividida en dos columnas — el formulario a la izquierda (Microsoft como opción principal arriba, usuario y contraseña siempre visible debajo) y a la derecha un panel Cyberpunk con un mockup de teléfono mostrando el logo de PMG
  • chore En pantallas angostas, el panel visual de la derecha se oculta para dejar todo el espacio al formulario

  • feat La pantalla de inicio de sesión ahora usa siempre el tema Neón Cyberpunk mientras no haya una sesión iniciada, sin importar el tema que tenga guardado cualquier usuario en ese navegador
  • feat El formulario de inicio de sesión se rediseñó como una tarjeta que gira: "Iniciar sesión con Microsoft" pasa a ser la opción principal, y un botón secundario permite girar la tarjeta para revelar el formulario clásico de usuario y contraseña. Funciona igual en escritorio y en móvil
  • fix Cuando falla un inicio de sesión con usuario/contraseña, la tarjeta ahora abre directamente en el formulario clásico con el mensaje de error visible, en vez de quedar detrás del botón de Microsoft
  • fix Un fallo al autenticar con Microsoft ahora muestra su mensaje de error correspondiente; antes la página de login no mostraba ningún aviso en ese caso

  • chore La aplicación se renombra de "Plan Mensual de Gastos" a "Personal Money Guard" — la sigla PMG no cambia. Se actualizó el nombre visible en Acerca de, el correo de cierre de periodo y el reporte PDF (título de portada, metadatos y pie de página)
  • chore Se reemplazó el logo en toda la aplicación (favicon, barra de navegación, pantalla de inicio de sesión y portada del reporte PDF) por el nuevo diseño de marca

  • feat En pantallas de escritorio, la vista Presupuesto estrena un panel de indicadores con animación al cargar y al recibir actualizaciones en vivo, contexto adicional bajo cada indicador (variación de bancos, % de cupo de TC usado, % del presupuesto usado, valor recuperado de préstamos) y un indicador de conexión en tiempo real con marca de "actualizado hace..."
  • feat Nueva barra de navegación por pestañas ancladas (Bancos, Tarjetas, Presupuesto, Préstamos) que resalta la sección visible al hacer scroll y permite saltar directo a cada una
  • feat En pantallas muy anchas, cada sección muestra la tabla y su gráfico de análisis lado a lado en vez de tener que abrir el gráfico manualmente
  • feat La columna "Disponible" de Presupuesto del Mes ahora incluye una barra de progreso del gasto por concepto, y el guardado de valores editados muestra una confirmación visual más sobria (notificación flotante en la esquina) además del indicador existente
  • feat Los colores de acento de cada sección (Bancos, Tarjetas, Presupuesto, Préstamos) ahora se adaptan al tema activo en vez de usar una paleta fija, consistente con los 6 temas de la app
  • chore La vista móvil de Presupuesto no cambia: se separó completamente del rediseño de escritorio para no alterar su comportamiento

  • feat El correo electrónico ahora es obligatorio al crear un usuario nuevo desde Administrar Usuarios, con validación de formato y de duplicados
  • feat Nueva sección de auto-servicio en "Cambiar Contraseña" para que cualquier usuario existente cargue o corrija su propio correo (de solo lectura para cuentas Microsoft, que se sincronizan automáticamente)
  • feat Al cerrar un periodo, el sistema genera el mismo reporte PDF del botón manual y lo envía por correo a la dirección registrada del usuario, con un diseño propio inspirado en el tema Neón Cyberpunk; si el usuario no tiene correo o el envío falla, el cierre del periodo se completa igual
  • feat Al confirmar el cierre de mes ahora se muestra un modal de espera mientras se procesa, igual que en inicio de sesión o al registrar un movimiento
  • fix El campo de correo del usuario ahora es único en la base de datos, evitando que dos cuentas locales compartan el mismo correo y confundan la vinculación de cuentas de Microsoft

  • fix En Configuración de Temas, el texto "Tema Actual" siempre mostraba "Océano Azul" sin importar el tema realmente aplicado, porque se actualizaba antes de que la lista de temas disponibles terminara de cargarse. Las tarjetas sí marcaban el tema correcto; ahora el texto también refleja el tema activo real

  • fix En la vista Conceptos, el nombre de cada concepto existente se mostraba sobre un fondo claro fijo que no se adaptaba al tema; en temas oscuros como Neón Cyberpunk el texto quedaba prácticamente invisible. Ahora ese campo usa los mismos colores del tema activo, igual que el resto de la app

  • fix La vista Acerca de tenía su propio fondo y encabezado con colores fijos (un degradado azul/índigo) que nunca cambiaban según el tema elegido; ahora usa los mismos colores del tema activo que el resto de la app, incluyendo el listado de novedades

  • fix Los botones verdes (como "Registrar movimiento" y "Guardar Gasto") tenían texto blanco prácticamente ilegible sobre el verde de Neón Cyberpunk y con contraste insuficiente en los demás temas; ahora usan texto oscuro con buen contraste en los 6 temas
  • fix Mismo ajuste en los botones rojos, que tenían el mismo problema de contraste

  • fix Los mensajes de advertencia (fondo amarillo/naranja) tenían texto blanco en los 6 temas, prácticamente ilegible en Neón Cyberpunk; ahora usan texto oscuro con buen contraste en todos los temas

  • fix Un administrador ya no puede consultar, editar ni eliminar el histórico de movimientos de otro usuario sin su autorización explícita; cada usuario controla este permiso desde su propio Histórico de Periodos, apagado por defecto
  • feat Nuevo interruptor "Permitir que un administrador consulte mi histórico" en Histórico de Periodos, con un aviso de confirmación antes de activarlo

  • feat Al entrar a Inicio, si todavía no se le ha mostrado el modal de novedades de la versión actual, se le presenta automáticamente con el mismo historial de cambios que se ve en Acerca de; una vez lo cierra, no se le vuelve a mostrar hasta que se publique una versión nueva

  • fix La portada del reporte PDF nunca mostraba el apellido del usuario: el helper que arma los datos de usuario para el reporte en router/cerrarMes.js filtraba únicamente código, nombre y rol desde la sesión, descartando el apellido antes de que llegara a construirse el PDF

  • feat La tarjeta "Usuario" de la portada del reporte PDF ahora muestra también el código de usuario, debajo del nombre completo

  • fix Las gráficas de dona del reporte PDF (Gastado vs. Disponible, Deudores vs. Valor recuperado) mostraban el título y la leyenda superpuestos cuando el título era largo; ahora el círculo y el texto se ubican uno al lado del otro y el espacio se calcula según el alto real del título
  • feat La portada del reporte PDF ahora muestra el nombre completo del usuario (nombre y apellido) y presenta Usuario/Fecha de generación/Ambiente en una tarjeta con el mismo estilo visual del resto del reporte, en vez de texto plano

  • feat El reporte PDF de "Generar reporte y backup" se reconstruyó desde cero con un motor que calcula de antemano cuántos movimientos, bancos, tarjetas y conceptos hay y cuánto espacio ocupa cada uno, antes de generar una sola página — elimina las páginas en blanco y los gráficos superpuestos que podían aparecer con muchos bancos o movimientos
  • feat Los movimientos ahora se muestran como tarjetas (igual que en Movimientos), no como tabla: la descripción completa siempre es visible, sin cortarse ni truncarse
  • feat Nueva portada del reporte con los mismos 4 indicadores de Presupuesto (Disponible en Bancos, Cupo Disponible TC, Disponible del Mes, Préstamos Pendientes) y la barra "Gastado del mes", más una sección de resumen con el conteo y total de cada tipo de movimiento
  • feat Bancos, Tarjetas de Crédito, Presupuesto del Mes y Préstamos se presentan dentro de tarjetas de bordes suaves, con los valores negativos resaltados en rojo
  • fix Corrección de varios problemas del reporte anterior: el logo se superponía con el título, el formato de moneda mostraba centavos, y el cierre de mes podía fallar sin registrar el error

  • feat Nueva vista "Histórico de Periodos": cada cierre de mes guarda automáticamente un snapshot con los movimientos y el presupuesto final del periodo (bancos, tarjetas, conceptos, préstamos, gráficas), consultable después de que esos datos se eliminan del periodo activo
  • feat Un administrador puede consultar el histórico de cualquier usuario, editar o eliminar movimientos puntuales de un periodo cerrado, o eliminar un periodo completo
  • feat Nuevo parámetro en Administrar Usuarios para configurar cuántos periodos de histórico se conservan por usuario (por defecto 6); al reducirlo se elimina de inmediato el histórico más antiguo que sobre
  • feat Las tablas de Bancos y Tarjetas de crédito del histórico ahora muestran una fila de totales, igual que la tabla de Presupuesto del mes

  • fix Los valores de disponible/gastado en las tarjetas de la vista móvil de Presupuesto (bancos, tarjetas de crédito y conceptos) eran difíciles de leer en algunos temas; ahora usan fondo sólido y texto blanco con mayor tamaño de letra

  • feat La vista de Presupuesto ahora se actualiza sola, sin recargar la página, cada vez que se registra, edita o elimina un movimiento desde Movimientos (aviso en vivo vía Server-Sent Events)
  • fix Varios totales de Presupuesto (bancos, tarjetas de crédito y conceptos del mes) no se recalculaban correctamente al editar un valor desde la propia vista, tanto en la tabla de escritorio como en las tarjetas de la vista móvil
  • fix Corrección de un color de texto ilegible que aparecía brevemente en las tarjetas de la vista móvil de Presupuesto justo después de actualizarse un valor

  • feat El resumen del pago masivo de tarjetas de crédito ahora muestra una línea por cada tarjeta involucrada, con su propio rango de fechas y total, más una línea final con el total general
  • fix Corrección de la alineación de fechas y totales en ese resumen cuando los nombres de las tarjetas tienen longitudes distintas

  • feat Opción para marcar/desmarcar todos los movimientos visibles (según los filtros aplicados) al registrar un pago masivo de tarjeta de crédito
  • fix Corrección de contraste en los valores de las tarjetas de estadísticas de Inicio con temas oscuros

  • feat Nuevo tema Neón Cyberpunk: esquema oscuro con colores neón vibrantes y fondo con patrón de cuadrícula digital
  • feat Resumen de estadísticas (rango de fechas, tarjetas involucradas y total) en el modal de pago masivo de tarjetas de crédito
  • fix Corrección de contraste y consistencia visual en la vista de Movimientos para los temas oscuros (filtros, tarjetas y edición en línea)
  • fix Corrección del contador de movimientos seleccionados en el botón "Registrar pago TC", ilegible en temas oscuros
  • feat Sistema profesional de versionamiento (SemVer + Conventional Commits) con historial de novedades visible en Acerca de
  • feat En Inicio, se reemplaza la tarjeta "Disponible del Mes" por dos nuevas: Mayor Gasto por Categoría y Préstamos
  • chore Limpieza de documentación temporal de trabajo, conservando únicamente la documentación oficial del proyecto

  • feat Modal de espera profesional al iniciar sesión (usuario/contraseña y Microsoft)
  • feat Pago masivo de tarjetas de crédito: selecciona varios movimientos y márcalos como pagados en un solo paso
  • feat Valores por defecto inteligentes al registrar un gasto (Pagado en Firme y Origen Pago)
  • fix Corrección definitiva del desfase de horas en movimientos — guardado siempre en hora Colombia, visualización según el huso horario real del navegador

  • feat Rediseño visual completo de la vista de Presupuesto (tarjetas KPI, secciones colapsables)
  • feat Filtro por concepto/tipo de gasto en la vista de movimientos
  • feat Origen de pago obligatorio cuando un gasto queda pagado en firme
  • fix Ajustes de contraste y legibilidad en encabezados de tablas

  • refactor Refactor completo del módulo de movimientos: CSS y JS separados en archivos propios, vista dividida en partials, router modularizado
  • feat Cierre de mes: se conservan los préstamos no pagados y se reportan por separado en el PDF
  • feat Parámetros iniciales automáticos para usuarios nuevos
  • feat Dashboard de estadísticas financieras en la página de inicio
  • chore Limpieza general del proyecto: archivos de prueba, scripts y datos obsoletos retirados del repositorio
  • feat Rediseño de las gráficas de presupuesto (carrusel en móvil)
  • docs Documentación técnica del módulo de movimientos

  • feat Segundo hosting en Render.com
  • feat Sistema de logs configurable por ambiente (detallado en desarrollo, mínimo en producción)
  • feat Filtros de préstamo pagado y origen de pago en la vista de movimientos
  • fix Restricciones de cambio de contraseña para usuarios autenticados con Microsoft

  • refactor Rearquitectura de los tipos de movimiento (retiro de efectivo, transferencia entre cuentas)
  • feat Endurecimiento de seguridad: límites de intentos, validaciones estrictas
  • feat Edición en línea de movimientos existentes
  • feat Administración de usuarios y cambio de contraseña
  • feat Temas de colores configurables
  • feat Inicio de sesión con cuenta de Microsoft

  • feat Gestión de gastos, presupuesto mensual y catálogos base (conceptos, medios de pago, orígenes de pago)
  • feat Autenticación de usuarios
  • feat Generación de reportes en PDF
  • feat Cierre de mes
  • feat Ingresos, abonos a tarjeta de crédito y pagos diferidos
Esta aplicación fue creada por Felipe Castaño con el objetivo de llevar unas finanzas sanas y acertadas. Ningún sistema ofrecía lo que se necesitaba, así que él mismo la construyó.
Agradecimientos especiales a su esposa Natalia, quien lo acompañó y apoyó hasta el final con sus conocimientos en contabilidad.