Lazada Store Management
Connect your Lazada seller account to Odoo through the Lazada Open Platform API. This module uses HMAC-SHA256 signed requests with region-specific endpoints to synchronize products, orders, and inventory across all six Lazada markets in Southeast Asia (Singapore, Malaysia, Thailand, Indonesia, Vietnam, Philippines).
Compatibility: Odoo 17 / 18 / 19
Price: $349 (one-time), per Odoo major version
Licence: OPL-1 on Odoo 19 — no activation key. Odoo 17 and 18 still require an ECOSIRE licence key
Key Features
- Lazada Open Platform API with HMAC-SHA256 signing
- Multi-region support: Singapore, Malaysia, Thailand, Indonesia, Vietnam, Philippines
- Country-specific API endpoints
- Product import from Lazada, and product export from Odoo with item-id write-back
- Inventory and price push for mapped templates
- Order import, with buyers and products resolved or created from the order
- Combo listings mapped onto Odoo bills of materials, with a backfill action
- Reverse orders (returns and cancellations) with list, kanban, pivot and graph views
- Settlement import with fee-to-GL account mapping
- Optional automatic invoicing on order confirmation
- Category, attribute, shipping-method and payment-method mapping
- Signature-verified webhook receiver, fail-closed, with a per-delivery log
- OWL 2 dashboard with KPIs, charts and click-through drill-downs
- Multi-company record isolation and per-configuration access
Prerequisites
- Odoo 17, 18, or 19 (Community or Enterprise edition)
- Your ECOSIRE purchase for this module and your Odoo version. On Odoo 19 no key is entered in Odoo; on Odoo 17 and 18 an active ECOSIRE licence is still required
- A Lazada seller account in one of the supported markets
- Lazada Open Platform App Key and App Secret
Installation
- Download the module ZIP from your ECOSIRE Dashboard
- Extract to your Odoo addons directory:
unzip ecosire-lazada-*.zip -d /opt/odoo/addons/
- Restart the Odoo service:
sudo systemctl restart odoo
- Navigate to Apps, click Update Apps List
- Search for Lazada Store Management and click Install
- On Odoo 17 and 18, install the free
ecosire_license_clientmodule first and activate your licence. On Odoo 19 there is no licence client and no activation step — see the installation guide
Configuration
Step 1: Obtain Lazada API Credentials
- Go to the Lazada Open Platform and register as a developer
- Create a new application
- Note your App Key and App Secret
- Complete the OAuth flow at
https://auth.lazada.com/oauth/authorizeto obtain tokens - Note your Access Token and Refresh Token
Step 2: Connect in Odoo
- Navigate to Lazada Store Management > Configuration
- Create a new configuration and enter:
- App Key (
app_key) -- Lazada application key - App Secret (
app_secret) -- Lazada application secret - Access Token (
access_token) -- OAuth access token - Refresh Token (
refresh_token) -- for automatic renewal - Region (
region) -- select SG, MY, TH, ID, VN, or PH
- App Key (
- Click Test Connection to verify API access
- Configure your default warehouse and company mapping
Step 3: Configure Sync Settings
On the configuration record, switch on only the areas you are ready for — Sync Products, Sync Orders, Sync Customers, Sync Inventory — and turn them on one at a time. They gate the export wizard, the inventory push and which webhook topics are processed.
Auto Sync Customers is the one toggle that puts a lane on a timer: the lazada: Sync Customers scheduled action (every 6 hours) picks up active configurations that have it on. Product and order synchronization is operator-driven — run it from the Operations wizards, with the webhook receiver as the near-real-time path.
Two further options are worth setting deliberately:
- Auto Import Settlements — imports settlement files as they arrive
- Auto Invoice on Confirm — invoices a confirmed Lazada order automatically
Then set up the mappings under Lazada → Configuration, so imported data lands on the right Odoo records: categories, product attributes and terms, shipping methods to Odoo carriers, payment methods to journals, order statuses, and — under Finance — Lazada fees to the GL accounts they should post to.
Initial Sync
- Go to Lazada > Operations > Import Wizard
- Select the data types to import (Products, Customers, Orders)
- Set the date range for historical orders
- Start the import and monitor progress in the sync log
Run a small import first — restrict it by date or to a handful of products — and check the results before importing everything. To push the other way, use Operations → Export Wizard, which creates and updates Lazada listings and writes the returned item id back onto the Odoo product.
API Details
| Field | Value |
|---|---|
| Auth method | HMAC-SHA256 signed requests + OAuth tokens |
| Auth URL | https://auth.lazada.com/oauth/authorize |
| Token URL | https://auth.lazada.com/rest/auth/token/create |
| SG endpoint | https://api.lazada.sg/rest |
| MY endpoint | https://api.lazada.com.my/rest |
| TH endpoint | https://api.lazada.co.th/rest |
| ID endpoint | https://api.lazada.co.id/rest |
| VN endpoint | https://api.lazada.vn/rest |
| PH endpoint | https://api.lazada.com.ph/rest |
| Signature | HMAC-SHA256 over sorted params with api_path prefix |
| Key config fields | app_key, app_secret, access_token, refresh_token, region |
Dashboard
The built-in OWL 2 dashboard provides real-time visibility into your integration:
- 6 KPI cards -- Revenue, Orders, Customers, Products, Avg Order Value, and Sync Health -- each with period-over-period delta indicators
- Sales Trend chart (Chart.js line chart) with interactive date filtering
- Order Status breakdown (doughnut chart) showing distribution across statuses
- Period filters -- Today, 7 days, 30 days, 90 days, Year, or Custom date range
- Activity feed showing recent sync log entries with type indicators
- Quick action buttons for Products, Orders, Customers, Queue, Logs, and Settings
- Status footer with Queue Jobs, Errors, Out of Stock, and Sync Rate
- Auto-refresh every 60 seconds with dark mode support
- Chart drill-downs (Odoo 19, from
19.0.2.1.1) — click a day on the sales trend to open that day's Lazada orders, or an order-status segment to open the orders in that state - Amounts formatted in the configuration's currency
Troubleshooting
| Issue | Solution |
|---|---|
| Connection failed | Verify API credentials; check network connectivity |
| Product or order sync never runs on its own | Expected — only the customer sync is scheduled. Run products and orders from Operations, or rely on the webhook. |
| Duplicate products | Review product mapping; ensure SKU matching is configured |
| Orders not importing | Verify order status filters and date range settings |
| Wrong region endpoint | Verify the Region field matches your Lazada seller account market |
| Signature error | Check app_secret and ensure timestamp is in milliseconds |
| Webhook deliveries rejected with 403 | The Webhook Secret on the configuration is blank or does not match the secret registered in the Lazada console |
| Token expired | Module auto-refreshes; re-authorize if refresh token has expired |
| Licence not active (Odoo 17 / 18) | Verify your ECOSIRE licence key at Settings → ECOSIRE.COM → License Status. Odoo 19 uses no key. |