HD CMS Update

Adding Ecommerce to a Headless CMS Without the Bloat

Product catalogues, Stripe checkout, and order management — as a £10/month add-on

Adam Jackson 6 min read

Most small businesses that sell products don't need Shopify. They don't need WooCommerce either. They need a website with a few products on it, a way to take payments, and somewhere to manage orders.

That's it. Not a full ecommerce platform with abandoned cart emails, multi-currency support, and warehouse integrations. Just the basics, done properly.

Commerce Lite is an add-on to HD CMS that adds exactly that. Product catalogue, Stripe checkout, order management. £10/month on top of your website subscription. No transaction fees. No percentage of sales.

Here's how it works and why it's built the way it is.

The Problem With "Just Use Shopify"

I hear this constantly. A client has a service business — a tattoo studio, a personal trainer, a small maker — and they want to sell a handful of products alongside their main website. Gift vouchers, merchandise, prints, whatever.

The default advice is always Shopify. But Shopify starts at £25/month for Basic, plus 2% transaction fees if you don't use Shopify Payments. Want a decent theme? That's another £250–£350. Want it to match your existing branding? Hire a developer.

Suddenly you're paying £65+/month with transaction fees eating into margins on every sale, for a platform designed for businesses doing thousands of orders a month. And you're selling twenty things.

The alternative is WooCommerce on WordPress, which is "free" until you factor in hosting, security patches, plugin conflicts, and the inevitable moment when an update breaks your checkout page on a Friday afternoon.

Neither option makes sense for a small business selling a modest number of products.

What Commerce Lite Actually Does

Commerce Lite adds three things to HD CMS:

A product catalogue. Products sit in the CMS alongside your pages and content. Each product has a title, description, images, pricing, and optional variants (sizes, colours, etc.). The rich text editor handles product descriptions. The media library handles product images. No separate system to learn.

Stripe checkout. When a customer clicks "buy," they're taken to a Stripe Checkout session. Stripe handles the payment form, card validation, 3D Secure, Apple Pay, Google Pay — all of it. PCI compliance is Stripe's problem, not yours. Each site connects via Stripe Connect, so the money goes directly to the business owner's Stripe account with platform fees applied automatically.

Order management. Every completed payment creates an order in the CMS admin. You can see what was ordered, who ordered it, payment status, and fulfilment status. Update orders as you ship them. It's a simple list view — not a warehouse management system, because you don't need one.

Products Are Just Content

This is the key architectural decision. Products in HD CMS aren't a separate entity with their own admin interface and data model. They're a content type — the same content type system that powers galleries, team members, testimonials, or any other structured content.

That means products get everything content items get for free: slugs, featured images, excerpts, custom fields, sort ordering, published/draft states, and page builder content for rich product pages. The product-specific fields — price, variants, stock status, payment links — are built into the product content type's schema via dedicated tabs: Details, Media, Pricing, Booking, Variants, and Advanced.

The frontend renders products using the same content list block as any other content type. A grid of products on your homepage is the same component as a grid of team members or blog posts. The product detail page uses the same page builder as any other page.

This means zero additional frontend complexity. The ecommerce isn't bolted on — it's native.

Stripe Connect & Platform Fees

Every HD CMS site that uses Commerce Lite connects to Stripe via Stripe Connect. The onboarding flow is built into the CMS settings — the site owner clicks a button, completes Stripe's onboarding, and they're connected. No API keys to copy, no webhook URLs to configure manually.

When a customer makes a purchase, the payment goes to the site owner's connected Stripe account. Platform fees are applied automatically at checkout. The site owner sees the sale in their Stripe dashboard immediately.

This is the same Stripe Connect integration used by the Bookings Lite add-on for deposit payments. One connection, multiple uses. If a site has both Commerce and Bookings, the same Stripe account handles product sales and booking deposits.

Refunds, disputes, and payouts are all managed through Stripe's dashboard. I'm not trying to rebuild Stripe's admin — it's excellent. The CMS handles the catalogue and order tracking. Stripe handles the money.

Variants Without the Complexity

Product variants are a repeater field on the product content type. Each variant has a name ("Small", "Large", "Red"), an optional price override, stock status, and a Stripe price ID for checkout.

This is deliberately simple. Shopify has a full variant matrix system — size × colour × material — that generates every possible combination. That's powerful but complex. Most Commerce Lite users have products with one dimension of variation: size, or colour, or type. A flat list handles that cleanly.

If someone genuinely needs a matrix variant system with inventory per-combination, they probably need HD Commerce (the full standalone product at £50/month) or a dedicated platform. Commerce Lite isn't trying to be everything — it's trying to be enough.

The API Layer

Because HD CMS is headless, everything is API-first. The product catalogue is served through the same content API as any other content type — filtered by content type slug, with all the same caching headers and edge delivery.

Checkout is handled by a dedicated endpoint that creates a Stripe Checkout session with the correct product, variant, and pricing. The frontend never sees Stripe secret keys or handles card data directly.

Order webhooks from Stripe create order records in the database and fire push notifications to the site owner. The same notification system used for booking alerts — one infrastructure, multiple use cases.

The whole flow is: browse products (cached content API) → add to cart (client-side) → create checkout session (server API) → pay on Stripe → webhook creates order → push notification to owner. Simple, secure, fast.

Who It's For

Commerce Lite works best for businesses that sell a manageable number of products alongside their main website:

  • Service businesses selling merchandise — a tattoo studio selling prints, a gym selling branded gear
  • Makers and creators — a potter selling a dozen pieces, a photographer selling prints
  • Gift vouchers — any service business wanting to sell vouchers online
  • Small product ranges — a bakery selling hampers, a florist with set arrangements

If you're doing 500 orders a day with complex fulfilment workflows, this isn't for you. Use Shopify, use HD Commerce, use something built for that scale.

But if you're a small business selling twenty to a hundred products and you just want it to work without the overhead? Commerce Lite does the job for a tenner a month.

The Add-On Philosophy

Commerce Lite follows the same principle as Bookings Lite: the CMS stays lean, and capability is added only when needed. A portfolio site doesn't carry ecommerce code. A restaurant site doesn't carry booking logic.

Each add-on is £10/month because it's genuinely incremental. The product catalogue uses the existing content type system. The checkout uses the existing Stripe Connect integration. The order management uses the existing admin panel. There's no separate ecommerce engine running alongside the CMS — it's the CMS, with a few extra fields and an API endpoint.

That's the advantage of building your own platform. Everything shares infrastructure. Every new capability builds on what's already there. The cost stays low because the complexity stays low.

Want to Sell Products From Your Website?

Commerce Lite adds a product catalogue and Stripe checkout to your HD CMS site for £10/month. No transaction fees.