R1

Red1 Airsoft · Inventory Ops

Inventory Sync

Shopify · supplier feeds · Cloudflare

Checking… Checking…
Mapped SKUs
 
Last run
 
Next run
hourly schedule
Discontinued SKUs
zeroed after 3 misses
Usage & cost notice. Cloudflare Workers, Pages Functions, D1 and third-party APIs can consume quota or create charges depending on plan and usage. Supplier and Shopify limits also apply — review current provider pricing before production.

1. Setup

Setup checklist

  1. Deploy the backend Worker and D1, then deploy this Pages site with the BACKEND service binding.
  2. Protect the dashboard hostname with Cloudflare Access and verify unauthenticated users are blocked.
  3. Create/configure the Shopify app. Set the app URL to this dashboard and the redirect/callback URL to /api/shopify/callback.
  4. Use only the required scopes: read_products, read_inventory, write_inventory.
  5. Store SHOPIFY_CLIENT_ID, SHOPIFY_CLIENT_SECRET and APP_ENCRYPTION_KEY as Worker secrets; never paste them into source code.
  6. Accept the acknowledgement, connect Shopify, add feeds, test them, create mappings and run a dry-run.
  7. Enable scheduled live sync only after the dry-run has been reviewed.

Checking backend configuration…

What this tool will never touch

Every write this app makes to Shopify goes through one inventory-quantity mutation, enforced centrally in code (shopify.ts) with an allowlist that rejects anything else. It cannot rename products, change variant options, edit tags, move collections, or touch UKARA / two-tone status — only the available inventory number.

Cloudflare Access

This dashboard is designed to sit behind Cloudflare Access. Confirm Access is active before entering real credentials.

Schedule

Hourly

Runs on the hour, every hour (UTC).

Runs from the backend Worker Cron even when this page is closed.

Responsibility acknowledgement

Live writes are blocked until this acknowledgement is accepted.

Connect Shopify

Enter the permanent Shopify store hostname. No store is preconfigured.

Scheduled live sync

Keep scheduled writes disabled until Shopify is online, the acknowledgement is accepted, feeds are tested and a dry-run has been reviewed.

2. Suppliers & feeds

No supplier records are created automatically.

3. SKU mappings

Map authorised supplier SKUs to Shopify inventory items and locations.

4. Sync & history

Dry-run first. Live writes require the acknowledgement and a connected Shopify store.

Recent runs

Changed Failed Checked, unchanged

Run log

Add supplier

Add feed

New products found

Add SKU mapping