First sync
Run your initial product sync after install
After installing Shelfie you'll see an empty dashboard with a Sync Products call-to-action.
What the first sync does
- Pulls every active product from your store (paginated 50 at a time)
- For each product, records: title, vendor, type, tags, cost, price, inventory level, image
- Pulls the last 365 days of orders to determine each product's
lastSoldAt - Computes
agingDays(days sincelastSoldAt, or days since the product was added to your store if it has never sold) and assigns a risk level
For a 1,000-product store the first sync typically takes 30–90 seconds. A 10,000-product store may take 5–10 minutes.
What to do during the sync
The dashboard shows a progress banner. You can navigate away — the sync continues server-side. Refresh the page when you come back.
After the sync completes
The KPI tiles populate and the at-risk table fills with any product aging past your warning threshold. If everything in your catalog is fresh, you'll see "No at-risk products" and Value at Risk = $0. Come back in a few weeks.
Re-syncing
Click Sync Products or Re-sync any time to refresh your catalog and recompute aging.
Each manual sync re-pulls products from Shopify page by page. If a sync fails or stalls, Shelfie saves a checkpoint after every page. Click Re-sync within 30 minutes and it resumes from where it stopped — products already imported are not re-fetched from Shopify.
After 30 minutes the checkpoint expires and the next sync starts fresh from page 1 (existing DB rows are updated via upsert, not duplicated).
Most stores run a manual sync 1–2× per week.
What updates automatically (without a full sync)
A full manual sync is still required to refresh order history, recompute aging across your whole catalog, and update the Recovered KPI.
Individual products are updated in the background when:
- A product is changed in Shopify (
products/updatewebhook) — title, price, inventory, tags - A new order is placed (Pro plan) — real-time Recovered attribution for that product
These per-product updates do not replace a full sync for catalog-wide aging and KPI refresh.