=== ddverifactu ===
Contributors: digitaldot
Tags: woocommerce, invoices, pdf invoices, billing, verifactu
Requires at least: 6.4
Tested up to: 8.1.34
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Genera y gestiona facturas PDF seguras y cifradas para WooCommerce, con descargas protegidas desde la cuenta del cliente.

== Descripción ==

ddverifactu es un plugin de gestión de facturas para WooCommerce diseñado para generar facturas PDF para los pedidos y ponerlas a disposición de los clientes de forma segura.

El plugin crea registros de facturas, asigna números de factura por serie y año, genera documentos PDF y añade una sección específica llamada "Mis facturas" dentro del área de cuenta del cliente de WooCommerce.

Para mejorar la protección de los archivos de factura, los PDF generados se almacenan en el directorio de subidas de WordPress utilizando un formato de archivo cifrado. Los clientes no acceden directamente al archivo PDF físico. En su lugar, las facturas se entregan mediante un endpoint de descarga controlado que valida al usuario autenticado, el pedido de WooCommerce relacionado y los permisos de la factura antes de servir el PDF descifrado.

Características principales:

* Generar registros de facturas para pedidos de WooCommerce.
* Asignar números de factura por serie y año.
* Generar facturas PDF a partir de los datos de los pedidos de WooCommerce.
* Almacenar archivos de facturas dentro de `wp-content/uploads/facturas`.
* Cifrar los archivos PDF almacenados para reducir el riesgo de exposición directa.
* Añadir una sección "Mis facturas" a la cuenta de cliente de WooCommerce.
* Permitir que los clientes descarguen únicamente las facturas asociadas a sus propios pedidos.
* Permitir que gestores de tienda y administradores descarguen facturas desde el área de administración de pedidos.
* Añadir un estado personalizado de WooCommerce para las facturas generadas.
* Crear directorios protegidos con archivos básicos de control de acceso cuando el servidor lo permita.

= Seguridad y privacidad =

Las facturas pueden contener información personal, fiscal, de facturación y de pedidos. Por esta razón, ddverifactu no expone enlaces públicos directos a los archivos PDF de las facturas.

Las facturas generadas se almacenan como archivos cifrados y solo se descifran cuando un usuario autorizado solicita una descarga válida. El proceso de descarga verifica la autenticación, el token de la factura, la propiedad del pedido y los permisos de gestión de WooCommerce antes de servir el archivo.

Dependiendo de la configuración del servidor, pueden ser necesarias reglas adicionales para bloquear el acceso directo al directorio de almacenamiento de facturas. Esto es especialmente relevante en entornos basados en Nginx, donde los archivos `.htaccess` no son procesados.

= Requisitos =

* WordPress.
* WooCommerce.
* PHP con soporte OpenSSL.
* Un entorno de servidor que permita escribir en el directorio de subidas de WordPress.
* Enlaces permanentes habilitados para el endpoint de cuenta de cliente.

= Nota importante =

Este plugin genera y almacena archivos de facturas. Los propietarios del sitio son responsables de verificar que el formato de las facturas, la numeración, la información fiscal, los textos legales y los requisitos tributarios cumplan con la normativa aplicable a su negocio.

== Instalación ==

1. Suba los archivos del plugin al directorio `/wp-content/plugins/ddverifactu` o instale el plugin mediante la pantalla de plugins de WordPress.
2. Active el plugin desde la pantalla "Plugins" de WordPress.
3. Asegúrese de que WooCommerce está instalado y activo.
4. Vaya a la página de ajustes de VeriFactu en el área de administración de WordPress.
5. Configure las opciones disponibles del plugin.
6. Seleccione los estados de pedido de WooCommerce que deben activar la generación de facturas.
7. Guarde nuevamente los enlaces permanentes desde WordPress > Ajustes > Enlaces permanentes si el endpoint "Mis facturas" no aparece.

== Preguntas frecuentes ==

= ¿Este plugin requiere WooCommerce? =

Sí. ddverifactu está desarrollado para pedidos de WooCommerce y requiere que WooCommerce esté instalado y activo.

= ¿Dónde se almacenan los archivos de factura? =

Los archivos de factura se almacenan dentro del directorio de subidas de WordPress, en `wp-content/uploads/facturas`.

= ¿Los PDF de las facturas son accesibles públicamente? =

No. El plugin no utiliza enlaces públicos directos a los PDF. Las facturas se almacenan cifradas y se sirven mediante un endpoint de descarga controlado tras validar al usuario y al pedido de WooCommerce relacionado.

= ¿Los clientes pueden descargar las facturas desde su cuenta? =

Sí. El plugin añade una sección "Mis facturas" al área de cuenta de cliente de WooCommerce. Los clientes solo pueden acceder a las facturas asociadas a sus propios pedidos.

= ¿Los administradores pueden descargar facturas? =

Sí. Los usuarios con los permisos adecuados de gestión de WooCommerce pueden descargar facturas desde el área de administración de pedidos.

= ¿Qué ocurre si alguien accede directamente al archivo cifrado? =

El archivo almacenado no es un PDF legible. Contiene contenido cifrado y solo puede convertirse nuevamente en un PDF mediante el plugin después de que la solicitud de descarga haya sido autorizada.

= ¿El plugin bloquea el directorio de facturas mediante .htaccess? =

El plugin puede crear archivos básicos `.htaccess` e `index.php` dentro de sus directorios de almacenamiento. Esto puede ayudar en servidores Apache donde `.htaccess` está habilitado. En servidores Nginx, las restricciones de acceso directo deben configurarse a nivel de servidor.

= ¿Este plugin envía datos de facturación a servicios externos? =

No. La funcionalidad de almacenamiento y descarga de PDF descrita por este plugin no requiere conexión con servicios externos. Si futuras versiones añaden integraciones con terceros, deberán documentarse claramente aquí.

= ¿Qué ocurre si se pierde la clave de cifrado? =

Las facturas cifradas requieren la misma clave de cifrado para poder descifrarse. Si se configura una clave fija y posteriormente se pierde, las facturas cifradas anteriormente podrían dejar de ser recuperables. Los propietarios del sitio deben conservar una copia de seguridad segura de su clave de cifrado.

== Capturas de pantalla ==

1. Página de ajustes de VeriFactu.
2. Información de la factura dentro de la pantalla de administración de pedidos de WooCommerce.
3. Área de cuenta del cliente con la sección "Mis facturas".
4. Botón de descarga segura de facturas.
5. Página de registros o listado de facturas.

== Registro de cambios ==

= 1.1.0 =

* Añadido almacenamiento cifrado para los archivos PDF de facturas generados.
* Añadido endpoint seguro de descarga de facturas.
* Sustituidas las URL públicas directas de los PDF por URL de descarga controladas.
* Añadido soporte para migrar facturas PDF sin cifrar a archivos cifrados durante una descarga autorizada.
* Mejorada la gestión de archivos de facturas dentro del directorio de subidas de WordPress.

= 1.0.0 =

* Lanzamiento inicial.
* Añadida la generación de registros de facturas para WooCommerce.
* Añadida la generación de facturas PDF.
* Añadida la numeración de facturas por serie y año.
* Añadido un bloque de facturas dentro de la administración de pedidos de WooCommerce.
* Añadida la sección "Mis facturas" en el área de cuenta del cliente.
* Añadida protección básica del directorio de almacenamiento de facturas.

== Aviso de actualización ==

= 1.1.0 =

Los PDF de las facturas ahora se almacenan como archivos cifrados y se descargan mediante un endpoint seguro en lugar de utilizar URL públicas directas.

= 1.0.0 =

Lanzamiento inicial.
