StoreSheet – WooCommerce Google Sheets Sync
Two-way sync between WooCommerce and Google Sheets. Products, orders, coupons, customers, and variations — live in your spreadsheet.
What It Does
- Edit product prices, stock, and status in Sheets — changes write back to WooCommerce instantly.
- Every new order, coupon, and customer appears in your spreadsheet within minutes.
- Manage coupons in bulk: create, update, or delete rows and StoreSheet handles the rest.
- Use Google Sheets formulas for revenue dashboards, margin calculations, and custom reports.
- Full backfill at any time — processes 100 items per chunk via Action Scheduler, never times out.
Sync Coverage
| Tab | WC → Sheets | Sheets → WC | |---|---|---| | Products | ✓ | ✓ editable columns | | Variations | ✓ | ✓ | | Orders | ✓ | Status + note only | | Coupons | ✓ | ✓ create / update / delete | | Customers | ✓ | — | | Overview | — | Formula dashboard | | Reports | — | Formula analytics |
Architecture
WooCommerce event
└─▶ Action Scheduler job
└─▶ Pusher (batchUpdate / append)
└─▶ Google Sheets
Manual cell edit in Sheets
└─▶ Apps Script onEdit trigger
└─▶ HMAC-signed POST to /storesheet/v1/sheets/edit
└─▶ Action Scheduler pull job
└─▶ Puller (WC_Product / WC_Order / WC_Coupon)Apps Script fires only on manual edits — not on API writes — so there are no infinite sync loops.
Conflict Resolution
Choose one strategy in Sync → Conflict Resolution:
| Strategy | Behaviour |
|---|---|
| sheets_wins | Sheets edits override WooCommerce (default) |
| wc_wins | WooCommerce always overwrites Sheets |
| newest_wins | Timestamp comparison — whichever is more recent wins |
Requirements
- WordPress 6.6+
- WooCommerce 3.0+
- PHP 7.4+
- A Google Cloud project with the Sheets API and Drive API enabled
Installation
- Upload the plugin folder to
/wp-content/plugins/and activate. - Go to WooCommerce → StoreSheet.
- On the Connect tab, enter your Google OAuth Client ID and Secret, then click Authorize.
- Click Create Spreadsheet — StoreSheet builds the full sheet structure automatically.
- (Optional) Open the spreadsheet → Extensions → Apps Script, paste
apps-script/Code.gs, and runsetup()to enable real-time Sheets→WC edits.
Development
Requirements
- PHP 7.4+, Composer 2
- Node.js 20+, Yarn 4
Setup
composer install
yarn installBuild
yarn build # production JS/CSS
yarn start # dev watchCode Quality
composer phpcs # PHP CodeSniffer
composer phpcbf # auto-fix
composer phpstan # PHPStan Level 8
composer test # PHPUnitRelease
composer release # → release/storesheet.zip
composer zip:dev # → release/dev/storesheet.zipTests
bash tests/php/install-wp-tests.sh wordpress_test root '' localhost latest
composer testRun a single test class:
./vendor/bin/phpunit --filter RowMapperTestLicense
GPL-2.0-or-later