fixEl parser de Santander Visa ahora rechaza cartolas de Cuenta Corriente en Dólares (cuenta 0-051-05-95156-8) con un error claro en lugar de importarlas silenciosamente como transacciones Visa.
v1.29.0julio 2026
infraRefactorización completa hacia arquitectura hexagonal (puertos y adaptadores): repositorios, poller IMAP, almacén de archivos, motor de migración y política de conciliación quedan ahora como puertos con implementaciones independientes. El código es más testeable y modular sin cambios visibles al usuario.
fixLa validación de subida ahora rechaza archivos con tipo MIME o contenido inválido antes de persistirlos, evitando que extractos corruptos lleguen a la base de datos.
fixEl orden de las fuentes en el poller IMAP es ahora estable entre reinicios del servidor.
infraSe agregan guardas de arquitectura en los tests para asegurar que las dependencias entre capas (dominio → aplicación → adaptadores) nunca se inviertan.
v1.28.1julio 2026
fixLa fecha de subida de los extractos ahora se guarda internamente en UTC (buena práctica de persistencia) y se muestra en la zona horaria del dispositivo del usuario, evitando desalineaciones de hora al comparar cargas entre distintas zonas.
v1.28.0julio 2026
featLas tarjetas de fuente del dashboard ahora muestran badges de estado: ✉ verde para fuentes con ingesta por correo validada, ✉ ⚠ ámbar para pendientes de validar, y ↑ manual gris para las de carga manual únicamente.
featSantander Cuenta Corriente se incorpora al poller IMAP: los extractos CTA enviados por correo desde santander.cl ahora se ingestarán automáticamente.
fixSe agrega import de charset en el servidor y poller IMAP para decodificar correctamente correos con caracteres especiales (tildes, eñes) en asunto o cuerpo.
fixEl poller IMAP ahora marca como procesados los correos cuya cartola tiene 0 movimientos (inicio de período), evitando reintentos innecesarios.
fixLa inferencia de pagos a tarjeta de crédito incorpora un paso adicional: cruza el monto pagado contra el total neto del extracto, cubriendo el caso en que el pago en efectivo aún no aparece en el período cargado.
fixTenpo y Mach ahora muestran el ícono de ojito para visualizar el PDF del extracto en la conciliación.
v1.27.1julio 2026
fixEl ícono PDF en cada fila de la conciliación ahora resalta correctamente la línea correspondiente para Scotiabank Plus (cartola email): el filtro de fecha reconoce el formato "DD / ene" de las cartolas enviadas por correo.
fixEl ícono PDF de Scotiabank Línea de Crédito ahora resalta la línea TOTAL CARGO en el PDF, en vez de buscar el label interno "Liquidación Intereses LC" que no existe en el documento.
v1.27.0julio 2026
featLa cartola Scotiabank CC enviada por correo (PDF oficial) ahora se ingesta correctamente: el parser reconoce el formato de fechas sin año ("DD / JUN") y maneja extractos AFP que comparten el mismo nombre de archivo.
fixLos PDFs encriptados con contraseña (Scotiabank) se desencriptan automáticamente con qpdf al guardarse en disco; el visor inline ya no solicita contraseña.
fixEl parser de Scotiabank Línea de Crédito ahora extrae correctamente las fechas de período desde el PDF oficial enviado por correo.
featCada archivo en la lista de Archivos muestra la fecha en que fue guardado.
v1.26.1julio 2026
fixEl poller ya no marca un correo como procesado si el parser no reconoció el formato (0 transacciones sin error ni duplicado): el Message-ID queda pendiente y se reintenta en el próximo ciclo.
featNuevo botón Reintentar correos en la lista de Archivos: libera todos los Message-IDs registrados como procesados para que el poller reintente los correos de los últimos 90 días en su próximo ciclo.
v1.26.0julio 2026
newNueva fuente Scotiabank Línea de Crédito: la liquidación mensual de intereses se ingesta automáticamente desde el correo (CartolaCliente.pdf) y también puede subirse manualmente. Cada liquidación genera una transacción con el cargo total del período.
fixLos PDFs ingresados por correo ahora se guardan en disco: el botón "ver" ya no daba 404 al abrir el visor desde la lista de archivos.
v1.25.1julio 2026
fixEl poller de correo ya no depende del flag "leído" de IMAP: ahora rastrea los correos procesados por Message-ID en la base de datos, así leer un correo en Mail.app no impide que se ingeste la cartola.
fixEl poller escanea los últimos 90 días en lugar de solo los mensajes no leídos, recuperando correos que llegaron antes de que la app los revisara.
v1.25.0junio 2026
featEl balance presupuestal Esteam/Casita ahora aparece directamente en la pestaña Resumen — sin necesidad de navegar a una página separada.
fixEl parser de Buddy ya no omite las transferencias "Aporte Casita" ni "Sobrante de Mes", incluyéndolas correctamente en el balance mensual.
v1.24.1junio 2026
fixEl poller de correo ahora reconoce PDFs de Copec Pay (copecpay.cl), Banco Chile Fan (bancochile.cl), MACH (mail.machbank.cl), Tenpo (tenpo.cl) y Visa Singular (vía scotiabank.cl).
v1.24.0junio 2026
featIngesta automática de PDFs por correo — los estados de cuenta de Santander y Scotiabank que llegan al correo de iCloud se detectan, descifran y cargan automáticamente cada 30 minutos. Los statements ingresados aparecen con badge email azul en la lista.
featVista de balance mensual Esteam — nueva página que muestra el balance acumulado por mes del presupuesto Esteam de Buddy, accesible desde el dashboard.
fixEl parser de Buddy ahora ignora las categorías de transferencias internas (Aporte Casita, Sobrante de Mes) que no corresponden a gastos reales.
v1.23.1junio 2026
fixAl filtrar por mes, las entradas de tipo Ganancia, traspasos internos (Sale hacia / Llega desde), pagos de tarjeta y notas de crédito que caían fuera del mes estricto por la expansión de ±4 días ya no aparecen en la tabla de conciliación.
fixLos matches cruzados entre meses (ej: cargo bancario 01/05 ↔ Buddy 30/04) ahora aparecen correctamente en la vista del mes donde se registró la entrada Buddy, independientemente de la fecha bancaria.
v1.23.0junio 2026
featDescarga de archivos: cada extracto tiene un botón Bajar que descarga el archivo original con su nombre. En la barra de selección múltiple, el nuevo botón Descargar seleccionados empaqueta todos los archivos elegidos en un ZIP (extractos.zip).
fixAl filtrar por mes, las transacciones Buddy que cayeron fuera del período estricto ya no se muestran en el panel "Solo en Buddy", evitando que inflen artificialmente los no conciliados del mes seleccionado.
v1.22.1junio 2026
fixAl filtrar por mes, las transacciones bancarias del primer y último día ya no quedan sin conciliar por la tolerancia de ±4 días. El rango de Buddy se expande automáticamente en ±4 días en ambos extremos del mes (ej. filtro Enero carga Buddy desde 28 dic hasta 4 feb), manteniendo el rango bancario estrictamente dentro del mes elegido.
v1.22.0junio 2026
featNuevo selector de meses debajo de los tabs de año: filtra la conciliación desde el primer día hasta el último del mes elegido. Solo muestra los meses transcurridos del año actual; en años anteriores muestra los 12. El tab Todos restaura la vista anual completa.
fixCorregido bug que causaba que el toast "Conciliación completada" apareciera múltiples veces al cambiar de año o mes después de haber navegado con el selector de idioma. La causa era la re-registración de listeners de HTMX en cada carga de cuerpo por hx-boost; ahora cada listener se registra una sola vez usando guardas de ventana.
v1.21.3junio 2026
fixCorregido bug en Mercado Pago: dos compras del mismo monto en el mismo comercio el mismo día ya no se colapsan en una sola. Cada transacción ahora usa un ID único derivado del TRANSACTION_ID del CSV, evitando tanto el descarte silencioso como duplicados al re-subir el archivo.
v1.21.2junio 2026
fixAl hacer clic en cualquier celda de la tabla de conciliación, los filtros Fuente y Estado ahora se resetean a "Todos" automáticamente, evitando resultados vacíos cuando había un filtro activo.
fixEl botón × para limpiar la búsqueda ahora aparece correctamente al hacer clic en celdas de fecha, monto o categoría (antes solo aparecía al clicar descripciones).
v1.21.1junio 2026
fixCorregido un bug en el parser de Santander Cuenta Corriente donde transacciones de tipo Traspaso y Egreso aparecían con la descripción truncada (ej. "ternet a T. Crédito" en vez de "Traspaso Internet a T. Crédito"). El offset de descripción ahora se detecta dinámicamente según si la fila incluye número de cuenta o no.
v1.21.0mayo 2026
featNuevo detector de anomalías en la conciliación: marca pares con ⚠ Cat. cuando la descripción bancaria casi siempre matchea con una categoría distinta en Buddy, y con ⚡ Signo cuando el banco y Buddy registran signos opuestos (gasto vs. ingreso). Aparece como filtro en la tabla y como cuadradito clickeable en el resumen.
featTodos los cuadraditos del resumen (Cruzados, Sin registrar, Solo Buddy, Notas de crédito, Sospechosos) ahora son clickeables y navegan directamente a la tabla de conciliación con el filtro correspondiente.
fixEl indicador de cobertura bancaria (SmartBankCutoff) ahora considera todas las fuentes bancarias — no solo las tarjetas Santander — y toma el mínimo del mes más reciente con datos.
fixLa tasa de match ahora incluye los registros Solo Buddy en el denominador, dando un valor más preciso cuando el filtro de cobertura está activo.
v1.20.0mayo 2026
featLos Egreso por Compra de Divisas de Santander CTA ahora se clasifican como pagos de tarjeta de crédito y muestran el badge Santander Intl en la conciliación.
featLa cartola Santander Visa Internacional ahora parsea el ABONO DE DIVISAS y lo vincula automáticamente con el cargo correspondiente en la CTA, usando coincidencia por fecha (la tasa de cambio varía entre cartolas).
fixCorregido patrón de pago TEF desde Scotiabank Cuenta Diaria hacia Santander Visa (era "Sant", ahora es "WM").
v1.19.0mayo 2026
newNueva fuente Santander Línea de Crédito — parsea la cartola PDF CTA CTE CREDITO. Captura los traspasos entre la línea de crédito y la cuenta corriente asociada.
v1.18.0mayo 2026
fixLos MONTO CANCELADO de Amex ahora se enlazan correctamente con los pagos TEF realizados desde la Cuenta Diaria de Scotiabank.
featDetección de traspasos internos entre las tres cuentas Scotiabank (CTA Corriente, Cuenta Diaria y Cuenta Plus). Los movimientos TRANSF entre estas cuentas ya no aparecen como cargos sin registrar.
v1.17.1mayo 2026
newNueva fuente Scotiabank Plus — parsea la cartola PDF de la Cuenta Plus (cuenta de ahorro). Captura las transferencias entre la Cuenta Corriente y esta cuenta, intereses y pagos de servicios.
v1.17.0mayo 2026
newNueva fuente Scotiabank Cuenta Diaria — parsea la cartola PDF de la Cuenta Diaria (cuenta de ahorro/intermediaria). Captura las transferencias de traspaso entre la Cuenta Corriente y el pago de Amex.
v1.16.0mayo 2026
featCobertura i18n completa — todos los tooltips, encabezados de tabla, toasts, errores HTTP y el visor PDF ahora se traducen correctamente al cambiar de idioma
featChangelog bilingüe — el historial de cambios ahora está disponible en español e inglés
v1.15.10mayo 2026
fixBranding corporativo corregido en todas las fuentes — colores de badges, tags, zonas de drop e íconos de tarjeta ahora usan los hex oficiales de cada banco/servicio
fixNuevos íconos SVG para Santander Visa (WorldMember dorado), Santander Amex (azul Amex), Mach (morado MACH BANK), Visa Singular (gris carbón), Tenpo (verde lima) y Banco de Chile Fan (azul royal + FAN cyan)
fixBadges "sin conciliar" (status-bank) ahora muestran el color correcto por fuente en lugar de caer al rojo genérico
v1.15.9mayo 2026
featNueva fuente Tenpo — cartola mensual PDF de Tenpo Payments (tarjeta Mastercard prepago); soporta Compra, Devolución, Carga de saldo e Inversión; los créditos se almacenan como monto negativo para emparejarse correctamente con Buddy
fixTraspasos Scotiabank → Tenpo ahora se detectan como movimientos internos — antes aparecían como dos filas "Solo banco" porque Tenpo no estaba registrado como contraparte válida; ahora el par se muestra como enlace ↔ en la sección de movimientos internos
v1.15.8mayo 2026
fixAl presionar F5, el buscador y el combo de fuente ya se aplican correctamente — antes, si había una columna ordenada, applyFilters() nunca se ejecutaba y las filas aparecían sin filtrar
fixRestauración de sort en F5 — la dirección ascendente se recuperaba como "reset" por un error en el signo de _sortDir; ahora ambas direcciones (asc/desc) se restauran fielmente
fixF5 con un año distinto al actual ya muestra los datos del año correcto — el handler del dashboard ignoraba el parámetro ?year= de la URL y siempre usaba el año en curso
v1.15.7mayo 2026
fixScotiabank lee el nombre del destino en la descripción del TEF (Fan mio, Mach Mio, etc.) para asignar la contraparte correcta — antes un TEF a Fan podía emparejarse erróneamente con SantanderCTA si ambos tenían el mismo monto
fixIngresos de Buddy con signo invertido (ej. Rent income exportado como positivo en lugar de negativo) ahora emparejan con el abono bancario correspondiente
v1.15.5mayo 2026
fixMercado Pago ahora importa los abonos por Transferencia recibida — los ingresos desde Scotiabank o CopecPay hacia MP ya se capturan y emparejan como traspasos internos
fixRestricción de contrapartes en traspasos internos (TransferCounterparts) — CopecPay solo empareja con Scotiabank, SantanderCTA y MP; Fan/Mach solo con Scotiabank y SantanderCTA; evita pares incorrectos cuando coinciden montos entre fuentes que no se transfieren entre sí
fixTraspasos huérfanos (con patrón interno pero sin contraparte cargada, ej. TEF hacia Tenpo) ya no se descartan silenciosamente — quedan visibles en la conciliación
fixVisa Singular — PAGO EN EFECTIVO se reconoce como el abono del período y se vincula con el pago desde Scotiabank, igual que MONTO CANCELADO en Santander
v1.15.1mayo 2026
fixFecha de corte sin cartola ahora considera también los extractos de Santander Amex y Visa Singular — antes solo miraba Santander Visa, lo que podía mostrar un cutoff incorrecto si la cartola más reciente era de otra tarjeta
fixRe-adopción de transacciones deduplicadas al borrar un extracto — cuando dos extractos solapados comparten una transacción, borrar el primero ya no elimina la transacción del segundo
v1.15.0mayo 2026
newReconoce Traspaso Internet a T. Crédito desde Santander CTA como pago de tarjeta de crédito
newInferencia Visa vs Amex para pagos CTA — extrae los pagos recibidos (MONTO CANCELADO fechado) del cuerpo de cada cartola PDF y los vincula con el cargo en cuenta corriente
newInferencia por total oficial del extracto como primer criterio cuando el pago coincide con el monto facturado
fixFiltro sin cartola ahora excluye transacciones de todas las fuentes bancarias a partir del día de corte, no solo Santander Visa
v1.14.0mayo 2026
newBotón Resubir por fila y en bulk — re-procesa archivos ya cargados sin necesidad de buscarlos en el disco; los archivos CSV y de texto ahora también quedan guardados en el servidor al subirse
newVinculación de MONTO CANCELADO — el pago del período anterior en el PDF Visa/Amex se extrae y se vincula automáticamente con el cargo en cuenta corriente (Santander CTA o Scotiabank)
newFilas del resumen Top sin registrar son clicables y navegan directamente a la conciliación filtrando por esa transacción
fixToast de conciliación aparece correctamente después de resubir archivos
v1.13.2mayo 2026
fixLos conteos del filtro Estado ahora se recalculan dinámicamente al aplicar cualquier otro filtro (fuente, titular, búsqueda) — antes mostraban los totales generales del servidor sin importar los filtros activos
v1.13.1mayo 2026
fixPagos TC Scotiabank hacia Santander Visa/Amex ahora se detectan vía glosa TEF (WM, Amex) y muestran el badge de la tarjeta con su color correspondiente
fixTransferencias "Santander Mío" ya no se clasificaban falsamente como Pago TC — el patrón TEF se acotó a WM y Amex
fixBadge de tarjeta en filas Pago TC ahora usa el color de la fuente inferida en vez del morado fijo
v1.13.0mayo 2026
featNueva fuente Visa Singular — estado de cuenta PDF de tarjeta de crédito; captura cargos, servicios mensuales y pagos en efectivo
v1.12.0mayo 2026
featPagos de tarjeta de crédito detectados automáticamente — Scotiabank (PAGO TARJ.CRED.) y Santander CTA (Traspaso Fondo a Tarjeta Crédito) se clasifican como categoría propia y se excluyen de la conciliación normal
featFiltro por estado en tabla de conciliación y ordenamiento por columnas
v1.11.0mayo 2026
featNueva fuente Mach — cartola PDF de la billetera digital; captura compras (egreso) y transferencias recibidas/enviadas; las transferencias entre cuentas propias se excluyen automáticamente de la conciliación
fixTraspasos Scotiabank: el patrón de detección ahora requiere prefijo TEF además del RUT, evitando que PAGO IMPTO TGR y otros pagos con el RUT en la glosa se descartaran como traspasos huérfanos
v1.10.2mayo 2026
fixParser Scotiabank ahora captura abonos (ingresos, reembolsos ISAPRE, transferencias recibidas) — antes se descartaban silenciosamente; se almacenan con monto negativo para coincidir con la convención del dominio
fixParser Edenred ahora captura ABONO EMPLEADOR (carga de saldo del empleador) — antes se omitía en ambos formatos tabular y concatenado; se almacena con monto negativo
v1.10.1mayo 2026
fixLogo del header ahora usa el mismo SVG que el favicon — consistencia visual entre ícono y pestaña del navegador
featTítulo y logo clickeables — navegan a la raíz (/)
v1.10.0mayo 2026
featNueva fuente: Banco de Chile Cuenta Fan — importa cartolas PDF de Cuenta Vista, detecta cargos y abonos con posicionamiento de columnas de ancho fijo
infraParser tests para Scotiabank y Mercado Pago — cubre todos los meses de muestra (skip graceful si los archivos no existen)
fixCSS badges santander_visa, edenred hover, banco_chile_fan — src-tag y stmt-source ya tienen color propio; .file-drop--visa y .file-drop--edenred:hover completos
fixSublabel de Neat migrado a i18n (T(ctx, "upload.sublabel_neat")) — antes estaba hardcodeado en el template
v1.9.0mayo 2026
featureSoporte i18n ES/EN — selector de idioma en el header, persistencia por cookie, detección automática vía Accept-Language
infraBundle go-i18n v2 embebido en el binario (~100 keys por idioma), middleware de locale inyectado en el contexto HTTP
fixBotón de idioma activo no recarga la página al hacer clic
v1.8.2mayo 2026
fixImport de aliases ahora actualiza el Diccionario en pantalla — el botón usaba hx-target="#dict-content" que solo existe en la página standalone, no en el dashboard; corregido a #tab-diccionario
v1.8.1mayo 2026
fixImport de aliases ahora muestra los aliases importados aunque la descripción no tenga transacciones cargadas — antes quedaban guardados en la DB pero invisibles en el Diccionario
infraEvent bus interno para desacoplar efectos secundarios de subida y conciliación
v1.7.8mayo 2026
fixTraspasos entre cuentas propias ya no aparecen en "Top cargos sin registrar" — antes los traspasos sin contraparte cargada (ej. solo Scotiabank sin Santander CTA) quedaban en el pool de no conciliados
featImport / export de aliases — botones en el Diccionario para descargar todos los aliases como JSON y subirlos a otra instancia (ej. local → Fly)
featTítulo del tab muestra "(local)" cuando la app corre en localhost
infraPipeline de release — make release encadena tests → bump de versión → build → commit → deploy a Fly
v1.7.5mayo 2026
fixFiltro "Ganancias / intereses" ahora muestra correctamente las filas — comparaba data-source en vez de data-status
v1.7.4mayo 2026
fixVisor PDF Copec Pay — el click en "Ver en PDF" ahora resalta la línea correcta; el filtro de fecha ahora reconoce el formato DD-MM-YYYY que usa Copec Pay (antes buscaba DD/MM y no encontraba coincidencia)
v1.7.3mayo 2026
featGanancias Copec Pay excluidas de conciliación — "Ganancia Copec Pay" (interés diario de cuenta remunerada) se muestra aparte con el badge ✦ Ganancia, sin contaminar el pool de Buddy
v1.7.2mayo 2026
featTraspasos internos Copec Pay detectados — "Retiro a Esteban Contreras" y "Transferencia de Contreras" se vinculan automáticamente con Scotiabank y Santander CTA
v1.7.1mayo 2026
fixParser Copec Pay reescrito para el formato real "CARTOLA MENSUAL DE MOVIMIENTOS" — fechas DD-MM-YYYY, montos con prefijo $, tabla detectada dinámicamente
v1.7.0mayo 2026
featNueva fuente: Copec Pay — importa cartolas PDF de Cuenta Vista, detecta traspasos internos entre Copec Pay y Santander/Scotiabank
v1.6.0mayo 2026
featSantander Cuenta Corriente ahora se sube como PDF — el parser detecta columnas dinámicamente, maneja caracteres UTF-8 en descripciones y extrae CARGOS/ABONOS con precisión de runa
featBuddy Budget con zonas de subida directa — enero y esteam tienen sus propios botones de carga sin pestañas
v1.5.5mayo 2026
fixMontos siempre se muestran sin signo negativo — el contexto (cargo/abono) ya está implícito en la columna
v1.5.4mayo 2026
fixEtiquetas de traspaso corregidas: la fila con monto negativo muestra "Llega desde" y la positiva "Sale hacia", alineando el significado con cargo y abono respectivamente
v1.5.3mayo 2026
fixTransferencias salientes y otros movimientos negativos ya no se etiquetan incorrectamente como notas de crédito — solo se clasifica así si la descripción lo indica explícitamente
v1.5.1 — v1.5.2mayo 2026
featNuevo parser Santander Cuenta Corriente (XLSX) — carga cartolas y las muestra en el combo de filtros de conciliación
fixEtiquetas de traspaso interno con colores distintivos para distinguirlas del resto
fixEtiqueta HTML residual que aparecía visible en la página al terminar de cargar ciertos archivos
v1.4.0 — v1.5.0mayo 2026
featEstados de cuenta Santander Visa: cargos, comisiones, intereses y abonos del resumen del período ahora se capturan y concilian con Buddy
fixIntereses cargados en el PDF Santander Visa dejaban de incluirse — corregido
featBotón "Ver PDF" en la vista de Archivos — se revela al pasar el cursor y abre el visor en una nueva pestaña
featBadge de versión clickeable — lleva al changelog desde cualquier pantalla
v1.3.0mayo 2026
featDiseño responsive: tablas con scroll horizontal en móvil, zonas táctiles mínimas de 28px
featFiltros con flex-wrap — se adaptan a pantallas angostas
infraDeploy en Fly.io — app disponible en gastos-conciliador.fly.dev
infraDockerfile + soporte UPLOADS_DIR para rutas de archivos en contenedores
v1.1.0abril 2026
featNotas de crédito: detección automática y negación de monto en conciliación
featFiltro "sin cartola" — muestra gastos Buddy sin respaldo bancario
featPersistencia de estado en URL — el año de conciliación sobrevive recargas