Case study

Elevate Aviation

Five disconnected payment tools, one WooCommerce hub — tax, receipts, and inventory for a national aviation non-profit.

WordPressWooCommerceStripeSquareQuickBooks

01 — Overview

One backbone for live commerce

Elevate Aviation (Edmonton) sells merch, programs, courses, and events. I unified those into WooCommerce so tax, receipts, installments, and accounting share one order pipeline.

System map

UNIFIED COMMERCE HUB — SYSTEMS CONSOLIDATIONLegacy payment plansDisconnected toolStripe (one program)Isolated accountSquare (events)In-person onlyWooCommerce merchPartial catalogManual invoicingNo tax / receiptsWooCommerceCommerce hubMerch · programs · coursesEvents · installments · taxGravity Forms intakeStripeWebhooks · receiptsSquareTwo-way inventoryQuickBooksGST invoicesOne hub for tax, receipts, inventory, and accounting — instead of five silos

02 — Problem

Five systems, zero conversation

01

Five silos: legacy payment plans, a separate Stripe account, Square events, WooCommerce merch, and manual invoicing.

02

Auditors flagged invoices with no GST/HST line items.

03

Receipts, inventory, and accounting were all done by hand.

03 — Solution

One WooCommerce hub

Merch, programs, courses, and events in one catalog. Native installments replaced the legacy payment-plan tool.

BeforeAfter
Five payment toolsSingle WooCommerce hub
Missing GST/HST on invoicesProvince-aware tax lines
Manual receipts & inventoryAuto receipts + Square sync
No accounting linkQuickBooks invoice sync

04 — My work

Contributions

01

Commerce hub

One WooCommerce catalog for merch, programs, courses, and events — plus native installments with auto-retries.

02

Tax engine

Fixed a display-only “missing tax” bug, audited real collections, and rebuilt province + event-location tax config.

03

Stripe reliability

Restored receipts on 140+ orders and fixed a production signing-secret mismatch silently dropping webhooks.

04

Registration flows

Self-serve checkout and an application-gated path (Gravity Forms → approval → WooCommerce) on the same stack.

05

Coordinator plugin

Custom plugin emails staff on each registration and logs every send as an order note.

06

Integrations

Square two-way inventory (verified via API logs) and QuickBooks Online via MyWorks, with a staging-first workflow.

05 — Challenges

What was hard

01

Live order data

Staging and production could not be merged. Fixes were verified on staging, then rebuilt by hand on production.

02

Silent payment failures

Receipts and Stripe webhooks failed with no customer-facing error — webhook versions, duplicate endpoints, and a bad signing secret.

03

Tax that looked broken

Missing GST/HST lines were often a display bug. Historical exports proved what was actually collected.

06 — Outcome

Results

01

One hub

5+ payment systems → one WooCommerce install.

02

Tax compliance

Automated GST/HST across active provinces.

03

Auto receipts

Receipts on every charge, including installments.

04

Live inventory

Square ↔ WooCommerce two-way sync.

05

Payment bugs

Two live Stripe / receipt failures fixed.

06

Staff handoff

Coordinator notifications with an audit trail.

07 — Learnings

What I took away

01

Payment webhooks need observability — silent receipt failures only surface via staff or auditors.

02

A missing tax line is not always a calculation bug. Export the orders before rewriting config.

03

Live commerce databases cannot be merged. Staging-first, then hand-replay on production.

Get in touch

Need commerce, tax, or
payment systems unstuck?

See the live organization or reach out about WooCommerce, Stripe, and ops integrations.