QA ALIANPOS V9.5.0 - REPORTES PANEL CENTRAL
============================================

VALIDACIONES DE CÓDIGO
----------------------
- 153 archivos PHP bajo app/, config/, routes/ y bin/: php -l OK.
- 18 archivos JavaScript bajo public/assets/: node --check OK.
- Rutas nuevas verificadas: /central/reportes, /central/reportes/exportar, /central/reportes/configuracion y /central/reportes/contador/enviar.
- Versión de aplicación: 9.5.0.

BASE DE DATOS
-------------
- Consultas revisadas contra la estructura aidob_cos(2).sql.
- Confirmados campos utilizados en pedidos, pedido_items, pagos, cajas, usuarios, productos, categorias, inventario_items, inventario_movimientos, recepcion_documentos y recepcion_documento_lineas.
- Migración 039 preparada para tablas de configuración/historial, permisos e índices.
- No fue posible ejecutar la migración contra MariaDB dentro del entorno de QA porque no hay un servidor/cliente MariaDB activo en el runtime de prueba. Se requiere validación final en staging antes de producción.

PDF
---
- ReportPdfService probado con paquete contable de 5 anexos.
- PDF generado correctamente: PDF 1.7, 6 páginas en la prueba.
- Render verificado visualmente: portada, KPIs, orientación horizontal en tablas extensas, claves MH, totales y pie de página sin solapamientos.
- TCPDF opera con la copia incluida en storage/libs/tcpdf.

EXCEL
-----
- SimpleXlsxService genera OOXML XLSX nativo.
- Integridad ZIP del XLSX: OK.
- Archivo importado con artifact_tool: 5 hojas detectadas correctamente.
- Hoja Ventas comprobada con 13 columnas.
- Se verificó estructura de títulos, KPIs, encabezado congelado y autofiltro en el XML generado.
- Funciona con ZipArchive y cuenta con fallback ZIP interno cuando la extensión no está disponible.

FUNCIONALIDAD IMPLEMENTADA
--------------------------
- 8 reportes de ventas.
- 2 reportes de cuentas por cobrar.
- Flujo de caja informativo.
- 4 reportes de inventario.
- Reporte gerencial comparativo.
- Paquete contable.
- PDF y XLSX.
- Tablas con búsqueda, filtro, ordenación y paginación.
- Envío manual al contador con adjuntos.
- Configuración de envío automático diario/semanal/mensual.
- Registro de envíos.
- Permisos independientes del módulo.

PUNTOS QUE REQUIEREN PRUEBA EN STAGING
---------------------------------------
- Rendimiento con el volumen real completo de ventas e inventario.
- Ejecución de la migración 039 en la versión exacta de MariaDB del servidor.
- Envío real por mail() / configuración de correo del hosting.
- Cron PHP CLI con la ruta real del servidor.
- Comparación de totales contra cierres reales de una sucursal y un período conocido.

NOTAS DE MODELO DE DATOS
------------------------
- CxC usa condición de venta y pagos existentes. El sistema no posee todavía libro auxiliar de CxC/abonos posteriores.
- Flujo de caja usa pagos como ingresos y compras/gastos aceptados como egresos registrados. No existe todavía un libro de movimientos físicos de caja.

RESULTADO
---------
Código y generación de archivos: APROBADO.
Despliegue productivo: sujeto a ejecutar migración y prueba de conciliación/staging con datos reales.
