Field Mapping

Estimated reading: 3 minutes

(New module.) Field Mapping lets you define custom rules that map fields between Odoo and Shopify for Orders, Products, and Customers, in either direction, with optional conditions.

When to use it: The most common standard fields are already mapped during normal sync. Use Field Mapping only when you need extra field pairscustom Odoo fieldsmetafieldsmedia/images, or conditional mapping.

Open it from the Field Mapping link, then pick a tab: OrdersProducts, or Customers.

Creating a Mapping Rule

  1. Click Add mapping (a new row opens in edit mode).
  2. Sync direction — Shopify → Odoo or Odoo → Shopify.
  3. Shopify side:
    • (Products only) Shopify level — Product or Product variant.
    • Shopify field type — Standard fieldsMetafields, or Product media (media is Odoo → Shopify only).
    • Shopify field — pick the field/metafield/media target. On the Orders tab, standard fields include Note and Note attributes (new) — Shopify checkout note attributes are formatted to match the target Odoo field type.
  4. Odoo side:
    • (Products) Odoo model — Variant (product.product), Template (product.template), Vendor (product.supplierinfo), or Product attributes (new).
    • (Customers) Odoo model — Main contact, Billing address, or Shipping/delivery address.
    • Odoo field type — Default fieldsCustom fields (x_*) (loaded live from Odoo), or Attribute Names (new, with the Product attributes model).
    • Odoo field — pick the field (or the attribute name).
  5. (Optional)Optional condition — apply the mapping only when a condition is met:
    • Field path (dot notation, e.g. tags or addresses.0.country)
    • Operator — equals / not equals / in list / contains / empty / not empty
    • Value (or comma-separated values for “in list”)
  6. Keep Enabled checked (or uncheck to keep the rule but pause it), then click Done.
  7. Repeat as needed, then Save (a rule must have both fields selected before you can add another).

Capabilities

  • Custom Odoo fields (x_*) — including auto-discovery from Odoo.
  • Metafields — map to/from Shopify metafields (text, boolean, JSON, measurement units, rich text, list, references, links, etc.).
  • Product attributes → metafields (new) — write the value(s) of a selected Odoo product attribute to a Shopify metafield (Odoo → Shopify).
  • Order note attributes (new) — map Shopify checkout note attributes to an Odoo order field, formatted for the target field type (Shopify → Odoo).
  • Unit prices (new) — populate Shopify’s native unit price: map the Odoo quantity field (e.g. Base Unit Count) as the Odoo field, then choose the Odoo unit field (e.g. Base Unit of Measure). A reference amount in the unit name is respected — “100 g” shows the price per 100 g, “kg” per 1 kg.
  • Product media / image URLs (new) — map an Odoo URL field to Shopify product or variant media (Odoo → Shopify).
  • Many2one fields — resolved to display names automatically.
  • Addresses & company — map Shopify address blocks to Odoo main/billing/delivery partners (company can be merged into the street line).
  • Measurement units — automatic conversion (weight → kg, dimensions → cm, volume → liters by default).
  • Conditional rules — e.g., only map a field when Shopify tags contain a value.
  • Multi-company — rules can be scoped to a specific Odoo company.
  • Contextual validation — incomplete rules are flagged inline on the exact row and field that needs attention.