v2.5.2 Última versión

Corrección

Corrección crítica: en algunas instalaciones, la conexión con Shopify debía restablecerse manualmente cada día. La tienda predeterminada guardaba dos copias de sus credenciales y la renovación automática solo actualizaba una; como un token de Shopify es de un solo uso, la copia olvidada caducaba. Ahora ambas copias se mantienen sincronizadas

Corrección

Corrección: la etiqueta de cada variante se sustituía por el título del producto principal en cada actualización procedente de Shopify, incluso ante un simple cambio de precio o de stock. Las etiquetas se recalculan ahora igual que en la creación, y la herramienta de reparación las vuelve a encontrar aunque ya se hayan vinculado una vez

Corrección

Corrección: en la pantalla de webhooks, el botón de guardar no tenía ningún efecto — la lista de eventos supervisados no podía modificarse. Un defecto de estructura de la página impedía el envío del formulario

Corrección

Corrección: la pantalla de sincronización de productos y la tarea programada no consideraban el mismo alcance. Un producto clasificado en una subcategoría se sincronizaba sin aparecer nunca en pantalla, que indicaba «ningún producto». Ambas comparten ahora la misma definición, y una nueva fecha de puesta en marcha permite excluir los pedidos anteriores a su paso a Shopify

Corrección

Corrección: en instalaciones con varias tiendas, los contadores de la pantalla de sincronización contaban cada producto tantas veces como tiendas en las que estuviera presente. Los totales mostrados bajarán, por tanto: ahora son correctos

Corrección

Corrección: la importación de pedidos históricos nunca indicaba su estado — «finalizada» permanecía siempre en no, las estadísticas seguían vacías y cambiar la fecha de inicio a mitad de proceso no tenía efecto. La importación informa ahora de su progreso y ya no puede declararse finalizada tras un fallo

Mejora

Mejora de robustez: una solicitud mal formada dirigida al servicio de facturación recibe ahora una respuesta de error clara en lugar de un error de servidor, y no se devuelve ningún mensaje técnico interno al solicitante

v2.5.0

Nuevo

Novedad: cada flujo de sincronización (productos, existencias, precios, pedidos) tiene ahora su propia dirección configurable — de Dolibarr a Shopify, de Shopify a Dolibarr, o ambas. Usted decide, flujo por flujo, qué sistema tiene la referencia

Nuevo

Novedad: una API de control permite lanzar y seguir las sincronizaciones desde sus propias herramientas

Mejora

El módulo está ahora disponible en cinco idiomas: francés, inglés, alemán, español e italiano

Corrección

Corrección crítica: la tarea programada de recuperación de envíos ya no se iniciaba en absoluto, sin dejar el menor rastro en Dolibarr — solo el registro del servidor lo recogía. Una comprobación automática impide ahora que este tipo de fallo silencioso reaparezca

Corrección

Corrección: otras dos tareas programadas fallaban por una razón similar, entre ellas la comprobación del estado de los webhooks — que se averiaba precisamente cuando registraba un incidente, es decir, cuando más se necesitaba

Corrección

Corrección: los productos con variantes generaban una treintena de advertencias en cada sincronización de imágenes

v2.4.8

Corrección

Corrección crítica: consultar una página podía dejar inoperativos los botones de otra. Las llamadas internas del módulo renovaban el token de seguridad de la sesión, y la página Estado activa uno por tienda en cuanto se abre: en una instalación con tres tiendas, la simple consulta de esa página bastaba para que los clics de la página Webhooks fueran rechazados, en silencio

Corrección

Corrección: treinta acciones repartidas en nueve páginas de administración podían rechazarse sin mensaje ni rastro cuando el token de seguridad era denegado — incluida la vinculación de un número de licencia a una tienda, que podía fallar sin indicación alguna. Todas muestran ahora un error explícito

Corrección

Corrección: una sincronización podía apagar los webhooks de las demás tiendas

v2.4.7

Corrección

Corrección: en la pantalla de webhooks se mostraba «Configuración guardada» sin que el estado cambiara. La visualización y el guardado no consultaban la misma fila de la base de datos: se desactivaba un webhook, la página lo confirmaba y nada cambiaba

Corrección

Corrección: la desactivación elimina ahora cada suscripción afectada y no solo la primera encontrada — una fila gemela ya no puede hacer reaparecer un webhook que acaba de retirarse. La activación reutiliza una suscripción existente en lugar de crear otra

Corrección

Las incoherencias heredadas de instalaciones anteriores al soporte multitienda se corrigen por el camino: una fila que quedó «activa» sin suscripción real se restablece

v2.4.6

Corrección

