# Validacion de digitalDot VeriFactu for WooCommerce 1.2.16.4

## Comprobaciones realizadas sobre esta entrega

- Sintaxis PHP de todos los ficheros incluidos mediante `php -l`.
- Carga del plugin con `E_ALL` en PHP 8.4, sin avisos o deprecaciones propios.
- Prueba de activacion con entorno WordPress simulado: valores iniciales, creacion de esquemas, almacenamiento privado y programacion del cron.
- Prueba funcional de instantanea WooCommerce y construccion de F1 con IVA 21 %.
- Prueba de integridad SHA-256: una alteracion de la instantanea fiscal almacenada es detectada.
- Prueba fail-closed previa a numeracion: un destinatario/configuracion fiscal invalida no consume numero fiscal.
- Revision estatica de dependencias para confirmar que el codigo ejecutable no depende de clases globales de PrestaShop.
- Revision de subida de certificado y rutas de evidencia: no se usa una ruta controlada por el usuario como destino de lectura/escritura fiscal.
- Revision de integracion Dompdf 3.1.5 procedente del modulo facilitado: autoload aislado en `vendor-pdf`, cargas remotas/PHP/JavaScript deshabilitadas y salida servida solo desde endpoints autorizados.
- Revision del PDF para que el QR sea obligatorio (fail-closed), aparezca una sola vez al inicio y respete el rango de 30-40 mm.
- Revision de consistencia: el QR del PDF se deriva del registro VeriFactu de ALTA exacto y los datos economicos de la instantanea fiscal inmutable.

## Matriz recomendada antes de produccion

1. Factura F1 nacional con IVA ordinario: numero, fecha, bases, cuotas, total, XML, huella, QR y respuesta AEAT coincidentes.
2. Factura F2 cuando proceda y este expresamente habilitada.
3. Pedido sin emitir factura fiscal: no debe existir XML, huella, QR ni llamada AEAT.
4. Reintento por desconexion: debe reutilizar el mismo XML/huella y registrar una nueva transmision por incidencia.
5. Rechazo AEAT: no debe marcarse como aceptado; probar subsanacion del registro rechazado.
6. Subsanacion de un alta aceptada sin alterar el registro original.
7. Reembolso total y parcial: rectificativa propia, numeracion independiente, referencia a la factura aceptada y signos correctos.
8. Anulacion: identidad exacta del alta previa sin borrar ni reutilizar numeracion.
9. Fiscalidad de la tienda: todos los tipos IVA, descuentos, portes, importes cero, exentas/no sujetas, extranjero, REBU y otros regimenes realmente utilizados.
10. Checkout clasico y/o Checkout Blocks con las extensiones fiscales reales del comercio: NIF/DNI/VAT correctamente capturado antes de emitir.
11. Documento HTML y PDF: QR legible, URL/NIF/numero/fecha/importe correctos, un solo QR al inicio, dimensiones 30-40 mm y acceso del cliente autorizado.
12. PDF real: factura y rectificativa deben descargarse con `Content-Type: application/pdf`, sin recursos remotos y conservar numero/importes aunque despues cambie el pedido.
13. Escanear el QR del PDF en preproduccion y comprobar que el cotejo apunta al entorno y datos exactos del registro transmitido.
14. Cron interno y endpoint externo protegido: concurrencia, bloqueo, reintentos y recuperacion tras caida.
15. HPOS activado y desactivado, si la instalacion permite ambos modos.
16. Certificado real: P12/PFX/PEM, caducidad, identidad del obligado y mTLS en preproduccion.
17. Plugins de impuestos/facturacion instalados en la tienda: comprobar que no generan numeraciones fiscales paralelas o incompatibles.

## Condiciones para produccion

- Certificado vigente probado contra preproduccion.
- Declaracion responsable firmada y coincidente exactamente con la version 1.2.16.4.
- Series y primer numero revisados antes de la primera emision.
- Reglas fiscales del comercio revisadas y sin operaciones ambiguas no mapeadas.
- Cron operativo y monitorizado.
- Copia de seguridad y politica de conservacion de base de datos y `ddverifactu-private`.
- Validacion funcional en la version real de WordPress, WooCommerce, tema, checkout y extensiones del comercio.

## Alcance

Las pruebas incluidas en la entrega verifican sintaxis, carga, activacion y partes deterministas del nucleo fiscal mediante un entorno simulado. No sustituyen una instalacion real de WordPress/WooCommerce ni una remision autenticada a la AEAT con el certificado del comercio. La aceptacion en produccion debe realizarse primero en preproduccion con los datos y reglas fiscales reales.
