Versión: 1.1 Fecha: 13 de Noviembre de 2025 Autor: Gemini Polyglot ERP Architect (GPEA) Stakeholder: Ricardo (Ingeniero de Software)
El propósito de este software es proporcionar una solución integral para la gestión de "La Pradera", enfocándose en dos áreas críticas:
- Optimización Fiscal Inteligente: Ofrecer una herramienta de simulación para calcular y decidir estratégicamente los ingresos a declarar, garantizando que cada declaración esté justificada con transacciones reales del TPV y cumpla con la normativa Veri*factu.
- Inteligencia de Negocio Real: Mantener un sistema de contabilidad dual (Fiscal vs. Real) que permita analizar la rentabilidad total y real del negocio, incluyendo todos los ingresos y gastos, declarables o no.
- Automatización de Procesos: Digitalizar y automatizar la entrada de facturas de compra a través de un servicio de OCR y simplificar al máximo el registro de datos diarios.
(Sin cambios)
El sistema se orquestará mediante docker-compose y constará de los siguientes contenedores comunicados a través de una red interna de Docker.
Diagrama de Arquitectura Revisado:
+--------------------------------+
| NAS Synology (Host) |
| - Repositorio GitHub |
| - Fichero Glop.fdb |
| - Volumen de datos MySQL |
+--------------------------------+
| (Volúmenes y Red Docker)
v
+-------------------------------------------------------------+
| Red Interna de Docker "pradera_net" |
| |
| +---------------------+ API +------------------+ |
| | facturascripts-app |<------------->| ocr-service | |
| | (PHP, Nginx) | | (Python, Flask) | |
| +---------------------+ +------------------+ |
| | ^ |
| (SQL)| |(Conexión de red Firebird) |
| v | |
| +---------------------+ +--------------------------+ |
| | mysql-db |<---- | firebird-db | |
| | (MySQL) | | (Firebird Server) | |
| +---------------------+ +--------------------------+ |
+-------------------------------------------------------------+
-
Contenedor 1:
facturascripts-app- Base: Imagen de PHP-FPM + Nginx/Apache.
- Contenido: Core de FacturaScripts y los plugins personalizados.
- Función Clave del Flujo Final: Tras la confirmación del plan fiscal en el simulador, este contenedor ejecuta la lógica de importación desde Glop y, como paso final, crea las correspondientes Facturas Simplificadas en su base de datos. Estas facturas se generan cumpliendo el formato necesario para que el plugin de Veri*factu pueda procesarlas y enviarlas a la AEAT.
- Plugins:
plugin_importador_compras,plugin_gastos_manuales,plugin_conector_glop,plugin_registro_diario_real,plugin_simulador_fiscal,plugin_informe_rentabilidad.
-
Contenedor 2:
ocr-service- Base: Imagen de Python (Flask/FastAPI).
- Contenido: Librería
invoice2datay una API REST para procesar PDFs de facturas.
-
Contenedor 3:
mysql-db- Base: Imagen oficial de MySQL (o MariaDB).
- Contenido: Será la base de datos principal para FacturaScripts. Nuestros plugins personalizados añadirán a esta base de datos las tablas y columnas necesarias para soportar la lógica de negocio del proyecto (registros de ventas reales, marcadores de gastos deducibles, etc.).
-
Contenedor 4:
firebird-db- Base: Imagen de un servidor Firebird (ej.
jacobalberty/firebird). - Contenido: Este contenedor ejecuta el motor de base de datos Firebird. Su único propósito es servir la base de datos del TPV (
Glop.fdb). - Configuración: Se montará un volumen desde el NAS Synology al contenedor, apuntando al fichero
Glop.fdb, para que el servidor Firebird pueda leerlo y servirlo a través de la red interna de Docker. El contenedorfacturascripts-appse conectará a este como un cliente de red.
- Base: Imagen de un servidor Firebird (ej.
4.1. Recopilación de Datos (Acciones Continuas)
(Sin cambios)
4.2. El Simulador Fiscal Interactivo (Acción Periódica)
-
Fase de Simulación: (Sin cambios)
-
Fase de Validación y Ajuste: (Sin cambios)
-
Fase de Ejecución:
- Una vez el plan está validado y confirmado por el usuario, este pulsa "Confirmar y Generar".
- El sistema recorre el plan final, día por día.
- Para cada día, se conecta a la base de datos servida por el contenedor
firebird-dby ejecuta el algoritmo de selección de tickets reales. - Se realiza una importación masiva de todos los tickets seleccionados.
- Como resultado de esta importación, se crean las Facturas Simplificadas correspondientes dentro de FacturaScripts. Estas facturas son el registro oficial de los ingresos declarados.
- Finalmente, estas Facturas Simplificadas recién creadas quedan listas para ser procesadas y enviadas a la AEAT a través del plugin Veri*factu.
4.3. Informes de Inteligencia de Negocio
(Sin cambios)
- Backend: PHP (FacturaScripts), Python (Servicio OCR).
- Base de Datos Principal: MySQL (MariaDB).
- Base de Datos TPV: Firebird (servida en contenedor).
- Contenerización: Docker, Docker Compose.
- Entorno: Synology NAS.
- Control de Versiones: Git, GitHub.