How to sync Shopify orders to Baserow
Keep a live, queryable copy of every Shopify order in a Baserow database — totals, customers and line items included. It's a one-way, read-only sync, so nothing is ever written back to your store.
Baseify mirrors orders into Baserow in real time: when an order is placed, edited or cancelled in Shopify, Baseify re-fetches the authoritative record and upserts it into your table within seconds.
Orders include Shopify Protected Customer Data. Make sure your use complies with applicable law and Shopify’s requirements. Baseify requests read-only scopes and keeps only mappings and short-lived event records — the order data lives in your Baserow.
Sync orders in six steps
Connect your Baserow database
In the Baseify app, open the Baserow tab and add a connection with your Base URL and a database token. Using Baserow Cloud? Enter https://api.baserow.io. Self-hosting? Follow the self-hosted Baserow guide and create a database token first.
Create an Orders table
The fastest path is Quick setup: pick a template and Baseify provisions a fully-typed Orders table (plus linked Customers and Order line items) in one click. Prefer to build your own? Create a table in Baserow with a column to hold the Shopify order ID.
Create the Orders sync
Go to Syncs → Create sync, choose the Orders resource, and select the events to track — create, update and delete. Then choose the Baserow connection, database and Orders table to write into.
Designate the external key
Pick the Baserow column that stores the Shopify order ID as the external key. This is required — it makes writes upserts (update if present, insert if new) and makes deletes deterministic, so duplicate or out-of-order webhooks can never create duplicate rows.
Map your fields
Map the order fields you care about — Baseify introspects the catalog so you can pick from a list or type a path by hand. Common picks:name → Order, totalPriceSet.shopMoney.amount → Total (with the Money transform), createdAt → Date, and the customer link. Then enable the sync — webhook subscriptions register automatically.
Backfill existing orders
A new sync only receives future changes. To load orders that already exist, open the sync and run Backfill (or Backfill all for a template, which processes tables in dependency order). Backfill is idempotent and safe to re-run.
Linking orders to customers and line items
Baseify writes native Baserow link-row fields, so orders reference their customer and their line items, and line items reference their order, variant and product. Links are two-way, so Baserow rollups and lookups work in both directions. A link resolves once both rows exist — which is why backfilling in dependency order matters. See relationships in the docs.
Troubleshooting
Totals imported as text
If a Baserow column was created as text, use Fix number columns in the sync’s Maintenance section, then re-sync. Applying the Money transform keeps amounts numeric.
Customer link is empty
The customer row has to exist first. Backfill Customers before (or together with) Orders — Backfill all handles the order for you.
Related: Sync products · Backfill data · Create a sync (docs) · Field mapping (docs)