justinholtweb/craft-erpy-odoo

Odoo connector for Erpy.

Maintainers

Package info

github.com/justinholtweb/craft-erpy-odoo

Type:craft-plugin

pkg:composer/justinholtweb/craft-erpy-odoo

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-08-29 00:52 UTC

This package is auto-updated.

Last update: 2026-08-29 12:28:00 UTC


README

An Erpy connector for Odoo Community and Enterprise.

Free. Erpy itself is the paid part — it owns the sync engine, the identity map, the field mapping, the queue, the dead letters and the log. This package's whole job is to translate one vendor's API into Erpy's canonical documents.

Installing

composer require justinholtweb/craft-erpy-odoo
php craft plugin/install erpy-odoo

Then add a connection under Erpy → Connections and pick it from the ERP list.

What you need to know

Authentication

An API key generated under the user’s Preferences → Account Security. Use one rather than an account password; some Odoo Online instances refuse password logins over RPC entirely.

It is not a REST API

There are no endpoints, only models and methods. Everything here is search_read against a model with a domain. Errors arrive as HTTP 200 with an error object in the body, so a transport that only checked the status would report every failure as a silent empty page.

SKUs are default_code

Odoo's internal reference is the only field that behaves like a SKU. A product without one cannot be matched to Commerce.

What it syncs

The connection screen shows exactly which entities and directions this connector supports — it is generated from the connector's own declaration, so it can never advertise a flow it has not implemented.

A field is wrong

Correct it on the mapping screen: a rule whose target is a canonical field (sku, unitPrice, customerCode) overrides what the connector read, before anything reaches Commerce. No fork, no wait for a release.

Requirements

Craft CMS 5.3+, Craft Commerce 5.0+, PHP 8.2+, and Erpy 5.0+.

Support

justin@justinholt.com