Código público · Offline-first · Sin suscripción

Su libro de cuentas bancario unificado,
en su ordenador

Importe archivos de todos sus bancos. Spendif.ai los fusiona, elimina los dobles conteos, clasifica cada transacción, y sus datos nunca salen de su disco.

▶ Instalar ahora View on GitHub

Python · Streamlit · SQLite · Ollama · sin cuenta requerida

🔒 Datos solo en su ordenador
🔁 Importación idempotente SHA-256
🏦 Multi-banco, multi-formato
🤖 IA local o en la nube con redacción de PII
🧪 199 tests, cero dependencias externas

Tres bancos, tres archivos, un caos

Cada mes: descargar, abrir Excel, pegar, corregir los signos, encontrar los duplicados. Y cada vez algo no cuadra.

😩 La rutina mensual que todos odian

Tres archivos de movimientos de tres portales bancarios diferentes, formatos CSV incompatibles, fechas en formatos diferentes, importes con signos aleatorios. Fusionarlos a mano lleva horas y siempre produce errores.

🔴 El problema de todos los problemas: el doble conteo

La compra del supermercado aparece en el extracto de la tarjeta de crédito y en la cuenta corriente como un cargo mensual agregado. Sumándolo todo, sus gastos parecen el doble de lo que realmente son. Ninguna herramienta común resuelve esto automáticamente.

🔄 Las transferencias internas que distorsionan su balance

Una transferencia a una cuenta de ahorro no es un gasto. Pero si importa ambas cuentas, la misma transacción aparece dos veces: como salida de la cuenta corriente y como entrada en la cuenta de ahorro.

📋 La categorización que nunca termina

Clasificar 300 transacciones al mes a mano es un trabajo. Las aplicaciones en la nube lo hacen, pero envían sus datos bancarios a sus servidores y le cobran una suscripción mensual.

La interfaz está disponible en español, italiano, inglés, francés y alemán.


Tres pasos, sin magia negra

Sin integraciones bancarias, sin cuenta, sin configuración por archivo.

Descargue archivos de su banco

Exporte archivos de movimientos como CSV o XLSX desde el portal de su banco. Funciona con cualquier banco: Spendif.ai detecta automáticamente el formato sin configuración manual.

Arrástrelos a Spendif.ai y haga clic en Procesar

Seleccione todos los archivos a la vez, incluso de diferentes bancos, incluso de diferentes años. Spendif.ai detecta el tipo de documento, corrige los signos, elimina los dobles conteos entre tarjeta y cuenta, y clasifica cada transacción.

Vea adónde va su dinero

El libro de cuentas unificado muestra todo en un solo lugar: gráficos, filtros, exportación, y la certeza de que cada euro se cuenta exactamente una vez.



El producto, no una maqueta

Tres pantallas de la aplicación en funcionamiento. Los datos mostrados son de ejemplo.

Pantalla de inicio de Spendif.ai: gráfico de ingresos mensuales y diagrama de flujo
Inicio: ingresos por mes y el flujo ingresos → gastos
Análisis de Spendif.ai: gráfico de anillo de gastos por categoría y treemap
Análisis: distribución de gastos por categoría y treemap categoría → subcategoría
Panel de corrección de Spendif.ai: selección de transacción, nueva categoría y opción de guardar una regla determinista
Revisión: corrige una transacción y aplica la misma corrección a todas las iguales, o guárdala como regla

Algoritmos que resuelven problemas reales

Esta no es una aplicación de presupuesto genérica. Está diseñada en torno a los problemas específicos de personas con múltiples cuentas bancarias.

RF-03

Conciliación tarjeta de crédito-cuenta corriente

Cuando la tarjeta de crédito carga el importe mensual en la cuenta corriente, Spendif.ai reconoce la relación y elimina el doble conteo automáticamente.

Ventana temporal ±45 días · 3 fases de coincidencia: ventana deslizante → suma de subconjuntos para importes divididos → conciliación parcial

RF-04

Detección de transferencias internas

Una transferencia de una cuenta corriente a una cuenta de ahorro no es ni un gasto ni un ingreso: es una transferencia interna. Spendif.ai la reconoce comparando importes, fechas y nombres de titulares en las descripciones, incluso si los dos archivos se importaron en momentos diferentes.

Dedup

Deduplicación idempotente

Cada transacción tiene un ID único calculado a partir de su contenido (SHA-256). Si importa el mismo archivo dos veces, no pasa nada. Puede reimportar todo su historial de transacciones sin temor a duplicados.

Categories

Clasificación híbrida en cascada

