# Análisis funcional

Aplicación: **IRPF**

Documento generado a partir del código, metadatos y estructura actual de la aplicación. Conviene validarlo funcionalmente con el área responsable.

## Objetivo funcional

Sistema de envio de certificados IRPF automatizado. Esta revision refuerza la privacidad de PDFs, limita consultas y descargas al propietario salvo administradores y aisla la vista previa HTML de las campanas. Revision tecnica: se excluyen los ficheros .htaccess del paquete publicado.

## Actores

- Usuarios con rol `administradores`
- Usuarios con rol `app_afiliacion`

## Capacidades observadas

- Gestiona generación o envío automatizado de certificados IRPF.
- Controla privacidad, distribución y trazabilidad documental.
- Sistema de envio de certificados IRPF automatizado. Esta revision refuerza la privacidad de PDFs, limita consultas y descargas al propietario salvo administradores y aisla la vista previa HTML de las campanas. Revision tecnica: se excluyen los ficheros .htaccess del paquete publicado.
- Gestiona persistencia en base de datos y requiere mantener coherencia entre pantallas, procesos y scripts SQL.
- Incluye procesos batch, workers o tareas programadas que deben revisarse en despliegue y operación.
- Puede producir salidas descargables o exportaciones para el usuario final.

## Datos y entidades

- Certificados
- Destinatarios
- Envíos
- Tabla `irpf_jobs`
- Tabla `irpf_job_ignored_rows`
- Tabla `irpf_job_items`
- Tabla `irpf_sent_registry`
- Tabla `irpf_settings`

## Integraciones y dependencias

- Correo electrónico
- Documentos PDF
- Procesos batch
- Generación, tratamiento o distribución de documentos PDF.
- Base de datos MySQL/MariaDB de la intranet.
- Planificación mediante cron o ejecución manual de scripts de proceso en segundo plano.

## Flujo funcional resumido

1. El usuario accede a la aplicación con los permisos correspondientes.
2. La aplicación presenta información, formularios o procesos específicos de su dominio.
3. Se realizan operaciones sobre datos, validaciones, consultas o acciones de negocio.
4. Los procesos programados complementan o finalizan tareas asíncronas asociadas a la aplicación.
5. El usuario revisa el estado final, resultado o salida generada.

## Puntos de validación funcional

- Confirmar que los permisos mostrados en la intranet coinciden con el uso esperado del área responsable.
- Revisar la trazabilidad de altas, modificaciones, exportaciones o acciones masivas.
- Contrastar que las tablas SQL detectadas siguen reflejando el modelo funcional vigente.
- Verificar manualmente el comportamiento de cron, jobs o workers cuando formen parte del proceso de negocio.
