=== Verifactu para WooCommerce – Easy Verifactu ===
Contributors: easyverifactu
Tags: verifactu, woocommerce, aeat, facturación, facturas
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
WC requires at least: 8.6
WC tested up to: 10.7
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Emite las facturas Verifactu de tus pedidos de WooCommerce y envíalas a la AEAT automáticamente. Sin certificado digital.

== Description ==

Easy Verifactu conecta tu tienda WooCommerce con tu cuenta de Easy Verifactu para
que las facturas de tus pedidos se emitan, se conserven y se declaren a la Agencia
Tributaria (AEAT) bajo el sistema Verifactu, sin salir de WordPress.

La parte fiscal vive fuera de tu tienda. El plugin no genera ni guarda facturas:
WooCommerce envía cada pedido y cada devolución confirmados a Easy Verifactu, y es
Easy Verifactu quien hace el trabajo fiscal. Emite la factura, la firma, conserva
el registro inalterable que exige Verifactu y la presenta a la AEAT.

= Qué hace por ti =

* **Factura tus pedidos y devoluciones de forma automática.** Cuando un pedido se
  confirma, cambia de estado o se reembolsa, Easy Verifactu emite la factura o la
  rectificativa correspondiente y la declara a la AEAT. Tú no tocas nada.
* **Pide los datos de factura en el checkout.** El comprador puede solicitar factura
  completa e introducir su NIF/CIF. Funciona tanto en el checkout por bloques de
  WooCommerce como en el checkout clásico.
* **Exige el NIF en los pedidos grandes.** Cuando un pedido alcanza el importe que
  configures, el NIF/CIF pasa a ser obligatorio en el checkout. Por debajo, el
  comprador puede pedir factura e introducirlo de forma opcional.
* **Valida el NIF/CIF en tiempo real.** El número que el comprador introduce se
  comprueba al momento contra Easy Verifactu, con respuesta inmediata antes de pagar.
* **Menciones legales según el caso.** Cada factura sale con las menciones que le
  corresponden según la operación.

= Por qué Easy Verifactu =

* **Colaborador social oficial de la AEAT.** Presentamos las facturas en tu nombre,
  así que no necesitas tener ni configurar un certificado digital propio.
* **A prueba de fallos.** Si Easy Verifactu no está disponible en un momento dado, el
  checkout no se bloquea y tu tienda sigue vendiendo; los pedidos pendientes se
  concilian en cuanto se restablece la conexión.

**Necesitas una cuenta activa de Easy Verifactu.** Puedes crearla en
https://finseed.es. Tras instalar el plugin, lo conectas a tu cuenta con un
token de emparejamiento desde tu panel de Easy Verifactu.

== External services ==

