Autónomo Local: mi propia app para llevar facturas, IVA e IRPF
Una aplicación local para gestionar mi actividad como autónomo en España: facturas en euros y libras, gastos, cobros, contabilidad y borradores del 303 y el 130. Sin nube y sin suscripciones.
En 2026 volví a España y me di de alta como autónomo. Mi primer cliente es una empresa de Reino Unido a la que doy soporte en sus operaciones, así que desde el primer mes me encontré con facturas en libras, tipos de cambio, servicios que no llevan IVA español por reglas de localización y la pregunta de siempre: ¿cómo me organizo para no llegar al trimestre con una caja de zapatos llena de papeles?
La respuesta habitual es contratar un programa de facturación en la nube. Los probé y funcionan, pero ninguno me convencía del todo: suscripción mensual, mis datos fiscales en servidores ajenos, funciones que no necesito y, sobre todo, poca visibilidad de por qué salen los números que salen. Así que hice lo que suelo hacer cuando algo no me encaja: construir mi propia herramienta. Se llama Autónomo Local y es la aplicación con la que llevo hoy toda mi actividad.

Qué es y qué no es
Autónomo Local es una aplicación que se ejecuta en mi ordenador y se usa desde el navegador. Gestiona la facturación emitida y recibida, los gastos, los documentos, los cobros y pagos en euros y libras, la contabilidad y la preparación de los impuestos trimestrales. Todo se guarda en una base de datos local y en carpetas ordenadas por año y mes.
Igual de importante es lo que no es. No presenta declaraciones ante Hacienda ni sustituye a una asesoría: prepara borradores y me ayuda a llegar al trimestre con todo cuadrado y documentado, pero la decisión y la presentación siguen siendo un trabajo humano. Tampoco es todavía un sistema VERI*FACTU; esa parte está deliberadamente desactivada y la explico más abajo.
Por qué local
Mis facturas, mis clientes y mis números son información sensible. Con una aplicación local no dependen de que una empresa siga existiendo, cambie sus precios o sufra una filtración. La aplicación solo escucha en la propia máquina (127.0.0.1), no se puede abrir desde otro equipo de la red y no tiene cuentas de usuario ni servicios en la nube.
Solo hay una conexión a internet en todo el programa, y es opcional: descargar el tipo de cambio oficial de la libra que publica el Banco de España. Es un archivo público, no lleva ningún dato mío, y si no hay conexión puedo introducir un cambio manual indicando el motivo y la fecha. La instalación tampoco necesita internet: todas las dependencias van incluidas en el paquete.
Que sea local no significa que no tenga copias de seguridad. Genera copias en ZIP que incluyen base de datos, documentos y configuración, con huellas de verificación, y la restauración se valida en una carpeta aislada antes de sustituir nada.
El día a día: facturar
El flujo de emisión está pensado para que sea imposible equivocarse en silencio. Primero guardo la factura como borrador: cliente, fechas, moneda y líneas. Después la reviso, y la aplicación genera el PDF exacto que se va a emitir. Solo cuando confirmo se asigna el número definitivo. Si algo falla durante la emisión, no se consume el número ni queda nada a medias: o se guarda todo (documento, número, asiento contable y registro de auditoría) o no se guarda nada.


