CanopusSoftware & Engineering
WooCommerce Development

WooCommerce development for stores that outgrew their plugins.

The day your pricing rule or your stock logic stops fitting anything you can buy from a marketplace, you are writing code either way. Whether that code is one plugin namespaced to you or forty extensions fighting over the same filter decides the next three years of cost.

8–14 weeks, three-person teamHPOS & Action Scheduler$5,000 floor for custom work
What WooCommerce custom development means

WooCommerce development is writing your store's commercial logic — pricing rules, checkout behaviour, order workflow and back-office sync — as code inside WooCommerce, instead of stacking overlapping extensions on top of it. Canopus builds that layer on HPOS and Action Scheduler, with idempotent payment handling and stock that reconciles against your ERP.

Signature

Six handoffs, and the one your dashboard still calls a success

A WooCommerce order changes hands six times between the add-to-cart click and a line in your accounts. Five of them can fail without anybody being told.

ONE WOOCOMMERCE ORDER · SIX HANDOFFS 1 · Cart price · tax rules 2 · Checkout blocks · shipping 3 · Payment Stripe · PayPal 4 · Order HPOS order tables 5 · Fulfilment Action Scheduler 6 · ERP sync webhooks · REST API FAILS QUIETLY AS Wrong price two extensions override the same price filter No shipping rate checkout dead-ends with no error the buyer sees Charged twice webhook redelivered after a gateway timeout Oversold read-then-write race on the stock quantity Queue stalls WP-Cron never fires on a store with no traffic Never reaches ERP the sync errored and nobody read the log WHAT WE BUILD INSTEAD Idempotency key on every payment event the outcome is recorded before any work begins, so a redelivered webhook can never charge or order twice Action Scheduler on a real system cron queue depth and last-successful-run shown on a screen your operations team reads, not buried in a log table Nightly reconciliation against the ERP every order proven present in both systems — the drift always exists, the only question is who finds it first

Scroll the diagram sideways to follow all six handoffs.

All six share one root cause: the network is unreliable and money is not. A gateway that has already taken a card payment can time out before it manages to say so. So inbound payment events carry an idempotency key and their outcome is written before any downstream work starts, stock movements are transactional rather than a read followed by a write, and a nightly job flags every order the store and the ERP disagree about. The only decision you get is whether you find that disagreement, or your accountant does at month end. We saw exactly this on a multi-brand store replatform: webhook retries were creating duplicate orders until idempotency keys and an hourly reconciliation replaced the operations team's manual daily check.

Decide this before design

WooCommerce, Shopify Plus, or headless

We build on all three and lose work to the other two regularly. Getting it wrong costs a replatform, so it belongs on the first call, not in a design review.

The five questions that actually decide the platform. An unmarked cell means adequate, not best.
The question WooCommerce Shopify Plus Headless build
Unusual pricing or approval rules Any rule you can express in PHP Within what Shopify Functions and apps allow Unlimited, at a build cost
Who carries uptime and PCI scope You and your host Shopify does You, across two deployments
Ongoing platform cost Hosting plus extension licences Platform fee that scales with revenue Two systems to run and patch
Content and commerce in one editor Same WordPress editor as the site Separate blog, or a second CMS Whatever you wire together
Very large or highly variable catalogues Needs deliberate work past ~50,000 SKUs Handled by the platform Handled by your search layer

If the platform question is still open, start at eCommerce development. If you are not taking payment online at all, web development is the cheaper and better fit.

What we build

Five kinds of WooCommerce work

Named separately because they price and fail differently. Most engagements are one or two of these — a proposal quoting all five without asking which you need was written before the call.

Custom checkout

Multi-step flows, conditional fields, delivery-date selection, purchase orders alongside cards, and address validation that matches how you ship. We work inside WooCommerce's checkout blocks rather than replacing the flow, because a store with a forked checkout breaks on the next release and then stays three versions behind for fear of the upgrade.

Typically 3–6 weeks · tested against gateway sandboxes

B2B pricing and quote-to-order

