Skip to main content
iVentureTeam
Integrations

Odoo 20 Upgrade and eCommerce Integrations: Order Flow Risk

Odoo 20 upgrade risks for eCommerce integrations: Shopify, Amazon and WooCommerce connectors, payments, shipping, SKU mapping, cutover and reconciliation.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
October 23, 2026Updated October 22, 202612 min read1 view
Odoo 20 Upgrade and eCommerce Integrations: Order Flow Risk

An Odoo upgrade rarely breaks the shop page. It breaks the steps between a customer clicking Pay and the money reaching your bank. Our Odoo 20 upgrade services treat that order flow as the main test case.

This guide is for eCommerce managers, finance leads and IT owners who sell through Shopify, Amazon, WooCommerce or the Odoo website. If your risk sits mostly in custom code, read our guide to the Odoo 20 custom module upgrade first.

Why is the order flow the riskiest part of an Odoo 20 upgrade?

The order flow is the riskiest part of an Odoo 20 upgrade because it crosses several apps and outside systems, and a break at any step stops revenue or hides it. Each step hands data to the next.

A typical online order passes through eight steps:

  1. Order capture: the storefront or marketplace receives the order.
  2. Sale order: a connector creates it in Odoo with the right products and taxes.
  3. Payment capture: the provider confirms the payment and Odoo confirms the order.
  4. Stock reservation: Odoo reserves stock and pushes new levels to every channel.
  5. Shipping label: the carrier connector books the parcel and returns a label.
  6. Tracking: the tracking number goes back to the storefront and the customer.
  7. Invoice: Odoo invoices the order in the right journal.
  8. Payout reconciliation: finance matches the channel or provider payout to the invoices.

Odoo's upgrade guide asks you to test "integrations with external software" and "online sales with eCommerce". Most plans test apps one at a time, but orders fail in the gaps between them.

Can you upgrade an existing database to Odoo 20 yet?

Not through Odoo's standard service yet: when we checked on 22 October 2026, the target list on Odoo's upgrade platform stopped at 19.0. Odoo 20 itself was released in September 2026.

Use the gap to list every connector, check which ones have a 20.0 version and write the test plan. When 20.0 appears as a target, request a test database and start rehearsing.

Odoo's upgrade service does not cover third-party or in-house modules without a maintenance contract. Most Shopify and WooCommerce connectors fall into that group.

What can break at each step of the Odoo order flow?

Odoo 20 order flow: What can break at each step?

Every step can break in its own way, so each one needs its own test before go-live. The table maps the common failure points.

Order-flow stepWhat can break after the upgradeTest before go-live
Order captureWebhooks fail during downtime; connector not ready for 20.0Place a test order on every channel and confirm it lands once
Sale orderSKU no longer matches the product; variant or bundle mismatchMatch your top SKUs, variants and bundles
TaxesFiscal position or tax-included display differsCompare totals with the channel to the cent
Payment captureProvider left in test mode; custom code reads removed fieldsOne small live payment and refund per provider
Stock reservationStock pushed late or wrong; products unpublishedCheck available quantity on each channel
Shipping labelCarrier still in test mode; removed carrier modulePrint one real label per carrier and service
TrackingScheduled actions off; tracking not sent backConfirm tracking reaches the storefront and email
Invoice and payoutWrong journal; fees and cents not matchedReconcile one full payout end to end

Our Odoo 20 eCommerce release notes explain all 38 eCommerce changes and what each one means for your upgrade.

How do connectors and webhooks break during an Odoo upgrade?

Connectors break in two ways: they miss orders while Odoo is offline, or they fail after the upgrade because their code or API calls no longer match Odoo 20. Both can stay silent for days.

Your production database is unavailable during the upgrade, but storefronts keep selling and their webhooks hit a server that does not answer. Each platform reacts differently:

Then check the API calls. Odoo's external API documentation says XML-RPC and JSON-RPC are deprecated. The `db` service is gone in Odoo 20, and `common` and `object` are scheduled for removal in Odoo 22 (fall 2028).

Plan the move to the JSON-2 API now. The same page says manually created API keys cannot last more than three months, so plan key rotation too.

Our Odoo API integration guide covers the code side.

Why do payments and shipping carriers behave differently on a test database?

Odoo neutralizes upgraded test databases, so payment providers and delivery carriers are reset to test mode and scheduled actions are disabled. A test database cannot prove that live payments, labels or syncs work.