La categorización utiliza cuatro niveles en secuencia:

  • 1Sus reglas: "CONAD" → Alimentación (aplicadas retroactivamente)
  • 2Regex estáticas: patrones predefinidos para categorías comunes
  • 3LLM: para todo lo demás, IA local o en la nube
  • 4Fallback: "Por revisar" si todo lo demás falla

Sus datos siguen siendo suyos. En serio.

No es solo un eslogan. Es la arquitectura.

🏠

Offline-first por defecto

Spendif.ai usa Ollama en local por defecto: un motor de IA que se ejecuta en su ordenador, sin conexión a internet. Sus archivos de movimientos nunca salen de su disco.

🛡️

Redacción automática de PII

Si usa OpenAI o Claude, Spendif.ai elimina automáticamente todos los datos identificativos antes de cualquier llamada remota:

IBAN → <ACCOUNT_ID> PAN → <CARD_ID> Tax ID → <FISCAL_ID> Nombre → alias ficticio

Si la verificación falla, la llamada se bloquea. No se degrada silenciosamente.

💾

Base de datos local portátil

Los datos se almacenan en un archivo SQLite en su ordenador. Puede copiarlo, moverlo, respaldarlo como cualquier otro archivo. Sin nube obligatoria, sin cuenta, sin suscripción.


No es para todos. Para quienes quieren control real.

Cuatro perfiles que encuentran en Spendif.ai algo que las alternativas no ofrecen.

🏦

Personas con cuentas en varios bancos

¿Cuenta corriente + tarjeta de crédito + cuenta de ahorro + cuenta de inversión? Spendif.ai las unifica todas en un solo libro de cuentas sin tener que hacer nada manualmente.

📊

Personas que controlan sus finanzas en serio

Si usa Excel para sus gastos, Spendif.ai puede reemplazar esa rutina: importa los archivos una vez, Spendif.ai unifica y clasifica, usted revisa solo las excepciones.

🔐

Personas que no confían en la nube

Sin backend remoto obligatorio, sin cuenta, sin registro. Sus datos bancarios se quedan donde deben estar: en su ordenador.

👨‍💻

Desarrolladores

Proyecto Python de código público con arquitectura modular, pipeline LLM sobre datos estructurados, suite de tests completa. Un punto de partida para experimentar o construir integraciones personalizadas.


Todo lo que necesita, nada más


Importación multi-banco CSV y XLSX de cualquier banco
Detección automática de formato Sin configuración manual para cada tipo de archivo
Libro de cuentas unificado Todas las transacciones en orden cronológico, filtrables por fecha / cuenta / categoría / contexto
Clasificación automática 15 categorías de gastos + 7 categorías de ingresos con subcategorías
Taxonomía personalizable Agregar / editar categorías sin reiniciar la aplicación
Reglas deterministas Reglas "ESSELUNGA → Alimentación" aplicadas retroactivamente
Análisis interactivos 7 gráficos: tendencia mensual, saldo acumulado, gráfico circular por categoría, top 10 comercios
Contextos de vida Segmentar gastos por Trabajo / Vacaciones / Vida cotidiana
Lista de verificación Tabla dinámica mes × cuenta: vea qué meses aún no ha importado
Exportación HTML independiente (con gráficos), CSV, XLSX
LLM configurable Ollama, OpenAI, Claude, Groq, Gemini, LM Studio, any compatible API
Saneamiento de PII Protección automática de IBAN / número de tarjeta / NIF / nombre antes de llamadas remotas

Un comando, aplicación lista

App de escritorio nativa con IA local incluida. Sin Docker, sin Terminal siempre abierto.

📥 Descargar instalador (DMG · MSIX · .deb · .rpm)
Guía paso a paso con capturas → instalación y primer inicio

o, desde la terminal:

bash
$ curl -fsSL https://raw.githubusercontent.com/spendifai/spendif-ai/main/packaging/macos/install.sh | bash
bash
$ curl -fsSL https://raw.githubusercontent.com/spendifai/spendif-ai/main/packaging/linux/install-debian.sh | bash
bash
$ curl -fsSL https://raw.githubusercontent.com/spendifai/spendif-ai/main/packaging/linux/install-redhat.sh | bash
powershell
PS> irm https://raw.githubusercontent.com/spendifai/spendif-ai/main/packaging/windows/install.ps1 | iex

El script detecta tu hardware, descarga el modelo de IA óptimo para tu RAM (1-7 GB) y configura todo: cero intervención.
La app aparece en Launchpad / Menú Inicio / explorador de archivos, lista para usar.

🐳 ¿Prefieres Docker?

Solo se requiere Docker Desktop. Contenedor oficial desde GitHub Container Registry, navegador en http://localhost:8501.

🍎 macOS / 🐧 Linux
curl -fsSL https://raw.githubusercontent.com/spendifai/spendif-ai/main/installer/install.sh | bash
🪟 Windows
irm https://raw.githubusercontent.com/spendifai/spendif-ai/main/installer/install.ps1 | iex

