=== Digital Buho - Facturalo Perú ===
Contributors: digitalbuho
Tags: woocommerce, facturacion, sunat, peru, factura-electronica
Requires at least: 5.0
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: woocommerce
Stable tag: 3.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Envía los pedidos de WooCommerce como comprobantes electrónicos a la SUNAT a través de la API del Facturador PRO.

== Description ==

Digital Buho conecta tu tienda WooCommerce con la API del Facturador PRO para emitir
comprobantes electrónicos ante la SUNAT (Perú) directamente desde el listado de pedidos.

**Funcionalidades principales**

* Envío de facturas y boletas a la SUNAT desde la pantalla de pedidos de WooCommerce.
* Envío masivo mediante acciones en lote sobre el listado de pedidos.
* Metabox en cada pedido con el estado del comprobante y los enlaces a XML, PDF y CDR.
* Consulta del titular de un DNI o RUC durante el checkout.
* Campo DNI / RUC en el checkout, con validación del dígito verificador del RUC.
* Sincronización de stock y precios de productos contra la API, por SKU y por sede.
* Zonas de envío por ciudad para WooCommerce (Perú).
* Panel de ajustes bajo WooCommerce: token, URL de la API y series de factura y boleta.

**Código de terceros incluido**

Este plugin incorpora código distribuido bajo licencia compatible con GPL:

* **WC - APG NIF/CIF/NIE Field**, de Art Project Group — campo de documento en el checkout,
  recortado al ámbito peruano (DNI y RUC).
  https://wordpress.org/plugins/wc-apg-nifcifnie-field/
* **Cities Shipping Zones for WooCommerce** — zonas de envío por ciudad. Se incluye
  únicamente el ubigeo de Perú.
  https://wordpress.org/plugins/cities-shipping-zones-for-woocommerce/

== External services ==

Este plugin se comunica con un único servicio externo: la **API de facturación electrónica
de Digital Buho SAC** (marca comercial FacturaloPeru), construida sobre Facturador PRO.

La URL de la API y el token los introduce la persona que administra la tienda en los
ajustes del plugin. Sin esos dos datos el plugin **no realiza ninguna conexión externa**.

* **Qué se envía al emitir un comprobante:** los datos del pedido necesarios para la
  SUNAT — nombre o razón social del cliente, documento de identidad (DNI o RUC),
  dirección, teléfono, correo electrónico, productos, cantidades e importes. También se
  envía el token de acceso de la API en la cabecera de la petición.
* **Qué se envía al consultar un DNI o RUC en el checkout:** únicamente el número de
  documento.
* **Qué se envía al sincronizar el stock:** los identificadores (SKU) y las cantidades de
  los productos.
* **Cuándo se envía:** al pulsar «Enviar a SUNAT» en un pedido, al usar la acción en lote
  del listado de pedidos, al salir del campo de documento en el checkout (la consulta de
  DNI/RUC se lanza en ese momento) y al pulsar la sincronización de stock en el listado de
  productos. No hay envíos programados ni en segundo plano.
* **Proveedor:** Digital Buho SAC — https://buho.la
* **Términos del servicio:** https://buho.la/terminos
* **Política de privacidad:** https://buho.la/politicas-de-privacidad

== Installation ==

1. Instala y activa WooCommerce.
2. Sube la carpeta del plugin a `/wp-content/plugins/` o instálalo desde el escritorio de WordPress.
3. Activa el plugin desde el menú **Plugins**.
4. Ve a **WooCommerce → Facturación Búho** e introduce el token, la URL base de la API
   (terminada en `/api/`) y las series de factura y boleta.
5. Comprueba en la pestaña **Campo DNI · RUC** que el campo de documento aparezca en el checkout.

== Frequently Asked Questions ==

= ¿Necesito una cuenta en el Facturador PRO? =

Sí. El plugin es un puente hacia esa API: necesitas un token válido y la URL de tu instancia.

= ¿Funciona sin WooCommerce? =

No. WooCommerce es obligatorio; el plugin lee los pedidos que WooCommerce genera.

