How to sync Shopify products and variants to Baserow
Mirror your whole catalog into Baserow — products, their variants, prices, SKUs and per-location inventory — and keep it current in real time. One-way and read-only, so your store is never modified.
Products and variants sync as two linked tables: each variant points back to its product with a native Baserow link-row, so rollups and lookups (like “total inventory per product”) just work.
Sync products in six steps
Connect your Baserow database
Open the Baserow tab in Baseify and add a connection. Baserow Cloud users enter https://api.baserow.io; self-hosters should follow the self-hosted Baserow guide and create a database token first.
Provision Products and Variants tables
Use Quick setup to provision typed Products and Variants tables (already linked to each other) in one click, or create your own tables in Baserow with a column for the Shopify product / variant ID.
Create the Products sync
In Syncs → Create sync, choose Products, track create / update / delete, and point it at your Products table. Designate the column holding the Shopify product ID as the external key so writes upsert cleanly.
Add a Variants sync
Variants are expanded from their parent product. Create a second sync for Variants into your Variants table, using the variant ID as its external key. Baseify writes a link-row from each variant back to its product automatically.
Map fields and enable per-location inventory
Map the fields you need — for example title → Product, variants.edges.node.price → Price, and SKU. On the Variants sync you can enable per-location inventory, which writes available and on-hand quantities per location into their own self-healing columns. Then enable the syncs.
Backfill your catalog
Run Backfill on each sync (or Backfill all for a template, which runs Products before Variants so links resolve on the first pass). Backfill is idempotent and safe to re-run.
Per-location inventory
Enable inventory on the Variants sync to capture available and on-hand quantities for each location, each in its own column named like Inventory · Warehouse (available). Columns self-heal: add or remove a Shopify location and Baseify reconciles the columns automatically. See per-location inventory in the docs.
Troubleshooting
Variants aren’t linking to products
A link resolves once both rows exist. Backfill Products before Variants — Backfill all does this automatically — and confirm both syncs point at the same Baserow database.
Prices imported as text
Use the Money transform on the price mapping, or run Fix number columns in the sync’s Maintenance section and re-sync.
Related: Sync orders · Backfill data · Create a sync (docs) · Inventory (docs)