Skip to content

Releases: Eco-RV/FinanceOS

v3.4.0 — Salida a los early birds

Choose a tag to compare

@Eco-RV Eco-RV released this 03 Nov 04:08
30ae45c

Salida a los early birds: la guía de producción recorrida y la política de
privacidad al día. Sin cambios de funciones.

Privacidad

  • La política de privacidad cubre Outlook: Microsoft en la lista de
    servicios, los permisos que se piden (Mail.Read, User.Read,
    offline_access), qué se lee, una sola conexión de correo y cómo revocar
    el permiso.
  • Aclara que un aviso del banco puede registrarse solo con Aceptar solas al
    sincronizar
    (I7).

Producción

  • docs/produccion/guia-produccion.md pasa a 3.4.0 con el estado de cada
    paso: auditoría RLS sin hallazgos, Sentry recibiendo errores, funciones de
    Vercel en pdx1 (misma región que Supabase, us-west-2), Outlook
    registrado en Azure. Pospuestos: plantillas de correo en español y el
    primer respaldo. Sin leaked password protection (plan gratis).
  • La guía suma el SQL 3.3.0 y la prueba de registro con un correo fuera del
    equipo de Supabase (el SMTP de fábrica podría no entregarle).

Base de datos

  • Sin SQL nuevo. Debe estar corrido todo 3.2.0/ y 3.3.0/.

Configuración

  • Vercel: región de funciones pdx1, NEXT_PUBLIC_SENTRY_DSN,
    MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET.

v3.3.0 — Outlook, mantenimiento de Bancos y aceptación automática

Choose a tag to compare

@Eco-RV Eco-RV released this 29 Oct 04:25
1b445e2

Correo: Outlook, mantenimiento de Bancos y aceptación automática.

Bancos y correo

  • Outlook personal (outlook.com, hotmail, live) como buzón para leer los
    avisos, por Microsoft Graph y solo lectura. Una conexión de correo por
    usuario: conectar Outlook reemplaza a Gmail y al revés (I8). El formato del
    BAC es el mismo para los dos.
  • La card Correo muestra el proveedor, el resultado de la última lectura
    ("3 nuevas · 1 sin leer") y, si falló, el error con "Reconectar".
  • Por banco: "Último aviso leído" y una alerta si la plantilla pudo
    cambiar
    (llegaron avisos que el formato no entendió).
  • Probar formato: pegar un aviso y ver qué lee el formato, o qué etiquetas
    encontró si no lo entiende.

Compras por confirmar

  • Interruptor Aceptar solas al sincronizar (I7): cada compra con tarjeta
    se aprueba sola con la categoría de su regla o con "Otros" (que no se
    aprende como regla). Sin tarjeta reconocida queda por confirmar.

Base de datos (correr a mano, DESPUÉS de todo 3.2.0)

  • Correr supabase/Versionamiento/3.3.0/00_mail_providers.sql
    (provider acepta outlook, una conexión por usuario, resultado y error
    de la lectura, marcas por banco). Sin este SQL Gmail sigue funcionando, pero
    Outlook y el resultado de la lectura no.

Configuración

  • Registrar la app en Azure y poner MICROSOFT_CLIENT_ID /
    MICROSOFT_CLIENT_SECRET (ver docs/produccion/guia-produccion.md, sección
    Outlook).

v3.2.1 — Oswald, favoritos en el Resumen y Resumen reordenado

Choose a tag to compare

@Eco-RV Eco-RV released this 25 Oct 04:20
d99efb8

Pulido del Resumen y tipografía.

