Alibaba.com Store Management
Alibaba.com Store Management imports the products and orders of an authorised Alibaba.com seller account into Odoo, through Alibaba Group's official TOP gateway. Products arrive as native Odoo products (kept unpublished until you publish them), orders arrive as native contacts and quotations, and every import is logged. This page is the installation and configuration guide for the alibaba_store_management module as it ships today.
| Technical name | alibaba_store_management |
| Odoo versions | 17.0, 18.0, 19.0 (Community or Enterprise) |
| Current shipped version | 17.0 → 17.0.4.1.0, 18.0 → 18.0.4.1.0, 19.0 → 19.0.4.1.0 |
| Price | $499 USD — one-time, per Odoo version |
| Odoo module licence | OPL-1 |
| Category | Connector |
Since module version 4.1.0 the connector installs and runs standalone — there is no licence client, no activation key and nothing to switch on after installing. Your one-time purchase under the OPL-1 licence is the whole authorisation; go straight to configuration.
What the connector does
- Imports seller products owned by the authorised Alibaba.com seller account and creates native Odoo product records, kept unpublished until a manager explicitly publishes them (see Publishing imported products).
- Imports seller orders visible to that account, as native Odoo contacts and quotations (draft sale orders), with one mapping record per order carrying the platform's financial and fulfilment status.
- Enriches buyer contacts: street, city, ZIP, country and state/province are resolved onto the Odoo partner wherever the order address provides them.
- Runs on demand or on a schedule — a manual operations wizard, a Sync Now button on the dashboard, and opt-in scheduled actions.
Exports (products, orders, inventory), supplier/dropship catalogue search, an OAuth redirect flow and webhooks are deliberately not part of this build — see Scope.
Requirements
| Requirement | Detail |
|---|---|
| Odoo | 17.0, 18.0 or 19.0, Community or Enterprise. Self-hosted or Odoo.sh — Odoo Online (SaaS) cannot install third-party modules |
| Odoo apps | base, sale_management, stock, account, delivery, mail, web, portal, product, contacts, digest — all standard Odoo, installed automatically if missing |
| Python packages | requests |
| Platform account | An Alibaba.com seller account, plus an app on the Alibaba.com Open Platform (open.alibaba.com) with an App Key, an App Secret and an authorised Seller Session Token |
Install the Python package into the same interpreter that runs Odoo:
sudo -u odoo pip install requests
Installation
1. Download the ZIP for your Odoo version
Sign in at ecosire.com and download the build matching your Odoo version from your dashboard.
2. Extract into your addons path
unzip alibaba_store_management_v19_*.zip -d /opt/odoo/addons/
ls /opt/odoo/addons/alibaba_store_management/__manifest__.py # sanity check
The archive contains a single top-level alibaba_store_management/ directory. If your ls check fails, the module folder ended up one level too deep — move it up so __manifest__.py sits directly inside alibaba_store_management/.
3. Restart Odoo and install
sudo systemctl restart odoo
- Go to Apps and click Update Apps List (developer mode must be on).
- Search for Alibaba.com Store Management and click Install.
When the install finishes, an Alibaba menu appears in the main Odoo app switcher.
Who sees what
The module ships three connector access groups, assigned under Settings → Users: Alibaba.com User (browse imported data and the dashboard), Alibaba.com Manager (additionally run imports, test the connection and publish products), and Alibaba.com Administrator (full administrative access). The seller credentials and the Test Seller Connection button are additionally restricted to Odoo users with the Settings / technical access right, because those fields carry the TOP signing secret.
Configuration
Connect to Alibaba.com
Open Alibaba → Configuration → Instances (the list is titled Alibaba Seller Accounts) and create a record. The form fields are:
| Field | Technical name | Required | Notes |
|---|---|---|---|
| Instance Name | name | Yes | Free label for this connection |
| Seller Account Label | seller_account_label | Yes | Local label for the authorised seller account — unique per company. This is not a URL |
| Company | company_id | Yes | Owning company; imported data is scoped to it |
| Default Warehouse | warehouse_id | No | Default warehouse for imported orders |
| Currency | currency_id | No | Currency shown on dashboard totals |
| API Gateway | api_base_url | No | Defaults to the official TOP gateway https://eco.taobao.com/router/rest; only change it if Alibaba documents a different regional endpoint |
| API Version | api_version | — | Read-only, ships as 2.0 |
| App Key | app_key | For connection | TOP App Key of your Open Platform app |
| App Secret | app_secret | For connection | TOP App Secret; used locally to HMAC-sign every call, never sent on the wire |
| Seller Session Token | seller_session_token | For connection | Authorised seller session token, pasted (see below) |
| Last Sync / Notes | last_sync, note | — | Read-only timestamp, free-text notes |
The credentials come from the Alibaba.com Open Platform — create an app at open.alibaba.com with product and seller-order API permissions, and note its App Key and App Secret. This build deliberately ships no OAuth redirect flow (see Public endpoints): the public contract for a server-side token exchange is not verified, so provision a seller session token for your app in the Open Platform console and paste it into the Seller Session Token field.
Test the connection
With App Key, App Secret and Seller Session Token filled in, click Test Seller Connection in the form header. The test makes one real, signed call (alibaba.icbu.product.list, one record), so it also proves the app's API permissions. On success the status bar moves from Draft to Connected; on failure the record is marked Error and the platform's error text is shown. Do not run imports until the test passes.
Importing products and orders
Three entry points, all importing for connected instances of the current company only:
- Manual, per operation — Alibaba → Operations → Run Operations: pick the instance and one of the two operations (Import Authorised Seller Products, Import Authorised Seller Orders) and execute. The wizard explains what each operation covers before you run it.
- Manual, everything at once — the Sync Now button on the dashboard runs both imports for every connected instance.
- Scheduled — enable the import scheduled actions (below); they then process every active, connected instance on their interval.
Re-running an import is safe: records that already exist are matched on their Alibaba id and updated, not duplicated. A record that fails is contained — the run continues and the failure is written to the Logs view, so one bad order can no longer abort a whole batch.
Publishing imported products
Imported products are created as native Odoo products but stay unpublished — nothing goes live on a website by accident. When you want a product visible, select its rows in Alibaba → Products and click Publish to Website (confirmation is asked; the action requires the Odoo Website/eCommerce module and the Alibaba.com Manager group). The mapping record notes who published what and when.
Scheduled actions
The module installs four scheduled actions (Alibaba → Configuration → Scheduled Actions, or Settings → Technical → Scheduled Actions). The import schedules are opt-in and disabled on install — nothing syncs until you enable them:
| Scheduled action | Runs every | Enabled on install |
|---|---|---|
| Alibaba: Import Seller Products | 30 minutes | No — enable it |
| Alibaba: Import Seller Orders | 15 minutes | No — enable it |
| Alibaba: Process Queue Jobs | 5 minutes | No — enable it |
| Alibaba: Cleanup Old Logs | 24 hours | Yes |
The import actions only process instances that are Active and in the Connected state, scoped to the companies of the user's context. Process Queue Jobs drains up to 50 pending queue jobs per run, so enable it together with the imports. Shortening an interval is the usual cause of API throttling in the logs — the rate limit belongs to the platform, not Odoo.
Dashboard
Alibaba → Dashboard shows the first connected seller account of your current companies, and explains itself when there is none (an empty-state banner links to creating an instance and to the setup guide).
- 6 KPI cards — Total Revenue, Orders, Customers, Products, Avg. Order Value, Sync Health — with period-over-period deltas; the Products card also flags out-of-stock count.
- Period filters — Today, 7D, 30D, 90D, Year, or a custom date range; every number and chart follows the filter.
- Charts and lists — a Sales Trend chart, an Order Status breakdown (completed / pending / failed / cancelled), the top 5 products by revenue, and a recent-activity feed drawn from the sync log.
- Quick actions — jump straight to Products, Orders, Queue Jobs, Logs or Settings.
- Status footer — open queue jobs, errors, out-of-stock products and sync success rate.
- Sync Now runs a full import for connected instances; the dashboard also auto-refreshes every 60 seconds. Totals are bounded (the last 5,000 records per view) to keep the dashboard fast on mature seller accounts — full totals remain available in the native list and pivot views.
Public endpoints
This build serves no external HTTP endpoints. There is no OAuth redirect URI to register and no webhook URL to paste into the Alibaba portal — authentication happens through the App Key, App Secret and Seller Session Token stored on the seller-account record, and imports run on Odoo's scheduler or on demand.
Controller code for a future OAuth callback and webhook intake ships with the module but is deliberately not loaded: those paths are reserved, answer nothing, and must not be registered anywhere while they are inactive.
| Reserved path | Method | Status |
|---|---|---|
/alibaba/callback | GET | Inactive — do not register it as a redirect URI |
/alibaba/webhook/product | POST | Inactive |
/alibaba/webhook/order | POST | Inactive |
/alibaba/webhook/customer | POST | Inactive |
/alibaba/webhook/refund | POST | Inactive |
Scope — what the connector does not do
To keep every advertised capability true, the connector is deliberately narrowed to authorised seller product and order imports. It does not provide:
- product or order export to Alibaba.com, or bidirectional sync;
- inventory writes to the platform (stock is read from Odoo for the out-of-stock KPI, never pushed);
- supplier / dropship catalogue search across other Alibaba sellers;
- payout, refund, risk or workflow automation screens;
- an OAuth redirect flow or MNS webhook intake (see Public endpoints).
If a capability you need is listed here, it is absent on purpose — ask support before buying, not after.
Troubleshooting
| Symptom / message | Cause and fix |
|---|---|
| Enter the App Key, App Secret, and authorised Seller Session Token before testing the connection | One of the three credentials is empty on the seller-account record. Fill them, then re-test |
| Connection test fails with the platform's error text | Usually an app without product-API permission, or a session token provisioned for a different app. Check the app's permissions at open.alibaba.com |
| Only Alibaba.com managers can run this operational action | The user is in the Alibaba.com User group only. Add them to Alibaba.com Manager (or Administrator) |
| No connected Alibaba seller instance is available for the current company | Sync Now found no instance in the Connected state for your companies — run a successful connection test first |
| Nothing imports automatically | The import schedules are opt-in: enable Import Seller Products, Import Seller Orders and Process Queue Jobs, and confirm Odoo's cron worker runs (--max-cron-threads > 0) |
| Some records fail, the rest import | Contained by design — open Alibaba → Operations → Logs for that run; the platform's rejection text is recorded per record |
| Publish to Website raises Website publishing is unavailable | The Odoo Website/eCommerce module is not installed; the publish field does not exist without it |
| Duplicated data after a retry | Re-imports update existing records matched on the Alibaba id. If you imported into the wrong company or instance, review the mapping records before re-running rather than importing on top |
| Throttling / rate-limit errors in logs | The interval is too aggressive for the platform's limits — lengthen the scheduled action's interval |
Version history
| Odoo version | Version you download today |
|---|---|
| 17.0 | 17.0.4.1.0 |
| 18.0 | 18.0.4.1.0 |
| 19.0 | 19.0.4.1.0 |
ECOSIRE module versions are <odoo major>.<module major>.<minor>.<patch>, so 19.0.4.1.0 is the Odoo 19 build of module version 4.1.0. Your installed version is shown in Apps.
What changed in the 4.x series
- 4.1.0 (2026-08-19) — installs standalone. The licence-client dependency was removed: no activation key, no activation screen, nothing to verify. Buyer address enrichment (country, state, ZIP) is unchanged.
- 4.0.2 (2026-08-04) — failure-contained imports. One bad record rolls back alone; it can no longer abort the whole run or poison later records.
- 4.0.1 (2026-07-22) — role-restricted operations. Connection tests, imports and publishing are limited to Alibaba.com managers and administrators; read-only users keep full view access.
- 4.0.0 (2026-07-22) — TOP gateway rewrite. The connector now talks to Alibaba's documented TOP gateway with HMAC-MD5 signing and a seller session. It is scoped to authorised seller product/order imports; imported products stay unpublished until published explicitly; import schedules became opt-in; export/OAuth/webhook surfaces and the payout/refund/customer/inventory/location/payment/webhook menus were removed.