Guide

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.

Protected Customer Data

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.

Step by step

Sync orders in six steps

1

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.

2

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.

3

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.

4

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.

5

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.

6

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)