The Future of Simple Commerce (it's good news, promise)

20th August 2024

It's nearly been five years since I started working on Simple Commerce. It started out as a way for me to play around with the Statamic 3 Alpha, but slowly and surely grew into the most popular way to build e-commerce sites with Statamic.

From the beginning, I wanted Simple Commerce to feel "native" to Statamic. It should take advantage of using entries to store products, it should tightly integrate with Antlers and seamlessly fit into the Statamic way of doing things.

I also wanted it to be simple to use - without getting in the way when you need to extend it to do something custom.

And from what I can tell from customer feedback, it seems like I've achieved that (🎉).

Over the last couple of months, I've realised that Simple Commerce has become pretty bloated and honestly not as polished of an overall product as I'd like.

So, after thinking about it for a while and doing some exploratory coding, I've decided it's time to rewrite Simple Commerce.

Woah! That's a bold move.

Indeed it is. Rewriting software is always difficult, but I believe that a rewrite is a good move for the future of Simple Commerce.

From the groundwork I've already done, the next version of Simple Commerce should be the most polished version of SC yet. 💅

There's a couple of big changes I'm already planning to make in the next version of Simple Commerce:

Orders will no longer be entries

One of the biggest, if not the biggest change, will be the fact that orders will no longer be entries. Orders don't really belong in collections, they're not content after all.

Orders will remain flat-files, living in content/orders, with the option to migrate orders to a database, as needed.

I'm also working away on a much-improved Control Panel experience for orders. In fact, here's a very early wireframe of what'll become the "order show" page:

Please don't judge my Figma skills, I'm not a designer. 😂

One other change I wanted to mention regarding orders is the fact that carts will no longer be orders under the hood, they'll be separate.

When the customer "checks out", the cart will be converted to an order, and an order number will be assigned.

Customers are now users

For most of Simple Commerce's existence, customer information has lived in a "Customers" collection.

Although, it's always been kinda awkward since "customer" entries often held much of the same information that users do.

So, in the next version of Simple Commerce, customers will just be normal Statamic users. This will make it easier for customers to be able to login & view their orders.

If you'd prefer not have lots of users, you can opt-out and use "guest customers" instead.

And a bunch more...

  • Support for one-page checkouts

  • A simplified tax engine - gone are the days of the two separate tax engines 🙈

  • Improvements to SC's Antlers tags

  • Fresh Starter Kit templates

Release Date & Upgrade Process

This next version is still a while out. Although, I'm hoping to have a beta out by the end of the year so you can start preparing your sites.

I'm aiming to try and make the upgrade process as painless as possible. However, with it being a full rewrite there will ultimately need to be some changes to "user-land" code.

If you have any custom PHP code which interacts with Simple Commerce, like an event listener or code that queries orders, chances are you'll need to re-work that code when you upgrade.

Support

Since it's just me working on Simple Commerce in my free time, I'm planning to take a little bit of a step back on support for the current version, to try and maximise the time I'm able to spend working on the new version.

I'll still be looking into High Priority issues, but not some smaller issues which might be fixed in the next version.

If you have any questions about the new version, or just want to express your excitement about the new version, then feel free to send me an email: hello@doublethree.digital.