=== Moreu Sync Lite — Mercatoner para WooCommerce ===
Tags: woocommerce, catalog, inventory, synchronization
Requires at least: 6.5
Requires PHP: 8.1
Requires Plugins: woocommerce
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Importación y sincronización del catálogo de Mercatoner para WooCommerce, desarrollada por Moreu Informática.

== Estado de esta versión ==

Edición distribuida directamente desde Tienda Moreu. No publicada en WordPress.org ni en WooCommerce Marketplace.
Probada localmente con WordPress 7.1.2, WooCommerce 11.1.2 y PHP 8.3.33.
La versión base se validó el 13/10/2026 con conexión real a Mercatoner: 12.087 referencias, muestra de diez productos e imágenes reales. Lite validada con 500 referencias gestionadas y sin errores de producto; Pro validada con selección de las 12.087 referencias, conservación de los productos de Lite y creación por encima de 500. No se ha ejecutado una importación completa de todas las referencias con todas las imágenes. La matriz completa de versiones sigue pendiente.

== Descripción ==

* Acceso al catálogo XML o CSV con el usuario y la contraseña propios del comprador.
* Contraseña cifrada mediante OpenSSL y las claves de WordPress. Nunca se muestra en el formulario después de guardarla.
* Comprobación de conexión que no importa ni modifica productos.
* Programación integrada cada hora, 3, 6, 12 o 24 horas.
* Validación completa del archivo antes de preparar la cola de actualización.
* Actualización de productos simples, descripción, categorías, marca si existe la taxonomía de WooCommerce, precio, stock y EAN.
* Nuevos productos como borradores por defecto; publicación automática opcional.
* Imágenes importadas a la biblioteca de medios, con reutilización de archivos ya descargados.
* Protección opcional del precio y contenido editados manualmente por producto.
* El módulo no envía pedidos ni realiza compras en Mercatoner.

La activación no conecta con el proveedor. El administrador debe introducir sus credenciales y solicitar la conexión o activar la programación.

== Instalación ==

1. Haz una copia de seguridad y utiliza primero una tienda de pruebas.
2. Instala WooCommerce y activa esta edición de Moreu Sync desde Plugins > Añadir nuevo > Subir plugin.
3. Abre WooCommerce > Mercatoner como administrador.
4. Introduce el usuario y la contraseña de CATÁLOGO suministrados por Mercatoner. Pueden ser distintos de las credenciales de su tienda web.
5. Guarda los ajustes y pulsa Comprobar conexión sin importar.
6. Revisa el resultado. Pulsa Sincronizar ahora y conserva los productos nuevos como borrador para revisar precios, stock e imágenes.
7. Activa la programación y la publicación cuando la prueba sea correcta.

== Precio y stock ==

Coste utilizado: PVP del feed, más el campo canon si está presente y más el coste fijo configurado. Debe contrastarse con la tarifa y la factura reales del proveedor antes de publicar precios.
El precio neto añade el mayor entre el recargo porcentual sobre coste y el beneficio mínimo neto.
Los impuestos utilizan la configuración de WooCommerce; no se fuerza un IVA fijo.
El coste fijo por producto es un coste interno y no altera los gastos de envío del checkout.
Disponibilidad = stock del proveedor menos reserva, limitada al máximo configurado.
No se crean productos nuevos sin disponibilidad. Se desactivan pedidos en reserva para los productos gestionados.
Los SKU comienzan por MERC-. Nunca se adoptan automáticamente referencias creadas por otro importador.

== Programación ==

WP-Cron prepara las importaciones y sirve como respaldo del trabajador por lotes. Action Scheduler, incluido en WooCommerce, encadena los lotes de productos e imágenes.
WP-Cron depende de las visitas. Para una ejecución regular sin visitas, configura el cron del hosting para ejecutar las tareas de WordPress pendientes, preferiblemente cada minuto. El plugin no instala servicios del sistema operativo.
Ejemplo orientativo con WP-CLI, adaptando rutas y usuario del hosting:
* * * * * cd /ruta/wordpress && /usr/bin/php /ruta/wp-cli.phar cron event run --due-now --quiet
No desactives WP-Cron hasta comprobar que ese cron funciona.
La generación del catálogo de Mercatoner puede tardar varios minutos. El servidor debe permitir la petición de descarga, hasta 11 minutos por intento, y disponer de memoria suficiente para validar el catálogo completo. Recomendación inicial: 512 MB de memoria PHP; validar con el catálogo real y el hosting del cliente.
Las imágenes se procesan por separado y se descarga como máximo una imagen nueva por lote de galería.

== Retirada y errores ==