Odoo's upgrade documentation lists what neutralization does: scheduled actions off, outgoing mail replaced, providers and carriers in test mode, and bank sync off. That protects customers but hides real failures.

Plan for it:

  • Use sandbox keys from each payment provider and carrier for the test database.
  • Run marketplace and tracking scheduled actions by hand during testing.
  • Keep a list of every live credential to re-check on go-live day.
  • Book one small live payment and refund per provider right after the upgrade.

Odoo 20 also changes the providers. The old State field is replaced by Published, Live and Archive, so custom payment modules that read `provider.state` must be updated.

Authorize.net needs a signature key and webhook after upgrading, PayPal needs an OAuth reconnect for its new features, and SOFORT is removed. Our Odoo 20 Online Payments release notes cover all 16 changes.

Failures are easy to miss. An Odoo 18 user reported paid website orders staying as quotations while PayPal showed the payment confirmed. Check order states too.

How do product, SKU and tax mappings drift after an upgrade?

Mappings drift because the upgrade changes how Odoo stores prices, variants and taxes, while the channel keeps sending the same SKUs and totals. Nothing errors; the numbers just stop matching.

Odoo's Amazon connector guide matches each Amazon SKU to a product's Internal Reference. With no match, the line uses a default product called Amazon Sale, so stock and margins go wrong.

The same guide warns that Amazon totals can differ from Odoo by a few cents because of taxes, settled with a write-off. After an upgrade, check that these write-offs stay small.

Odoo 20 changes to watch in this step:

  • Variant prices: a variant's sales price can now be edited directly and is stored on the variant.
  • Pricelists: the old percentage rule type was dropped, so code or imports that create it must change.
  • Tax display: each pricelist can show prices with or without tax, for B2B and B2C on one website.
  • Order lines: sales order lines no longer need a product, so connectors that expect one must handle empty products.

What changes for shipping labels, tracking and returns in Odoo 20?

Shipping changes in Odoo 20 mostly affect relay points, parcel references and returns, so retest every carrier and return flow. Our Odoo 20 Inventory release notes list the details.

The Mondial Relay modules are removed. Its pickup points now come through Sendcloud, so Mondial Relay users need a Sendcloud account and new delivery methods before upgrading.

Sendcloud now sends the sales order name plus the package name as the parcel reference. If your warehouse or a tracking tool matches labels on the plain order number, update that match.

The return wizard is gone. Clicking Return now creates a draft return transfer directly. Custom modules or connectors that call the old `stock.return.picking` model break and must be rewritten.

How should you freeze orders and cut over to Odoo 20?

Freeze or queue orders for a short, planned window, upgrade, then reopen channels one at a time and check each one. Odoo recommends a full rehearsal the day before the production upgrade.

Use this cutover checklist:

  1. Rehearse: run the full cutover on a fresh upgraded test database the day before.
  2. Pick a quiet window: choose your lowest order hour and tell customer service.
  3. Record the last order: note the last order number and time on each channel.
  4. Hold the queue: pause connector jobs, or let channels queue orders if they can.
  5. Back up: keep a full backup; on Odoo Online a production upgrade cannot be reverted.
  6. Upgrade and switch live: set payment providers and carriers back to live and check credentials.
  7. Restart syncs: re-enable scheduled actions and check every webhook subscription.
  8. Run live tests: one real order, payment, label and refund per channel.
  9. Reopen channels: one at a time, watching for duplicates and missing orders.

On Odoo.sh, the platform reverts automatically if the upgrade fails. Odoo Online has no revert once it is done.

How do you re-sync and reconcile orders after go-live?

Count every order from the freeze window by channel, then match orders, payments and payouts until all three agree. This is where hidden losses show up.

For Amazon, Odoo's order management guide forces a re-sync when you move the Last Order Sync date back. Many Shopify and WooCommerce connectors offer an import by date.

Then match payment transactions to confirmed orders, and the first payouts to invoices. Odoo 20 also sends more GA4 events, so custom tracking code may double count.

Run the month-end checks in our Odoo upgrade verification guide after your first full month on Odoo 20.

Which industries carry the most order-flow risk in an Odoo 20 upgrade?