Customer groups, contract pricing, quantity breaks, tax-exempt accounts, credit limits, and an approval step between a buyer's cart and a confirmed order. The hard part is never the discount field — it is the rule your sales team applies from memory, the one where a customer gets trade pricing on three categories but not the fourth. Discovery ends with that ruleset signed, because a rule nobody will write down cannot be built.

Adds 3–5 weeks · most of it in the ruleset, not the code

Subscriptions and recurring billing

Renewals, upgrades and downgrades with proration, dunning on failed payments, pauses and skips. Entitlement lives in your own database rather than being inferred from the gateway, because the two disagree more often than anyone expects and a gateway is no system of record for what a customer may access. Migrating live subscribers is quoted separately.

Quoted separately when existing subscribers are involved

Payment gateway integration

Stripe, PayPal, Razorpay and regional gateways, including ones with no maintained WooCommerce extension. Idempotency keys on every inbound event, retry with exponential backoff, a dead-letter queue for what still fails, and a reconciliation report your finance team can read without an engineer. Card data never touches your server, so the store stays outside PCI scope by design rather than by hope.

2–5 weeks per gateway · written failure-case test plan

ERP, stock and catalogue sync

Two systems both believing they own the stock number is how overselling starts, so ownership is settled field by field before any code is written. We connect to NetSuite, SAP Business One, Odoo, Zoho or an in-house system, with conflicts resolved by a stated rule rather than by whichever job ran last. The deeper patterns are covered in API and system integration.

4–8 weeks · field map agreed before the first commit
Commercials

The numbers, and the work we turn down

Published rather than held back for a proposal, so nobody spends a week on a conversation that was never going to work.

$5,000For custom WooCommerce engineering. Below it, you pay us for coordination overhead.
8–14 weeksThree-person team, defined catalogue, one gateway, one integration.
30 daysDefect warranty at no cost, from the day the store goes live.
On paymentIP assigns per milestone. Code is in your repository from the first commit.

What we don't take on

  • Theme-and-plugin store installs under $5,000. Our general website floor is $3,000 — see web development — and a store sits higher because it inherits payment testing and reconciliation a brochure site never needs. Below that, a good theme, a few extensions and a freelancer serve you better.
  • Pricing rules nobody will commit to paper. If the rule lives only in a salesperson's head and no one will write it down, we cannot build it. Neither can the agency that quotes it anyway.
  • Live subscription migrations priced as a line item. Payment tokens do not reliably move between gateways. That is its own project with its own risk, or nothing.
  • Replatforming off Shopify without a reason. "We want to own it" is not one. If Shopify is doing the job, staying costs less than anything we would build — including our fee.
Before you sign anything

What usually goes wrong on a WooCommerce store

Four failure modes we plan against on every store. Worth asking whoever you hire how they handle each.

Forty extensions doing the work of six

Every extension adds queries, front-end assets and another update surface. Two of them hook the same price filter, and which wins depends on a load order nobody documented. It works until one ships a release.

How we handle it: an extension audit before anything new is installed, and your business rules built as one plugin namespaced to you rather than four bought ones competing for the same hook.

The store slows down exactly when it sells

Cart and checkout cannot be page-cached, so a peak trading day hits the database directly. An unindexed meta lookup that was invisible at 20 orders a day is very visible at 2,000, and theme optimisation never touches it.

How we handle it: profile with Query Monitor under load, add a Redis object cache, and move order storage onto HPOS so admin order screens stop competing with the posts table.

Scheduled jobs that quietly stop running

WooCommerce leans on Action Scheduler for renewals, emails, syncs and webhooks, driven by default from WP-Cron — which only fires when somebody visits the site. Go quiet overnight and the queue arrives all at once in the morning.

How we handle it: Action Scheduler on a real system cron, WP-Cron disabled, and queue depth plus last-successful-run on a screen someone actually looks at rather than in a log.

An extension update takes checkout down

A payment extension changes a hook signature and checkout starts failing silently. Nobody notices until the day's revenue is visibly wrong, and by then you cannot tell which of six updates did it.

How we handle it: staging that matches production PHP and cache layer, every update rehearsed there first, a rollback point kept live, and nothing shipped on a Friday.

Technology

What we build stores with

