Skip to content
العربيةLet’s talk

Practical guide

Shopify and Odoo integration: a planning and testing checklist

Plan Shopify and Odoo integration with clear data ownership, product mapping, refund rules, exception handling and practical acceptance tests.

Lava Solutions · · 5 minute read

Hand-drawn website layouts on paper, with blue, purple and green watercolor sections.
Illustrative stock photo. Photo: Hal Gatewood / Unsplash.

A useful Shopify and Odoo integration keeps the storefront, warehouse and finance team working from consistent records. Start by deciding which system owns each field, then test how information moves when an order changes. Connecting two accounts is only the beginning.

This checklist covers a third-party connector or a custom integration. It does not assume that a particular connector supports every Odoo edition, Shopify setup or business process. The Odoo API references below cover version 19; confirm the requirements for your actual deployment.

1. Define the first workflow and its boundaries

Write one sentence describing the first release: for example, “Import approved Shopify orders into Odoo, reserve stock, and return shipment details to Shopify.” Specify when an order becomes eligible, which store and warehouse participate, and which exceptions need a person.

Separate that workflow from later ambitions such as catalogue publishing, customer marketing, multiple currencies or marketplace stock. Give each addition its own acceptance criteria. An integration that handles ordinary orders can still fail on bundles, subscriptions or amended orders.

Check access before choosing a connector. Odoo’s version 19 API documentation states that its external API is available on Custom pricing plans, not One App Free or Standard. Confirm the selected plan, hosting arrangement and connector requirements with the responsible provider.

2. Assign an owner to each data field

A record can appear in both systems without allowing both systems to edit every field. Agree a mapping sheet with the field, authoritative system, direction, trigger and conflict rule. The following is an illustrative starting point, not a required architecture.

InformationExample ownerDecision to document
Product identityOdoo product masterStable product and variant mapping; treatment of missing or repeated SKUs
Storefront descriptionsShopifyWhether catalogue updates may overwrite merchandising copy
Sellable stockAgreed Odoo warehouse calculationIncluded locations, reservations, safety buffer and damaged stock
Online orderShopify at purchaseImport trigger and handling of later edits or cancellation
Dispatch confirmationFulfilment operationWhich system records shipped quantities and tracking
Refund statusPayment transaction evidenceHow money, returned goods and credit records are reconciled

Use external record identifiers alongside SKUs. Product titles can change, and a blank SKU should create a visible mapping exception rather than an accidental match. Keep customer matching rules explicit too: email alone may not distinguish a company’s separate contacts or delivery addresses.

3. Review connector support with realistic examples

Ask the supplier to demonstrate your intended version, hosting, product variants, warehouse structure and payment flow. Request a written list of supported operations, known exclusions, update policy and responsibility for resolving failures. Compare the work needed to maintain a connector with the ownership required for a custom integration.

Do not reduce fulfilment to one “shipped” checkbox. Shopify’s FulfillmentOrder documentation describes items assigned to a fulfilment location and allows multiple fulfilment orders for an order. Test partial shipment and location changes against the connector’s actual behaviour.

Likewise, separate a refund record from successful money movement. Shopify’s Refund reference explains that transaction status determines whether funds have actually been returned. Decide separately whether returned items are saleable, damaged or awaiting inspection.

4. Plan for duplicate, delayed and missing updates

Shopify documents that webhook ordering is not guaranteed and recommends periodic reconciliation to recover missed updates. A later-arriving event must not silently replace newer information. Ask how the integration checks current state and records unresolved differences. See Shopify’s webhook behaviour guidance.

For HTTPS webhooks, verify signatures before accepting content. Repeated delivery must not create a second order or repeat a stock movement. Shopify’s delivery verification guidance covers signature checks and duplicate handling. Business operations also need stable identifiers so a retry can safely resume after an interruption.

Give the operations team an exception queue showing the affected order, failed step, last attempt and responsible owner. Define which failures can retry automatically and which need investigation. Reconciliation should compare expected and actual records, quantities and totals; a green connection indicator cannot establish that they match.

5. Run acceptance tests before expanding

TestEvidence required
Same order delivered twiceOne business order and one intended stock effect
Unknown product variantVisible exception; no substitute product chosen silently
Partial fulfilmentShipped and remaining quantities agree across both systems
Cancellation after reservationReservation and order state follow the approved cancellation rule
Partial refundCorrect line amounts, payment state and separate stock disposition
Connection outageRecovery finds missing changes without duplicating completed work

A fictional example: two items, one return

Imagine an online shop selling two lamps in one order. One ships today; the other is cancelled before dispatch. The shipped lamp later returns damaged. This is a fictional test scenario, not a Lava customer case.

The team should trace the order identifier, reserved quantities, shipment, cancelled line and refund transaction through both systems. The damaged return should follow its agreed inspection process rather than automatically increasing saleable stock. If the same update is replayed, all final quantities and financial records should remain consistent.

Prepare a reviewable integration brief

Bring your mapping sheet, representative orders, exception rules and acceptance results to the implementation discussion. Name who monitors failures and who can pause synchronization. Keep a recovery procedure and reconcile the pilot before adding more products or locations.

For the surrounding implementation decisions, read Odoo configuration versus customization or explore Lava’s Odoo services. Contact Lava with your current systems and the first workflow you want to connect.

For a related planning step, use the ecommerce CRM workflow guide.

Sources & further reading

A useful next step

Bring one real workflow.

Share the process you want to improve, the systems involved and the decision you need to make.

Talk to Lava ↗