OCW Orders to Sheets for WooCommerce — WordPress plugin by Onne Kierkels
WooCommerce plugin · v2.0.0

Your orders.
Live in a Google Sheet.

Export WooCommerce orders and customers to a Google Sheet — manually with date-range filters (free), or on a schedule, in real-time on new order, with custom column mapping (PRO).

WooCommerce 6.0+ WordPress 6.0+ PHP 8.0+ HPOS-ready OAuth 2.0
WooCommerce orders — auto-synced2026-05-12 09:00
Order
Total
1
#1042 · Anna B.
€ 78,00
2
#1043 · Mark V.
€ 145,50
3
#1044 · Lisa D.
€ 29,00
4
#1045 · Tom K.
€ 220,00
5
#1046 · Just placed →
€ 95,00
PRO: appended within 2 seconds of checkout.

WooCommerce data lives in WordPress.
Your team works in Sheets.

CSV export is fine for once a quarter. For everything else — weekly reports, live VAs, accountant feeds, marketing dashboards — you want orders to just appear in a Google Sheet. Without paying for Zapier per task.

01
Manual CSV export is friction

Every Monday "let me pull last week's orders" — open admin, download CSV, upload to Sheets, fix encoding. PRO's scheduled export removes the whole ritual.

02
Make/Zapier costs per task

Real-time order → Sheet via Zapier costs ~€20/month per ~1000 orders. PRO does the same thing for €0/order via WP cron + direct Sheets API.

03
Your sheet has a template

You already have formulas referencing column A, C and F. PRO's column mapping lets you reshape the export so columns line up — no manual reshuffling after every export.

04
Drive shouldn't fill with duplicates

52 weekly export files per year is noise. PRO's append-mode means one growing sheet — diff-able, searchable, sortable, with no version chaos.

Three small moves,
zero code.

All inside WP-admin under WooCommerce → Sheets Export.

1

Connect

One-time OAuth 2.0 with your own Google Cloud project. Spreadsheets scope only — the plugin can't see your Drive, only its own files.

Google CloudOAuth 2.0Scopes locked
2

Export (free)

Pick Orders or Customers, set a date range, click Export. A fresh sheet opens with formatted headers, frozen first row, dark header background.

Orders · 13 colsCustomers · 12 colsDate + status filter
3

Automate (PRO)

Add a schedule (daily/weekly/monthly), a target sheet ID for append-mode, a column map for renaming headers, and turn on real-time append on new order. Set once, runs forever.

ScheduledReal-timeAppendColumn map

Free is the manual button.
PRO is the pipeline.

No upsell tax on basic functionality — every column, every filter, every status is in the free version.

Manual export (free)

The core feature, no limits.

  • 13 order columns — ID, date, status, customer, billing/shipping address, products, subtotal, shipping cost, total, payment method, shipping method
  • 12 customer columns — ID, name, email, registered, role, order count, total spent, last order…
  • Date-range filter + order status / customer role
  • Live preview — first 10 rows shown before export

Scheduled exports (PRO)

"Last week's orders, every Monday."

  • Daily / weekly / monthly WP cron
  • Auto-rolling date range — exports the previous period (last day / week / month)
  • Filter by status — only "completed", only "processing", etc.
  • One sheet per run with timestamp in title

Real-time append (PRO)

Live order feed in Sheets.

  • Hooks into woocommerce_checkout_order_processed
  • One row per order appended in < 2 seconds
  • Perfect for VAs watching a sheet, dashboards, accountant feeds
  • Cheaper than Make/Zapier — no per-task cost

Append to existing sheet (PRO)

One growing sheet, not 52 files.

  • Paste a sheet URL or ID — every export appends rows underneath
  • Drive stays clean — no weekly duplicates
  • Combine with column mapping for a normalized dataset

Custom column mapping (PRO)

Shape the export to your template.

  • Pick which columns end up in the sheet — drop what you don't need
  • Rename headers — match your existing Sheets formulas
  • Separate mapping for orders and customers

Under the hood

Built on standard WooCommerce + Google APIs.

  • HPOS-compatible — uses wc_get_orders() only
  • Your own Google Cloud project — no shared OAuth app
  • 24-hour license cache + 7-day grace period
  • Auto-updates via OCW License Server (PRO)

No external services. Your Google. Your data.

Free + PRO run on standard WordPress + WooCommerce + your own Google Cloud project. The PRO updater talks to the OCW License Server — that's the only external dependency PRO adds.

WordPress

6.0 or higher

WooCommerce

6.0 or higher

PHP

8.0 or higher

Version

2.0.0

Start free.
Upgrade when the manual export becomes a chore.

Free is for occasional, manual exports. PRO is for shops where the Sheet is part of the workflow.

Free

OCW Orders to Sheets for WooCommerce

Manual export, no limits.

0

Free forever · 1 site

  • Manual export — orders + customers
  • Date-range filter + order status / role
  • 13 order columns, 12 customer columns
  • Live preview before export
  • HPOS + Cart & Checkout Blocks compatible
  • Tutorial submenu with progress detection
  • OCW house-style admin (teal / navy / pink)

No signup, just your own Google Cloud project.

PRO

OCW Orders to Sheets for WooCommerce PRO

For shops that live in Sheets.

39

per year · 1 site · excl. VAT

  • Everything in Free, plus:
  • Scheduled exports (daily / weekly / monthly)
  • Real-time append on every new order
  • Append to existing sheet — one growing file
  • Custom column mapping — pick & rename headers
  • Automatic updates via OCW License Server
  • Priority support — direct email line

Per year. Instant access after payment. Cancellable annually.

What people usually want to know
before they install.

Answers to the questions I get most often.

Do I need a Google service account?

No. The plugin uses standard OAuth 2.0 with your own Google Cloud project. Create a project, enable the Sheets API, generate OAuth credentials, paste them in the settings. The plugin only gets the spreadsheets scope — it can't read your Drive or other sheets you didn't create with it.

What's the difference between scheduled and real-time?

Scheduled runs once a day/week/month and produces one sheet with all orders in that period. Real-time appends a row to a configured sheet on every individual order, within seconds of checkout. You can use both at the same time.

Will real-time append slow down checkout?

The Google Sheets API call adds ~300–600 ms after the order is already processed (we hook into woocommerce_checkout_order_processed, which runs after the order is saved). If the API call fails, the order still completes normally.

What happens if my OAuth token expires?

The plugin automatically refreshes the access token using the long-lived refresh token Google issued during initial connection. You only need to re-authorize if you revoke access in your Google account or change the Client Secret.

Can I move a PRO license to another domain?

Yes. Clear the key on the old site (this triggers /deactivate on the license server) and enter it on the new site. Single Site = 1 active domain at a time.

Does the column mapping affect real-time append too?

It applies to the manual export and scheduled export flows. Real-time append currently uses a fixed 13-column order row format so it can write a single row fast; column mapping for real-time is on the roadmap.

Questions about the plugin?

Or you'd like something adjusted for your situation — I'd love to hear it. I always reply personally.

OCW Orders to Sheets for WooCommerce icon

Recognizable in your WordPress dashboard

This is how OCW Orders to Sheets for WooCommerce shows up in the WordPress.org plugin directory and in your plugins list — look for the teal-and-pink OCW style.

OCW Orders to Sheets for WooCommerce directory banner