Este plugin depende del servicio Easy Verifactu para funcionar, por lo que envía
datos a Easy Verifactu (operado por la empresa detrás de https://finseed.es).
No se contacta con ningún otro servicio de terceros.

Se conecta a dos endpoints de Easy Verifactu:

1. **API de Easy Verifactu (`https://woo.finseed.es`)**
   Se usa para verificar tu token de emparejamiento y para validar los NIF/CIF
   introducidos en el checkout.
   * **Cuándo:** al conectar el plugin en la página de ajustes, y cada vez que un
     comprador introduce un NIF/CIF durante el checkout.
   * **Datos enviados:** tu token de emparejamiento; y, para la validación del NIF,
     el NIF/CIF del comprador, su nombre o razón social y el país de facturación.

2. **Ingesta de pedidos de Easy Verifactu (`https://woo-ingest.finseed.es`)**
   Se usa para notificar a Easy Verifactu la actividad de pedidos y devoluciones para
   que se emitan y declaren las facturas.
   * **Cuándo:** cuando un pedido se crea, se actualiza, cambia de estado o se
     reembolsa.
   * **Datos enviados:** tu token de emparejamiento, el ID del pedido de WooCommerce,
     el número de pedido y las fechas de creación y última modificación del pedido. En
     estos eventos no se envían nombres de clientes, direcciones, líneas de pedido ni
     datos de pago.

Easy Verifactu también puede llamar a tu tienda en un endpoint autenticado para leer
la versión instalada del plugin, y así avisarte cuando haya una actualización
disponible. Esto requiere tu token de emparejamiento; la versión nunca se expone
públicamente.

Al conectar el plugin a tu cuenta de Easy Verifactu, aceptas los Términos y
Condiciones y la Política de Privacidad de Easy Verifactu:

* Términos y Condiciones: https://www.finseed.es/terminos-y-condiciones
* Política de Privacidad: https://www.finseed.es/politica-de-privacidad

== Installation ==

1. Asegúrate de tener WooCommerce instalado y activo (WooCommerce 8.6 o posterior).
2. Instala el plugin Easy Verifactu y actívalo.
3. Crea una cuenta en https://finseed.es si aún no la tienes, y copia tu token
   de emparejamiento desde el panel de Easy Verifactu.
4. En WordPress, ve a **WooCommerce → Easy Verifactu**, pega el token de
   emparejamiento y guarda. La página confirma cuando la tienda queda conectada.

Listo. A partir de ahí, los pedidos y devoluciones confirmados se envían a Easy
Verifactu y las facturas correspondientes se emiten y se declaran a la AEAT.

== Frequently Asked Questions ==

= ¿Necesito una cuenta de Easy Verifactu? =

Sí. El plugin es el puente entre tu tienda y Easy Verifactu; las facturas las emite,
conserva y declara Easy Verifactu, así que se necesita una cuenta activa.

= ¿El plugin crea o guarda las facturas en WordPress? =

No. WordPress solo envía los eventos de pedidos y devoluciones a Easy Verifactu. Toda
la generación de la factura, la firma, el registro inalterable de Verifactu y la
presentación a la AEAT ocurren del lado de Easy Verifactu.

= ¿Necesito un certificado digital? =

No. Easy Verifactu es colaborador social oficial de la AEAT y presenta las facturas
en tu nombre, así que no necesitas tener ni configurar un certificado digital propio.

= ¿Funciona con el checkout por bloques y con el checkout clásico? =

Sí. La casilla para solicitar factura y el campo de NIF/CIF se añaden tanto al
checkout por bloques de WooCommerce como al checkout clásico (shortcode).

= ¿Cuándo es obligatorio el NIF en el checkout? =

Cuando el importe de un pedido alcanza el umbral de factura que configures en los
ajustes del plugin, el NIF/CIF pasa a ser obligatorio. Por debajo de ese importe, el
comprador puede pedir factura completa e introducir el NIF de forma opcional.

= ¿Qué datos salen de mi tienda? =

Consulta la sección "External services" más arriba para ver los endpoints exactos,
los datos que se envían a cada uno y cuándo.

= ¿Están seguros mis datos si Easy Verifactu no está disponible? =

El plugin está diseñado a prueba de fallos. Si no se puede contactar con Easy
Verifactu, el checkout no se bloquea y la tienda sigue funcionando; los eventos de
pedido pendientes se concilian en cuanto la conexión vuelve a estar disponible.

== Screenshots ==

1. Página de ajustes del plugin ya conectado: pega tu token de emparejamiento y la tienda queda enlazada con tu cuenta de Easy Verifactu.
2. Checkout por bloques de WooCommerce con la casilla "Quiero factura" y el campo de NIF/CIF.
3. Checkout clásico con la misma casilla y campo: misma experiencia en ambos checkouts.
4. Validación del NIF/CIF en tiempo real, con respuesta inmediata al comprador antes de pagar.
5. Panel de Easy Verifactu con la factura emitida y su estado de presentación a la AEAT.

== License ==

Este plugin, todas las librerías incluidas y cualquier otro recurso incluido están
licenciados bajo la GNU General Public License versión 2 o posterior
(GPL-2.0-or-later), o bajo una licencia compatible con la GPL.

El código propio del plugin es GPL-2.0-or-later. El JavaScript empaquetado se basa en
los paquetes de WordPress y WooCommerce (GPL-2.0-or-later) que proporciona el núcleo
de WordPress, junto con código propio y herramientas bajo licencias compatibles con
la GPL (como MIT). El paquete distribuido no contiene librerías PHP de terceros.

Hay una copia de la GPLv2 en license.txt y disponible en
https://www.gnu.org/licenses/gpl-2.0.html.

== Source code and build process ==

Este plugin se distribuye con su código fuente completo y legible. El JavaScript
compilado en `assets/js/build/` se genera a partir del código fuente del directorio
`client/`:

* `assets/js/build/settings-page.js` se compila desde `client/settings-page/index.jsx`
* `assets/js/build/legacy-checkout.js` se compila desde `client/legacy-checkout/index.js`

La compilación usa @wordpress/scripts (webpack y Babel). La configuración está en los
archivos empaquetados `webpack.config.js`, `babel.config.js` y `package.json`.

Para recompilar los recursos desde el código fuente, ejecuta desde el directorio del
plugin:

1. Instala las dependencias: `npm install` (o `pnpm install`)
2. Compila: `npm run build` (o `pnpm build`)

No se empaqueta ninguna librería PHP de terceros.

== Changelog ==

= 0.2.0 =
* Los endpoints por defecto de Easy Verifactu pasan al dominio finseed.es: la API de validación y emparejamiento (`https://woo.finseed.es`) y la ingesta de pedidos (`https://woo-ingest.finseed.es`). Las rutas y los datos enviados no cambian. No requiere ninguna acción del comerciante.
* Se actualizan los enlaces del plugin (cuenta, documentación, soporte, términos y privacidad) al dominio finseed.es.

= 0.1.1 =
* Se estandariza el formato de los eventos de pedido y devolución enviados a la app de Easy Verifactu. Sin cambios en el comportamiento de cara al comerciante.

= 0.1.0 =
* Versión inicial.

== Upgrade Notice ==

= 0.2.0 =
El plugin se conecta ahora a los endpoints de finseed.es por defecto. Las rutas y los datos enviados no cambian; no requiere cambios de configuración.

= 0.1.1 =
Actualización de mantenimiento. No requiere cambios de configuración.

= 0.1.0 =
Versión inicial.