Multi-channel retailers and marketplace sellers carry the most risk, because they run the most connectors and orders in flight.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
Multi-channel retailOversells when stock sync pausesOne stock figure pushed to each channelRehearse freeze and re-sync windows
Marketplace sellersUnmatched SKUs land on a default productOffers mapped to internal referencesAudit SKU mapping before cutover
B2B wholesale portalsTax-included and tax-excluded price errorsPrice display per pricelist in Odoo 20Test B2B and B2C pricelists side by side
Subscription and D2C brandsSaved cards and recurring chargesTokenized payments on supported providersVerify tokens and renewals after upgrade
Cross-border sellersCustoms data, carriers and currenciesVariant-level HS codes in Odoo 20Map HS codes and test carrier labels
Specialty retailCustom checkout and product filtersOdoo eCommerce with custom modulesPort and test checkout code

See the wider setup on our Odoo ERP for retail page.

How iVentureTeam helps protect your Odoo eCommerce integration during an upgrade

Planning Odoo 20? Price the upgrade

We upgrade the database and the order flow around it as one project, so every channel, payment and carrier is tested before customers notice. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.

  • Order-flow map: every channel, connector, provider and carrier listed with an owner.
  • Connector porting: Shopify, WooCommerce, marketplace and payment modules moved to 20.0 through our Odoo integration services.
  • Checkout and storefront: custom checkout, pricing and product pages ported by our Odoo eCommerce development team.
  • Cutover rehearsal: a timed freeze, upgrade and reopen plan run on a test database first.
  • Reconciliation: freeze-window orders, payments and payouts matched by channel.

For a first number, try our Odoo migration cost calculator.

Odoo eCommerce upgrade case study: WUNDERBAR Custom Radio Shop

A German classic-car radio specialist moved its online store to a newer Odoo version and rebuilt checkout in the same project. WUNDERBAR Custom Radio Shop GmbH is based in Stuttgart.

Its buyers shop by exact vehicle fitment, and the store ran on an aging Odoo 15 codebase with a multi-step checkout.

We migrated the code from Odoo 15 to Odoo 17 and built a one-page checkout with the PayPal payment gateway and multi-currency support. We also added fitment search by vehicle, year and model, and linked GA4 and Google Merchant Center.

The project took 10 weeks. The owner said: "Migration happened without losing a single order."

Read the WUNDERBAR Odoo eCommerce checkout and migration case study.

The bottom line on Odoo eCommerce integration during an Odoo 20 upgrade

Treat the order flow as the main test case: if one real order can travel from storefront to reconciled payout on the upgraded database, the upgrade is ready. If it cannot, wait.

Map every connector now, rehearse a short order freeze, and plan re-sync and payout reconciliation for the first week after go-live.

Ready to upgrade to Odoo 20 without losing orders?

Book an order-flow review

Get an order-flow review before you book the upgrade. Plan an Odoo 20 upgrade that keeps your store selling, call +91-90235-15208, or email business@iventureteam.com.

Frequently Asked Questions

Will my Shopify or WooCommerce connector work after upgrading to Odoo 20?

+

Only if the connector has a 20.0 version or is ported. Most are third-party or custom modules that Odoo's upgrade service does not cover without a maintenance contract.

Can I upgrade my Odoo database to Odoo 20 now?

+

Not through Odoo's standard upgrade platform yet. On 22 October 2026, its highest target was 19.0.

Is XML-RPC removed in Odoo 20?

+

No. XML-RPC and JSON-RPC are deprecated in Odoo 20 and still work, but the db service was removed. The common and object services are scheduled for removal in Odoo 22, in fall 2028.

Why are payments in test mode after an Odoo upgrade test?

+

Odoo neutralizes upgraded test databases. Payment providers and carriers are reset to test mode, and scheduled actions, outgoing mail and bank sync are turned off.

How long will my store be offline during an Odoo upgrade?

+

Your Odoo database is unavailable while the production upgrade runs, so time it on a test database first. Your storefront can stay open, but connectors must queue or re-sync the orders placed during that window.

How do I recover orders missed during the upgrade?

+

Re-import orders by date from each channel. For Amazon, move the Last Order Sync date back in Odoo to force a re-sync. Then compare order counts per channel for the freeze window.

How much does an Odoo 20 upgrade cost?

+

Our own industry estimates are $1,500 to $3,000 from Odoo 19 and $3,000 to $6,000 from Odoo 18. Each connector to port or rebuild adds to that, so price the integrations separately.

What should I test first after upgrading an Odoo eCommerce store?

+

Run one real order per channel end to end, from import to payout. Then test refunds and returns, which Odoo 20 changed.

Ready to put this into action?

Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.