Un archivo inválido, con datos duplicados o con reducción de más del 20% frente al último catálogo válido impide comenzar la importación.
Sólo un XML completo, sin filtro de categoría y sin errores de producto permite retirar las referencias ausentes. Las referencias quedan como borrador y stock cero; no se eliminan.
CSV permite actualizar referencias presentes; no retira por ausencia porque un truncado entre filas no permite probar que el archivo estaba completo.
Las escrituras por lotes no constituyen una transacción de todo el catálogo. Si falla un producto, se conservan los cambios ya procesados y no se retiran referencias ausentes.
Se reintenta cada fila fallida hasta tres veces. La actualización conserva el catálogo anterior si la descarga o la validación falla.
Cancelar la cola conserva los productos ya procesados. Desactivar el plugin detiene sus tareas; no elimina productos, archivos ni la cola.
Eliminar el plugin conserva ajustes cifrados, cola y productos para facilitar una recuperación. Para retirar esos datos de forma permanente, solicita instrucciones y realiza una copia de seguridad.
Si se rotan las claves de autenticación de WordPress, vuelve a guardar la contraseña del proveedor.

== Servicio externo y privacidad ==

Este plugin requiere una cuenta de catálogo habilitada por Mercatoner.
Destino de catálogo: https://mercatoner.es/feeder.php
La petición HTTPS envía usuario, contraseña de catálogo, formato y el identificador técnico del módulo. Mercatoner conoce también la IP del servidor que realiza la petición. El proveedor exige las credenciales como parámetros de consulta; no se guardan estas URL en el registro del plugin, pero el hosting o software de diagnóstico podría registrarlas.
La descarga de imágenes sólo admite mercatoner.es y www.mercatoner.es. Las imágenes quedan almacenadas localmente en WordPress.
Documentación del proveedor: https://www.mercatoner.es/informacion?buttons_id=754
Consulta las condiciones vigentes de tu cuenta de Mercatoner antes de sincronizar.
No se envían pedidos, clientes ni estadísticas a Moreu. No hay telemetría ni comprobación remota de licencias en esta versión.
El contacto con Moreu sólo ocurre cuando el usuario utiliza sus canales de soporte.

== Soporte ==

Moreu Informática: hola@moreuinformatica.com

Indica número de pedido, versión del módulo y mensaje de error. No envíes la contraseña de Mercatoner.
Versión Lite gratuita distribuida desde Tienda Moreu. No incluye los 12 meses de soporte privado de Pro.

== Compatibilidad y límites ==

Prueba efectuada: WordPress 7.1.2 / WooCommerce 11.1.2 / PHP 8.3.33 / MySQL 8.4.3.
Requisitos declarados iniciales: WordPress 6.5+, WooCommerce 9.0+, PHP 8.1+, OpenSSL, XMLReader y SimpleXML. Estos mínimos todavía no se han cubierto con una matriz real de pruebas.
Gestión del catálogo mediante la API de productos de WooCommerce. No se escriben tablas de pedidos; compatibilidad HPOS declarada.
Esta versión sólo importa productos simples. No sincroniza pedidos, facturas, variaciones ni productos agrupados.
Multisite y compatibilidad con todas las extensiones de terceros no verificados.
Interfaz y mensajes traducibles con gettext. Incluye inglés y traducción es_ES de los mensajes del módulo; catálogo POT para otros idiomas. Ambas interfaces se han comprobado en WordPress real.

== Créditos ==

Desarrollado por Moreu Informática. El lector de catálogo deriva del importador propio de Moreu.
Integración independiente: no representa ni implica respaldo oficial de Mercatoner o de WooCommerce.
Código GPLv2 o posterior; consultar LICENSE.txt.

== Changelog ==

= 0.2.0 =
* Ediciones Lite y Pro independientes.
* Límite global de 500 referencias en Lite y catálogo completo en Pro.
* Validación de GTIN del proveedor sin inventar códigos.
* Cambio de edición conservando productos, ajustes y contraseña cifrada.
* Conservación de la ruta WooCommerce > Mercatoner.

== Edición y capacidad ==

Lite gestiona hasta 500 referencias de este plugin, contando productos publicados y borradores no retirados. Las referencias existentes conservan su actualización; no existe contador de usos ni caducidad. La capacidad es global y no se reinicia al cambiar de categoría. Los productos de otros proveedores no cuentan. Una referencia retirada libera capacidad en la siguiente sincronización.

Desactiva la otra edición antes de activar esta. Ambas conservan los SKU, ajustes y productos de la versión anterior.

EAN del proveedor: sólo se asignan GTIN numéricos con longitud y dígito de control válidos. Los valores inválidos o duplicados se conservan como dato de origen y se marcan para revisión, sin inventar códigos ni sobrescribir un GTIN existente. El resumen muestra ean_reviews.

Actualizaciones Pro: durante los 12 meses incluidos, solicítalas a Moreu indicando el número de pedido. Esta versión no incorpora un actualizador remoto.
Ficha y descarga Lite: https://tienda.moreuinformatica.com/producto/moreu-sync-pro-mercatoner-woocommerce/