Una vez emitida, la factura no se puede modificar; la base de datos lo impide a nivel interno. Si hay un error se hace lo que exige la normativa: una factura rectificativa vinculada a la original y con motivo. Los cobros también se registran como movimientos, parciales o completos, y una corrección se hace con un movimiento inverso, nunca borrando.
Para mi caso concreto, la aplicación tiene un preset de servicio profesional a empresas de Reino Unido. Propone la factura en libras e inglés, exige confirmar que se trata del supuesto general y añade al PDF la leyenda de no sujeción al IVA español por reglas de localización. No decide por mí: me obliga a confirmar los hechos y deja constancia de ello.
Libras, euros y tipos de cambio
Facturar en libras parece un detalle hasta que tienes que declarar en euros. Cada factura congela el tipo de cambio que se le aplicó, con su fecha y su fuente. Cada cobro tiene su propia valoración, porque el día que te pagan la libra no vale lo mismo que el día que facturaste. Esa diferencia se registra automáticamente como diferencia de cambio positiva o negativa, tanto en la contabilidad como en las cifras fiscales, sin tocar la factura original.
Todos los importes se manejan como decimales exactos, nunca como números de coma flotante, y el redondeo a céntimos está definido por escrito y es el mismo en el PDF, en la contabilidad y en los libros. Puede parecer obsesivo, pero un céntimo de diferencia entre dos informes es justo el tipo de cosa que te hace perder una tarde.
Gastos y facturas recibidas
Las facturas de proveedores se registran con su PDF adjunto, que se archiva con una huella SHA-256 para poder comprobar que no ha cambiado. Para cada gasto indico por separado si el IVA es deducible y si el gasto es deducible en el IRPF, porque no siempre coinciden. También admite deducciones parciales, varios tipos de IVA en una misma factura y detecta posibles duplicados.

Hay flujos específicos para cosas que todo autónomo acaba teniendo: justificantes que no son facturas, las cuotas de autónomos (RETA), comisiones bancarias separadas del cobro, servicios de proveedores extranjeros con inversión del sujeto pasivo y bienes de inversión, como un ordenador, con su amortización lineal.
Impuestos: borradores del 303 y del 130
Aquí es donde la herramienta me ahorra más tiempo. A partir de las operaciones confirmadas, la aplicación prepara el borrador del modelo 303 (IVA) con sus casillas y la estimación del modelo 130 (pago fraccionado del IRPF), trimestre a trimestre. Cada cifra se puede rastrear hasta los documentos que la originan.

Un principio de diseño que me importa mucho: si falta información, el borrador se marca como incompleto en vez de asumir un valor. Por ejemplo, para compensar un saldo negativo de un trimestre anterior necesita que ese saldo esté confirmado como presentado; un borrador no cuenta como prueba. Prefiero un aviso molesto a un número bonito pero falso.

El 130 se calcula en estimación directa simplificada, incluido el 5 % de gastos de difícil justificación con su límite anual, y guarda un historial de los trimestres confirmados para arrastrar correctamente los pagos anteriores. Completan la parte fiscal un resumen de retenciones, una conciliación trimestral exportable y el calendario fiscal del año con los plazos de cada modelo.
Contabilidad, libros y exportaciones
Cada operación genera su asiento contable de forma automática, así que tengo diario, mayor y balance de sumas y saldos sin hacer nada más. Para Hacienda, la aplicación genera los libros registro en el formato de la plantilla oficial de la Agencia Tributaria para 2026, con validación local de estructura. Aparte hay informes internos en Excel y CSV: ingresos por cliente, gastos por proveedor, antigüedad de saldos o pérdidas y ganancias.

