Files
product_inventory/README.md
Ben Miller 2d43c07546 feat: implement periodic shopify sales sync
- automated sales check (default 10 mins)

- manual reconciliation menu

- updates 'status' and 'shopify_status' in sheet

- updated docs
2025-12-24 22:08:12 -07:00

1.7 KiB

Product Inventory Management

This project integrates Google Sheets with Shopify to manage product inventory, photos, and metadata. It uses Google Apps Script to synchronize data between a "master" Google Sheet and your Shopify store.

Overview

The system allows you to:

  • Manage product details (SKUs, titles, descriptions) in a Google Sheet.
  • Automatically upload product photos from Google Drive to Shopify.
  • specific triggers (onEdit, onOpen) to sync changes to Shopify in real-time or on-demand.
  • Handle rate limiting and concurrency using a custom queue system.
  • Handle rate limiting and concurrency using a custom queue system.
  • Monitor and troubleshoot background processes via a custom side panel.
  • Automated Sales Sync: Periodically check Shopify for recent sales and mark items as "sold" in the sheet.
  • Manual Reconciliation: Backfill sales data for a specific time range via menu command.

Prerequisites

  • Node.js: managed via fnm (Fast Node Manager)
  • Google Clasp: for pushing code to Apps Script
  • Google Cloud Project: tied to the Apps Script container

Quick Start

  1. Install Dependencies

    npm install
    
  2. Build Project

    npm run build
    
  3. Deploy to Apps Script

    npm run deploy
    

Project Structure

  • src/: Source code (TypeScript)
  • src/config.ts: Configuration loading from Sheets
  • src/global.ts: Entry points for Apps Script
  • src/shopifyApi.ts: Shopify Admin API wrapper
  • src/onEditQueue.ts: Concurrency management

For more details, see: