How to Sell WooCommerce Support Packages Without Losing Your Mind
Quick answer: Selling support hours through WooCommerce means listing a block of hours (say, "5 hours of support") as a real product. When a customer buys it, the hours get credited to their account automatically, staff logs time against that balance as they do the work, and the client can see what's left. With Supportivo, that whole loop — sale, crediting, tracking, balance display — runs natively, without a separate invoicing tool bolted on.
If you bill for support hours today, there's a decent chance the actual workflow looks like this: client emails asking for help, you do the work, you note the time somewhere (a spreadsheet, a sticky note, your memory), and at the end of the month you reconstruct an invoice from whatever you managed to track. It works until it doesn't — usually right when you're busiest and least likely to have kept good notes.
What "selling hours through WooCommerce" actually solves
The core idea is simple: instead of billing after the fact, you sell the hours up front as a product, and everything downstream — usage, remaining balance, whether a client can open a new ticket — is tracked against that purchase automatically. Three things make this different from a generic invoicing plugin:
- It's a real WooCommerce product. "10 Hours of Support" sits in your store like anything else — one-off purchase or a recurring subscription package, your choice.
- Crediting is automatic. When an order completes (or a subscription renews), the hours are added to that customer's balance without anyone manually updating a spreadsheet.
- The ledger is concurrency-safe. If two staff members log time against the same client at the same moment, the balance doesn't get corrupted — this sounds like a small thing until it happens to you once with a spreadsheet.
Setting it up
This is a Premium feature, and it requires WooCommerce — if you don't already have it installed, Supportivo's setup wizard can install it for you rather than sending you off to do it separately.
- Enable Support Hours in the setup wizard or from Settings, if you haven't already. This works even without WooCommerce — you can log time manually against clients on the free tier, no store required.
- Turn on WooCommerce Support Packages (Premium) to unlock the package-as-product flow.
- Create a package product — decide the block size (5 hours, 10 hours, whatever fits how you sell), whether it's a one-off purchase or a recurring subscription, and the price.
- Optionally set an expiry rule if you don't want unused hours to roll over indefinitely — this is configurable per package rather than forced on you.
- Publish it like any WooCommerce product. Customers buy it from your store; the client-facing shortcode also lets logged-in clients purchase packages directly from their own portal.
What happens after a client buys a package
The hours are credited to the client's balance the moment the order completes — no manual step in between. From there:
- The client sees their remaining balance in their own portal, alongside their tickets.
- Staff logs actual time spent against a ticket, which deducts from that balance.
- If you've enabled it, a client with zero hours left won't see the "open a new ticket" form — instead they see an explanation, with a Buy Support Hours button pointing straight back to your packages.
That last part matters more than it sounds. It's the difference between quietly doing free work because nobody wants to have the awkward "you're out of hours" conversation, and the system handling that conversation for you, consistently, every time.
How staff actually logs time
When a ticket is resolved, the client can close it themselves — without ever being asked to guess how long the work took. That's deliberate: clients are bad at estimating technical time and it puts them in an awkward position. Instead, closing the ticket flags it for staff to log the real time spent afterward, so the hours are accurate and nothing gets missed because a client clicked "close" without thinking about billing at all.
Pricing your packages: a few practical notes
Supportivo doesn't tell you what to charge — that's a business decision specific to your market, skill level, and existing client relationships. A few things worth deciding deliberately rather than defaulting into:
- Block size matters more than most people think. Small blocks (1-2 hours) mean frequent repurchases and more friction; large blocks (10+ hours) mean better cash flow but a bigger ask up front. Many agencies land on a small "starter" block and a larger "value" block, rather than just one size.
- Decide on expiry deliberately, not by default. No expiry is friendlier to clients but means you're carrying an open liability indefinitely. A 6- or 12-month expiry is common middle ground — just be upfront about it before the sale, not after.
- Subscriptions smooth your own revenue. A recurring package (say, 5 hours a month) gives you predictable income and gives the client an easy "just handle it" relationship — but only offer it once you're confident you can consistently absorb that monthly workload.
Where this connects to response-time expectations
If you're selling support as a productized service, clients will eventually ask how fast they can expect a reply. Supportivo's Premium tier lets you set a response-time target per priority level, and it calculates a deadline automatically when a ticket comes in — useful for setting expectations internally and with clients. Worth being precise about what this is: it's a deadline calculator, not a full SLA system with automatic breach alerts or escalation. If you're promising clients a formal SLA with guaranteed enforcement, that's a conversation to have honestly today, not a box to silently check. We cover this in more detail in our guide to realistic SLA management for agencies.
Mistakes worth avoiding
A few patterns that show up repeatedly once agencies start selling hours instead of just tracking them:
- Selling a package before the workflow is ready. If staff aren't in the habit of logging time consistently on the free manual-tracking flow first, adding WooCommerce on top won't fix that — it'll just mean inaccurate balances with money attached.
- Never communicating the expiry policy. An expiry rule a client didn't know about, discovered when they try to use hours that quietly vanished, turns a billing feature into a support ticket of its own.
- Treating the balance as the whole relationship. A client at zero hours isn't necessarily a client you should turn away at the door — sometimes the right move is a quick reply and a nudge to top up, not a hard wall. The "require hours to open a ticket" setting is there if you want the hard wall; it's optional for a reason.
Frequently asked questions
Do I need WooCommerce to track support hours at all?
No. Manual time tracking against a client works on the free tier without WooCommerce installed. WooCommerce is only required for the specific feature of selling packages as store products.
Can hours roll over if a client doesn't use them all?
That depends on the expiry rule you set on the package — it's configurable per package, not a fixed platform behavior.
What stops two staff members from double-logging the same hours?
The hours ledger is built to be concurrency-safe, so simultaneous updates from different staff don't corrupt the client's balance.
Can a client buy more hours themselves, without emailing me?
Yes — the client portal includes a Buy Support Hours option that links directly to your WooCommerce packages, so this doesn't have to go through you manually.
See how WooCommerce support packages fit alongside the rest of Supportivo's features.
See WooCommerce Packages View Pricing