Una decisión práctica: Excel es siempre una exportación que se puede regenerar, nunca la fuente de verdad. Los datos viven en la base de datos y los Excel se crean a partir de ella las veces que haga falta.
Cómo está hecha
Está escrita en Python 3.12. El servidor usa FastAPI, la base de datos es SQLite y las consultas se hacen con SQLAlchemy. Los cambios de estructura de la base de datos se gestionan con migraciones versionadas (Alembic), de forma que al actualizar de versión mis datos se migran sin reescribir el historial. Los PDF se generan con ReportLab y se previsualizan con PDFium, y los Excel con openpyxl.
La interfaz es HTML y JavaScript sencillo, sin frameworks ni proceso de compilación, servido por el propio servidor. Se abre con un acceso directo en el escritorio que arranca el servidor sin ventanas de consola y abre el navegador cuando está listo. En total son unos 200 KB de código Python repartidos en módulos con responsabilidades claras: facturación, contabilidad, IVA, IRPF, documentos, copias de seguridad, exportaciones y tipo de cambio.
No la he programado línea a línea yo solo: la he desarrollado apoyándome en IA como programador, mientras yo hacía de responsable de producto y de auditor. Mi trabajo ha sido definir qué tiene que hacer, contrastar las reglas con la normativa, revisar cada versión con lupa y no dar nada por bueno sin pruebas.
Integridad: que los números no se puedan tocar
Para una herramienta fiscal, la confianza en los datos lo es todo. Por eso buena parte del diseño va de impedir cambios silenciosos:
- Las facturas confirmadas y sus líneas no admiten modificaciones ni borrados, bloqueados por la propia base de datos.
- Perfiles, tipos de cambio, documentos, asientos y ajustes se guardan como eventos que se van añadiendo, nunca sobrescribiendo.
- Hay un registro de auditoría encadenado con huellas, que permite detectar incoherencias.
- Los documentos se guardan también dentro de la base de datos: si se pierde un PDF del disco, se recupera exactamente igual.
- Una bandeja de pendientes de revisión recoge todo lo incompleto, y la exportación oficial se bloquea mientras haya pendientes.
En seguridad aplica lo razonable para una aplicación local: solo acepta conexiones de la propia máquina, protege los formularios contra peticiones de otras webs y revisa los PDF que adjunto para rechazar contenido activo como JavaScript.
Versiones, auditorías y pruebas
La primera versión funcional llegó a principios de septiembre de 2026, y en pocas semanas pasó por cuatro iteraciones (0.2.0 a 0.2.3). Cada versión se sometió a una auditoría independiente con criterios legales, fiscales, de experiencia de uso y de eficiencia. Los hallazgos se convertían primero en pruebas que reproducían el fallo y después en correcciones. Así entraron, por ejemplo, la fecha de recepción y el período en que se ejerce la deducción del IVA, la revisión del número de IVA de proveedores europeos o el resultado completo del 303 con compensación documentada.
Hoy la aplicación tiene 235 pruebas automáticas que pasan sin fallos y un escenario de regresión integral con 19 facturas, pagos, documentos y asientos cuyas cifras se comparan con cálculos independientes. Además, cada actualización se hace en una carpeta nueva restaurando una copia de la anterior, de modo que siempre hay vuelta atrás. Incluye un modo demo con datos ficticios, separado de los datos reales, que es el que he usado para las capturas de este artículo, rellenado con un año de facturas, gastos y cobros inventados.
Límites y lo que viene
Está hecha para mi caso, y sus límites están escritos en su documentación:
- Una sola actividad, euros y libras, territorio común, IVA general y estimación directa.
- Los borradores fiscales son trimestrales y no se presentan ante Hacienda; los libros no se han validado contra un servicio de la AEAT.
- No cubre regímenes especiales, operaciones intracomunitarias de bienes, SII ni declaraciones anuales.
- No incluye cifrado propio de la base de datos ni varios usuarios: depende de la seguridad del propio ordenador.
- VERI*FACTU y la factura electrónica estructurada están desactivados.
Ese último punto es el siguiente gran paso. El sistema VERI*FACTU obliga a que el software de facturación cumpla requisitos técnicos concretos de registro y trazabilidad. La aplicación ya tiene preparada la interfaz para incorporarlo, pero decidí no anunciar un cumplimiento que todavía no existe. Hasta que esté implementado y verificado, el módulo rechaza la operación de forma explícita en lugar de fingir que funciona.
Lo que me llevo
Construir esta herramienta me ha obligado a entender mi propia fiscalidad mucho mejor que si hubiera delegado todo desde el primer día: por qué un servicio a Reino Unido no lleva IVA español, cuándo se puede deducir un IVA soportado o cómo se arrastran los pagos del 130. Ahora llego a cada trimestre con los números cuadrados, cada cifra tiene detrás un documento y la conversación con mi asesoría es mucho más rápida.
También confirma una forma de trabajar que aplico en operaciones: empezar por un problema real, definir bien las reglas, automatizar lo repetitivo y no fiarse de nada que no esté probado. Si eres autónomo o tienes una pequeña empresa y te interesa una herramienta a medida para tu forma de trabajar, escríbeme y lo hablamos.