If you already run one of these, we default to it. What your team can maintain outranks what we would prefer.

Core commerce

WooCommerceHPOSAction Scheduler Checkout BlocksWooCommerce SubscriptionsWooCommerce REST API

Payments & tax

StripePayPalRazorpayPayTabs 3-D Secure 2Idempotency keysAvalara

Platform & hosting

PHP 8.2+MySQL / MariaDBRedis object cache NginxCloudflareWP-CLIQuery Monitor

Back office & growth

NetSuiteSAP Business OneOdooZoho Inventory KlaviyoGoogle Merchant CenterGA4
Questions

Cost, timeline, ownership and what happens after launch

What does custom WooCommerce development cost?

Integration count and data quality drive it, not product count — a 40,000-SKU catalogue arriving as one clean feed costs less to build against than 400 products reconciling with an ERP that has no API. Our floor for custom WooCommerce engineering is $5,000, above the $3,000 website floor we publish elsewhere, because a store inherits payment testing and reconciliation a brochure site never needs. A paid discovery gets you a fixed written estimate and the ruleset document, either way.

How long does a WooCommerce build take?

Eight to fourteen weeks with a three-person team for a defined catalogue, one payment gateway and one back-office integration, after one to two weeks of discovery. B2B pricing and quote-to-order approval add three to five weeks, almost all of it spent getting the rules written down rather than coded. Live subscription migrations are their own project, because payment tokens do not always move between gateways.

Who works on the store, and how do you test payment changes?

A named technical lead who stays through handover, one or two WooCommerce engineers, and QA. Payment changes run against the gateway's own sandbox with a written plan covering four failure cases rather than the happy path: a card declined after stock is reserved, a webhook delivered twice, a webhook never delivered, and a customer who closes the tab mid-redirect. That is where money goes missing, and what nobody demos.

Do we own the plugins and code you write?

Code sits in your repository from the first commit, and IP assigns to you on payment for the milestone it was written in. Your business rules ship as one plugin namespaced to you rather than buried in the theme, so a redesign cannot delete your pricing logic. Commercial extensions such as WooCommerce Subscriptions are licensed in your name. Anything derived from WooCommerce inherits its GPL licence — true of every agency's work.

What support do you provide after the store goes live?

A 30-day defect warranty at no cost covers bugs in what we built. After that, stores need a retainer more than ordinary sites do: WordPress core, WooCommerce, your extensions and your gateway all release on their own schedules, and a payment extension update is not one to apply untested on a Friday. Retainers cover updates rehearsed on staging, monitoring of failed orders and stalled Action Scheduler queues, and a monthly reconciliation check.

When is WooCommerce the wrong choice?

When you want a hosted platform to own uptime and PCI scope for you, when the catalogue runs to hundreds of thousands of variable SKUs, when several regional storefronts each need their own tax and currency rules, or when nobody on your side wants hosting and updates. Then Shopify Plus or headless is the better answer and we say so on the first call — see eCommerce development for the full comparison.

Can you move our store to HPOS without breaking our extensions?

Usually, and the sequence matters more than the switch. We audit every active extension for HPOS compatibility first, run the store in synchronised mode so orders write to both the legacy post tables and the new order tables, verify the counts agree, and only then make the custom tables authoritative. Anything incompatible is updated, replaced or rewritten into your plugin, and the rollback point stays live until reconciliation is clean.

Will you work on a store another agency built?

Yes, and it is a large share of what we do. We start with a paid audit rather than a quote: active extensions and what each costs in queries and assets, where business logic lives, how orders reach your back office, and what the theme overrides. You keep that document whatever you decide next. We won't quote a fixed price on a codebase we haven't read.

Last updated: Written by the Canopus commerce team

Get a Free Quote

Tell us the rule your store can't express.

The pricing logic that lives in a spreadsheet, the reconciliation that never balances, or the checkout step buyers keep abandoning. An engineer replies within one business day — and if Shopify Plus is the cheaper answer, that reply will say so.

Scope WooCommerce work

One business day, from an engineer who has shipped WooCommerce checkout work before.
Call WhatsApp Get a Quote