Odoo and Amazon Seller Central integration
Odoo runs your ERP and accounting. Amazon Seller Central runs your e-commerce storefront. Connecting the two keeps your orders and inventory in sync across channels. Orders placed on Amazon flow into Odoo as sales transactions without re-keying, inventory adjustments in Odoo update your Amazon listings to prevent overselling, and financial settlement events from Amazon are recorded in Odoo for reconciliation.
What moves between them
Orders flow from Amazon Seller Central into Odoo at regular intervals. When a customer places an order on Amazon, ml-connector reads it from the Orders API, maps it to an Odoo sales order with line items, customer, and amounts, and creates the transaction in Odoo's accounting module. Inventory flows the opposite direction: when inventory levels change in Odoo (via receipt of goods, sales, or manual adjustment), ml-connector polls Odoo for the changes and updates the corresponding inventory on Amazon via the Inventory API. Financial settlement events and invoice details from Amazon are read periodically from the Finances API and recorded in Odoo for reconciliation and reporting. This polling cadence is configurable and typically runs every 30 minutes to 4 hours depending on order volume and reconciliation needs.
How ml-connector handles it
ml-connector stores the Amazon refresh token encrypted and exchanges it for a short-lived access token on each request, refreshing when the token expires. For Odoo, it uses the API key authentication method, which requires only the key and username to be set once in the configuration. The polling loops query both systems independently: the Orders API is polled to fetch new and updated orders, the Inventory API is polled to apply stock changes from Odoo to Amazon, and the Finances API is polled to retrieve settlement events and invoices. Amazon restricts buyer address and contact details unless a Restricted Data Token is requested from the Tokens API, so ml-connector requests RDT for orders that require shipping address visibility. Order mapping to Odoo respects the source customer record (either creating a new partner or matching to an existing one) and creates an account.move invoice alongside the order for immediate revenue recognition. Inventory updates are batched to optimize API calls, and the integration tracks sync timestamps to avoid reprocessing the same records. Every order, inventory adjustment, and financial event carries a full audit trail including the source record ID, sync timestamp, and any mapping decisions.
A real-world example
A mid-sized e-commerce seller runs Odoo as their core ERP and accounting system and sells through Amazon Seller Central as a primary sales channel. Before the integration, the fulfillment team manually checked Amazon orders several times daily, logged into Odoo, and created corresponding sales orders by hand, transcribing customer details, SKUs, and quantities. Inventory managers updated both systems separately, often leading to overselling on Amazon when Odoo inventory was not yet reflected. At month-end, the finance team received Amazon settlement reports, had to reconcile them by hand against Odoo invoices, and spent days chasing discrepancies. With Odoo and Amazon Seller Central connected, Amazon orders automatically create Odoo invoices on a 1-hour delay, inventory changes in Odoo push to Amazon within minutes, and financial settlement events are automatically recorded against the matching order, eliminating manual transcription and reconciliation overhead.
What you can do
- Read new and updated orders from Amazon Seller Central and create corresponding sales transactions in Odoo with customer, line items, and amounts.
- Keep Amazon inventory levels synced with Odoo stock by reading inventory changes and posting updates to the Inventory API.
- Record Amazon financial settlement events, refunds, and service fees into Odoo for period-end reconciliation and revenue tracking.
- Authenticate Odoo with API key and username, and Amazon with OAuth2 refresh token, handling token expiry and rotation automatically.
- Poll both systems on a configurable schedule with a full audit trail on every order, inventory adjustment, and financial event.
Questions
- How do orders flow from Amazon into Odoo?
- ml-connector polls Amazon's Orders API on a regular schedule, typically every 30 minutes to 2 hours. When a new order is found, it creates a sales order in Odoo with the customer name, shipping address, line items, and totals. The order is mapped to an existing Odoo customer if one matches by email or phone, or a new customer record is created. An invoice is automatically generated for revenue recognition.
- Does ml-connector handle inventory in both directions?
- Primarily Odoo to Amazon. When you receive goods or adjust inventory in Odoo, ml-connector reads those changes and pushes the updated stock levels to Amazon's Inventory API so your listings stay accurate and prevent overselling. Amazon order quantities reduce Odoo inventory only after the order is created, not bi-directionally through the connector.
- What happens to Amazon financial events and settlement reports?
- ml-connector polls the Finances API to retrieve settlement events, refunds, service fees, and invoice details. These are recorded in Odoo as accounting entries or payment records linked to the original order, so reconciliation happens automatically and the finance team can close month-end without manual matching.
Related integrations
More Odoo integrations
Other systems that connect to Amazon Seller Central
Connect Odoo and Amazon Seller Central
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started