Google Sheets inventory sync
Last updated: April 2026
If you already run your inventory out of a Google Sheet, Techfleet Sync can pull from it on a schedule. No CSV uploads, no copy-paste — just connect once and changes flow through.
Connecting a sheet
- Go to Settings → Data Sources
- Click Add → Google Sheets
- Sign in with the Google account that owns or has edit access to the sheet
- Paste the sheet URL or pick from the list
- Select the tab (worksheet) that holds your inventory rows
- Map columns — SKU, name, grade, price, stock, warehouse, and any custom fields
- Click Save — the first sync runs immediately
Sync schedule
The sheet-sync worker runs every six hours. You can trigger a manual sync from Settings → Data Sources → your sheet → Sync Now if you need changes to land immediately.
What the sync does
- Adds new rows (new SKUs) as new products in Sync
- Updates existing products by matching on SKU
- Respects your column mapping — unmapped columns are ignored
- Logs every run in Settings → Data Sources → your sheet → History
What the sync does NOT do
Deleting a row from your sheet does not delete the product in Sync. This is intentional — so that a bad formula or a stray delete doesn't wipe your catalog. Archive products from the Inventory page when you actually want to retire them.
Column mapping reference
- sku (required) — the join key; must be unique per row
- name (required) — product title
- price (required) — base price in your default currency
- grade — S / A / B / C / D / F (ignored for non-graded products)
- stock — total stock on hand (non-serialized products only)
- warehouse — warehouse code matching your Settings → Warehouses list
- description, tags, category — optional metadata
Troubleshooting
- Permission error on first sync — make sure the connected Google account has at least Viewer access on the sheet
- Duplicate SKU warnings — the sync picks the first row and flags the rest; clean up in the sheet then re-sync
- Currency mismatch — all price columns must be numeric (no $ signs, no commas); use a numeric cell format in Sheets
- Missing rows — check the sync log for row-level errors; common causes are required fields left blank
The OAuth token belongs to the Google account that connected the sheet. If that person leaves, reconnect with a service account or a shared team account before their credentials lapse.
Was this article helpful?