= ¿Qué comprobantes emite? =

Facturas y boletas de venta, según el tipo de documento del cliente y la configuración del pedido.

= ¿Sirve para otros países? =

No. El plugin está pensado exclusivamente para Perú y la SUNAT: valida DNI de 8 dígitos y
RUC de 11 dígitos con su dígito verificador, y trae el ubigeo peruano.

= ¿Cómo valida el RUC? =

Comprueba que tenga 11 dígitos, que empiece por un tipo de contribuyente válido
(10, 15, 16, 17 o 20) y que el dígito verificador cuadre por módulo 11.

= ¿Los comprobantes se envían solos? =

No. El envío se hace manualmente desde el pedido o mediante la acción en lote del listado de pedidos.

= ¿Es compatible con HPOS (almacenamiento de pedidos en tablas propias)? =

Sí. El plugin declara compatibilidad con HPOS y con el checkout por bloques de WooCommerce.

= ¿Qué pasa con los comprobantes emitidos si desinstalo el plugin? =

Los datos de los comprobantes ya emitidos se conservan en los pedidos: son registro fiscal.
Al desinstalar solo se borran los ajustes del plugin.

== Screenshots ==

1. Panel de ajustes de la API bajo el menú de WooCommerce.
2. Metabox de envío a la SUNAT dentro del pedido de WooCommerce.
3. Acción en lote para envío masivo desde el listado de pedidos.
4. Campo DNI / RUC en el checkout.

== Changelog ==

= 3.1.0 =
* Seguridad: se restaura la verificación del certificado TLS en todas las llamadas a la API.
* Seguridad: la consulta de DNI/RUC del checkout exige nonce, valida el tipo de documento y limita las consultas por IP.
* Seguridad: el envío del comprobante pasa a resolverse en el servidor; la respuesta de la API ya no viaja por el navegador.
* Seguridad: comprobación de capacidades y nonce en el envío individual, el envío en lote y la sincronización de stock.
* Se eliminan las hojas de estilo y fuentes cargadas desde CDN externos; ahora se usan Dashicons y tipografías del sistema.
* Se sustituyen las sesiones PHP por la sesión de WooCommerce y por transients.
* Corrección: el estado de HPOS se respeta en el listado de pedidos y en el panel de ajustes.
* Corrección: la hora de emisión se calcula en la zona horaria del sitio y en formato de 24 horas.
* Corrección: la compatibilidad con HPOS se declara sobre el fichero principal del plugin.
* Corrección: el Delivery sin IGV se declara como operación exonerada (código 20), no como
  gravada con IGV 0.00, que SUNAT rechazaba.
* Nuevo: los comprobantes rechazados muestran el motivo y se pueden reenviar desde el
  pedido o con la acción en lote.
* Se reduce el listado de ciudades a Perú y se elimina el código y las traducciones no utilizadas.
* Todas las cadenas pasan al dominio de texto propio `facturacion-digital-buho`.
* El plugin se centra en Perú y SUNAT: se elimina la validación de IVA europeo (VIES y EORI),
  con ella tres servicios externos y la dependencia de la extensión SOAP de PHP.
* Nuevo: validación real de DNI (8 dígitos) y RUC (11 dígitos con dígito verificador módulo 11).
  Antes la opción «validar campo» no cubría Perú.
* Las opciones pasan del prefijo `facturaloperu_` a `buho_`; la configuración existente se
  migra sola al actualizar.

= 3.0.7 =
* Compatibilidad con HPOS y con el checkout por bloques de WooCommerce.
* Protección contra clases duplicadas cuando los plugins de terceros están activos por separado.
* Rediseño del panel de ajustes con pestañas.

== Upgrade Notice ==

= 3.1.0 =
Actualización de seguridad recomendada. El fichero principal cambia de nombre, así que
tras actualizar hay que volver a activar el plugin desde **Plugins**; la configuración se
migra sola. El comprobante se emite ahora desde el botón «Enviar a SUNAT» del pedido, sin
recargas automáticas.