Corrección: con varias tiendas conectadas, la página de Webhooks mostraba la tienda seleccionada pero guardaba en otra — era imposible desactivar un webhook y el botón «Guardar» parecía no hacer nada. La visualización y el guardado comparten ahora el mismo filtro por tienda, y todo error se muestra con claridad en lugar de un mensaje vacío

Corrección

Corrección crítica: en instalaciones con seguridad reforzada (token anti-CSRF renovado en cada página), todas las acciones de administración del módulo se rechazaban en silencio — incluido el asistente de configuración. La verificación se alinea con el núcleo de Dolibarr y todo rechazo se anuncia en pantalla

Mejora

Robustez: un incidente de base de datos al guardar los webhooks ya no provoca una página en blanco — el error se muestra con el webhook afectado y los siguientes se procesan igualmente

v2.4.5

Mejora

El envío de stock hacia Shopify pasa a ser asíncrono: la validación de una factura responde de inmediato, aunque Shopify esté lento o inaccesible (se acabaron las validaciones de varios minutos). Una tarea programada envía el stock cada 5 minutos, agrupando movimientos y reintentando automáticamente tras un fallo

Corrección

Corrección crítica: en Dolibarr 18 a 22, conectar una tienda devolvía un error 500 al volver de Shopify y la tienda se perdía — el módulo usaba una función del núcleo introducida solo a finales de 2025

Corrección

Corrección: en alojamientos en modo SQL estricto, los webhooks nunca se registraban — las fechas enviadas por Shopify eran rechazadas por la base de datos. Ahora se convierten y se almacenan en hora universal

Nuevo

Nueva herramienta «Corregir descuentos»: repara los pedidos importados antes de la 2.2.9 cuyo descuento porcentual quedó infravalorado — vista previa antes de aplicar, solo borradores, pista de auditoría preservada

Mejora

Conexión de tienda: el error «Fallo al guardar las credenciales» indica por fin su causa real, y una base de datos incompleta se señala junto con los pasos a seguir (páginas Diagnóstico y Estado de salud)

v2.4.4

Corrección

Corrección: los productos con variantes importados de Shopify no creaban una verdadera variante de Dolibarr — el vínculo producto/variante quedaba invisible en la interfaz y la etiqueta de la variante podía ser idéntica a la del producto padre

Nuevo

Nuevo botón «Reparar variantes»: vincula a posteriori los catálogos ya importados, sin reimportar ni duplicar, por lotes y sin riesgo al relanzarlo

v2.4.3

Corrección

Corrección: la importación de productos con variantes fallaba cuando una misma referencia (SKU) se comparte entre varios productos de Shopify — el módulo ahora reutiliza el producto existente en lugar de fallar y muestra el motivo de error completo ante cualquier otro problema

Corrección

Corrección: las líneas de pedido procedentes de aplicaciones de packs/bundles ("compón tu pack") no se creaban en Dolibarr — los productos facturables agrupados en un bundle ahora se importan correctamente (los componentes gratuitos a 0 € se siguen ignorando)

v2.4.2

Corrección

Corrección crítica: el stock de Dolibarr nunca se enviaba a Shopify (reaprovisionamientos, producción interna, correcciones manuales) — el stock de Shopify se desviaba con cada venta, hasta valores negativos falsos. Cada movimiento de stock de Dolibarr se sincroniza ahora en tiempo real hacia Shopify (valor absoluto, nunca negativo)

Nuevo

Nuevo botón "Realinear el stock hacia Shopify": envía de una vez el stock de Dolibarr de todos los productos mapeados — repara inmediatamente los valores de Shopify falseados en el pasado, sin esperar al próximo movimiento de cada producto

Mejora

Multi-tienda: el stock se envía a cada tienda donde el producto está mapeado, con las credenciales propias de cada tienda

Mejora

Observabilidad: cada envío de stock queda registrado en el diario de acciones, y el estado "último realineamiento" (fecha, productos, errores) se muestra en la administración

v2.4.1

Seguridad

Cumplimiento Shopify 2026: gestión nativa de los tokens OAuth caducables (token de acceso de 60 minutos + token de renovación), exigidos por Shopify antes del 1 de enero de 2027 — renovación automática transparente, las tiendas ya conectadas migran con un clic mediante el botón "Reconectar"

Nuevo

Nueva API Collections de Shopify 2026-07: las colecciones creadas con el nuevo modelo (despliegue de Shopify a partir del 1 de julio de 2026) ahora son visibles y se sincronizan — se acabaron las desapariciones silenciosas

Corrección

Corrección crítica: sincronización de productos/stock más fiable — una variante desactivada a veces permanecía visible en Shopify, y las divergencias de stock (a veces negativas) dejaban de corregirse en silencio; los errores ahora se registran y se muestran

Mejora

