Product Settings

Estimated reading: 7 minutes

Controls how products synchronize between Odoo and Shopify, including direction, creation/update modes, field updates, filtering, pricelists, and manual actions.

The page has two tabs:

  • Product Settings — all configuration options and manual sync actions (described below).
  • Product Sync Status (new) — a per-product sync view (described at the end of this section).

Product Sync Direction

Choose the active direction (only one at a time; switching shows a confirmation):

  • Odoo → Shopify (default)
  • Shopify → Odoo

Product limits & recommendations (first-time creation only):

  • Odoo → Shopify: up to ~20,000 products. Use category or tag sync to break large catalogs into batches. To avoid API rate-limit errors, you must use category-wise or tag-wise sync rather than syncing everything at once.
  • Shopify → Odoo: simple products up to ~10,000; multi-variant products (10–20 variants) up to ~500. Large catalogs export in the background with automatic rate limiting — you can leave the page and use Retry failed if needed.

Note: Bundle/Kit products cannot currently be synced automatically between Shopify and Odoo through the app.

Creation & Update Mode

Available for both directions:

  • Create new and update existing products — create missing products and update existing ones. (Create+Update for Shopify → Odoo is newly available.)
  • Update existing products only — never create, only update matches.

Sync Behavior — Odoo → Shopify

  • Auto-publish newly synced products — newly created products are published and available to customers (otherwise they remain unpublished).
  • Sync only products which have stock available on Odoo — skip products without stock.
  • Create Odoo Product Category as Shopify Collections (new) — automatically create Shopify collections from Odoo categories and organize products into them.
  • Map Products to Shopify Locations — map products to Shopify locations (new products only; later changes must be done in Shopify).
  • Set products in draft state on import (new) — create new products in draft state instead of active.
  • Add fixed tax rate (%) on top of synced prices (new) — add a configured tax percentage on top of the Odoo sale price before it is sent to Shopify (applies to both price and compare-at price). Example: with 5%, an Odoo price of 100 syncs to Shopify as 105. Use this when your Odoo prices are tax-exclusive but your Shopify store displays tax-inclusive prices.
  • Minimum sale price floor — products priced below this threshold are not synced/updated (blank or 0 = no limit).

Sync Behavior — Shopify → Odoo

  • Map to Odoo Product Category(new):
    • None — no category mapping (default Odoo category).
    • Shopify Product Type → Odoo Product Category — create categories from product types.
    • Shopify Collections → Odoo Product Category (new) — create categories from collections (if a product has multiple collections, the first is used).
  • Invoicing Policy in Odoo — Ordered quantities (standard) or Delivered quantities.
  • Sync Draft Products (new) — also sync Shopify draft products to Odoo.
  • Enable Product Vendor Mapping (new) — sync Shopify product vendors to Odoo (new products only).
  • Minimum sale price floor — as above.

Inventory Tracking Flag (new)

During product sync (both directions), the app now keeps the inventory-tracking flag aligned by default: Odoo’s Track Inventory setting maps to Shopify’s Track quantity on the variant. The mapping is version-aware — on Odoo ≤ 17.2 it uses the product type (Storable vs. Consumable), on Odoo 18+ it uses the Track Inventory (is_storable) checkbox. Untracked products no longer end up tracked (or vice versa) after a sync.

Sync Translated Product Content (new)

Enable Sync translated product content to read product titles, descriptions, and tags from Odoo in a selected Odoo language (Odoo translations) instead of the default English source value. Enable this when you edit product names in a non-English Odoo interface, then pick the language from the dropdown.

Auto Product Sync

Enable Auto Product Sync to automatically sync products once daily in the selected direction. The daily sync covers SKU, Barcode, Price, Title, Description, Tags, and Cost.

Product Field Updates (existing products)

When auto sync is on, enable Update/Export fields for existing products to selectively update these fields on products that already exist (applies to daily auto sync and manual import/export). Select at least one:

  • PriceTitleDescriptionTagsCost

During product creation, all relevant fields are synced automatically. Field updates only control which attributes are refreshed on existing products.

Category / Collection Filter

  • Odoo → Shopify: Sync Product By Category — pick specific Odoo categories (none selected = all).
  • Shopify → Odoo: Sync Shopify Product By Collection — pick specific Shopify collections (none selected = all).

Category pickers now show the full hierarchy path for each category (e.g. “Parent / Child / Subchild”) and include both Odoo product categories (marked “(General)”) and eCommerce/website categories (marked “(Website)”), so similarly named categories are easy to tell apart. Only categories belonging to the company selected in Configuration are listed. Use Refresh to reload the category/collection list after changes in either system.

Tags Filter

  • Odoo → Shopify: Sync Product Tags — pick specific Odoo tags (none = all).
  • Shopify → Odoo: Sync Shopify Product Tags — pick specific Shopify tags (none = all).

Pricelist Sync (Odoo → Shopify)

Enable Sync Odoo Pricelist to price products from a specific Odoo price list (disable to use the default sale price). Price sync applies at product, variant, and category levels.

Target Odoo Pricelist (Shopify → Odoo) (new)

For the Shopify → Odoo direction, enable Target Odoo Pricelist and select a pricelist: synced Shopify prices are then written into that Odoo pricelist for every product — simple and multi-variant, on every Odoo version. Prices on the product record itself keep syncing exactly as before; leave the option off and nothing changes.

Map Pricelist with Shopify Market Catalog (new)

Inside Pricelist Sync, enable Map Price list with Shopify Market Catalog to pair Odoo price lists with Shopify Market Catalogs. Add one or more rows, each mapping an Odoo price list → Shopify market catalog. Use Refresh market catalogs to reload the catalog list. Each row must be complete, and at least one complete mapping is required.

Manual Actions

Available as buttons on the Product tab:

  • Sync Prices — sync prices only (in the selected direction) for already-mapped products.
  • Import Products / Export Products — run a full product sync in the selected direction. Category/tag/collection filters still apply.
  • Import Images / Export Images — sync product images. Choose Default Images Only (primary image per product) or All Images (all images — may create duplicates if not cleaned up first).

Date-Range Filter for Manual Syncs (new)

Every manual sync confirmation now offers a scope choice:

  • All — sync everything (the default, and the historical behavior).
  • Date range — sync only records whose last-updated date falls between the dates you pick. Presets are available (Today, Yesterday, Last 7/30/90 days), and dates cover full days in your own time zone.

This lets you re-sync just the products (or prices/images) you recently changed instead of the whole catalog.

Sync Progress & Control (new)

When a manual sync starts (product, price, image, or inventory), a live progress bar appears under the tab bar showing status (Starting / In progress / Completed / Failed), counts processed, failed, and skipped — with a Stop button to abort the run and Dismiss once finished.

Export Progress & Control (Shopify → Odoo)

During a background export, a banner shows progress (“X of Y (Z%). Failed: A. Skipped: B.”) with an estimated time remaining. When finished with issues you can Retry failed, or Cancel export & reset while it is running.

Product Sync Status Tab (new)

The second tab on the Product Settings page lists your products (Odoo products when syncing Odoo → Shopify, Shopify products when syncing Shopify → Odoo) with their live mapping status:

  • Columns: image, product title (with variant count), product ID, SKU / Barcode / Variant ID (per your matching mode), and Sync Status (Synced / Not Synced).
  • Filter & search: tabs for All / Synced / Not Synced, free-text search, and sorting by title, created, or updated date.
  • Per-product sync: click Sync on a row to sync just that product.
  • Bulk sync: select multiple products and click Sync Selected Products to sync them as a batch.

Use this view to verify which products are mapped, and to push individual or selected products without running a full import/export.