Per què WooCommerce + Odoo és una combinació habitual
Odoo és un dels ERPs de codi obert més populars del món. Moltes empreses l'usen com a sistema de gestió (facturació, inventari, comptabilitat) però prefereixen WooCommerce per a la botiga online per la seva flexibilitat i ecosistema WordPress. El problema apareix quan cal que ambdós sistemes parlin entre ells.
Community vs Enterprise: diferències clau per a la integració
| Característica | Odoo Community | Odoo Enterprise |
|---|---|---|
| API XML-RPC / JSON-RPC | Disponible | Disponible |
| Mòduls avançats d'inventari | Bàsics | Multi-magatzem, lots, rutes |
| Comptabilitat integrada | Limitada | Completa amb conciliació |
| Facturació electrònica | Via mòduls de tercers | Nativa (Factur-X, UBL) |
| Hosting i actualitzacions | Selfhosted | Odoo.sh o selfhosted |
La versió d'Odoo que facis servir determina què és possible integrar i com. Community té menys funcionalitat nativa, cosa que pot simplificar la integració però limitar les dades disponibles.
Opcions d'integració WooCommerce-Odoo
1. Connectors estàndard (plugins)
Hi ha diversos connectors al mercat (alguns gratuïts, d'altres de pagament). Funcionen bé per a casos simples:
- Sincronització bàsica de productes i estoc
- Creació de comandes a Odoo
- Mapeig simple de clients
Limitacions: no gestionen bé variants complexes, llistes de preus per client, multi-moneda, ni impostos amb regles de localització específiques.
2. Middleware a mida
Un middleware actua com a capa intermèdia que transforma, valida i sincronitza les dades entre ambdós sistemes. És l'opció recomanada quan:
- Tens lògica de negoci pròpia (descomptes per volum, preus per canal, regles de magatzem)
- Necessites gestionar devolucions, notes de crèdit o comandes parcials
- Vols monitorització i alertes en cas d'errors de sincronització
- Tens un volum de comandes superior a 50-100/dia
- Necessites traçabilitat fiscal completa (VeriFactu)
Les APIs d'Odoo: XML-RPC i JSON-RPC
Odoo exposa les seves dades via XML-RPC (tradicional) i JSON-RPC (modern). Ambdues permeten operacions CRUD sobre qualsevol model d'Odoo, però tenen particularitats:
- Autenticació: per sessió, no per token. Cal gestionar sessions i renovacions.
- Rate limits: depenen de la configuració del servidor. Odoo.sh té límits més estrictes.
- Filtres: usen domain expressions pròpies d'Odoo ([('field', 'operator', value)]), no QueryString.
- Relacions: les dades relacionades (many2one, one2many) requereixen crides addicionals.
- Versions: l'estructura dels models pot canviar entre versions d'Odoo (14, 15, 16, 17).
Què sincronitzar i en quina direcció
| Dada | Direcció | Notes |
|---|---|---|
| Productes | Odoo → WooCommerce | Si Odoo és el master de catàleg |
| Estoc | Odoo → WooCommerce | Per events (stock.move) o polling |
| Comandes | WooCommerce → Odoo | Crear Sale Order automàticament |
| Clients | WooCommerce → Odoo | Crear res.partner o actualitzar |
| Factures | Odoo → WooCommerce (opcional) | El número de factura oficial el genera Odoo |
| Preus | Odoo → WooCommerce | Si uses pricelists d'Odoo |
Errors habituals en integracions WooCommerce-Odoo
- Duplicar clients a Odoo per no gestionar la detecció d'existents (email, NIF)
- No gestionar les variants de producte correctament (product.product vs product.template)
- Ignorar la configuració fiscal d'Odoo i crear factures amb impostos incorrectes
- No anticipar les actualitzacions d'Odoo que poden canviar models i camps
- Sincronitzar estoc sense tenir en compte reserves i estoc virtual
Si vols veure com funciona un connector professional per Odoo, aquí expliquem la nostra solució. I si prefereixes una anàlisi del teu cas concret, demana un diagnòstic operatiu gratuït.