Diagnóstico instantáneo: las pruebas de conexión y salud por tienda se ejecutan ahora en segundo plano, sin ralentizar la página

Mejora

Telemetría más fiable: el módulo ahora informa de su dominio real y de la versión de Dolibarr en todos los canales, eliminando las falsas instalaciones pendientes

v2.4.0

Nuevo

Multitienda: varias tiendas Shopify configurables en una sola instalación Dolibarr, con licencia, ajustes y navegación propios de cada tienda (la contabilidad sigue siendo siempre única)

Nuevo

Diagnóstico de salud detallado por tienda: conexión y webhooks, licencia, contadores de sincronización — cada tienda se verifica de forma independiente

Mejora

Selector de tienda más grande y barra de contexto rediseñada en todas las páginas de administración multitienda

Corrección

Corrección crítica: una expedición que quedaba en borrador tras un fallo (almacén/stock) nunca se recuperaba automáticamente — ahora el proceso de recuperación periódico la valida y cierra

Corrección

Corrección de visualización: caracteres acentuados mal codificados (doble codificación) corregidos en toda la interfaz de administración

Corrección

Corrección: el estado de licencia de una tienda podía quedarse fijo en "desconocido" — la verificación ahora es fiable y nunca degrada una tienda por defecto

v2.3.2

Corrección

Corrección crítica: algunos pedidos dejaban de recuperarse desde Shopify (regresión introducida en 2.3.0) — la sincronización de pedidos vuelve a funcionar con normalidad

Corrección

Corrección: los webhooks registrados en una versión de API de Shopify obsoleta ahora se vuelven a registrar automáticamente durante las comprobaciones de salud, para cada tienda

Corrección

Corrección: bloqueo en la activación del módulo en instalaciones multitienda (página en blanco)

Seguridad

Seguridad: la conexión de una tienda Shopify ya no puede hacerse introduciendo manualmente un token — solo mediante el flujo OAuth seguro de Shopify

v2.3.0

Nuevo

Multitienda (fundamentos): varias tiendas Shopify gestionadas desde una sola instalación Dolibarr con contabilidad única — la tienda existente se migra automáticamente, sin ninguna interrupción del servicio

Nuevo

Nueva interfaz de administración de tiendas: añadir, conectar, gestionar webhooks y licencia, tienda por tienda

Seguridad

Seguridad: la conexión de Shopify está ahora protegida por claves criptográficas (OAuth RSA) en lugar de un secreto compartido

Nuevo

Nuevas herramientas de soporte: exportación del JSON completo de un pedido para agilizar el diagnóstico

Nuevo

Las direcciones de envío y facturación se muestran ahora directamente en la ficha del pedido

Seguridad

Seguridad: protección reforzada contra ataques CSRF en acciones sensibles (configuración, licencia)

v2.2.9

Corrección

Corrección: descuentos porcentuales infravalorados — el descuento se calculaba sobre la base sin impuestos y luego se dividía una segunda vez por (1 + IVA) como si fuera un importe con impuestos. Los pedidos con código promocional porcentual recuperan el importe exacto mostrado por Shopify (p. ej. 5 % = −151,20 € con IVA, no −126 €)

Mejora

Documentación: tabla de las 4 reglas de decremento de stock de Dolibarr (pedido, factura, expedición, cierre de expedición) y recomendación para tiendas mixtas mostrador TakePOS + Shopify

v2.2.8

Corrección

Corrección crítica: el stock no se descontaba al importar pedidos de Shopify — el almacén no se transmitía en la validación de la factura. Las 4 reglas de decremento de stock de Dolibarr (pedido, factura, expedición, cierre de expedición) quedan ahora cubiertas

Corrección

Corrección: la migración de permisos v2.2.4 (cambio de ID del módulo) se ejecuta ahora automáticamente en la activación — los derechos de los usuarios se conservan al actualizar desde una versión anterior a 2.2.4

Corrección

Corrección de webhooks: URL de callback errónea (falta la ruta /custom/) sin configuración explícita, y el parámetro de días de conservación de los eventos ahora es respetado por la purga

Mejora

Robustez: advertencias explícitas en los registros cuando no se puede resolver ningún almacén, y protecciones contra errores fatales si la sincronización saliente Dolibarr → Shopify (prevista para v2.4.x) se activa prematuramente

v2.2.7

Corrección