🆘 ¿Necesitas ayuda? Abre una issue en GitHub: bugs, preguntas, peticiones de funcionalidades.
¿Te gusta Spendif.ai? Danos una estrella: nos ayuda a llegar a los registros oficiales (Homebrew Core, winget).


Las preguntas que me hacen más a menudo

Lo que pregunta quien aún no lo ha instalado.

¿Spendif.ai se conecta a mi banco?

No, nunca. Ni Open Banking, ni PSD2, ni contraseña bancaria. Usted descarga el archivo de movimientos de su banco, en CSV o XLSX, y lo arrastra a la aplicación.

¿Mis datos salen de mi ordenador?

No. Spendif.ai guarda todo en una base de datos SQLite local, en ~/.spendifai/, y funciona sin conexión. Si elige usar un LLM remoto, los IBAN y los nombres se eliminan de las descripciones antes de enviar nada.

¿Cuánto cuesta? ¿Es gratis para siempre?

Hoy Spendif.ai es gratuito para uso personal, sin suscripción y sin costes ocultos. El código es público y puede leerlo. Más adelante puede llegar una versión de pago con funciones adicionales: la versión que tiene instalada seguirá funcionando, y sus datos permanecen en un archivo de su ordenador que puede llevarse cuando quiera.

¿Necesito crear una cuenta?

No. Sin correo, sin registro, sin contraseña que recuperar. Instala la aplicación y la usa.

¿En qué sistemas funciona?

Windows, Linux y macOS 12 Monterey o superior en Apple Silicon (M1 o posterior). No hay compilación para Mac Intel.

¿Qué bancos son compatibles?

Cualquier banco que permita exportar los movimientos en CSV o XLSX. Spendif.ai reconoce el formato por sí solo y puede importar juntos archivos de bancos distintos.

¿Qué pasa si importo dos veces el mismo archivo?

Nada malo: las transacciones que ya están no se duplican. Puede reimportar el mismo archivo tantas veces como quiera.

¿Hay una aplicación para el móvil?

No, Spendif.ai es una aplicación de escritorio. Está prevista una aplicación complementaria solo para registrar gastos en efectivo, pero no tiene fecha.


Tecnologías maduras, sin dependencias exóticas

Sin framework LLM (sin LangChain): los backends de IA usan los SDK oficiales directamente.

Python 3.13 + pandas
Streamlit interfaz web
SQLite + SQLAlchemy
Pydantic v2 validación de esquemas
Plotly gráficos interactivos
uv gestor de paquetes
Ollama IA local
chardet detección de codificación
openpyxl análisis de Excel

Arquitectura modular, suite de tests completa

CSV/XLSX File Pre-processing (strip sparse rows, drop metadata columns) Schema classifier (SHA-256 fingerprint → LLM if new schema) Normalizer (encoding, parse_amount Decimal, SHA-256 tx_id) RF-03 Reconciler (credit card-current account, 3 phases) RF-04 Detector (internal transfers, symbolic matching) Description cleaner (LLM: noise → canonical text) Categorizer (rules → regex → LLM → fallback) Database (SQLAlchemy, idempotent upsert)

🔌 Nuevos backends LLM

Implemente LLMBackend (3 métodos) y regístrelo en BackendFactory. Funciona con cualquier API compatible con OpenAI.

🏦 Nuevos formatos bancarios

El Flow 2 los reconoce automáticamente vía LLM sin cambios en el código. El esquema se guarda y reutiliza en importaciones posteriores.

🏷️ Nuevas categorías

Desde la página de Taxonomía, sin tocar el código. La taxonomía es completamente configurable desde la interfaz.

🚀 REST API

El pipeline process_file() está completamente separado de la UI: se puede exponer vía FastAPI sin cambios.


bash: test suite
$ uv run pytest tests/ -v # 199 tests, cero dependencias externas
$ uv run pytest tests/ --cov=core # coverage of business logic layer

Lo que viene



Las contribuciones son bienvenidas

Áreas donde las contribuciones son más útiles:

🏦 Nuevos formatos bancarios

Si su banco no es reconocido automáticamente, abra un issue con una muestra CSV anonimizada.

🧪 Tests de UI

La suite cubre la capa de lógica de negocio pero aún no la interfaz Streamlit. Hay espacio para contribuir.

🌍 Internacionalización

La UI ya está internacionalizada en cinco idiomas (IT, EN, FR, DE, ES). Hay margen para añadir más.

⚡ Rendimiento

La categorización por lotes es el cuello de botella con un LLM local. Hay espacio para paralelización.


Go to GitHub