Releases: slemos/woo2odoo
Release list
v1.6.1 — la cancelación ahora sí ocurre
Corrige que el sale.order no llegaba a cancelarse y que el éxito se determinaba por valores de retorno poco fiables. Detectado probando 1.6.0 contra producción.
🤖 Generated with Claude Code
v1.6.0 — cancelación propagada a Odoo
Propaga la cancelación de un pedido WooCommerce a Odoo: cancela el sale.order y, de forma conservadora, solo los hijos en borrador. Una boleta ya contabilizada nunca se cancela automáticamente.
🤖 Generated with Claude Code
v1.5.1 — Fix compatibilidad HPOS (WC 10.7+)
Patch de compatibilidad para WooCommerce 10.7+, que deshabilita sync-on-read por defecto con HPOS activo.
Fixed
- HPOS:
get_post_meta()→wc_get_order()->get_meta()encreate_invoice_for_so(). Con sync-on-read deshabilitado, leer_billing_invoice_typevíaget_post_meta()podía retornar un valor stale o vacío si el dato fue escrito vía WC CRUD (que almacena enwc_orders_meta, no enwp_postmeta). La lectura ahora va directo al layer HPOS. Afecta a todos los pedidos en los que el tipo de documento (Boleta/Factura) se determina al crear la factura en Odoo.
Changed
- Eliminada función
create_invoice()(código muerto confirmado — sin callers en el codebase; funcionalidad equivalente existe encreate_invoice_for_so()desde v1.4.0).
Changelog completo: CHANGELOG.md
v1.5.0 — BACS payment sync + errores Odoo en notas de pedido
Desplegado en producción (ARM) via wp plugin install --force.
Added
- Sincronización de pago BACS a Odoo: cuando un pedido BACS pasa a
processing, se crea el pago en Odoo confirmando el SO si está en borrador y se vincula la factura emitida. - Errores de sync superficiados como notas de pedido WC: los errores de Odoo quedan registrados como notas internas del pedido con el mensaje específico (antes fallaban silenciosamente).
- Nota cuando la factura se sincroniza pero el método de pago es desconocido: visibilidad para métodos de pago no mapeados.
- Suite PHPUnit portable (wp-env): tests de integración corren localmente sin credenciales de producción. CI GitHub Actions integrado.
Fixed
- El pago BACS no se creaba si el SO estaba en borrador al momento del
processing— ahora se confirma el SO primero. get_customer_data(): el error de cliente se asignaba después del guard de email, ocultando el error real en los logs.process_order_action(): eliminada nota de error genérica que duplicaba mensajes.
Changelog completo: CHANGELOG.md
v1.4.0 — Tab "Estado Odoo", sync en background y backfill
Primer GitHub Release del plugin (inicio del workflow SemVer + Releases). Desplegado en producción (ARM).
Added
- Tab "Estado Odoo" en la configuración: tabla de pedidos con su meta de sync (Pedido, Monto, Sale Order, Boleta, Pago, Estado) con enlaces directos a Odoo, filtros con contadores y paginación. Lee solo meta (no consulta Odoo al renderizar). Excluye reembolsos.
- Sincronización por fila (AJAX, actualiza la fila sin recargar) para reintentos puntuales.
- Selección + sync en background: checkboxes + "seleccionar todos" y botón "Sincronizar seleccionados" que encola cada pedido en Action Scheduler (grupo
woo2odoo) y responde al instante. La cola procesa en background sin bloquear ni límites de timeout. - Aviso global en el admin cuando hay pedidos con error de sync: conteo + enlace directo al tab filtrado. Descartable 12 h por usuario.
- Comando
wp woo2odoo backfill: vincula pedidos antiguos a su Sale Order + Boleta ya existentes en Odoo (búsqueda pororigin) marcándolossyncedsin crear pago — para pedidos conciliados manualmente. Flags--before,--wc-status,--limit,--dry-run,--missing-invoice.
Contexto (fixes previos incluidos, 1.3.1–1.3.3)
- Caché de
search_read()ahora opt-in (resuelve el bug crítico de Sale Orders fantasma servidas desde Redis). - Pre-flight de cantidades
<= 0+ captura de\Throwable(evita SO huérfanas porDivisionByZeroError). format_rut()preserva el dígito verificadorK.- Errores reales de Odoo propagados al meta/nota del pedido (antes "Customer data unavailable" genérico).
- Guard de sync vincula SO/boleta/pago existentes en vez de bloquear.
Changelog completo: CHANGELOG.md