=== Finseed: Facturas Verifactu para WooCommerce ===
Contributors: Finseed
Tags: verifactu, woocommerce, aeat, facturas, facturación
Requires at least: 4.7
Tested up to: 7.0
Requires PHP: 7.4
WC requires at least: 3.5.0
WC tested up to: 10.7
Stable tag: 1.1.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 ==

Finseed conecta tu tienda WooCommerce con tu cuenta de Finseed 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 Finseed, y es
Finseed 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, Finseed 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.** En las tiendas con precios en euros,
  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 Finseed, 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é Finseed =

* **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 Finseed 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 Finseed.** Puedes crearla en https://finseed.es.
Tras instalar el plugin, lo conectas a tu cuenta con la clave del plugin
desde tu panel de Finseed.

== External services ==

Este plugin depende del servicio Finseed para funcionar, por lo que envía datos a
Finseed (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 Finseed:

1. **API de Finseed (`https://woo.finseed.es`)**
   Se usa para verificar tu clave del plugin 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 clave del plugin; 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 Finseed (`https://woo-ingest.finseed.es`)**
   Se usa para notificar a Finseed 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 clave del plugin, 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.

Finseed 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 clave del plugin; la versión nunca se expone
públicamente.

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

* 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 (recomendado WooCommerce 3.5.0 o posterior).
2. Instala el plugin Finseed y actívalo.
3. Crea una cuenta en https://finseed.es si aún no la tienes, y copia tu clave
   del plugin desde el panel de Finseed.
4. En WordPress, ve a **WooCommerce → Finseed**, pega la clave del plugin 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 Finseed
y las facturas correspondientes se emiten y se declaran a la AEAT.

== Frequently Asked Questions ==

= ¿Necesito una cuenta de Finseed? =

Sí. El plugin es el puente entre tu tienda y Finseed; las facturas las emite,
conserva y declara Finseed, 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 Finseed. 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 Finseed.

= ¿Necesito un certificado digital? =

No. Finseed 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? =

En las tiendas con precios en euros, 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 Finseed no está disponible? =

El plugin está diseñado a prueba de fallos. Si no se puede contactar con Finseed, 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.

= ¿Funciona con versiones más antiguas de WordPress o WooCommerce? =

El mínimo recomendado es WordPress 4.7, WooCommerce 3.5 y PHP 7.4, combinaciones
que probamos de forma continua. Versiones anteriores podrían funcionar, pero no
las probamos ni las damos por soportadas, así que su uso queda bajo tu
responsabilidad. Ten en cuenta dos límites técnicos reales: en PHP 8 o superior,
WordPress solo arranca desde la versión 5.6 (las anteriores fallan por su propio
código, no por Finseed), por lo que las versiones de WordPress más antiguas
requieren PHP 7.4; y por debajo de WooCommerce 3.5, es el propio WooCommerce el
que deja de funcionar. Si tu tienda queda por debajo del mínimo recomendado,
puedes probar Finseed igualmente, pero no podemos garantizar el resultado.

== 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 ==

= 1.1.0 =
* El panel de ajustes y el checkout pasan a estar en español.

= 1.0.1 =
* Compatibilidad verificada y ampliada: WordPress 4.7 o superior (antes 6.5) y WooCommerce 3.5.0 o superior (antes 8.6).

= 1.0.0 =
* Versión inicial.

== Upgrade Notice ==

= 1.1.0 =
El panel de ajustes y el checkout pasan a estar en español.

= 1.0.1 =
Compatibilidad ampliada a WordPress 4.7+ y WooCommerce 3.5.0+.

= 1.0.0 =
Versión inicial.
