download Installation
Prerequisites
- Browser: Google Chrome (or any Chromium-based browser) with extensions enabled.
- Odoo: Odoo 14–19+, on Odoo Online (*.odoo.com) or Odoo.sh, with a user account you can sign in to.
- Shopify: A Shopify store connected to Odoo through a supported connector (currently Emipro).
Installing the extension
- Open the Chrome Web Store listing
Go to the Odoo–Shopify Order Check page on the Chrome Web Store.
- Add it to Chrome
Click "Add to Chrome" and confirm the prompt. The extension installs in a couple of seconds.
- Pin the icon (optional)
Pin the extension to your toolbar so the settings popup is always one click away.
- Sign in to Odoo
Open your Odoo instance in the same browser and sign in. That's the only step needed before you start comparing orders.
Read-only and safe. The extension never writes to Odoo or Shopify. It only reads order data to build the comparison, so it is safe to run on production.
rocket_launch Getting Started
There is nothing to configure. Once the extension is installed and you are signed in to Odoo, open an order and the comparison appears automatically.
- Sign in to Odoo
Open your Odoo instance and log in as usual. The extension reads your active session to detect the instance and database — no API key, no URL to type.
- Open an order
Open any sales order in Odoo (or the matching order in Shopify). The extension auto-detects it and injects a comparison panel.
- Read the verdict
The panel shows a global match or mismatch verdict, then lets you expand the field-by-field breakdown on demand.
Zero config. There are no instances to register, no API keys to paste and no options page. The instance and database come straight from your Odoo browser session, cookie-first.
Network stays in the background. All network requests run in the extension's service worker. The Shopify Admin token is read from Odoo through the connector, kept in memory only, and never persisted or exposed to the page.
verified Reading the Verdict
The top of the panel gives you a single, at-a-glance verdict for the order:
- Match: Odoo and Shopify agree on the order. No discrepancies were found across the compared fields.
- Mismatch: At least one field differs between the two systems. The breakdown lists exactly what and where.
- Couldn't compare: The extension couldn't build a comparison — for example, your Odoo session expired or the order isn't linked to Shopify yet. The panel tells you what to do next.
Expanding the details
The verdict is immediate; the breakdown is on demand. Expand the panel to see every compared field, the value on each side, and a context section for anything that explains a difference without being an error.
dashboard The Discrepancy Breakdown
When there's a mismatch, the breakdown shows you field by field where Odoo and Shopify disagree:
- Totals: The order total, compared against Odoo's net invoiced amount (see the next section for why).
- Taxes: Tax amounts on each side. On orders compared against the invoiced total, the tax base and taxes may be marked as not comparable in this version.
- Quantities: Quantities per line. Odoo's invoiced quantity is treated as the authority against Shopify's current quantity.
- Line items: Products matched by SKU, with connector artifacts (such as discount or gift lines) excluded so they don't show up as phantom differences.
- Addresses: Shipping and billing addresses, compared by their meaningful parts (street, city, ZIP) rather than a single display name.
Severity. Each discrepancy is weighted, so a rounding-level difference doesn't read the same as a missing line or a wrong total. The verdict reflects the most significant difference found.
swap_horiz Invoiced vs Current
The economic verdict compares Shopify's current order against what has actually been invoiced in Odoo — not against the original sale order.
Why the net invoiced amount?
When an order is invoiced, the connector freezes the sale order. Comparing that frozen order against a Shopify order that has since changed produces false positives. Instead, the extension uses Odoo's net invoiced amount — posted customer invoices minus posted refunds — which is what genuinely matches Shopify's current state.
How each side is read
- Odoo: Net invoiced total (sum of posted customer invoices minus posted refunds) and the invoiced quantity per line as the authority.
- Shopify: The current order total and current quantity per line — the live source of truth for what the customer actually has.
Not invoiced yet? If the order has no posted invoices, the extension falls back to comparing the ordered amounts and labels the verdict as provisional so you know an invoice will firm it up later.
history Refunds, Returns & Cancellations
Refunds, returns and order edits rarely mean something is broken — they're part of normal order life. The extension shows them as context, kept separate from the discrepancy list so they don't trigger false mismatches:
- Refunds: The original amount, the refunds applied, and the resulting net invoiced amount are shown together so the math is transparent.
- Returns: A return in progress is shown as context on the fulfilment side rather than counted as a quantity discrepancy.
- Order edits: When a Shopify order is edited, the history (original, refunds, edits) is shown so a legitimate change doesn't look like an error.
Cancelled orders
When an order is cancelled, the panel shows a clear banner so you immediately understand why the numbers look the way they do, instead of reading the cancellation as a mismatch.
Context, not discrepancies. Everything in this section is informational. It explains differences; it never counts toward the match or mismatch verdict on its own.
business Starting from Shopify
You can open the comparison from a Shopify order too — not just from Odoo. To do that, the extension needs to know which Odoo instance the store belongs to, and it learns that mapping the first time you compare the order from Odoo.
How the learned mapping works
- Sign in to Odoo and open the order there once. The extension resolves the store and remembers which Odoo instance and database it maps to.
- From then on, opening the matching order in Shopify works directly — the extension already knows where to look.
- The mapping is stored locally in your browser; nothing is sent anywhere.
Store not learned yet? If you open a Shopify order for a store the extension hasn't seen from Odoo, it asks you to open the order in Odoo first instead of guessing. Once it has learned the mapping, Shopify-first comparisons just work.
settings Settings
A small settings home lets you check your access status, manage your license and read a few diagnostics — without leaving the page you're on.
Where to find it
- Extension icon popup: Click the extension icon in your toolbar to open settings from any tab.
- Gear in the panel: Open the ⚙ gear in the comparison panel to see the same settings in place, right next to the order you're looking at.
What you can do
- See your access state: Check whether you're on the free trial or an active license, and how many trial days remain.
- Activate a license key: Paste a Polar license key to unlock the extension at any time — during the trial or after it ends.
- Buy a plan: Jump straight to the checkout to purchase a Starter, Growth or Agency plan.
- Manage your subscription: Open Polar's hosted customer portal to change or cancel your subscription.
Read-only diagnostics
The diagnostics panel is purely informational and shows:
- Trial days remaining.
- Your plan and tier.
- The detected Odoo instance.
- The installed extension version.
credit_card Subscription
Your 14-day free trial
Every install starts with a 14-day free trial that unlocks the full extension. The trial is tracked locally on your device on an honor system — no sign-up and no network call to start it.
Plans
- Starter: Covers 1 Odoo instance and 1 Shopify store.
- Growth: Covers 1 Odoo instance and unlimited Shopify stores.
- Agency: Covers unlimited Odoo instances and Shopify stores.
How to buy
- Open settings from the extension icon popup or the ⚙ gear in the panel.
- Choose Buy and pick the Starter, Growth or Agency plan.
- Complete the checkout. You'll receive a license key to activate the extension.
Activating your license key
- Open settings and find the license key field.
- Paste the key you received after checkout.
- Activate. The full extension unlocks immediately for your whole team.
Company-wide subscription. One subscription covers your whole company — the same license key works across your team, with no per-user limit. Plans differ only in scope: how many Odoo instances and Shopify stores they cover.
Managing or cancelling your subscription
Billing, plan changes and cancellation are handled in Polar's hosted customer portal — the extension simply links you there.
- Open settings from the popup or the panel gear.
- Choose Manage subscription to open the Polar customer portal.
- Update your plan, payment details or cancel from there.
The extension never stores your payment details. All billing lives in Polar's portal.
help Troubleshooting
No Odoo session detected
If you're not signed in to Odoo, the extension can't detect your instance and shows an actionable "sign in to Odoo" message instead of guessing.
- Open your Odoo instance in the same browser.
- Sign in as usual.
- Return to the order — the panel picks up your session automatically.
Order not linked to Shopify
- Not a Shopify order: If the order has no Shopify counterpart, there's nothing to compare and the panel quietly steps aside.
- Open from Odoo first: When starting from a Shopify store the extension hasn't seen yet, open the order in Odoo once so it can learn the store-to-instance mapping.
Instance not detected
- Session expired: If your Odoo session has expired, sign back in and reopen the order.
- Unsupported hosting: Autodetection targets Odoo Online (*.odoo.com) and Odoo.sh in this version. Odoo on a fully custom domain isn't covered yet.
The panel doesn't appear
- Reload the page: Refresh the order tab so the content script re-runs and re-detects the order.
- Check the extension is enabled: Open chrome://extensions and confirm Odoo–Shopify Order Check is turned on.
Still stuck? The diagnostics in settings show the detected Odoo instance and your extension version — handy details to include when you contact support.
quiz Frequently Asked Questions
General
What does Odoo–Shopify Order Check do?
When you open an order in Odoo or Shopify, the extension compares both systems field by field — totals, taxes, quantities, line items and addresses — and shows a global match or mismatch verdict with a breakdown of any discrepancies.
Does it change anything in Odoo or Shopify?
No. The extension is strictly read-only. It never creates, edits or deletes data in either system — it only reads, so it is safe to run on production.
Do I need to configure anything?
No. The extension auto-detects your Odoo instance and database from your active session. There are no instances to register, no API keys and no options page.
Subscription
Is there a free trial?
Yes. Every install includes a 14-day free trial with full functionality. After the trial, the Starter, Growth and Agency plans are available — each covers your whole team and is scoped by how many Odoo instances and Shopify stores it includes.
How do I cancel?
Open settings, choose Manage subscription, and cancel from Polar's hosted customer portal. The extension only links you there; it never stores payment details.
Privacy & Security
Where does the Shopify token come from?
It's read from Odoo through the connector and kept in memory only inside the extension's service worker. It is never persisted to disk or exposed to the page you're viewing.
Does my order data leave my browser?
There's no backend. The extension reads Odoo and Shopify directly from your browser to build the comparison, and the learned store-to-instance mapping is stored locally on your device.
support Getting Help
Contact support
If something isn't working or you have a question, reach out and we'll help:
- Email: odoointegrations.team@gmail.com
- Include your extension version (shown in the settings diagnostics).
- Screenshots of the panel and the order make it much faster to help.