Tipografía y Resumen

  • Oswald en títulos, cifras y botones de toda la app; el texto corrido
    sigue en Geist.
  • Favoritos en el medio del Resumen (U11): accesos a Gastos, Ingresos,
    Cuentas, Tarjetas, Transferencias, Cobros o Pendientes. Cada usuario elige
    hasta 5 y su orden con Editar; se guardan en el perfil. En el celular
    caben 4 y el quinto se desliza.
  • Resumen más ordenado: saludo con la fecha de hoy; Liquidez, A pagar y
    Faltante en la primera fila; pagos próximos y cortes antes del análisis
    (los primeros 3 y "Ver más"); gastos con el período como selector dentro
    de una sola card; "Más detalle" para lo secundario; patrimonio neto como
    fila propia.
  • Esqueleto de carga del Resumen con la nueva forma.

Base de datos

  • Nada que correr: los favoritos se guardan en profiles.preferences (SQL 2.6.0).

Configuración

  • Para que funcione Continuar con Google (U10): encender el proveedor
    Google en Supabase → Authentication → Sign In / Providers con el Client ID y
    Secret de un cliente OAuth Web de Google Cloud (pantalla de consentimiento
    publicada, scopes openid, email, profile; URI de redirección
    https://<ref>.supabase.co/auth/v1/callback). Sin esto Supabase responde
    Unsupported provider: provider is not enabled.

v3.2.0 — Salida a producción para early birds

Choose a tag to compare

@Eco-RV Eco-RV released this 22 Oct 05:20
a5dec42

Salida a producción para los primeros usuarios (early birds): una promesa
("no vuelvas a pagar intereses en tus tarjetas") con funciones que llegan por
logros, buzón de comentarios, más velocidad, seguridad multiusuario y pulido.
Plan y avance en docs/produccion/plan-3.2.0.md; guion de prueba en
docs/produccion/guion-prueba-early-bird.md. Los pendientes de la
Constelación pasan a la 4.0.0.

Multiusuario (Fase 0)

  • El formato de fecha ya no se comparte entre usuarios en el servidor: va por
    request (cookie fo-date + contexto en el navegador).
  • Auditoría de RLS de solo lectura: supabase/Versionamiento/3.2.0/00_auditoria_rls.sql.

Velocidad (Fase 1)

  • Esqueleto de carga con la forma de cada sección: el toque cambia de pantalla
    en ~20 ms (antes ~1 s congelado dentro de Procesos).
  • La sesión se valida en local (getClaims): el proxy baja de ~170 ms a
    1–27 ms por navegación.
  • Planes y tipo de cambio se sincronizan una vez al día, no en cada página.
  • El Resumen lee todo en una tanda (6 → 2).
  • Animaciones de entrada más cortas y formularios del botón flotante bajo demanda.
  • Medición: PERF_LOG / NEXT_PUBLIC_PERF_LOG (ver docs/CONTEXT.md).

Enfoque y funciones (Fase 2)

  • Promesa única: no pagar intereses en las tarjetas. Una cuenta nueva ve
    solo el núcleo, con Primeros pasos en el Resumen.
  • Más funciones (/procesos/funciones): activar o apagar Ingresos,
    Planes, Análisis, Financiamientos, Préstamos, Ahorros, Compartidos, Cobros,
    Gmail (beta) y Herramientas. Las cuentas de antes siguen con todo encendido.
  • Sugerencias por logro en el Resumen, una a la vez (E4).
  • Página de inicio pública en /; bienvenida solo la primera vez.
  • Constelación oculta salvo con NEXT_PUBLIC_FEATURE_CONSTELLATION=1.
  • Estados vacíos con el paso que sigue y enlaces que abren el diálogo directo
    (?nueva=1, ?nuevo=1, ?pago=1), también desde los primeros pasos.
  • Sin "Compartir" ni "Financiar" cuando esas funciones están apagadas.
  • La lista de movimientos respeta el formato de fecha del usuario también
    dentro de los filtros de Gastos y de los detalles.

Buzón de comentarios (Fase 3)

  • Comentarios (/comentarios): el usuario cuenta su experiencia, pregunta o
    pide mejoras (con captura opcional) y conversa con el equipo. Es privado y
    va con su nombre (B1–B6).
  • Estados Recibido, En revisión, En planes, Hecho y No por ahora (con motivo);
    Hecho y No por ahora cierran la conversación.
  • Bandeja (/comentarios/bandeja) solo para el admin: sin leer, abiertas,
    cerradas y por tipo; responder y cambiar el estado.
  • Sin interrumpir: menú del usuario (con un punto si hay respuestas sin leer),
    Ajustes → Comentarios y un enlace al pie del Resumen.

Producción y seguridad (Fase 4)

  • Pantallas propias de error (con reintentar) y de página no encontrada.
  • Sentry opcional (NEXT_PUBLIC_SENTRY_DSN), sin datos del usuario.
  • Cabeceras de seguridad (sin iframes, nosniff, HSTS, permisos del navegador).
  • Términos de uso (/terminos) y Política de privacidad reescrita para
    varios usuarios; el registro las enlaza. Pendientes de revisión.
  • Guía de producción: docs/produccion/guia-produccion.md.

Pulido (Fase 5)

  • Los formularios ya no borran lo escrito cuando hay un error (32 diálogos).
  • Todo el texto en "tú" (había voseo mezclado).
  • Botones más grandes en pantallas táctiles (40 px) y mejor contraste del verde y el rojo en modo claro.

Base de datos (correr a mano, en orden, DESPUÉS de todo 3.1.0 y ANTES de desplegar)

  1. supabase/Versionamiento/3.2.0/00_auditoria_rls.sql: solo lectura, para revisar.
  2. 01_feedback.sql: buzón (tablas, RLS, triggers, RPC y bucket feedback).
  3. 02_feedback_admin.sql: cambiar el correo por el de la cuenta admin. Después,
    cerrar sesión y volver a entrar.

Configuración

  • NEXT_PUBLIC_SENTRY_DSN (opcional): errores en Sentry.
  • NEXT_PUBLIC_FEATURE_CONSTELLATION: no ponerla en producción (la
    Constelación queda apagada hasta la 4.0.0). En local, 1 para verla.
  • PERF_LOG / NEXT_PUBLIC_PERF_LOG (opcionales): solo para medir.
  • Fuera del código (Supabase Auth, plantillas en español, SMTP, región,
    respaldos): docs/produccion/guia-produccion.md.

Probado

  • Velocidad final (build de producción en local contra la base real, desde
    Costa Rica): el toque cambia de pantalla en 10–27 ms en todas las rutas;
    contenido en 0,3–0,7 s (antes 0,37–1,6 s).
  • Buzón de punta a punta con dos cuentas, modo enfocado simulando una cuenta
    nueva, diálogos que abren desde enlaces, formularios que conservan lo escrito
    y auditoría a 375 px.
  • Pendiente antes de anunciar: el guion completo con una cuenta nueva real en el
    preview de Vercel.

v3.1.0 — Gastos compartidos, multimoneda con el BCCR y cierre del BusinessLogic

Choose a tag to compare

@Eco-RV Eco-RV released this 20 Oct 23:05
fea0359

Versión oficial después de la 3.0.0 (la 3.0.1 de desarrollo quedó dentro de
esta). Auditoría de la lógica de negocio y cierre de sus pendientes,
historiales con filtros, leyes de UX, botones de gasto e ingreso, Gastos
compartidos
, tipo de cambio del BCCR y multimoneda. Apoyos (Trustless Work)
y Academia pasan a la 3.2.0.

SQL nuevo en supabase/Versionamiento/3.1.0/: correr de 00_ a 09_ en orden
(ver "Base de datos" al final de esta sección).

Auditoría de la lógica de negocio

  • docs/dominio/pendientes.md: lo que falta, por regla, fase y proceso.
  • Avisos que faltaban:
    • C2: un gasto que deja una cuenta en negativo avisa en cuánto quedará.
    • M4: un abono mayor que la deuda avisa el saldo a favor que quedará.
  • K9 completo: enviar USDC ya no advierte a las estrellas de tu familia
    ni a las de tu agenda.
  • Las reglas de ahorro S1–S3 pasan a A1–A3 (chocaban con S1 = SINPE).
  • Estados al día en reglas y glosario. Se corrigen las historias de cuentas,
    gastos, ingresos, bancos, préstamos, constelación y tarjetas.

Historial de tarjeta y de cuenta con filtros

  • El detalle de tarjeta y el de cuenta traen todos los movimientos
    (antes: tope de 1000 y de 500).
  • Filtros:
    • A la vista: Buscar, Tipo (cargos, cuotas, pagos, saldo inicial…) e
      Incluir futuras (las cuotas programadas de financiamientos y todo lo
      que tiene fecha > hoy). Por defecto se ve hasta hoy.
    • En "Más filtros": fechas y moneda.
  • Filas por página 5/10/20/50/todas, recordadas en el navegador (también
    en Gastos).

Botones flotantes

  • Nuevo gasto: flecha hacia arriba, rojo coral.
  • Nuevo ingreso: flecha hacia abajo, verde. Va debajo del de gasto.
  • Tokens --expense e --income en claro y oscuro.

Leyes de UX

  • docs/diseno/leyes-ux.md: las seis leyes con su lista de chequeo para
    futuros desarrollos.
  • Dónde se aplicaron:
    • Cierre: en el carrusel de tarjetas asoma ~30 % de la siguiente.
    • Figura-fondo: fondo más oscuro detrás de diálogos y confirmaciones.
    • Ceguera a banners: el estado de la tarjeta va junto al título del
      estado de cuenta.
    • Parkinson: el gasto rápido recuerda cómo pagaste; el ingreso recuerda
      la cuenta y la categoría.
    • Conexión: Stepper en el alta de gasto compartido y en la wallet.
    • Exceso de opciones: Procesos con los 4 frecuentes arriba y "Más
      procesos".

Correcciones

  • T9: un seguro en Planes también se cobra a una tarjeta de débito
    (sale del saldo de su cuenta). SQL 3.1.0/02_insurance_debit_card.sql.
  • T3 en cuotas: con "las compras del día de corte pasan al siguiente
    corte", una cuota de financiamiento que cae el día del corte ahora vence en
    el corte siguiente también en la tabla del plan, los avisos a miembros y los
    gastos compartidos (el estado de cuenta ya lo hacía).

Pendientes del BusinessLogic cerrados

  • T10 / G7: tipo de cambio del BCCR (API pública de Hacienda) una vez al
    día y "Traer del BCCR"; el Resumen convierte lo de dólares en la cobertura,
    el faltante y el patrimonio.
  • T8: pago mínimo por corte y moneda, con cuánto falta para cubrirlo
    (03_card_minimum_payments.sql).
  • F10: financiamiento en la otra moneda de la tarjeta
    (create_financing_v4, 04_).
  • L7 / L8: abono extraordinario (baja plazo o cuota) y tasa variable en
    préstamos, por tramos (segmentedAmortization, 05_loan_adjustments.sql).
  • F11: abono extraordinario a un financiamiento, con deshacer
    (06_financing_prepayments.sql).
  • P7 / P8: planes con monto variable (por confirmar) y recordatorios en
    el Resumen (07_variable_plans.sql).
  • A4: varias metas por cuenta con apartados (08_goal_allocations.sql).
  • G8 / M9 / I6: comprobantes adjuntos (bucket privado, 09_receipts.sql),
    consulta de lo archivado por el Arranque de 0 y pantalla de reglas de
    comercio.
  • U8 / U9 / U10: borrar la cuenta, moneda base y formato de fecha, y
    entrar con Google.

Resumen, planes, metas y compartidos con dólares y porcentajes

  • G9: los gastos en dólares suman en las cards 7 días / Mes / Año y en el
    gráfico por categoría del Resumen, convertidos con el último tipo de cambio
    (spendingInColones, src/domain/ledger/spending.ts).
  • G10: comparar períodos: cada card y cada categoría dicen cuánto cambió
    contra el período anterior equivalente (spendingRanges, compareSpending).
    El Resumen lee los gastos desde el inicio del año pasado (todas las filas).
  • P4 con dólares: la línea base suma salarios, gastos fijos, seguros y
    cuotas en dólares convertidos (toColones, plans-board.ts).
  • A5: las metas en dólares suman al total de Ahorros convertidas.
  • X7: reparto de un gasto compartido por porcentaje (splitByPercent,
    suggestPercents) con selector Monto · %.

Gastos compartidos (X1–X6)

  • /procesos/compartidos: pagas el total y lo divides entre personas
    (miembros).
  • Alta en un asistente de 3 pasos:
    • Gasto nuevo o "Compartir" sobre uno ya registrado.
    • Reparto sugerido en partes iguales y ajustable.
    • Fecha límite: la del estado de cuenta si fue con tarjeta; si no, la
      eliges tú.
  • Registrar quién pagó, cuándo y por qué medio, con un ingreso opcional a
    una cuenta. También se puede deshacer.
  • Avisos por WhatsApp o correo desde el primer día.
  • Cobros a miembros y el Resumen suman financiamientos y compartidos.
  • Dominio src/domain/sharing/, casos de uso
    src/application/shared-expenses.ts y adaptador
    src/infrastructure/supabase/shared-expenses.ts.
  • El agrupado de avisos queda común con F8 (src/domain/shared/notices.ts).
  • El Arranque de 0 borra los compartidos (01_fresh_start_shared.sql).

Arreglos antes de publicar

  • Traer el tipo de cambio del BCCR, el abono extraordinario y el cambio de tasa
    de un préstamo y el pago mínimo rechazaban toda fecha (una expresión regular
    había perdido sus barras). El parseo de Hacienda queda en
    parseHaciendaRate, con test.

Base de datos (correr a mano, en orden, DESPUÉS de todo 3.0.0 y ANTES de desplegar)

  1. supabase/Versionamiento/3.1.0/00_shared_expenses.sql — gastos compartidos.
  2. 01_fresh_start_shared.sql — el Arranque de 0 también borra los compartidos.
  3. 02_insurance_debit_card.sql — seguro con tarjeta de débito.
  4. 03_card_minimum_payments.sql — pago mínimo.
  5. 04_financing_currency.sql — financiamiento en la otra moneda (create_financing_v4).
  6. 05_loan_adjustments.sql — abonos extraordinarios y tasa variable de préstamos.
  7. 06_financing_prepayments.sql — abonos extraordinarios a financiamientos.
  8. 07_variable_plans.sql — planes con monto variable.
  9. 08_goal_allocations.sql — varias metas por cuenta (apartados).
  10. 09_receipts.sql — comprobantes (bucket privado receipts).

Configuración

  • Borrar la cuenta necesita SUPABASE_SERVICE_ROLE_KEY en las variables
    del servidor (Vercel → Settings → Environment Variables). Ya la usaba el cron
    de correo; nunca con prefijo NEXT_PUBLIC_.
  • Entrar con Google: activar Google en Supabase → Authentication →
    Providers (cliente OAuth de Google Cloud con el callback de Supabase).
  • Las Server Actions aceptan hasta 6 MB (next.config.ts), por los
    comprobantes de hasta 5 MB.
  • El tipo de cambio sale de la API pública de Hacienda: no hace falta token.

v3.0.0 — Constelación familiar: familia, invitaciones y bóveda en Stellar (testnet)

Choose a tag to compare

@Eco-RV Eco-RV released this 18 Oct 05:58
99a9345

Constelación familiar: familia y bóveda de ahorro en USDC con aprobaciones,
sobre Stellar testnet, por fases. Ver docs/constelacion/plan-3.0.0.md.
Quedan para la 3.1.0 los Apoyos (Trustless Work) y la Academia.

Fase 0 — Lenguaje y decisiones

  • Plan con las decisiones cerradas (D1–D13), reglas K3–K7 (familia y
    bóveda), glosario y contexto (separado del libro) e historias de usuario.

Fase 1 — Contrato family (Soroban)

  • Familia con núcleo, guardianes y miembros (solo direcciones y roles);
    bóveda de USDC con depósitos, meta y retiros aprobados por guardianes
    distintos de quien pide, solo hacia la familia y con vencimiento de 7 días.
  • Tests (cargo test -p family) y despliegue en testnet
    (contracts/Versionamiento/3.0.0/), ya hecho por el usuario.
  • Cliente TS del contrato sin generar código (contract.Client.from).

Fase 3 — Dominio y casos de uso

  • src/domain/constellation/family.ts: espejo de K3–K7 para avisar antes de
    firmar (quién agrega o quita, aprobaciones requeridas, bloqueos de un
    retiro, cancelar), avance de la meta y brillo de cada estrella.
  • src/domain/constellation/directory.ts: agenda de estrellas (apodo, emoji,
    parentesco; K2), invitaciones de 72 h y Academia (lecciones y puntaje).
  • src/application/constellation.ts: ligar la wallet, agenda, invitar,
    canjear (con sesión, D2), revocar, marcar agregada y completar lecciones.

Fase 4 — Supabase

  • Wallet ligada (solo la dirección pública), agenda de estrellas por usuario,
    invitaciones (solo el hash del token; canje con función security definer)
    y progreso de la Academia. Adaptador src/infrastructure/supabase/constellation.ts.

Fase 5 — Pantallas de familia, invitaciones y bóveda

  • Mi familia (/trading/familia): crear la familia (quedas como núcleo),
    la constelación en SVG ("Tú" al centro, brillo según lo aportado, la bóveda
    como planeta con su avance), estrellas con apodo/emoji/parentesco propios,
    hacer guardián o miembro (núcleo), quitar y salirse.
  • Invitaciones: enlace de 72 h (copiar o WhatsApp); quien lo abre entra con
    su cuenta, conecta su wallet y lo acepta en /trading/unirse/<token>; el
    núcleo la ve "Lista para agregar" y la agrega con su firma. También agregar
    por dirección.
  • Bóveda (/trading/boveda): saldo y ≈ colones, meta con barra,
    depositar y pedir retiro (solo hacia la familia) con revisión antes de
    firmar, retiros pendientes con aprobar o cancelar, aportes por estrella y
    aprobaciones por retiro (núcleo).
  • La wallet conectada se liga sola a la cuenta (solo la dirección).

Base de datos (correr a mano ANTES de desplegar, después de todo 2.9.0)

  1. supabase/Versionamiento/3.0.0/00_stellar_wallets.sql
  2. supabase/Versionamiento/3.0.0/01_constellation_stars.sql
  3. supabase/Versionamiento/3.0.0/02_family_invites.sql (activa pgcrypto)
  4. supabase/Versionamiento/3.0.0/03_academy_progress.sql

Contratos (los corre el usuario, testnet)

  1. contracts/Versionamiento/3.0.0/00_despliegue_family_testnet.md ✅

Configuración

  • NEXT_PUBLIC_FAMILY_CONTRACT_ID (id público del contrato family;
    ya cargada en .env.local y Vercel).

v2.9.0 — Mi bolsillo en Stellar: USDC de persona a persona (testnet)

Choose a tag to compare

@Eco-RV Eco-RV released this 17 Oct 15:45
b7a629a

Mi bolsillo en Stellar: dólares digitales (USDC) de persona a persona, en la
red de prueba (testnet).

Constelación (antes Trading, beta)

  • La pestaña Trading pasa a Constelación: hub con la wallet y lo que
    viene (familia, bóveda, apoyos, academia y portafolio, "Próximamente").
  • Wallet: entrar con correo o Google (Cavos, sin instalar nada) o con una
    wallet de extensión (Freighter, xBull…). Finance OS nunca ve las llaves.
  • Puesta a punto en testnet: XLM de prueba automático (Friendbot), abrir
    el bolsillo de dólares (trustline USDC) y conseguir USDC de prueba (DEX o
    faucet de Circle).
  • Mi bolsillo (/trading/bolsillo): saldo en USDC con su equivalente en
    colones (último tipo de cambio), Enviar a otra persona con pantalla de
    revisión y aviso de posible estafa, y Recibir con QR y copiar dirección.

Base de datos

  • Sin cambios.

Configuración

  • NEXT_PUBLIC_CAVOS_APP_ID (App ID público de Cavos) y, opcional,
    NEXT_PUBLIC_CAVOS_ENVIRONMENT (development por defecto).
  • En el dashboard de Cavos: orígenes http://localhost:3000 y
    https://financeos-ten-rust.vercel.app; Callback URLs con la ruta
    /trading (http://localhost:3000/trading,
    https://financeos-ten-rust.vercel.app/trading).
  • Opcionales (por defecto testnet): NEXT_PUBLIC_STELLAR_RPC_URL,
    NEXT_PUBLIC_STELLAR_HORIZON_URL, NEXT_PUBLIC_STELLAR_NETWORK_PASSPHRASE,
    NEXT_PUBLIC_USDC_ISSUER, NEXT_PUBLIC_USDC_SAC_ID.

v2.8.0 — Corte BAC, abonos anticipados y en dólares, SINPE/débito y tarjetas de débito

Choose a tag to compare

@Eco-RV Eco-RV released this 17 Oct 06:47
e7ec696

Correcciones de tarjetas, SINPE y débito en el gasto rápido, abonos en dólares
y tarjetas de débito en las cuentas.

Tarjetas de crédito

  • Corte por tarjeta: opción "Las compras del día de corte pasan al
    siguiente corte" (así corta BAC, por fecha de proceso). Con ella, el pago de
    contado no incluye lo comprado el mismo día del corte.
  • Abonos anticipados: lo que pagas después del corte por encima del pago
    de contado baja el consumo sin cortar (gastar ₡20 000 y abonar ₡20 000
    el mismo día deja la tarjeta igual). El detalle muestra cuánto se descontó.
  • Abono en otra moneda: al registrar un pago eliges qué saldo de la
    tarjeta abonas (colones o dólares). Si la cuenta es de otra moneda, sale de
    ella el equivalente con el último tipo de cambio (Ajustes → Tipo de
    cambio), que queda guardado en el movimiento.
  • Arreglo: Tarjetas y el Resumen leían como máximo 1000 movimientos de
    tarjeta; con muchas cuotas de financiamientos podían faltar gastos recientes
    en el estado de cuenta. Ahora se leen todos.

Gastos

  • El gasto rápido (botón + y Gastos) tiene cuatro formas de pago:
    Crédito, Débito, SINPE (desde una cuenta bancaria, con
    destinatario y teléfono opcionales) y Efectivo. "Nuevo SINPE" abre el
    mismo formulario en la pestaña SINPE.

Cuentas

  • Tarjeta de débito por cuenta bancaria (corriente o ahorro; una activa
    por cuenta). Se agrega, edita, elimina o desactiva desde la cuenta.
  • Detalle de cuenta (toca una cuenta en la lista): saldo, su tarjeta de
    débito y todos sus movimientos (gastos, ingresos, transferencias y abonos,
    con el signo desde la cuenta).

Planes

  • Un gasto fijo se puede pagar con tarjeta de débito (sale de su cuenta).

Base de datos (correr a mano ANTES de desplegar, después de todo 2.7.0)

  1. supabase/Versionamiento/2.8.0/00_card_cutoff_rollover.sql
  2. supabase/Versionamiento/2.8.0/01_debit_cards.sql
  3. supabase/Versionamiento/2.8.0/02_card_payment_exchange.sql (al final
    verifica los saldos: debe devolver 0 filas)

Configuración

  • Sin cambios. Para la opción de corte, edita cada tarjeta BAC y marca la
    casilla.

v2.7.0 — Planes recurrentes, línea base y ahorros y metas

Choose a tag to compare

@Eco-RV Eco-RV released this 16 Oct 16:42
3e2b4e7

Planes recurrentes, línea base y Ahorros y metas.

Planes (Procesos → Planes)

  • Salario (semanal, bisemanal, quincenal o mensual) hacia una cuenta,
    gastos fijos mes a mes (renta, agua, luz, internet, suscripciones…;
    con tarjeta o desde una cuenta, categoría sugerida por el nombre) y
    seguros de tarjeta.
  • Cada fecha se registra sola cuando llega (al abrir la app); las que
    vienen se ven como programadas. Un plan nuevo no registra hacia atrás.
  • Pausar, reanudar, editar y eliminar (lo ya registrado se conserva).
  • Línea base: gastos fijos (los del plan, seguros, cuotas de préstamos y
    de financiamientos) contra el salario, con tope configurable (35 % por
    defecto) y aviso si se pasa. Próximos 30 días.

Ahorros y metas (Procesos → Ahorros y metas)

  • Metas con ícono, objetivo, fecha opcional y cuenta ligada: avance, lo que
    falta, aporte mensual sugerido y estado.
  • Aportar = transferencia hacia la cuenta de la meta.

Resumen

  • Cards de Línea base (con lo próximo programado) y Metas de ahorro.

Base de datos (correr a mano ANTES de desplegar, después de todo 2.6.0)

  1. supabase/Versionamiento/2.7.0/00_plans.sql
  2. supabase/Versionamiento/2.7.0/01_savings_goals.sql

Configuración

  • Sin cambios.

v2.6.0 — Usuarios, cuenta y preferencias

Choose a tag to compare

@Eco-RV Eco-RV released this 15 Oct 04:26
8e765e0

Usuarios: acceso más claro, confirmación por correo que funciona en
producción, perfil y preferencias.

Acceso

  • Arreglo: el enlace de confirmación del correo llevaba a localhost en
    producción. Ahora todo enlace del correo vuelve a la misma app desde donde
    se pidió, a la ruta nueva /auth/confirm.
  • Registro con nombre (opcional), repetir contraseña y requisitos en vivo
    (8+ caracteres, letras y números).
  • Al crear la cuenta, pantalla "Revisa tu correo" (ya no un mensaje rojo)
    con Reenviar correo; al confirmar, entra con la bienvenida.
  • Login con botón para ver la contraseña, avisos claros (correo sin
    confirmar, demasiados intentos, enlace vencido) y ¿La olvidaste? para
    restablecer la contraseña por correo.

Mi cuenta

  • Ajustes → Mi cuenta: foto de perfil, nombre, usuario (@), país, cambiar
    correo (con confirmación) y cambiar contraseña (pide la actual).
  • La barra muestra la foto o las iniciales; el menú del avatar suma Mi
    cuenta
    y Preferencias; la bienvenida saluda por el nombre.

Preferencias

  • Ajustes → Preferencias: tema Sistema / Claro / Oscuro y accesos a las
    configuraciones de la app. Lugar listo para moneda base y formato de fecha.

Base de datos (correr a mano ANTES de desplegar, después de todo 2.5.0)

  1. supabase/Versionamiento/2.6.0/00_profiles.sql: tabla profiles, trigger
    que crea el perfil al registrarse y perfiles de los usuarios existentes.
  2. supabase/Versionamiento/2.6.0/01_avatars_storage.sql: bucket avatars y
    sus permisos.

Configuración (Supabase → Authentication → URL Configuration)

  • Site URL: https://financeos-ten-rust.vercel.app (no http://localhost:3000).
  • Redirect URLs: https://financeos-ten-rust.vercel.app/** y
    http://localhost:3000/** (y la de los Previews de Vercel si se usan).
  • Opcional: NEXT_PUBLIC_SITE_URL fija el origen de los enlaces si hiciera
    falta.