How to Download Historical Orders from Shopify to Odoo

How to Download Historical Orders from Shopify to Odoo

Sometimes you may need to import historical Shopify orders into Odoo – for example, when migrating to Odoo, reconnecting a store, or rebuilding reporting data.
VentorTech’s Odoo Shopify Connector gives you flexible tools to control exactly which orders are imported.

Below is everything you need to know to download historical orders correctly.


Order Import Filters

The connector allows you to filter which Shopify orders should be imported into Odoo. You can combine multiple filters to match your needs precisely.

Available Filters

You can filter orders by:

  • Start date (Set Cut-off date)
    Define the earliest date from which orders should be imported.

    Screenshot 2026-01-23 at 12.42.30.png
    • Order created date ≥ Orders Cut-off Date

    • Order updated date ≥ Last Receive Orders Time

Any order created before your cut-off date will never be imported – even if it’s updated later.

  • Global order status

    • Open

    • Closed

    • Cancelled

    • Not Closed

  • Financial status

    • Authorized

    • Expired

    • Paid

    • Partially Paid

    • Partially Refunded

    • Pending

    • Refunded

    • Voided

  • Fulfillment status

    • Fulfilled

    • On Hold

    • Request Declined

    • Scheduled

    • Unfulfilled

    • Shipped

    • Unshipped

    • Partial

Order Statuses (can be managed via Quick Configuration wizard)

Most historical orders are usually completed, which means they are often already closed, or archived, in Shopify.

If you try to import historical orders but don’t see any results, double-check that you selected the correct order status. For example, selecting only Open orders will exclude completed historical orders.


Shopify Permissions for Downloading Orders

Default Permission: read_orders

By default, the Shopify app permission read_orders allows the connector to read historical orders. This permission is sufficient in many cases.


Connector Version Differences

The behavior of historical order downloads depends on the connector version you are using.

Connector Version Below 1.13.2 (REST API)

  • Uses Shopify REST API

  • No limit on historical orders

  • You can download orders starting from the very first order in your Shopify store

  • No additional Shopify permissions required

Connector Version 2.0.0 and Higher (GraphQL API)

  • Uses Shopify GraphQL API

  • Shopify returns only the last 60 days of orders by default

  • To import orders older than 60 days, you must request an additional permission:

Required Permission: read_all_orders

Without this permission, Shopify will not return older historical orders, even if filters are set correctly in Odoo.


How to Request read_all_orders Permission in Shopify

To gain access to all historical orders, follow these steps in the Shopify Partners Dashboard:

  1. Go to App distribution

  2. Click the name of your app

  3. Open API access requests

  4. In the Read all orders scope section click Request access

    Screenshot 2026-01-23 at 10.40.00.png
  5. On the opened page, describe:

    • What your app does

    • Why it needs access to all historical orders

  6. Click Request access

    Screenshot 2026-01-23 at 10.43.47.png

How to Add read_all_orders to Your Shopify App (Create a New App Version)

After Shopify approves your read_all_orders access request, you must create and release a new app version that includes the new scope. Shopify requires a new version whenever you change app permissions.

Follow these steps in the Shopify Partner Dashboard:

1. Open Your App Versions

  • Go to Apps

  • Click your app name

  • Open Versions

  • Click Create version

This opens the version configuration screen.

2. Add the read_all_orders Scope

In the Access → Scopes section add read_all_orders to the existing list.

Screenshot 2026-01-26 at 16.24.33.png

Important:

  • read_all_orders must be added together with read_orders or write_orders

  • Do not remove existing required scopes

  • Scopes should be comma-separated

4. Release the New Version

Click Release in the top-right corner.

In the popup window:

  • Set a Version name (for example: 2.0)

  • Add a Version message, such as:

Add read_all_orders permission

Click Release to publish the new version.

Screenshot 2026-01-26 at 16.25.09.png

5. Update the App in the Store (Important)

After releasing the new version:

  • Go to Admin panel of your Store,

  • Choose the App for Odoo Integration,

  • Update it.

This step is required because Shopify only grants newly added scopes after the merchant approves them again.

Screenshot 2026-01-26 at 16.26.13.png

Summary

  • Use order filters carefully, especially order status, when importing historical data

  • Older connector versions (REST API) have no historical limits

  • Newer versions (GraphQL API) require read_all_orders to import orders older than 60 days

  • Shopify approval is required to enable full historical access read_all_orders

  • Always create a new app version when modifying scopes. Updating scopes in an active version is not allowed.

Not sure if our connector will work for you or you need a demo?

If you’re unsure whether our connector is the right fit for your business, don’t hesitate to reach out. Our support team is here to help! We can answer your questions, provide guidance, or even schedule a demo meeting to show you how our connector works.

Contact us: https://support.ventor.tech/

Useful resources

Ecosystem Marketplace:

https://ecosystem.ventor.tech/

YouTube channel:

https://www.youtube.com/@VentorTech
Related Posts