¿Por qué Firefly III en lugar de una herramienta SaaS?
Los gestores de finanzas en línea (YNAB, Mint, Freeform…) imponen una suscripción mensual, alojan sus datos en sus servidores estadounidenses y pueden cerrar su servicio sin previo aviso. Para un autónomo o una estructura pequeña, las implicaciones del RGPD de compartir sus extractos bancarios con un tercero rara vez se evalúan.
Firefly III resuelve estos tres problemas a la vez: licencia AGPL-3.0 (código abierto, modificable), docker-compose en menos de diez comandos, datos en su propia base de datos PostgreSQL. Con 24 300 estrellas en GitHub y una v6.6.6 publicada en julio de 2025, es un proyecto maduro, mantenido activamente y documentado.
Lo que Firefly III gestiona por usted: cuentas corrientes y de ahorro, tarjetas de crédito, carteras de criptomonedas, presupuestos mensuales o anuales, reglas de automatización de las transacciones, categorías personalizadas, informes por período o categoría, e importación desde sus extractos bancarios mediante el Data Importer.
Funcionalidades clave
- Multicuenta: gestione simultáneamente varias cuentas corrientes, de ahorro, tarjetas de crédito y carteras de criptomonedas.
- Presupuestos y sobres: defina presupuestos mensuales por categoría (alquiler, suministros, honorarios…) y siga su consumo en tiempo real.
- Reglas de automatización: cree reglas que se apliquen automáticamente a las nuevas transacciones (p. ej.: gastos de Uber → categoría Transporte).
- Informes avanzados: gráficos por período, por cuenta, por categoría, exportables en CSV para su contable.
- Data Importer: importe sus extractos bancarios en formato OFX, QFX, CSV o mediante conectores bancarios europeos (Nordigen/GoCardless).
- API REST completa: automatice la creación de transacciones desde cualquier script o herramienta de terceros.
- Interfaz móvil adaptable: acceda a sus cuentas desde su teléfono a través del navegador.
Requisitos del servidor
Firefly III es una aplicación PHP/Laravel ligera. Esto es lo que necesita:
- Un VPS con Ubuntu 22.04 o Debian 12 con al menos 1 GB de RAM (2 GB recomendados).
- Docker Engine ≥ 24 y Docker Compose V2 instalados.
- Un nombre de dominio que apunte a su VPS (recomendado para configurar TLS).
- Un puerto 8080 accesible (interfaz de Firefly III) y 8081 (Data Importer, opcional).
- 5 GB de almacenamiento como mínimo para la base de datos y los archivos adjuntos.
Firefly III no requiere GPU ni una RAM excesiva — es una de sus ventajas frente a herramientas como ERPNext.
Instalación con Docker Compose
Paso 1 — Clonar el repositorio oficial
Firefly III proporciona un archivo
docker-compose.ymloficial y una plantilla.enven su repositoriofirefly-iii/docker:mkdir -p /opt/firefly && cd /opt/firefly curl -L https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose-importer.yml \ -o docker-compose.yml curl -L https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example \ -o .env curl -L https://raw.githubusercontent.com/firefly-iii/data-importer/main/.env.example \ -o .importer.envPaso 2 — Configurar las variables de entorno
Abra
.envy modifique estas variables:# Base de données DB_HOST=db DB_PORT=5432 DB_DATABASE=firefly DB_USERNAME=firefly DB_PASSWORD=MOT_DE_PASSE_FORT_ICI # Clé d'application — OBLIGATOIRE, 32 caractères exactement APP_KEY=SomeLongRandomStringOf32CharsMin # URL de votre instance APP_URL=https://firefly.votredomaine.com # Mot de passe administrateur PostgreSQL POSTGRES_PASSWORD=MOT_DE_PASSE_POSTGRES⚠️ La variable
APP_KEYdebe contener exactamente 32 caracteres alfanuméricos. Genere una conopenssl rand -hex 16.Paso 3 — Iniciar los contenedores
docker compose up -dEl arranque completo tarda de 30 a 60 segundos. Compruebe el estado de los contenedores:
docker compose psDebe ver tres contenedores en estado
healthy(orunning):firefly-iii,db(PostgreSQL) eimporter. Firefly III espera a que PostgreSQL esté listo gracias a la directivadepends_on: condition: service_healthydeldocker-compose.yml— no tiene que gestionar nada manualmente.Paso 4 — Acceder a la interfaz
Abra su navegador en
http://<IP_VPS>:8080. Firefly III le invita a crear su cuenta de administrador. Introduzca su dirección de correo electrónico y una contraseña. Una vez conectado, el asistente de configuración le guía para crear su primera cuenta bancaria.Paso 5 — Configurar Nginx con TLS
No deje Firefly III accesible sin HTTPS en producción. Configure Nginx como reverse proxy:
apt install -y nginx certbot python3-certbot-nginx cat > /etc/nginx/sites-available/firefly << 'EOF' server { server_name firefly.votredomaine.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } EOF ln -s /etc/nginx/sites-available/firefly /etc/nginx/sites-enabled/ certbot --nginx -d firefly.votredomaine.com nginx -t && systemctl reload nginxCierre después el puerto 8080 en su cortafuegos (
ufw deny 8080).Paso 6 — Importar sus extractos bancarios
El Data Importer escucha en el puerto 8081. Acceda a
http://<IP_VPS>:8081para iniciar la importación.1. Haga clic en Import y luego en Upload a file.
2. Seleccione su archivo OFX, QFX o CSV exportado desde su banco.
3. El asistente le guía para asignar las columnas (fecha, importe, descripción, cuenta).
4. Valide la importación: las transacciones aparecen inmediatamente en Firefly III.Para automatizar las importaciones, configure un conector GoCardless (antes Nordigen) desde la interfaz del Data Importer para sincronizar automáticamente sus cuentas bancarias europeas.
Configurar los presupuestos y las reglas de automatización
Crear un presupuesto mensual:
1. Vaya a Budgets → New budget.
2. Dé un nombre al presupuesto (p. ej. «Suministros de oficina») y defina el importe mensual.
3. Asocie las transacciones a este presupuesto manualmente o mediante una regla.
Crear una regla de automatización:
1. Vaya a Automation → Rules → New rule.
2. Defina el desencadenante: por ejemplo «La descripción contiene 'Amazon'».
3. Defina la acción: «Asignar a la categoría Suministros» y «Asignar al presupuesto Suministros de oficina».
4. La regla se aplica automáticamente a las nuevas transacciones y puede volver a ejecutarse sobre el historial.
Exportar para su contable:
Vaya a Export data y elija el formato CSV. Filtre por período (p. ej. T1 2026) y por cuenta. El archivo de exportación contiene todas las transacciones con fecha, importe, descripción, categoría y presupuesto.
Programar copias de seguridad automáticas
Firefly III almacena sus datos en PostgreSQL. Así se programa una copia de seguridad diaria:
mkdir -p /opt/firefly/backups
cat > /opt/firefly/backup.sh << 'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d)
docker compose -f /opt/firefly/docker-compose.yml exec -T db \
pg_dump -U firefly firefly | gzip > /opt/firefly/backups/firefly-$DATE.sql.gz
find /opt/firefly/backups -name '*.sql.gz' -mtime +30 -delete
EOF
chmod +x /opt/firefly/backup.sh
# Cron quotidien à 03:00
echo '0 3 * * * root /opt/firefly/backup.sh' >> /etc/cron.d/firefly-backupPara una protección completa, complétela con una copia de seguridad fuera del servidor (rclone hacia S3, SFTP hacia otro VPS).
APP_KEY no válida: el error más frecuente
Si Firefly III muestra una página en blanco al arrancar o si la autenticación falla sin un mensaje claro, compruebe en primer lugar la variable APP_KEY de su archivo .env.
Dos reglas estrictas:
1. La clave debe contener exactamente 32 caracteres.
2. Nunca debe cambiar después del primer arranque — cambiar la APP_KEY en una instancia existente invalida todas las sesiones y cifra los datos almacenados de forma incompatible.
Generar una clave válida:
openssl rand -hex 16
# Exemple de sortie : a8f2c9d1e4b7f0a3c5e8d2b1f4a7e0c3Este comando produce exactamente 32 caracteres hexadecimales — perfecto para APP_KEY.
Firefly III vs YNAB vs Budgea
Desplace la tabla
| Criterio | Firefly III (autoalojado) | YNAB | Budgea |
|---|---|---|---|
| Precio | Gratuito (coste del VPS ~5-10€/mes) | ~99$/año | ~60€/año |
| Alojamiento de los datos | Su VPS (soberanía total) | Servidores US (Plaid) | Servidores FR |
| Importación bancaria | CSV/OFX + GoCardless (EU) | Conexión directa (US) | Conexión directa (FR) |
| Reglas de automatización | Sí | Sí | No |
| API REST | Sí (completa) | No pública | No |
| Multidivisa | Sí | No (solo USD) | Sí (parcial) |
| Informes personalizables | Sí (avanzados) | Limitados | Limitados |
| Aplicación móvil nativa | No (web adaptable) | Sí (iOS/Android) | Sí |
Resolver los problemas frecuentes
Firefly III se queda en página en blanco o muestra un error 500
Compruebe los registros del contenedor: docker compose logs firefly-iii. Los errores más frecuentes son una APP_KEY no válida o un PostgreSQL que aún no está listo. Solución: comprobar que db está en estado healthy con docker compose ps antes de acceder a la interfaz.
El Data Importer rechaza el archivo CSV
Firefly III espera un formato CSV específico. Si su banco exporta un CSV con separadores de punto y coma (;) en lugar de coma, modifique la codificación en el asistente de importación o convierta el archivo con sed 's/;/,/g' import.csv > import-virgule.csv.
Las transacciones duplicadas tras la importación
Active la deduplicación en el Data Importer: en la configuración de la importación, marque Ignore duplicates. Firefly III compara las transacciones por fecha, importe y descripción para evitar los duplicados.
Error Connection refused en la base de datos al arrancar
Firefly III utiliza depends_on: condition: service_healthy para esperar a PostgreSQL. Si este error persiste, compruebe que POSTGRES_PASSWORD en .env coincide con DB_PASSWORD.
Actualizar Firefly III
La v6.6.6 se publicó en julio de 2025. La actualización se hace en dos comandos:
cd /opt/firefly
docker compose pull
docker compose up -dDocker Compose descarga las nuevas imágenes, detiene los contenedores antiguos y reinicia con la versión actualizada. Las migraciones de la base de datos se ejecutan automáticamente en el primer arranque de la nueva versión. Antes de cada actualización mayor, haga una copia de seguridad manual de PostgreSQL.
Desplegar Firefly III con un clic desde el Marketplace
El Marketplace de ServOrbit ofrece una plantilla Firefly III que configura automáticamente PostgreSQL 16 y el núcleo de la aplicación mediante Docker Compose en su VPS con Ubuntu 24.04 — en unos minutos, sin línea de comandos. Elija su VPS, seleccione la plantilla y encuentre Firefly III listo para recibir sus cuentas desde el primer acceso. La clave APP_KEY la genera ServOrbit durante el aprovisionamiento.