When sales come from several channels, the problem is rarely limited to importing an order into Odoo once. The harder work is giving the team a reliable view of each order, defining which inventory can be sold and deciding who acts when systems disagree.
Enersys has worked on consolidating data from several e-commerce platforms, including Shopee and TikTok, into Odoo as a Business OS: a central system that connects business information with operating workflows. We do not name the client. From that work, we have gathered the business questions an organisation should answer before choosing a connector, middleware or custom API. Conditions can differ by channel, seller account and system version.
Follow One Order from Purchase to Closure
Start with one representative order and map its path from purchase to closure. The path may include payment confirmation, product matching, inventory allocation, fulfilment, cancellation, return and refund. Not every business needs the same statuses. The team does need to agree which statuses trigger work and which system confirms each one.
A discussion based only on screens or module names can hide differences in meaning. Sales may consider an order accepted when it enters the queue. The warehouse may consider it complete after dispatch. Finance may still be waiting for fees and the net settlement amount. Putting one shared journey on the table exposes these hand-offs before the technical specification is written.
Assign an Owner to Each Type of Information
“Synchronise the data” is too broad to guide a decision. Each important field needs a clear owner, including the order reference, SKU, quantity, payment status, fulfilment status, selling price, discount, channel fee and buyer contact data.
Some information may originate in the sales channel and move into Odoo. Other information may be managed in Odoo and sent back. Certain data may remain in its source system and be referenced only when required. Allowing every system to overwrite every value makes errors harder to trace.
Ask what the team will trust when two values differ, who may correct the record and where that correction must travel. The answer belongs in an operating agreement that business users can review, not only inside integration code.
Design for Exceptions Before the Happy Path
Normal orders often move through a system with little attention. People spend their time on unmatched SKUs, insufficient inventory, pending payment, incomplete addresses and cancellations that arrive after fulfilment has started.
Before launch, decide whether each exception should stop, enter a review queue or continue with a warning. Give every decision an accountable role. Without an owner, an exception simply moves from one screen to another and remains unresolved.
The team also needs a useful event history: when information arrived, how many processing attempts occurred, who corrected it and when it re-entered the workflow. This helps separate data problems, business-rule questions and connection failures.
Separate Available-to-Sell Inventory from the Recorded Quantity
The quantity in Odoo does not necessarily equal the quantity that should be offered on every channel. A business may reserve items for a shop, wholesale orders, inspection or orders that have not closed. “Available to sell” is therefore a business rule, not merely a number passed between systems.
Define how the available quantity is calculated, which events update it and what should happen when one channel accepts an order before another channel receives the latest value. Test low-stock, cancellation and return conditions rather than testing only an order with sufficient stock.
Reconcile with the Information Finance Uses
Importing every order does not complete reconciliation. The business may still need to account for discounts, fees, refunds and each channel’s settlement cycle. Before designing a report, ask finance which information explains the difference between gross sales, net cash received and outstanding amounts.
The specification should distinguish values supplied by the channel from values calculated in Odoo and explain how users can trace each value back to the source order. Clear references reduce the need to guess from field names during reconciliation.
Questions to Answer Before Selecting the Connection
- Which system owns the order, product, price, inventory and payment values?
- Which status starts the next task, and who approves an exception?
- Where do failed items appear, who is notified and how are they closed?
- Which records support reconciliation, and how far must the audit path reach?
- If the connection pauses, how will the team continue without losing or duplicating orders?
If you are preparing Odoo to receive work from Shopee or TikTok, take one real order with personal data removed and map its statuses, data owners and exceptions with sales, warehouse, finance and system teams. This keeps the technology discussion tied to work that people are accountable for together.
Discuss an Odoo integration with Enersys