Corrección crítica: llamadas a la API de documentos con error 404 en instalaciones en subdirectorio — una barra inicial sobreescribía la ruta del subdirectorio (issue #288)

Corrección

Todos los puntos de acceso a documentos (imágenes de productos y categorías) respetan ahora correctamente el subdirectorio de instalación

Corrección

Repara las instalaciones de Dolibarr en subdirectorio (la versión 2.2.6 ya paliaba esto mediante el fallback SQL local)

v2.2.6

Corrección

Corrección crítica: sincronización de imágenes de producto resiliente — fallback SQL automático (llx_ecm_files) cuando el endpoint REST de Dolibarr /documents no está disponible (404, timeout, HTML en el body). Las imágenes del producto se sincronizan correctamente en Shopify incluso en alojamientos restrictivos (issue #286)

Corrección

Corrección crítica: filtro de entidad multi-inquilino añadido a la consulta SQL de imágenes — evita exponer imágenes de otras entidades Dolibarr en instalaciones multi-empresa

Corrección

Corrección: clave de ordenación incorrecta (filename vs relativename) — ordenación por posición ahora funcional

Mejora

Caché de instancia de imágenes reduce de 3 a 1 las llamadas SQL+API redundantes por producto durante la sincronización

v2.2.5

Corrección

Corrección crítica: función verifToken() no cargada en algunos stacks PHP-FPM que bloqueaba el OAuth de Shopify — 4 archivos del módulo ahora incluyen explícitamente el polyfill compatibility.lib.php

v2.2.4

Corrección

Corrección crítica: migración del ID del módulo Dolibarr (436950 → 351003, rango oficial asignado a la Association P'tite Tête) — migración SQL automática preserva los permisos existentes

v2.2.3

Corrección

Corrección crítica: las páginas de administración (setup, asistente, sincronización productos) referenciaban un archivo CSS inexistente — carga del CSS y visualización de las páginas ahora correctas

v2.2.2

Nuevo

Gestión de líneas bundle/regalo de Shopify (USH Bundles, EasyGift, etc.) — 3 modos configurables: ignorar, importar como comentario, importar como línea normal

Corrección

Corrección crítica: sincronización de stock de variantes cada hora en vez de 24h

Corrección

Corrección webhook products/delete — consulta SQL inválida corregida

Corrección

Corrección crítica: no más duplicados creados en Shopify tras purgar un producto con variantes

Corrección

Anti-bucle mejorado: protección inter-proceso sync/webhook contra deadlocks

Corrección

Falso positivo de diagnóstico corregido: API Documents 404 sobre producto de prueba inexistente ahora se reporta como advertencia en vez de error

Mejora

Diagnóstico mejorado: detección de rutas de imágenes antiguas + prueba de loopback

Mejora

Versiones dinámicas en toda la interfaz (sin más versiones fijas)

Mejora

Admin website: nueva sección 'Migraciones SQL' que lista los scripts SQL numerados y permite ejecutarlos con un clic (seguimiento automático)

v2.2.1

Nuevo

Sistema de alertas por email proactivo (errores webhook + salud del sistema)

Nuevo

Throttling inteligente por tipo con cooldown configurable

Mejora

Auditoría completa API Shopify 2026-07 — anticipación de breaking changes

Mejora

PHPStan nivel 6 + cobertura de tests 35% → 71%

Mejora

Centralización de versión del módulo (no más versiones hardcodeadas)

Corrección

Eliminadas ~1 974 líneas de código muerto

Corrección

Compatibilidad Dolibarr 23 — auditoría sistemática y correcciones

v2.2.0

Nuevo

Webhooks en tiempo real Shopify → Dolibarr (pedidos, envíos, pagos)

Nuevo

Asistente de configuración guiado en 6 pasos

Nuevo

Dashboard de monitoreo y salud del módulo

Nuevo

Mapeo de envío en 2 niveles (título + transportista real)

Nuevo

Interfaz simplificada: 3 pestañas en lugar de 5

Nuevo

Recuperación automática de pedidos perdidos (CRON red de seguridad)

Nuevo

Auto-creación configurable de facturas, pagos y envíos

Mejora

Configuración completa de pedidos en el asistente

Mejora

Activación automática de webhooks y CRONs al finalizar el asistente

v2.1.8

Nuevo

Sistema de tickets de soporte integrado multiplataforma

Nuevo

Rediseño completo del sitio web con arquitectura MVC

Nuevo

Modo degradado para licencias expiradas

Nuevo

Internacionalización centralizada con Twig

Nuevo

Webhooks bidireccionales Shopify + triggers Dolibarr en tiempo real

v2.1.7

Nuevo

Shopify Billing API - Arquitectura dual-channel

Nuevo

Interfaz de administración web completa

Corrección

Corrección del enlace de licencia OAuth

Corrección

Descuentos no aplicados en servicios

Mejora

Mejoras del asistente de configuración

v2.1.6

Nuevo

Auditoría de seguridad completa - 86 problemas corregidos

Nuevo

Importación bidireccional Shopify → Dolibarr

Seguridad

Protección CSRF en 15 archivos

Seguridad

Puntuación de seguridad 6/10 → 9/10