Skip to content
Grav 2.0 is officially stable. Read the announcement →
journal 3 mins

KahunaCart: A Real Store, Inside Your Grav Site

Native ecommerce for Grav 2 is coming soon, and the demo store is already open

People have been asking us how to sell things with Grav for about as long as Grav has existed. And for years the honest answer was a shrug and a pointer at some third-party JavaScript widget that carted your buyers off to somebody else's checkout page. That always bugged me. Grav's whole reason for being is that your site is yours, and the moment money enters the picture you were suddenly renting.

Grav 2 finally gave us the missing piece: a real database layer. So we built the thing we always wanted to build. It's called KahunaCart, it's a complete ecommerce platform that lives inside your Grav site, and it's nearly ready.

Your store is your data

Everything in KahunaCart runs on your own server, in your own database. SQLite works out of the box with nothing to install, and you can point it at MySQL or PostgreSQL when a store outgrows that. Your catalog, your orders, your customers, your revenue numbers: none of it ever leaves your site. Back up the site and you've backed up the store.

No monthly platform fee. No percentage of every sale going to someone else. Buy it once, own your store, keep your data.

What's in the box

Here's what ships in the box:

  • Products and variants: option axes like size and color defined once, with every combination carrying its own price, SKU, stock, and weight
  • A real catalog: nested categories with landing pages, tags, and storefront filters for price and availability
  • Cart and checkout: stock holds, coupons, flat or zoned tax and shipping, address validation, and a checkout that runs end to end
  • Digital goods: files and license keys delivered the moment payment lands, with download limits, expiry, seat activation, and a public API for validating the software you sell
  • Customer accounts: sign-up folds into checkout, guests can claim their history later, and orders, downloads, addresses, and credentials all live under one account menu
  • A full back office: orders with a complete transaction ledger, refunds that know exactly what the provider settled, customers, reports, and search everywhere it counts, all inside the Grav admin
  • Emails worth reading: every transactional email is drawn in a branded layout, and you can swap the colors and logo from config or copy any template into your theme and own it outright

And because this is Grav, the storefront is just Twig. A reference theme called Kahuna ships alongside the plugin, and every template overrides the way Grav themes always have.

Go try it right now

Don't take my word for any of this. The demo store is open: demo.kahunacart.com.

It's an ordinary KahunaCart shop on an ordinary server. Browse the catalog, put something in the cart, and run checkout all the way to a receipt. The test payment provider completes orders without charging anyone anything. Sign in with the shared customer account printed on the sign-in page, then open /admin and poke around the back office, which is unlocked read-only with the credentials right on the screen. The whole store resets itself on the hour, so you genuinely cannot break it. Have at it.

When?

Soon. KahunaCart will launch as a premium plugin for Grav 2, and the full feature tour is already up at kahunacart.com. If you want to hear the moment early access opens, there's a newsletter signup on that page: one note when it ships, the occasional release worth knowing about, and nothing else.

There's a lot more to talk about, like the payment provider ecosystem and the licensing engine we built for selling software. But that can wait for its own post. For now, go poke the demo, and come tell us what you think on Discord.

Andy

Related posts

Keep reading