fixPróximo ingreso por arriendo conserva el mayor total histórico de los tres cobros principales de un mismo ciclo. Los pagos divididos de un arriendo en el ciclo más reciente ya no reducen esa referencia. Disponible para gastar muestra las fechas del ciclo seleccionado y mantiene el corte de elegibilidad al día 8.
v1.83.83 de noviembre de 2026
fixRegistrar en Buddy distingue pagos diferentes aunque coincidan fecha, comercio y monto. Cada movimiento conserva su propia protección contra dobles clics y reintentos; los registros antiguos de la cola se asignan a una sola ocurrencia.
v1.83.73 de noviembre de 2026
fixConciliación enlaza el TEF Scotiabank hacia Mercado Pago con su ingreso cuando la billetera solo muestra una referencia informativa. Exige monto exacto, signos opuestos y hasta tres días de diferencia; los movimientos sin contraparte permanecen visibles.
v1.83.63 de noviembre de 2026
fixPróximo ingreso por arriendo usa los tres cobros de mayor monto del último ciclo con al menos tres cobros, del día 24 al 23. Un abono pequeño adicional ya no desplaza al arriendo completo de fin de mes. Conserva el corte de elegibilidad al día 8 y la referencia anterior mientras el ciclo nuevo tenga menos de tres cobros.
v1.83.526 de octubre de 2026
fixReprocesar cartolas conserva los datos aceptados y su original si falla el parseo, el respaldo o el guardado. Los reprocesamientos individuales y por lote informan el resultado de cada archivo.
fixIntegridad distingue Verificada, Con diferencias y No verificable. Un total cero se muestra como tal y la comparación usa el subtotal correspondiente, sin inventar un 100% capturado. Las cartolas anteriores requieren reprocesar el original para actualizar su verificación.
fixLos errores de carga muestran un aviso por sección y permiten reintentar conservando período, cobertura, búsqueda, filtros y orden. Los indicadores mensuales muestran estado desconocido cuando no se puede calcular la conciliación.
v1.83.420 de octubre de 2026
fixRegistrar en Buddy comprueba la cola antes de insertar y evita duplicar el mismo movimiento, incluso con envíos simultáneos o cambios de alias, categoría o detalle. El indicador de registro encolado se mantiene durante el procesamiento y después de la confirmación, hasta que el movimiento quede conciliado.
v1.83.320 de octubre de 2026
fixDisponible para gastar suma los tres arriendos más recientes pagados hasta el día 8 del mes en Santiago. Antes de esa fecha considera los pagos registrados hasta hoy; los posteriores al día 8 quedan para el siguiente ciclo.
v1.83.215 de octubre de 2026
fixLas pruebas y los avisos pendientes usan un identificador de agrupación compatible con Apple para corregir el rechazo de envío de notificaciones en iPhone.
v1.83.115 de octubre de 2026
fixDisponible para gastar conserva el saldo Edenred durante 8 días para su uso semanal. Un aviso visible identifica las referencias faltantes o vencidas que impiden calcular y explica cómo actualizarlas.
v1.83.014 de octubre de 2026
featConciliador se puede instalar como app web con íconos propios. Notificaciones permite activar cada dispositivo con un código de dueño, enviar una prueba y desactivar los avisos.
featLos gastos pendientes en Buddy generan un resumen push diario después de 15 minutos y una sincronización posterior reciente. La pantalla bloqueada muestra sólo la cantidad de movimientos.
featAl volver a la app se comprueba la versión publicada y se actualiza; si hay un formulario en edición, aparece un aviso para actualizar sin perderlo por sorpresa.
v1.82.110 de octubre de 2026
fixLa extensión Firefox 0.8.1 captura Edenred automáticamente al entrar al saldo o cargar el historial mensual, con la captura activada. Los cambios de período se detectan sin pulsar el popup; las vistas sin cambios no se reenvían y el botón Capturar sigue disponible para reintentar.
v1.82.010 de octubre de 2026
featEdenred se captura desde Firefox con una acción del popup para el saldo, los últimos movimientos o el historial mensual visible. Las recapturas acumulan movimientos sin duplicar sus ocurrencias y el saldo actual se suma a los dos estimados de Resumen, con vigencia de 48 horas y saldo cero válido.
v1.81.38 de octubre de 2026
fixLa tarjeta Automatizaciones deja de mostrar Leasity → Buddy; el script para pagos Leasity sigue disponible para uso manual fuera del panel.
v1.81.28 de octubre de 2026
fixCarga deja de ofrecer el CSV de Neat, que no aporta a la conciliación contra Buddy. Los respaldos ya importados siguen disponibles y Crédito Papito conserva las confirmaciones por correo de los depósitos, las UF pagadas y la tasa aplicada.
v1.81.18 de octubre de 2026
fixCapturas bancarias muestra una tabla compacta por producto con pendientes de cartola, período, última recepción, movimientos recibidos y nuevos, y descarga del JSON consolidado. Los movimientos y respaldos se despliegan debajo de cada fila. Corrige los estilos que sólo se aplicaban al activar movimiento reducido y mantiene la navegación por teclado y el desplazamiento horizontal en pantallas pequeñas.
v1.81.08 de octubre de 2026
featCarga → Capturas bancarias reúne las ingestas de Firefox por producto, separadas de Archivos e Integridad. Cada producto acumula sus movimientos sin crear un archivo por visita y permite descargar un JSON consolidado; conserva los originales y las capturas anteriores incluso después de confirmar movimientos con una cartola oficial. Requiere actualizar el receptor local; la extensión instalada sigue siendo compatible.
v1.80.67 de octubre de 2026
fixAl reprocesar una captura web, individualmente o en lote, se conserva el historial y se acumula la respuesta original sin borrar primero los movimientos aceptados. Las respuestas parciales y los errores de lectura mantienen las filas y sus IDs. El receptor de Firefox vuelve a confirmar también las capturas repetidas en Fly; actualiza su instalación y vuelve a abrir los movimientos para capturar los que falten.
v1.80.57 de octubre de 2026
fixLas capturas bancarias conservan el movimiento ya guardado cuando una respuesta posterior completa u omite su titular, aunque también cambie la descripción. Mantienen los IDs anteriores, las compras adicionales y la separación entre titulares conocidos distintos.
v1.80.46 de octubre de 2026
fixLas capturas bancarias repetidas reconocen los movimientos ya guardados aunque cambie su descripción. Conservan la cantidad de compras iguales por fuente, fecha, monto y titular; los duplicados guardados anteriormente requieren revisión del histórico.
fixNeat queda fuera de la conciliación contra Buddy, incluidos filtros, resultados y progreso. Los cargos se concilian desde las fuentes bancarias correspondientes, como Visa y Amex.
v1.80.36 de octubre de 2026
fixCola Buddy muestra hasta 10 movimientos inicialmente y carga los siguientes 10 al pulsar «Cargar 10 más».
v1.80.25 de octubre de 2026
fixPróximo ingreso por arriendo suma los tres pagos más recientes en Buddy, aunque crucen de mes. Incluye el reajuste de los pagos recientes y muestra el rango de fechas utilizado. Corrige la exclusión del arriendo pagado al cierre del mes anterior.
v1.80.15 de octubre de 2026
fixPróximo ingreso por arriendo incorpora el reajuste del mes actual cuando Buddy ya registra sus tres pagos. Mientras falte alguno o haya un conteo ambiguo, conserva el último mes cerrado. Excluye entradas futuras y mantiene independiente el estimado sin arriendos.
v1.80.05 de octubre de 2026
featResumen agrega el estimado sin arriendos: próximo sueldo líquido más saldo Scotiabank, menos cupos utilizados Visa y Amex en CLP y USD. Comparte las referencias del máximo y puede calcularse aunque falte la referencia de arriendos; mantiene los controles de vigencia y muestra los déficits.
featConciliador conserva la última recepción de cada captura bancaria para que Operator pueda consultar Fly desde otro Mac. Las confirmaciones se guardan junto con los datos, incluso al repetir una captura sin movimientos nuevos, y sólo exponen producto, cantidad y hora.
v1.79.15 de octubre de 2026
fixLa estimación del próximo arriendo reconoce la categoría Rent income de Buddy y suma todos los pagos del último mes cerrado con arriendos. Resumen indica el mes de referencia y evita usar un mes todavía incompleto.
v1.79.04 de octubre de 2026
featResumen muestra el disponible estimado para el próximo ciclo: sueldo y arriendo estimados más saldo Scotiabank, menos cupos utilizados Visa y Amex en pesos y dólares. Usa una cotización fija de $1.000 por dólar y conserva los saldos a favor.
featLos cupos y el saldo llegan desde Firefox mediante el receptor de Operator. La proyección muestra su fecha de captura y queda pendiente cuando faltan datos o están desactualizados.
v1.78.04 de octubre de 2026
featEl selector de mes muestra un punto verde al alcanzar 100% de conciliación y amarillo cuando quedan movimientos pendientes. Los meses vacíos no muestran punto. El estado respeta la cobertura bancaria y se actualiza al cambiar el período o los datos.
fixScotiabank CC, Diaria y Plus conservan movimientos distintos aunque compartan fecha, descripción y monto. Corrige transferencias repetidas descartadas durante el parseo o guardado. Las capturas web repetidas no vuelven a agregar ocurrencias ya guardadas, incluidas las oficiales. Reprocesa desde Archivos las cartolas afectadas para recuperar los movimientos omitidos.
featCarga oculta los formularios manuales de movimientos JSON de Santander y Scotiabank. Las integraciones existentes siguen disponibles.
v1.77.34 de octubre de 2026
fixScotiabank CC, Diaria y Plus distinguen cargos y abonos usando las columnas de cada página. Corrige cargos interpretados como ingresos en cartolas PDF compactas y admite cambios de ancho y descripciones con tildes. Para corregir cartolas ya cargadas, reprocesarlas desde Archivos.
v1.77.23 de octubre de 2026
fixLas capturas web conservan movimientos anteriores cuando la ventana de últimos movimientos avanza. Agregan sólo ocurrencias nuevas, mantienen IDs y respaldos originales, y repetir una captura no crea filas ni archivos vacíos. Las cartolas oficiales siguen confirmando únicamente sus movimientos coincidentes.
v1.77.13 de octubre de 2026
fixCola Buddy espera hasta 60 segundos al cerrar normalmente la app y restaura su estado inicial si la sincronización falla. Los gastos insertados permanecen recuperables sin duplicarlos.
fixLa captura Firefox reconoce la respuesta exitosa sin movimientos de Línea de Crédito Santander: permite asociarla y muestra cero sin enviar una carga vacía ni reemplazar datos en Fly.
featComplemento Firefox 0.6.3 firmado por Mozilla para instalación permanente. La guía incluye captura desde otro Mac mediante un túnel SSH privado hacia Operator y el acceso Ver saldos desde el producto Scotiabank para identificar su cuenta.
v1.77.03 de octubre de 2026
featCaptura de movimientos desde Firefox durante la navegación manual: Santander Visa, Amex, Cuenta Corriente y Línea de Crédito, más Cuenta Corriente Scotiabank en pesos. Cada producto se asocia una vez y muestra un aviso con cantidad y confirmación de carga. Operator recibe el JSON y lo envía al Conciliador en Fly mediante la carga web existente; los movimientos siguen siendo provisionales hasta contar con cartola oficial. La instalación del complemento continúa temporal.
v1.76.230 de septiembre de 2026
fixInicio elige el mes actual de Santiago y usa el mismo período para calcular y mostrar los resultados. Corrige los ceros causados por el cambio de mes UTC en Fly. La selección Todos queda explícita en la URL y se conserva al recargar.
v1.76.130 de septiembre de 2026
fixLas cartolas oficiales retiran sólo los movimientos JSON confirmados por fuente, fecha y monto, conservando las filas pendientes de otros períodos y el archivo original. El conteo, total y fechas del snapshot se recalculan; una fila oficial confirma sólo una ocurrencia coincidente.
v1.76.030 de septiembre de 2026
featConciliación incorpora un control de efectivo con saldo anterior, giros, gastos y disponible, visible sobre los filtros y la tabla. El detalle de movimientos se despliega bajo demanda y el saldo se arrastra entre períodos.
featLos gastos Buddy con la palabra efectivo en Nota se descuentan del saldo virtual. El botón Efectivo permite marcar un gasto sin match y quitar la marca desde sus movimientos; la elección se conserva entre snapshots y el gasto sigue contando en sus categorías.
fixLas cartolas Scotiabank por correo reconocen folios numéricos distintos de cero. Los giros Redbanc se consideran efectivo disponible y quedan fuera de los cargos pendientes de registrar en Buddy.
v1.75.030 de septiembre de 2026
featSantander Línea de Crédito permite pegar el JSON de movimientos actuales de Banca en Línea. Conserva los signos y fechas contables de giros y repagos para conciliarlos con Cuenta Corriente, queda como Cartola pendiente y evita duplicados al repetir la carga o ingresar la cartola oficial.
fixEl nuevo formulario de movimientos de Línea de Crédito respeta el idioma elegido, español o inglés.
v1.74.1latest30 de septiembre de 2026
fixLa tabla Cola Buddy muestra Estado como primera columna, seguida de recepción y el resto de los datos, también al cargar más filas.
v1.74.0latestseptiembre 2026
featLiquidaciones agrega la subpestaña Simulador de Aumento: compara incrementos del 1% al 5% sobre el sueldo base real y muestra bruto, líquido estimado, extra mensual y desglose de descuentos.
featEl cálculo usa UF de cierre, tabla mensual SII, topes previsionales e ingreso mínimo del período; una nueva liquidación actualiza la referencia. Se explican los supuestos y se omite el líquido si faltan indicadores o no se reproduce el perfil declarado.
v1.73.0latestseptiembre 2026
featEl modal Registrar en Buddy permite agregar una descripción y conserva el alias y el texto bancario original. Los errores mantienen el detalle; los cargos existentes con otra nota quedan como conflicto visible.
featLiquidaciones guarda los PDF aceptados y permite descargarlos desde el historial y PDF guardados, incluso después de reemplazar o borrar el registro analítico. Resubir un original antiguo recupera la descarga sin duplicarlo.
v1.72.3latestseptiembre 2026
fixLas notas de crédito de Santander Visa/Amex con signo negativo separado se importan; al resubir una cartola se conserva su origen y vínculo con el correo.
v1.72.2latestseptiembre 2026
featCarga, Cartolas, Liquidaciones y el historial de cambios adoptan la jerarquía tipográfica, los paneles en degradado y las tablas enmarcadas de Inicio y Crédito Papito.
fixLas pruebas de cola Buddy usan una fecha relativa para mantener estable la validación del orden al avanzar el calendario.
v1.72.1latestseptiembre 2026
featInicio adopta el estilo de Crédito Papito en encabezado, selector de período, métricas, paneles y tablas, con ajustes para pantallas angostas y bordes de tabla limpios.
v1.72.0latestseptiembre 2026
featCrédito Papito muestra el saldo en UF, pagos confirmados, meses de gracia, cotizaciones publicadas y la proyección hasta saldar. La vista independiente en español se puede compartir desde Conciliador por WhatsApp o correo.
featCarga enlaza la acción local de Buddy Sync en el panel Operación para actualizar localhost.
v1.71.5latestseptiembre 2026
featLa Cola Buddy se ordena por fecha de recepción, separa los datos de movimientos y notificaciones Apple Pay en columnas y carga 15 registros por página. El ID deja de mostrarse en la tabla.
v1.71.4latestseptiembre 2026
fixLa Cola Buddy muestra el ID de cada elemento y permite recuperar entregas interrumpidas con estados durables. El acuse verifica el movimiento en el Buddy local; la programación espera un canario real.
v1.71.3latestseptiembre 2026
fixLa Cola Buddy permanece visible al recargar Inicio o volver a conciliar: ambos recorridos vuelven a leer los ítems guardados y sus estados.
v1.71.2latestseptiembre 2026
fix"Registrar en Buddy" volvió a funcionar: quedaba bloqueado con error 409 en todos los intentos desde que producción pasó al presupuesto único Finanzas, aunque el botón seguía visible sin avisar del error.
v1.71.1septiembre 2026
fix"Cola Buddy" pasa de página aparte a una sección dentro de la pestaña Resumen, junto a Balance Presupuestal. Ahora muestra también la descripción de cada ítem, y las fechas se ven en hora de Santiago en vez de UTC.
v1.71.0septiembre 2026
featNueva página "Cola Buddy" (enlazada junto al badge de versión) muestra todos los ítems pendientes de escribirse en Buddy — fuente, fecha, estado e intentos — sin exponer nunca el texto de la notificación original.
v1.70.13septiembre 2026
fixCorregido el contraste insuficiente de texto en encabezados de sección y en el badge de versión; el selector de idioma del encabezado pasa a una presentación compacta ES/EN, conservando el nombre completo para lectores de pantalla y el área táctil mínima.
v1.70.12septiembre 2026
fixBuddy Sync programado ahora actualiza la tarjeta Automatizaciones en Fly al terminar, con un heartbeat Ed25519 firmado que informa sólo éxito o error. El reporte no incluye rutas locales, transacciones, salida de comandos ni secretos; si Fly no responde, el historial local se conserva.
v1.70.11latestseptiembre 2026
fixLa autoridad Ed25519 ya provisionada también compone la emisión de leases del Mac escritor. Un lease sólo puede emitirse al escritor aprobado y no inicia jobs ni concede escrituras por sí mismo.
v1.70.10latestseptiembre 2026
newLa aprobación del Mac escritor usa una attestation Ed25519 verificada localmente y una clave pública fijada. Esta identidad no concede leases ni activa automatizaciones.
v1.70.9latestseptiembre 2026
newEl enrolamiento del único Mac escritor ahora registra una clave Ed25519 firmada como pendiente mediante una API HTTPS. No aprueba escrituras, no concede leases y no activa Buddy ni LaunchAgents.
v1.70.8latestseptiembre 2026
fixSe evita una carrera de HTMX entre el botón y el chequeo de estado de Finanzas que podía causar htmx:swapError y perder el toast final.
v1.70.7latestseptiembre 2026
fixAl terminar la sincronización de Finanzas aparece un toast de éxito o error; no se repite en cada chequeo de estado.
v1.70.6latestseptiembre 2026
fixTras iniciar Finanzas, el indicador queda esperando el resultado y consulta cada cinco segundos hasta informar explícitamente si terminó correctamente o con error.
fixEl dashboard abre en el mes actual; “Todos” sigue disponible cuando se necesita el año completo, sin cargar miles de filas al entrar.
v1.70.5latestseptiembre 2026
fixLa sincronización de Finanzas ahora informa si está en curso, terminó correctamente o falló; la subida remota expira en vez de quedar esperando indefinidamente. Una instancia sin configuración de corte queda en Finanzas, no en el flujo legacy.
v1.70.4latestseptiembre 2026
fixEn el Mac escritor vuelve el control para iniciar la sincronización de Finanzas; reinicia el LaunchAgent actual sin reactivar rutas ni grupos legacy.
v1.70.3latestseptiembre 2026
fixLa conciliación y sus filtros auxiliares ahora comienzan en 2026, por lo que no vuelven a exponer 2025 después del corte a Finanzas.
v1.70.2latestseptiembre 2026
fixDurante maintenance se silencian también las alertas post-ingesta.
v1.70.1latestseptiembre 2026
fixSe corrige el arranque del servidor durante el despliegue de Finanzas.
v1.70.0latestseptiembre 2026
featSe prepara la migración de Buddy a Finanzas: estados de cutover verificables, snapshots versionados y recuperación segura. Durante la transición, los datos históricos de Esteam/La Casita siguen siendo legibles, pero no se mezclan con Finanzas.
v1.69.0latestseptiembre 2026
featSantander Visa Internacional ahora permite pegar el JSON de movimientos actuales de Banca en Línea. Importa USD con su monto original y conversión a CLP, excluye el saldo inicial del ciclo y vincula los abonos de divisas con la compra de divisas de Cuenta Corriente.
v1.68.3latestseptiembre 2026
fixLa sincronización de compras Santander ya no duplica un cargo cuando llega tanto por el Shortcut de iPhone como por Notification Center en el Mac.
v1.68.2septiembre 2026
fixLos CSV settlement_v2 de Mercado Pago ahora omiten operaciones aún no liberadas (IS_RELEASED=false), que todavía no impactan el saldo disponible.
v1.68.1latestseptiembre 2026
fixLos snapshots CSV settlement_v2 de Mercado Pago ahora omiten movimientos ya presentes en extractos cargados, aunque sus descripciones sean distintas.
v1.68.0septiembre 2026
featMercado Pago ahora acepta el CSV settlement_v2 de movimientos actuales. Se concilia como snapshot provisional con badge Cartola pendiente, usa el detalle de venta como glosa y reconoce las cargas de saldo desde Santander Visa como traspasos internos.
v1.67.3septiembre 2026
fixLos abonos web PAGO y PAGO TARJETA INTERBANC… de Santander Visa y Amex ahora se vinculan con sus pagos. Los abonos de divisas internacionales ya no se confunden con pagos ordinarios de tarjeta.
v1.67.2septiembre 2026
fixSantander Cuenta Corriente ahora usa la fecha contable que muestra la cartola, conserva el RUT de las transferencias y excluye el número de documento de su descripción. Un snapshot web ya no duplica movimientos que estén en una cartola oficial.
v1.67.1septiembre 2026
fixLa carga web de Santander Cuenta Corriente ahora interpreta movementAmount correctamente: convierte los centavos a CLP y distingue cargos y abonos por el signo final.
v1.67.0septiembre 2026
featSantander Cuenta Corriente ahora permite pegar los movimientos actuales desde Banca en Línea. Los cargos y abonos se concilian como snapshot provisional, con Cartola pendiente hasta cargar el PDF oficial.
v1.66.1septiembre 2026
fixLos abonos e ingresos que aparecen en Top cargos sin registrar ahora se muestran en verde, igual que en Conciliación.
v1.66.0septiembre 2026
featScotiabank Cuenta Corriente ahora permite pegar el JSON de movimientos actuales de Banca en Línea. Se concilia como snapshot provisional, queda marcado como Cartola pendiente y no ofrece visor PDF hasta cargar la cartola oficial. Los abonos, como remuneraciones, se registran correctamente como ingresos. Archivos identifica si cada carga vino de correo o sitio web, y los duplicados requieren coincidir también en ese origen.
fixLas cartolas Santander Cuenta Vista ya no se importan erróneamente como Santander Visa cuando llegan por correo. Como esta cuenta no está configurada para conciliar, el adjunto se reconoce y se ignora sin reintentarlo en cada escaneo de la bandeja.
fixEl modo de desarrollo local (make dev) ahora carga .env, igual que make run, por lo que la ingesta IMAP puede iniciar correctamente.
v1.65.1septiembre 2026
fixLos movimientos Santander marcados Cartola pendiente ya no muestran un ícono para abrir PDF en Conciliación, Top cargos sin registrar, Archivos ni la tarjeta de carga. El JSON sigue disponible para descargar.
v1.65.0septiembre 2026
featSantander Visa y Amex ahora aceptan pegar manualmente el JSON de movimientos actuales de Banca en Línea. Se concilian de inmediato como snapshot provisional y quedan marcados como Cartola pendiente hasta que se cargue el PDF oficial.
fixLos snapshots web no avanzan la cobertura ni el corte bancario, se reemplazan al pegar una versión más reciente y se eliminan automáticamente al llegar la cartola oficial, evitando duplicados.
v1.64.0septiembre 2026
featNueva sub-pestaña "Cartolas" dentro de Carga: una grilla por fuente × mes que muestra de un vistazo qué cartolas ya están cargadas, cuáles faltan y cuáles todavía no corresponden (mes futuro), con selector de año.
v1.63.1septiembre 2026
fixUn correo de otra fuente del banco Scotiabank (ej. Visa Singular) sin líneas de cargo/abono reconocibles se aceptaba en silencio como una cartola Scotiabank vacía y nunca llegaba a probarse contra el parser correcto. Ahora se rechaza y la ingesta por correo sigue probando las fuentes siguientes.
v1.63.0septiembre 2026
fixCuando una cartola Santander Amex Intl traía dos "ABONO DE DIVISAS" idénticos el mismo día (mismo monto), el deduplicador del parser y el índice único de la base de datos descartaban el segundo en silencio. Ahora se cuentan las ocurrencias reales del PDF antes de deduplicar, igual que ya hacía el parser Visa/Amex nacional.
fixLos abonos de divisas de Amex Intl no conciliaban contra el egreso real de "Compra de Divisas" de la cuenta corriente porque el sistema exigía monto exacto; esa excepción (tasa de mercado vs. tasa fija) ya existía para Visa Intl pero nunca se extendió a Amex Intl.
featLas transacciones en dólares (Santander Visa/Amex Intl) ahora muestran, al pasar el mouse sobre el monto en pesos, el monto original en USD y la tasa de conversión usada.
v1.62.2septiembre 2026
fixLas cartolas de Scotiabank Cuenta Diaria descargadas directo del portal (formato "oficial", distinto al "imprimir como PDF" del navegador) no detectaban ningún movimiento: la descripción larga se envuelve en 2 líneas y la fila de fecha+monto quedaba sin texto de descripción, así que se descartaba en silencio. Ahora la descripción se reconstruye desde las líneas vecinas y ambos formatos de PDF funcionan.
v1.62.1septiembre 2026
fixLa sincronización automática de Santander (Fase 2, lectura del panel de Notification Center) abría el panel visiblemente dos veces y terminaba fallando con "panel_not_open" en casi todas las corridas, por una regresión de macOS 26 (Tahoe): el click por Accessibility al ítem del reloj dejó de responder de forma confiable. Se reemplazó por un click sintético a la coordenada real del ítem, que abre el panel de forma instantánea y consistente.
v1.62.0septiembre 2026
featLa pestaña de Categorías ahora abre por defecto en "Total" (antes abría en "Casita"), con el orden de tabs Total → Casita → Esteam.
fixLas filas de transacciones dentro del acordeón de categorías mostraban el nombre de la subcategoría en vez de la descripción real del gasto, porque el parser de Buddy guarda la subcategoría en el campo de descripción interno. Ahora se muestra la nota real de Buddy, y las filas quedan ordenadas por fecha descendente.
v1.61.2septiembre 2026
fixEl parser de Scotiabank CC clasificaba mal cargo/abono en las cartolas que llegan por correo cuando el layout de columnas se corría entre estados de cuenta — en agosto 2026 casi todos los abonos quedaron registrados como gasto. Ahora la columna se determina por la distancia relativa entre el monto y el saldo (constante entre formatos) en vez de una posición absoluta de caracter, y se reingestaron los estados afectados con el fix.
fixPOST /api/push/transaction ahora limita el body a 8 KB, para que un payload malformado no pueda escribir un blob sin límite en la cola.
infraIntento de leer movimientos de tarjeta directo desde Banca en Línea de Santander (Playwright) para que aparezcan en Buddy el mismo día de la compra, sin esperar el correo mensual — descartado: el gateway de login bloquea el navegador automatizado con 403 (WAF/antibot) antes de validar credenciales. Quedan como base para un futuro intento el dedup difuso por monto+fecha para movimientos sin ID de banco y el ícono 🌐 para distinguir el origen en el título de Buddy.
v1.61.0septiembre 2026
featNueva tarjeta de carga manual para Santander Amex Internacional — antes solo se podía ingresar por correo, así que borrar ese statement lo dejaba sin forma de recuperarlo manualmente.
v1.60.1septiembre 2026
fix"Re-escanear bandeja" ya no borra el historial completo de correos procesados — eso forzaba a descargar y descartar como duplicado casi los 90 días enteros en cada click. Ahora solo revisa correos genuinamente nuevos, mucho más rápido.
fixBorrar un extracto que llegó por correo ahora desmarca solo ese correo puntual como procesado, así un re-escaneo posterior lo vuelve a traer sin necesitar olvidar el historial completo.
v1.60.0septiembre 2026
featAl apretar "Re-escanear bandeja" ahora se ve el progreso en vivo: aparece un indicador de escaneo con barra de progreso, y cada correo detectado se muestra en Archivos como una fila "Descargando…" con su badge de fuente hasta que termina de ingresarse.
fixDescartar un correo pendiente de subida manual (ej. Mercado Pago) con "Ya lo subí" ahora queda registrado para siempre — antes reaparecía cada vez que se usaba "Re-escanear bandeja".
fixLos avisos de correos pendientes de subida manual ahora se muestran en cualquier carga de la página, no solo justo después de ciertas acciones.
v1.59.0septiembre 2026
featEn la vista de Archivos, ahora se puede hacer clic en el badge de fuente de cualquier fila para filtrar la lista por esa fuente (clic de nuevo para quitar el filtro); queda sincronizado con el selector existente.
featEse filtro por fuente (y la pestaña activa) ahora queda guardado en la URL, así que refrescar la página no lo pierde.
v1.58.3septiembre 2026
fixLos correos pendientes de subida manual de dominios que ya no aplican (ej. Santander) ahora se limpian solos en cada re-escaneo de bandeja, en vez de quedar visibles para siempre esperando un descarte manual fila por fila.
v1.58.2septiembre 2026
fixLas cartolas Visa/Amex internacionales ya no agregan la deuda total del período como una transacción falsa: el cupón "Comprobante de Pago" del pie de página se ignora en vez de leerse como un cargo más.
v1.58.1septiembre 2026
fixUn cargo ya encolado para Buddy (desde Fly.io) ahora muestra un ícono de reloj de arena en vez del botón normal, para que quede claro que ya se registró y no haya que volver a apretarlo mientras se aplica.
v1.58.0septiembre 2026
featEl botón "Registrar en Buddy" ahora también aparece en la tabla de Conciliación, en las filas sin contraparte en Buddy — antes solo estaba en el resumen de "Top cargos sin registrar".
featEsa misma tabla de "Top cargos sin registrar" ahora tiene el ícono para ver el PDF del extracto de cada cargo, igual que ya existía en Conciliación.
v1.57.0septiembre 2026
feat"Registrar en Buddy" ya funciona viendo la app en Fly.io, no solo corriendo local: el registro se encola y se aplica automáticamente en la Mac en los siguientes minutos.
infraNuevo proceso automático en la Mac que drena esa cola cada 5 minutos sin abrir el Notification Center, para no interrumpir mientras trabajas.
v1.56.2septiembre 2026
fixLos estados de cuenta de Buddy sincronizados para "Esteam" y "La Casita" ya no se marcan como duplicados en la vista de Estados de Cuenta cuando cubren el mismo mes de cierre — el nombre de archivo ahora incluye el presupuesto (esteam/casita), no solo la fuente y el mes.
v1.56.1agosto 2026
fixEl banner "pendiente de subida manual" solo se genera ahora para dominios que realmente entregan su estado de cuenta vía un link protegido por sesión (Mercado Pago); para el resto (Santander, Scotiabank, etc.) un correo sin PDF adjunto es ruido bancario rutinario (comprobantes de pago, notificaciones) y se descarta en silencio en vez de inundar el banner en cada reescaneo de bandeja.
v1.56.0agosto 2026
newNueva fuente "Santander Amex Intl": la cartola internacional (en dólares) ahora distingue Visa de Amex usando la misma etiqueta de producto junto al número de tarjeta, en vez de catalogar toda cartola internacional como Visa Intl.
v1.55.1agosto 2026
fixSantander Visa y Amex nacionales comparten el mismo encabezado; el parser ahora usa la etiqueta "W. LIMITED VISA"/"W.LIMITED AMEX" junto al número de tarjeta para rechazar cartolas cruzadas (ej. una Amex subida como Visa) en vez de importarlas silenciosamente con la fuente equivocada.
fixEl nombre de archivo con el que se guarda un estado de cuenta ahora usa el mes de cierre del período (no el de apertura): los ciclos de tarjeta de crédito casi siempre cruzan el límite de mes calendario, y tanto el banco como el usuario identifican la cartola por su mes de cierre.
v1.55.0agosto 2026
featNuevo badge de advertencia "duplicado" en la lista de Archivos: si dos estados de cuenta (de cualquier fuente) tienen el mismo nombre de archivo, se marcan ambos para detectar rápido casos como un PDF ingresado por error en la fuente equivocada.
v1.54.3agosto 2026
fixLas cartolas de Cuenta Corriente Santander recibidas por correo ya no se clasificaban por error como Visa Internacional: el parser de Visa Intl no rechazaba ese formato, así que "ganaba" antes de llegar al parser correcto de Cuenta Corriente.
fixCorregido el parser de Santander Visa: el cupón "COMPROBANTE DE PAGO" al pie del estado de cuenta repetía el monto total facturado junto a una fecha, y se importaba por error como una transacción real que inflaba el gasto.
fixEl script de sincronización con Buddy ahora avisa en el log cuando detecta un posible duplicado (mismo monto dentro de ±24h) cargado a mano en Buddy.app, ya que esas entradas manuales no comparten el UUID determinista que usa la detección automática.
v1.54.1agosto 2026
fixLa pestaña "Liquidaciones (beta)" ahora funciona también en producción (Fly.io) — antes quedaba bloqueada con "acceso no permitido" porque el middleware exigía loopback. Se mantiene la validación de mismo origen en las mutaciones (importar, reemplazar, borrar).
v1.54.0agosto 2026
featNueva pestaña "Liquidaciones (beta)": importa tus liquidaciones de sueldo en PDF y sigue la evolución mensual de sueldo base, bruto y líquido, con gráfico, historial por ítem, bonos anuales separados y una proyección a fin de año. Solo disponible en el equipo local mientras está en beta.
newNuevo endpoint interno /api/unregistered (protegido con token) para que los scripts de sincronización consulten cargos de Santander sin fuente asignada.
fixEl endpoint de sugerencia de categoría ahora recibe el comercio por POST en el cuerpo de la solicitud en vez de por parámetros en la URL, para que esos datos no queden en logs ni en el historial del navegador.
fixLas claves foráneas y el modo WAL de SQLite ahora se activan correctamente al conectar — la sintaxis anterior no era reconocida por el driver y quedaba silenciosamente sin efecto.
fixLas contraseñas de PDFs protegidos ya no se pasan como argumento de línea de comandos a qpdf, evitando que queden visibles en la lista de procesos del sistema.
v1.53.3agosto 2026
fixEl botón × para borrar transacciones de Buddy ahora funciona también cuando la transacción no tiene nota escrita — antes fallaba con "Datos incompletos" en ese caso.
v1.53.2agosto 2026
fixEl parser de Visa Santander ahora rechaza cartolas de Cuenta Corriente en vez de aceptarlas silenciosamente con cero transacciones — si se sube un PDF de Cuenta Corriente a la caja de Visa (o llega por correo), el sistema devuelve un error claro indicando la fuente correcta.
v1.53.1agosto 2026
fixEl endpoint de cola push ahora acepta datos estructurados de Apple Pay (merchant, amount, card, name) además del formato de texto de notificación anterior — el iOS Shortcut puede enviar los campos nativos de la transacción sin construir un texto sintético.
v1.53.0agosto 2026
featCola de notificaciones de compra para iOS Shortcuts: nuevos endpoints POST/GET/DELETE /api/push/transaction (protegidos con BUDDY_PUSH_KEY) reciben cargos capturados desde el iPhone en el momento exacto de la compra y los almacenan en Fly.io. El script santander-buddy-sync.py consume primero la cola del servidor antes de leer el Notification Center, eliminando las pérdidas de notificación cuando el Mac estaba durmiendo al momento del cargo.
v1.52.0agosto 2026
featPanel de automatizaciones: cada job ahora muestra una descripción en lenguaje simple de qué hace y de dónde saca la información; el detalle del poller IMAP se desglosa por banco/servicio (Santander, Scotiabank, Mercado Pago, etc.) en vez de un solo total agregado.
v1.51.0agosto 2026
featConciliación automática post-ingesta: tras un poll IMAP o un `/upload/buddy` que ingresen movimientos nuevos, el server reconcilia el mes en curso y, si la tasa de match cae bajo `ALERT_MATCH_RATE_MIN` (85% por defecto) o el monto sin registrar supera `ALERT_UNREGISTERED_MIN_CLP` ($50.000 por defecto), envía un correo con el top de cargos sin registrar. La conciliación deja de ser 100% pull: antes había que abrir la app para notar que faltaban cargos por registrar.
newNuevo puerto `notifier.Notifier` con adapters `SMTPNotifier` (correo saliente vía `smtp.mail.me.com`, reusando la misma app-password de `ICLOUD_IMAP_USER`/`ICLOUD_IMAP_PASSWORD` — sin secreto nuevo) y `DisabledNotifier` (no-op cuando `NOTIFY_CHANNEL` no es `email`). Las alertas solo se activan en producción (`FLY_APP_NAME` presente) para no spamear desde dev.
fixAnti-spam: nueva tabla `alert_state` registra la última vez que se notificó cada condición — no se reenvía la misma alerta más de una vez cada 24 horas, necesario porque el poller IMAP y `buddy-sync.sh` corren cada ~30 minutos.
v1.50.0agosto 2026
newNuevo endpoint `GET /api/suggest-category?merchant=&card=&amount=` que expone la sugerencia de Grupo/Categoría/Tipo/Scope de Buddy para un comercio, derivada del historial propio de conciliación (mismo comercio + tarjeta) — la misma inteligencia que ya prepoblaba el diálogo "Registrar en Buddy", ahora disponible como servicio de consulta reutilizable (funciona también en Fly.io, no requiere Buddy local).
featSe extrajo esa lógica a `application.SuggestCategoryUseCase` como única fuente de verdad: el diálogo "Registrar en Buddy" pasa a consumir el mismo caso de uso (sin cambio de comportamiento observable) y la respuesta incluye un `confidence` (`history` si hay historial, `heuristic` si no) más `matches` (cuántos pares del historial respaldan la combinación sugerida).
feat`santander-buddy-sync.py` consulta ese endpoint antes de insertar en Buddy en vez del diccionario `MERCHANT_CATEGORY` (vacío a propósito hasta ahora): con historial de confianza usa la categoría sugerida, sin historial sigue cayendo en "Unknown" para recategorizar a mano — la sugerencia mejora sola a medida que el usuario corrige. De paso resuelve la auto-sugerencia de scope pendiente en el backlog (sección "Distribución de ingresos"): el scope se deriva 1:1 del grupo sugerido.
v1.49.0agosto 2026
featPanel de salud de automatizaciones: nueva tarjeta "Automatizaciones" en el dashboard con un semáforo por job (poller IMAP, buddy-sync, santander-buddy-sync, leasity-sync) según la antigüedad de su último heartbeat — verde si corrió recientemente, ámbar si está atrasado, rojo si nunca corrió o su última corrida fue error. Antes una falla silenciosa (LaunchAgent sin cargar, permiso de Accessibility denegado, poller crasheado) solo se notaba días después al ver que "faltan datos".
newNuevo endpoint `POST /api/automation/heartbeat` (con lista blanca de jobs conocidos) y tabla `automation_runs`: cada job reporta timestamp, resultado ok/error e ítems procesados al terminar. El poller IMAP lo hace directo contra su propia DB; `buddy-sync.sh`, `santander-buddy-sync.py` y `leasity-sync.py` (nuevo helper compartido `buddy_writer.post_heartbeat`) hacen el POST a producción — se omite en `--dry-run`.
v1.48.1agosto 2026
fixEl banner de "Diferencias con producción" se cerraba solo un instante después de expandirlo. El fragmento que responde `/sync/check/status` incluía `hx-trigger="load, ..."`, y como se reemplaza a sí mismo (`hx-swap="outerHTML"`), cada respuesta volvía a disparar "load" apenas se insertaba, entrando en loop de recarga inmediata que pisaba el `<details>` recién abierto. Se quitó "load" del trigger del fragmento (se mantiene solo en el placeholder inicial), igual que ya hacía el indicador de sync de Buddy.
v1.48.0agosto 2026
featChequeo de sincronización local vs producción: al abrir la app en local aparece un indicador en el dashboard que compara, fuente por fuente, la cantidad de cartolas y transacciones cargadas y el porcentaje de conciliación histórico contra la instancia desplegada en Fly.io. Si hay diferencia, muestra el detalle exacto (ej. "Santander Visa — local 12 cartolas / 340 mov. (últ. 05/08/2026) · prod 11 cartolas / 310 mov. (últ. 01/08/2026)") en vez de solo avisar que algo no calza.
newNuevo endpoint `/api/sync-summary` que expone ese resumen (conteos, fechas y % de conciliación — nunca montos ni descripciones) para que cualquier instancia pueda compararse contra otra.
v1.47.1agosto 2026
fixEl diálogo "Registrar en Buddy" no tenía forma de elegir si el cargo es Gasto o Ingreso — el tipo se inferría en silencio del signo del monto bancario, casi siempre "expense" porque la lista de origen ("Top cargos sin registrar") son cargos. Se agregó un combo box "Tipo" explícito (Gasto/Ingreso), editable antes de guardar.
featEl Tipo se preselecciona igual que Grupo/Categoría: primero busca en el historial propio de conciliación cómo se registró antes ese mismo comercio+tarjeta (`guessBuddyFromHistory`, ahora extendido con el signo real de la transacción bancaria de esos matches) y, sin antecedentes, cae al signo del monto actual.
featWarning inline si Tipo y Categoría no calzan: el signo real que Buddy usa al sincronizar lo define la `HeadCategory` de la categoría elegida, no el selector de Tipo — el diálogo ahora avisa al vuelo (al cambiar cualquiera de los dos combos) cuando esa combinación quedaría inconsistente, antes de guardar.
v1.47.0agosto 2026
featCapa de etiquetado manual Personal/Casa por transacción (item del backlog "Distribución de ingresos entre presupuesto personal y casa"): cada transacción bancaria sin contraparte Buddy ("sin registrar") tiene un selector inline en Conciliación para marcarla como Esteam (personal) o Casita (hogar) a mano. Las transacciones que sí calzan con un registro Buddy siguen mostrando su presupuesto automáticamente (sin cambios).
featEl Balance Presupuestal (`/buddy-balance` y tab Resumen) ahora suma esas transacciones etiquetadas a mano a los mismos totales de Esteam/Casita que ya calcula desde los CSV de Buddy — es el paso que empieza a reducir la dependencia real de esos dos exports: con suficientes transacciones etiquetadas, el balance mensual puede calcularse solo desde los extractos bancarios.
featEtiquetado en bloque: un control nuevo arriba de la tabla de Conciliación permite elegir una fuente bancaria (ej. Edenred) y un presupuesto, y etiquetar de una vez todas sus transacciones "sin registrar" que todavía no tuvieran scope — evita tener que marcar a mano cientos de transacciones históricas ya cargadas.
v1.46.0agosto 2026
featIconos y colores fijos por categoría de Buddy en la pestaña Categorías — antes cada categoría solo tenía un puntito de color asignado por hash del nombre, sin ícono. Ahora Housing (naranja + casa), Food & drinks (teal + cubiertos), Transportation (azul + auto), Entertainment (morado + film), Lifestyle (rosa + bolsa), Income (verde + monedas) y Miscellaneous (ámbar + caja) tienen su propio ícono y color consistente, igual que en la app nativa de Buddy. Categorías fuera de este set siguen usando el color por hash de siempre, ahora con un ícono genérico.
v1.45.0agosto 2026
featNuevo campo `PaidBy` capturado desde la columna "Paid By" del export CSV de Buddy Casita (quién de la familia pagó cada gasto) — antes esa columna solo se usaba para validar que el CSV correspondía al presupuesto correcto y el valor por transacción se descartaba. Sienta la base para futuros reportes de "quién gastó qué" dentro de Casita; todavía no hay cambio visible en la UI.
v1.44.2agosto 2026
fixEl CSS de la app (`app.css`) se cargaba sin ningún parámetro de versión, así que el navegador podía quedarse indefinidamente con una copia cacheada tras cada deploy — algunos cambios visuales (como el fix del botón "Registrar en Buddy" deshabilitado de esta misma versión) no se veían hasta forzar una recarga dura. Ahora la hoja de estilos se pide como `app.css?v=vX.Y.Z`, así que cada release fuerza a los navegadores a traer la versión nueva.
v1.44.1agosto 2026
fixProlija la columna de acción del botón "Registrar en Buddy" en "Top cargos sin registrar" de Resumen: antes el ícono quedaba flotando lejos de la etiqueta de fuente por una columna de tabla sin ancho definido; ahora queda pegado, con un hover más marcado (fondo tipo pill en vez de solo cambio de color).
fixEl botón "Registrar en Buddy" ahora se deshabilita para traspasos entre cuentas propias (ej. "TEF 15318172-1 Santander Mio") que quedan huérfanos en "sin registrar" solo porque falta cargar el extracto de la contraparte — no son un gasto real, así que ya no invitan a registrarlos por error. El botón sigue visible pero atenuado, con un tooltip explicando por qué.
v1.44.0agosto 2026
featNuevo botón "Borrar de Buddy" (✕) en cada fila "solo en Buddy" de Conciliación (solo local, igual que "Registrar en Buddy"): borra la transacción directo de la base de datos local de Buddy sin tener que buscarla a mano en el iPhone — útil para las duplicadas o mal cargadas. Como gastos-conciliador no guarda el identificador interno de Buddy para estas filas, la transacción se ubica por fecha + monto + nota + grupo (los mismos datos ya visibles en la fila); si esa combinación no identifica una única transacción, se rehúsa a borrar en vez de arriesgarse a borrar la equivocada. Pide confirmación antes de borrar, y usa el mismo mecanismo de borrado lógico (ZREMOVED) que ya usa Buddy internamente, para que el borrado se sincronice bien a tus demás dispositivos.
v1.43.0agosto 2026
featNuevo botón "Registrar en Buddy" en cada fila del "Top cargos sin registrar" de Resumen (solo corriendo la app localmente, no en Fly.io): elige Grupo y Categoría en un diálogo y el cargo se inserta directo en la base de datos local de Buddy (mismo mecanismo que ya usan los scripts de sincronización automática por correo/notificación), sin tener que cargarlo a mano desde el iPhone. El diálogo pre-selecciona un Grupo/Categoría sugerido en vez de dejar caer la selección en lo primero alfabético: primero busca en tu propio historial de conciliación si ya categorizaste antes esa misma tarjeta + comercio (ej. "Mall Paseo Quilín" → Parking, sin configuración previa) y, si no hay antecedentes, cae a una regla genérica por tarjeta/comercio (ej. Amex → Esteam, "Cruz Verde" → Pharmacie). Tras registrarlo, la app resincroniza Buddy automáticamente para que el cargo pase a "cruzado" al instante, y abre Buddy brevemente en segundo plano para empujar el cambio a CloudKit.
v1.42.0agosto 2026
featNueva categoría "Gasto automático" en Conciliación: el interés y seguro que Scotiabank y Santander cobran automáticamente sobre la línea de crédito adosada ya no aparece como "cargo sin registrar" — se muestra aparte, porque es dinero real que sale de la cuenta pero no corresponde anotarlo en Buddy.
fixEl barrido automático de línea de crédito de Scotiabank (giro por sobregiro + repago) ya no queda huérfano en "sin registrar" cuando el banco descuenta el interés del giro antes de repagarlo — ahora se reconoce igual aunque el monto del repago no calce exacto con el del giro.
fixLos formularios de carga de Santander (Cuenta Corriente / Línea de Crédito) y Scotiabank (Cuenta Corriente / Diaria / Plus) ahora validan que el PDF corresponda a esa cuenta antes de aceptarlo — antes se podía subir por error la cartola de una cuenta en la caja de otra sin ningún aviso, ya que comparten el mismo formato de tabla.
v1.40.0julio 2026
featLos ~65 emojis usados como íconos funcionales (badges de fuente, estados vacíos, toasts, indicadores de estado en Conciliación y Categorías, botón de editar alias, etc.) se reemplazaron por un set propio de íconos SVG trazo-cian, extendiendo el mismo lenguaje visual del logo de la app — consistentes entre macOS/Windows/Linux/navegador.
v1.39.0julio 2026
featAtajos de teclado: / enfoca el buscador activo, 1-6 cambia entre las pestañas de resultados, Esc limpia la búsqueda enfocada, y g c salta directo a Carga.
featLas tablas de Integridad y de "top cargos" en Resumen ahora se pueden ordenar por columna, igual que Conciliación.
featLos estados vacíos (sin archivos, sin categorías, sin alias, etc.) ahora muestran un ícono y, cuando aplica, un botón para ir directo a Carga.
fixLos buscadores de Conciliación y Categorías ya no re-filtran en cada tecla — se agregó un pequeño debounce para tablas grandes.
fixTodas las animaciones ahora respetan la preferencia del sistema "reducir movimiento".
fixFeedback de carga (spinner) uniforme en todos los botones de acción (reintentar correo, marcar resuelto, guardar/borrar alias, eliminar/resubir en lote) — antes algunos no mostraban ningún indicador.
infraEl CSS de la aplicación (~2800 líneas) se movió de un <style> inline a una hoja de estilos cacheable en /static/css/app.css.
fixPulido visual general: el checkbox de "cobertura hasta" ya no se ve como el checkbox nativo del navegador, el foco de teclado usa un anillo cian consistente con el tema en vez del azul por defecto, y las etiquetas secundarias (AÑO, MES, encabezados de tabla) tienen mejor contraste.
fixLas tabs de sección y las tablas con scroll horizontal ahora muestran un desvanecido sutil en el borde cuando hay más contenido oculto, y las tarjetas de carga con títulos largos (ej. "Santander Visa Internacional") ya no desalinean su ícono y badges respecto a las demás.
v1.38.2julio 2026
fixCorregidos varios desbordes horizontales en móvil (probado en iPhone 14): la tabla de Balance Presupuestal en su página propia ahora tiene scroll horizontal contenido, las tarjetas Esteam/Casita se apilan en pantallas angostas, el selector de fuente de cobertura ya no se sale de la pantalla, y el encabezado con el título de la app se reordena en dos líneas en vez de desbordar.
v1.38.1julio 2026
fixPulido visual de la pestaña Categorías: cada categoría es ahora una tarjeta con borde de acento en su color, chevron animado al expandir, y aparición escalonada al cambiar de scope. El total del encabezado pasa a un formato tipo "stat tile" y % / promedio se muestran como chips consistentes con la flecha de variación.
v1.38.0julio 2026
featLa pestaña Categorías suma un buscador de texto libre que filtra categorías, subcategorías y transacciones a la vez, y un selector de orden (Monto / Nombre).
featBotón "Expandir todo / Colapsar todo" para abrir o cerrar de un golpe todo el árbol de categorías del scope visible.
featClick en cualquier transacción del detalle de una subcategoría salta directo a Conciliación con el buscador prellenado, para revisar si tiene contraparte bancaria.
v1.37.0julio 2026
featLa pestaña Categorías se rediseñó por completo: cada categoría ahora muestra su % del total y el promedio por transacción, tiene un color estable propio, y se puede expandir para ver sus subcategorías y, dentro de cada una, el detalle de las transacciones Buddy que la componen.
featAl seleccionar un mes específico, cada categoría muestra una flecha de variación (▲/▼) contra el mes anterior, o un indicador "nuevo" si no tuvo movimientos el mes pasado.
featSe agregó un segundo selector Gastos / Ingresos para ver también los ingresos por categoría, que antes no se mostraban en esta pestaña.
featCuando hay transacciones con categoría probablemente incorrecta (detectadas por el análisis de anomalías existente), aparece un aviso "⚠ N posibles mal categorizadas" que lleva directo al filtro de sospechosos en Conciliación.
v1.36.0julio 2026
featLa pestaña Categorías ahora permite alternar entre Total, Esteam y Casita para ver el gasto por categoría de cada presupuesto Buddy por separado, además del agregado combinado.
v1.35.1julio 2026
fixUn estado de cuenta Visa Internacional (en dólares) ingresado por correo se estaba clasificando como Visa nacional: el parser de Visa nacional no rechazaba el encabezado "ESTADO DE CUENTA INTERNACIONAL", así que ganaba la carrera antes de intentar el parser correcto y el estado quedaba guardado con 0 transacciones. Ahora se detecta y rechaza explícitamente ese encabezado para que la ingesta avance al parser de Visa Internacional.
fixEl parser de Visa Internacional tampoco reconocía las fechas de los estados de cuenta más recientes de Santander, que cambiaron de año de 2 dígitos (`22/05/26`) a 4 dígitos (`22/06/2026`) en las líneas de transacción.
v1.35.0julio 2026
featEl dashboard ahora se separa en dos vistas superiores: Inicio (conciliación, categorías, integridad, archivos, diccionario, balance presupuestal) y Carga (solo las cajas de subida de archivos por fuente). La vista activa se recuerda entre visitas y queda en la URL (`?view=carga`); al terminar de subir y conciliar automáticamente, salta a Inicio para mostrar los resultados.
featLas cajas de la vista Carga ahora se reordenan automáticamente por fecha de última carga, de más reciente a más antigua, para que las fuentes que acabas de actualizar queden siempre arriba.
fix`scripts/buddy-sync.sh` generaba el CSV temporal con `mktemp ... .csv`, lo que en macOS produce un nombre de archivo con el sufijo literal `.csv` en la plantilla en vez de como extensión real, rompiendo la ruta esperada por el resto del script.
fixSi `osascript` fallaba al cerrar Buddy tras el sync (por ejemplo por permisos de Automatización no concedidos), el proceso quedaba abierto sin aviso. Ahora usa `pkill` como respaldo.
v1.34.4julio 2026
fix`scripts/buddy-sync.sh` solo esperaba 15s a que Buddy sincronizara con el cloud cuando lo abría él mismo; si Buddy ya estaba corriendo (por ejemplo, mientras se ingresaban movimientos desde el iPhone) leía el SQLite local de inmediato y se perdían los cambios recién llegados por CloudKit. Ahora siempre espera, esté o no ya abierto.
v1.34.3julio 2026
infraNuevo `.env.example` documentando todas las variables de entorno (requeridas y opcionales), y nuevo `scripts/setup-buddy-sync.sh` que genera e instala el LaunchAgent de sync de Buddy automáticamente — antes había que escribir el plist a mano. Pensado para reconstruir el entorno local rápido tras reformatear el equipo.
fix`scripts/buddy-sync.sh` escribía su log en una ruta con el usuario del sistema hardcodeado (`/Users/estcontreras/...`) en vez de usar `$HOME`, lo que rompería el script en cualquier otra cuenta de usuario.
infraEl LaunchAgent de sync de Buddy ahora corre cada 30 minutos por defecto en vez de cada hora, para que los movimientos nuevos aparezcan más rápido en el dashboard.
v1.34.2julio 2026
fixLa hora de "última subida" en las tarjetas de fuentes se formateaba con `toLocaleString` del navegador, que ordena día/mes según el idioma del sistema — en un navegador en inglés mostraba mes/día en vez de día/mes. Ahora se construye siempre en formato DD/MM/AAAA HH:MM, sin depender del idioma del navegador.
fixAl usar el botón "Sync desde Buddy" en local, todas las tarjetas de fuentes perdían la hora de última subida y quedaban solo con la fecha. El script que reconstruye esas horas no llegaba a las tarjetas actualizadas fuera de banda (OOB) por htmx, por una particularidad de htmx 1.9 donde el elemento recibido en ese evento ya no está en el DOM.
v1.34.1julio 2026
fixEl script del LaunchAgent que sincroniza Buddy con producción (`scripts/buddy-sync.sh`) seguía usando la consulta SQL vieja, sin el ajuste de signo por categoría "Income" ni la exclusión de transferencias — el fix de v1.34.0 solo había llegado al botón manual, que no corre en Fly. Por eso "Gastos" aparecía en $0 en cada mes del Balance Presupuestal en producción.
fixLas transacciones de Buddy se agrupaban por el día calendario en UTC en vez de en hora de Chile — una transacción registrada a las 20:48 hora local (00:48 UTC del día siguiente) caía en el mes equivocado. Afectaba tanto al script de producción como al sync manual local.
v1.34.0julio 2026
featEl botón de sync de Buddy ahora muestra un indicador de estado del LaunchAgent (activo / inactivo / con error) junto con cuándo corrió por última vez, refrescado cada minuto.
fixEl sync automático de Buddy excluía mal las transferencias internas entre cuentas y no invertía el signo de las transacciones de categoría "Income", lo que inflaba egresos y desinflaba ingresos en el balance.
fixEl Balance Presupuestal ahora solo considera meses desde enero 2026 en adelante — datos previos no son relevantes para este balance y distorsionaban los totales acumulados.
fixLa fecha de "última subida" de cada tarjeta de fuente se mostraba en UTC crudo, sin convertir a la zona horaria del navegador — podía mostrar el día equivocado cerca de medianoche en Chile. Ahora se convierte igual que el resto de las fechas de la app.
v1.33.0julio 2026
featSync automático de Buddy desde SQLite local — ya no hace falta exportar el CSV a mano. El dashboard tiene un botón "⚡ Sync desde Buddy" (solo visible en local) que lee directamente la base de datos de Buddy y sube el historial completo de Esteam y La Casita. Un LaunchAgent corre cada hora: abre Buddy silenciosamente para forzar la sincronización con el cloud, lee el SQLite y sube todo a Fly.io.
v1.32.0julio 2026
newMercado Pago ahora se detecta en la ingesta por correo. El correo mensual no trae el PDF adjunto — trae un link que exige sesión iniciada en Mercado Pago — así que en vez de ignorarlo, el correo queda registrado como "pendiente de subida manual" en la vista de Archivos, con el asunto y la fecha, y un botón "Ya lo subí" para descartarlo una vez subido el extracto a mano.
v1.31.7julio 2026
fixLos montos negativos en rojo del Balance Presupuestal (y en el resto de la app) no mostraban el signo "-" antes del "$" — solo se distinguían por el color. Ahora siempre llevan el signo, además del color.
v1.31.6julio 2026
fixEl ícono "ver último PDF" de los cuadros de carga no se actualizaba al borrar, resubir o subir un extracto — vivía fuera del bloque que esas acciones refrescan. Ahora viaja como fragmento OOB de HTMX en cada acción relevante, así que siempre queda al día sin recargar la página.
fixEl ícono también podía apuntar a un extracto sin archivo realmente guardado (registros antiguos, o fuentes CSV como Mercado Pago/Edenred/Neat/Buddy) y el click daba 404. Ahora solo aparece si existe un archivo visible; la fecha de última subida se sigue mostrando siempre, tenga ícono o no.
v1.31.2julio 2026
featLos archivos subidos (manual o automáticamente por correo) ahora se guardan como "fuente-mes-año.ext" (ej. santander-visa-june-2026.pdf), usando el mismo nombre completo de fuente que aparece en los cuadros de carga y el período de facturación detectado, todo en minúsculas separado por guiones. Fallback al nombre original si no se detecta período.
v1.31.1julio 2026
featLa carga de Mercado Pago ahora también acepta la cartola en PDF ("Comprobante de movimientos"), además del export CSV — el formato se detecta automáticamente por la extensión del archivo.
v1.31.0julio 2026
featNuevo combo box junto a "Cobertura" para elegir manualmente qué fuente bancaria determina la fecha de corte, en vez de depender solo del cálculo automático.
featAviso ⚠ junto a la Tasa de match cuando el corte de cobertura cae justo en el cierre de ciclo de una tarjeta de crédito (Santander Visa/Amex/Intl, Visa Singular) — algunas compras de ese día pueden facturarse recién el mes siguiente.
fixEl giro automático que Scotiabank cubre con su línea de crédito adosada y repaga el mismo extracto ahora se reconoce como barrido interno, en vez de aparecer como dos cargos sin registrar.
v1.30.3julio 2026
fixLos traspasos entre Scotiabank Diaria y Copec Pay ahora se reconocen como movimiento interno en vez de aparecer duplicados en "cargos sin registrar".
v1.30.2julio 2026
fixEn el Balance Presupuestal, la columna "Ing. Totales" de Casita ahora se muestra en rojo cuando el ingreso total del mes es negativo.
v1.30.1julio 2026
fixLa tarjeta de Santander Visa Internacional ahora usa el mismo ícono de tarjeta (World Member) que Santander Visa en vez del logo genérico rojo del banco, y se renombró de "Santander Internacional" a "Santander Visa Internacional" para reflejar que es la misma tarjeta con cupo en pesos.
v1.30.0julio 2026
featCada tarjeta de fuente muestra ahora un ícono de documento junto a la fecha de última subida; al hacer click abre en una pestaña nueva el último extracto cargado para esa fuente.
fixEl aviso de estado de cuenta duplicado ahora muestra el período exacto (mes y año) ya cargado en vez de un mensaje genérico.
infraLos campos exclusivos de Buddy Budget (categoría, nota, presupuesto) se agruparon en un único campo dentro de la transacción, en vez de quedar sueltos y solo válidos para esa fuente.
v1.29.1julio 2026
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