Skip to content

Compare

KahunaCart vs WooCommerce

WooCommerce offers a large extension ecosystem and an established WordPress workflow. KahunaCart includes more store features in one Grav plugin. The comparison covers what comes with each product, where extensions are needed and what moving platforms involves.

The short answer

Which fits your project?

Use these requirements to identify the better fit, then check the feature and pricing tables below.

Choose WooCommerce when

  • You already use WordPress and have the expertise to maintain your store.
  • You need the range of integrations available through the WooCommerce marketplace.
  • Your requirements include loyalty programs or wholesale company accounts.
  • You need its broader country-address dataset, wallet-provider support or per-view analytics exports.

Choose KahunaCart when

  • You want translated catalog fields, cart recovery, PDF invoices and chat notifications included.
  • You prefer a Grav site with Twig storefront templates.
  • You want configurable payment methods with their own labels, fees and conditions.
  • You need confirmed order changes to retain earlier versions of the order.
  • You want fewer separate extensions to manage for the features listed in this comparison.

Headline differences

Included features and extension requirements

Languages and currencies

KahunaCart includes catalog translations with fallbacks for individual fields. Orders retain the customer's language for receipts and later emails. WooCommerce uses extensions for multiple languages. WooCommerce core uses one store currency, while KahunaCart can sell in more than one, with a price you set for each.

Store operations

KahunaCart includes abandoned-cart reminders, PDF invoices, and Slack, Discord, Telegram or phone push notifications for the store owner. WooCommerce adds these through extensions. Compare the complete set of extensions your store needs, rather than the core license alone.

Checkout and payment methods

WooCommerce supports classic and block-based checkout, so extension compatibility is part of the setup. KahunaCart uses server-rendered storefront templates and configurable payment choices, each with its own label, instructions, fee and conditions.

Order changes

WooCommerce edits order items directly within its supported workflow. KahunaCart lets staff prepare and confirm changes while retaining earlier order versions. This feature is optional and must be enabled.

Quantity rules and member-only products

KahunaCart includes minimum, maximum and pack-size quantities on a product, a variant or a whole category, along with store-wide order minimums and maximums. WooCommerce ships Sold individually in core and puts the rest behind its Min/Max Quantities extension. Restricting a product to chosen customer groups is included too, where WooCommerce uses its Memberships extension. Both sets of settings arrive in a WooCommerce CSV export under their own column headings, so the importer reads them without a mapping.

Ecosystem

WooCommerce offers a wider range of integrations and extensions, including options for loyalty programs and wholesale accounts. KahunaCart's advantage in several rows is that a feature is included, rather than available through a separate extension.

Bookings and rentals

Both platforms offer paid first-party booking extensions. KahunaCart Bookings handles appointments, classes and shared resources; Rentals adds nightly stays, seasonal rates and iCal availability feeds. Rentals requires Bookings.

WooCommerce Bookings supports appointments, group bookings and resources. Its free Accommodation Bookings extension adds overnight stays and date-based rates but requires the paid Bookings extension. Check resource rules, deposits and calendar connections for your use case; booking support alone does not guarantee the same workflow.

Side by side

Feature comparison

Selected categories from the full comparison. Identical rows without additional notes are omitted; the remaining rows show differences in support and availability. Booking and rental rows were checked on 21 September 2026. Bookings and Rentals are paid KahunaCart add-ons. The two point-of-sale rows were checked on 14 October 2026, and Point of Sale is a paid add-on too. Unverified cells indicate that support has not been established.

  • ✓ In the box
  • + Official add-on
  • 3rd Third-party
  • ~ Partial
  • ✗ Not available
  • ? Unverified
Platform, licensing & pricing 6 features
Platform, licensing & pricing: KahunaCart compared with 1 other platforms
Feature KahunaCart Woo
Open-source core KahunaCart: Not available WooCommerce: In the box
Perpetual licence, so the shop keeps working when updates lapse
KahunaCart: In the box WooCommerce: In the box
Not a rental: a licence includes a year of updates, and renewing afterward is optional. If you let it lapse, the shop keeps running exactly as it is. You simply lose the ability to install new versions until you renew.
Host platform is free, with no separate licence on top of the commerce one
KahunaCart: In the box WooCommerce: In the box
Grav is free, so there is no CMS licence to buy alongside KahunaCart. Optional features such as Bookings and Rentals are separate paid add-ons; they do not require a paid edition of Grav.
Runs on ordinary shared PHP hosting
KahunaCart: In the box WooCommerce: In the box
KahunaCart needs nothing exotic: no queue server, no separate search server, and no extra runtime beyond ordinary PHP. It runs on the same shared hosting an ordinary Grav site runs on, with background tasks handled on a simple schedule rather than a constantly running process.
Zero-config datastore (SQLite or flat file) for a first store
KahunaCart: In the box WooCommerce: Not available
A first store needs no database setup at all, since it works out of the box with no server database required. Larger stores can move to a full database server later, and the underlying structure stays the same either way, so switching does not mean starting over.
Released in the last six months (as of August 2026)
KahunaCart: In the box WooCommerce: In the box
KahunaCart is a first release. That is the honest caveat on everything else here: the feature set is wide, but there is not yet a long production track record behind it.
Promotions & discounts 13 features
Promotions & discounts: KahunaCart compared with 1 other platforms
Feature KahunaCart Woo
Coupon codes
KahunaCart: In the box WooCommerce: In the box
Coupons can give a percentage off, a fixed amount off, or free shipping, and can be scheduled, limited in how often they are used, and restricted to specific products, categories or tags. Every use of a coupon is recorded against the order it applied to, so you can always see exactly what a coupon has cost you.
Automatic no-code sales / catalog promotions
KahunaCart: In the box WooCommerce: In the box
A sale works like a coupon that applies automatically, with no code needed. It shows the discounted price right in the catalog listing, not just as a surprise at checkout.
Usage limits, by total, per user and per email
KahunaCart: In the box WooCommerce: In the box
You can cap how many times a coupon is used overall and per customer, and the store makes sure two shoppers checking out at the same instant cannot both claim the very last use. Refunding an order in full frees up that coupon use again, while a partial refund does not.
Bulk coupon-code generation
KahunaCart: In the box WooCommerce: Partial
You can generate a large batch of unique coupon codes at once for a campaign, using a pattern with a prefix, with per-code limits and an overall budget for the batch, and export the list as a spreadsheet for a mail merge. The codes avoid letters that are easy to misread when handwritten. Deleting a campaign frees up its codes rather than deleting them outright, since they may already be sitting in customers' inboxes.
Buy-X-get-Y / BOGO
KahunaCart: In the box WooCommerce: Not available
Buy one get one and similar offers work across a whole group of qualifying products at once. For example, six qualifying items under a buy one get one offer discounts the three cheapest of them, and you can cap how many times one order can earn the offer. One limitation: the free or discounted item must come from the same group of products, so you cannot set up 'buy this product, get a different one free'.
Quantity-break / tiered discount
KahunaCart: In the box WooCommerce: Third-party
A sale's discount can get bigger the more a shopper buys, using a ladder of quantity thresholds you define, each with its own percentage or fixed discount. This is different from setting a lower list price at higher quantities: it is a bigger discount applied on top instead. The ladder is shown on the product page, and the cart nudges shoppers toward the next threshold.
Free-shipping discount
KahunaCart: In the box WooCommerce: In the box
Any coupon can include free shipping as part of its discount, crediting back exactly what shipping was quoted at, before tax is calculated, so a store that taxes postage never taxes shipping the customer did not actually pay. A separate free shipping threshold, if you have one, is measured against the product subtotal only, so a coupon cannot be used to reach it.
Discount scoping to categories with exclusions
KahunaCart: In the box WooCommerce: In the box
Sales and coupons can be scoped to specific products, variants, whole categories, or tags, and each of those can be included or excluded, with exclusions always taking priority. Coupons can also be set to skip items already on sale, or to a limit on how many items they apply to, applied to the cheapest ones first.
Multiple coupons / discount stacking
KahunaCart: In the box WooCommerce: In the box
A cart can hold several coupons at once, applied in the order they were added, with each one discounting what is left after the ones before it, so two fifty percent off coupons take half, then half of what remains, rather than the whole amount. A coupon marked as not combinable stays in place rather than being replaced, and free shipping is only charged once even with multiple free shipping coupons applied. Sales do not stack with each other, though a coupon can still apply on top of a sale.
Gift cards or store credit
KahunaCart: In the box WooCommerce: Not available
Store credit and gift cards are built in, with every change to a customer's balance recorded so you can always see what caused it. Credit can be spent at checkout as a payment method. One limitation: it must be used in full or not at all, so a balance smaller than the order total cannot be used as a partial payment.
The order records **why** each price is what it is
KahunaCart: In the box WooCommerce: Partial
Every discount applied to an order is recorded in detail: which product it touched, which sale or rule caused it, and exactly how the amount was worked out. This is what turns a customer asking 'why is my total wrong' into a quick, confident answer instead of a lengthy investigation.
Add-ons can register new discount types with their own admin fields
KahunaCart: In the box WooCommerce: In the box
Add-ons can define entirely new kinds of discount, with the admin screen automatically building a settings form for them. One honest gap: for some settings the admin only offers a plain text box rather than a proper picker, for example asking you to type a product's identifier rather than choosing it from a list. These custom discount types work with sales only, not with coupons.
Conditional / rule-based discounts with a condition builder
KahunaCart: Partial WooCommerce: Partial
You can build conditional discount rules using an 'all of', 'any of' or 'none of' logic builder, checking things like what is in the cart, who the customer is, or details of the order. This currently works for sales and for controlling which payment methods are offered, but not yet for coupons, shipping or tax, which each still use their own simpler set of conditions. A sale built this way is only priced at checkout, so it will not show a sale badge in the catalog.
Shipping & fulfilment 11 features
Shipping & fulfilment: KahunaCart compared with 1 other platforms
Feature KahunaCart Woo
Shipping zones
KahunaCart: In the box WooCommerce: In the box
Shipping methods are grouped into zones that match a customer's address, so what a customer is offered depends on where they are shipping to, rather than everyone seeing the same flat rate.
Weight-banded rates
KahunaCart: In the box WooCommerce: Partial
Shipping rates can be based on weight bands, for example one price up to two kilograms and another above that. The weight used is locked in at the time of the order, so changing a product's weight later never changes what an old order was charged. If an order's weight does not fit any band for a method, that method simply is not offered rather than defaulting to a wrong price.
Free-shipping threshold
KahunaCart: In the box WooCommerce: In the box
Free shipping is offered on whichever of five requirements you pick: always, with a free-delivery coupon, over a minimum order amount, over the minimum or with a coupon, or over the minimum and with a coupon. A separate switch decides whether the minimum is compared against the basket as priced or against the basket after discounts, which is the setting that answers the "does my fifty-pound threshold count before or after the coupon?" argument, and it defaults to the comparison KahunaCart has always made so an existing threshold keeps behaving exactly as it did. Shipping and tax count toward neither number, so postage can never pay for itself.
Local pickup
KahunaCart: In the box WooCommerce: In the box
Local pickup can be offered as a shipping option with its own cost. If you want named branches with their own addresses, opening hours and tax, see the collection points row below.
Live carrier rates
KahunaCart: Partial WooCommerce: Third-party
The contract a carrier plugs into is in core, and no carrier is. A rate driver is handed the destination, the parcel, its weight and its declared value, and answers with prices, or with the reason a particular service is not available. A shipping method names the carrier and the service it prices, so you still decide which methods your shop offers and the driver only decides what one of them costs. Quotes are cached for as long as you say, with a button in the admin to rebuild them. If a driver is slow, switched off or broken, its methods are shown as unavailable with the reason beside them and checkout carries on with the offline method you nominated, rather than stalling. What is still missing is a driver: no live rates, no label purchasing and no automatic tracking until the planned shipping add-on ships. Tracking numbers are entered by hand until then.
Tracking numbers recorded on the order
KahunaCart: In the box WooCommerce: In the box
Each shipment records a carrier and tracking number, and a tracking link is built automatically for a wide range of carriers, or you can paste in your own link for others. The tracking link appears in the shipping confirmation email and in the customer's own order history.
Partial / multi-shipment fulfilment
KahunaCart: In the box WooCommerce: Partial
An order can be shipped in multiple parcels over time, with each shipment recording exactly which items and quantities it went out with. The order's fulfilment status is worked out automatically from what has actually shipped, rather than being set by hand. Stock is not deducted until the order is fully complete, and a shipment cannot be undone, so correcting an under-shipment means shipping the rest separately.
Packing slip
KahunaCart: In the box WooCommerce: Third-party
A packing slip can be generated as a PDF for a whole order or for a single parcel, using the same document engine as the invoice.
Add-on contract for shipping methods
KahunaCart: In the box WooCommerce: In the box
Every shipping method is priced through one door, and an add-on that prices a method goes through that same door rather than beside it, so a customer can never be shown an option that came out of a second calculation nobody checked. A rate-calculator add-on can quote against any method the store offers, put back a method the store would have refused, and attach details like a courier name and an estimated delivery day for your theme to print, with no template change on your side. Methods also gained the rate types an add-on would otherwise have had to build for itself: a charge per item, a charge per kilogram, a percentage of the order, a floor and a ceiling on the total, and a short cost formula you write in the admin. A method can require a shipping class, refuse one, or ignore the question entirely, and a per-class charge can either be added on top of the tabulated rate or take its place, chosen per method. And a shipping profile splits one order into several parcels, each priced by its own method.
Named pickup locations, taxed at the counter
KahunaCart: In the box WooCommerce: In the box
Collection points are real places, not one flat pickup price. Each one has a full address, opening hours per weekday with a line for exceptions, an instruction you can translate, an optional collection charge and a code your documents print. The part that matters most is tax: an order collected at a counter is taxed at that counter, matched on the branch's own country, state and postcode, so a Dublin shop charges Irish tax on an order a French customer collects. A collected order never has a delivery address at all: checkout stops asking for one, and none is stored. The branch, its address, its hours and its instruction print on the receipt, the confirmation email, the invoice and the packing slip, laid out by the same address formatter every other address goes through. A branch that has closed is switched off rather than deleted, so the orders that named it still print where they went.
Print-on-demand fulfilment
KahunaCart: Official add-on WooCommerce: Third-party
The Print on Demand add-on connects Printful, Printify and Gelato, and you can use several at once. You design a product in the provider's own dashboard and import it into the store, the provider's live shipping rates are offered at checkout, and a paid order goes to the provider, by default as a draft you review and send, or automatically if you prefer. The provider's tracking comes back onto the order as shipments, and products that are not in a provider's catalog can still be made from print files the store holds, routed by SKU.
Orders 14 features
Orders: KahunaCart compared with 1 other platforms
Feature KahunaCart Woo
Sequential order numbers from an atomic sequence
KahunaCart: In the box WooCommerce: In the box
Order numbers are assigned in sequence and never change once given out. Deleting an order leaves a gap in the sequence rather than renumbering the orders around it, so a number a customer already has on their receipt can never change. Every order also carries a short payment reference for bank transfers, printed on the receipt, the invoice and the pay page and available to drop into your payment instructions. It leaves out every character pair people confuse when copying by hand, so no zero and letter O, no one and letter I, and it does not tell anyone who pays you how many orders you have taken.
Invoice number from its own sequence
KahunaCart: In the box WooCommerce: Third-party
Invoices get their own separate, gapless numbering sequence apart from the order number, which several EU countries require. You can set the starting number and format, and optionally have it reset each year.
Merchant-defined order statuses
KahunaCart: In the box WooCommerce: In the box
You can create your own order statuses, with your own names, colours and order, and switch any of them off. Each status can be marked as counting toward payment, affecting stock, or being a final state, and the store's logic works off those settings rather than the status name, so renaming a status never breaks anything relying on it. A status cannot be deleted while orders are still using it. Each status can also carry a customer-facing name, so Picking, Packed and At the framer can all read as "Preparing your order" to the customer while you keep three separate states, three counts and three filters in the admin. Leave it blank and the customer sees the status name itself, which is what every store gets until it chooses otherwise.
Order state machine with legal transitions
KahunaCart: Partial WooCommerce: Partial
There is no formal list of which order status can legally follow which. What does exist is a single, consistent path for changing status that always records the change in the order's history, plus rules tied to specific flags, such as allowing refunds only on statuses flagged complete, and requiring a final order to be explicitly unlocked before it can be edited again. It is closer to consistent guardrails than a fully declared state machine.
Order timeline / history
KahunaCart: In the box WooCommerce: In the box
Every order keeps a permanent history: status changes, shipments, cancellations, refunds, and emails sent are all recorded automatically. Add-ons can add their own entries to this history too, and customers see a simplified version of it on their receipt. Alongside it, orders carry notices, which are the things somebody has to be told rather than a log of what happened. A customer is told when a coupon lapsed or a line went away, on the receipt, at checkout and in the confirmation email, and never from the internal record: a notice is built from a fixed list of what a customer may be shown, so an internal status name, a private note or a stored snapshot cannot reach a buyer. You get the other half as a work queue of the orders that need a person, covering negative stock, a coupon redeemed past its limit, a failed webhook or an address that did not validate, and an item leaves the queue when somebody has dealt with it.
Order notes, private and customer-facing
KahunaCart: In the box WooCommerce: In the box
You can leave notes on an order, either private notes only staff see, or notes that get emailed to the customer. A private note can be deleted, but a note already sent to a customer cannot be, since it has already gone out.
Manual / phone order creation in the admin
KahunaCart: In the box WooCommerce: In the box
Staff can create an order manually in the admin, for a phone or in-person sale, and it goes through exactly the same process as a website order: numbering, stock deduction, and a confirmation email. The order takes the customer's billing and shipping address, filled in from their address book, so tax and shipping are worked out from it exactly as at checkout, and a customer in a group with its own price list gets those prices. Staff can also record a VAT ID and sell without VAT under the reverse charge. Prices always come from the catalog, there is no way to type in an arbitrary price, and there is no way to add a one-off line item like a custom fee or surcharge. For a shop counter, the Point of Sale add-on gives staff a till, described in the next row.
Point of sale at the counter, on the same stock and orders as the online store
KahunaCart: Official add-on WooCommerce: In the box
The Point of Sale add-on turns a tablet, a laptop or a phone into a till on your own site. Staff pick their name, type a PIN and scan or tap products, and the customer pays with cash, a card on a Stripe, Square or SumUp reader, store credit, a gift card or a pay link, or a mix of them. Every counter sale is an ordinary order, using the same products, prices, stock, coupons and customers as the website, and it is taxed at the address of the shop where it was sold. Customers can bring things back to the counter, and someone who owes the rest of a booking or an online order can pay it there. Reports count counter and online sales together and can split them by channel. The till needs a connection to your shop to sell, because there is no offline mode.
Till shifts with a starting float and a cash count at closing
KahunaCart: Official add-on WooCommerce: Third-party
Each shift starts by counting the float into the drawer, and cash put in or taken out during the day is recorded with a reason and the name of whoever did it. At closing, staff count the drawer by notes and coins or as one total before the till shows what it should hold, so nobody counts towards a number. The till then says whether the drawer balances, is short or is over, and freezes a Z report with the sales, payments and refunds by type, discounts, tax by rate, totals for each member of staff and the cash drawer line by line. An X report shows the shift so far at any time, and a difference bigger than the limit you set sends you a message.
Editing an order after it is placed
KahunaCart: In the box WooCommerce: Partial
Orders can be edited after they are placed, such as adding or removing items, changing quantities or prices, and adjusting shipping, address or tax, with every version of the order kept and readable afterward. Lines are never deleted outright, only written off, and an order in a final status must be explicitly unlocked before it can be edited again, with that unlock recorded too. This is an optional setting you turn on, and turning it on is blocked if you have an installed add-on that has not been updated to support it.
Payment link for an unpaid order
KahunaCart: In the box WooCommerce: In the box
You can send a customer a payment link for an unpaid order, offering the same payment methods checkout would normally offer. The link expires after a while rather than staying valid indefinitely.
Customer-facing PDF invoice
KahunaCart: In the box WooCommerce: Third-party
A printable, downloadable PDF invoice is generated automatically for every order, with no extra software to install. A confirmed refund automatically issues a credit note as well.
Ledger of every provider interaction
KahunaCart: In the box WooCommerce: In the box
Every interaction with your payment provider, charges, refunds and everything in between, is logged, with refunds linked back to the original payment they refunded. Incoming notifications from the provider are logged too, with the message content kept only for ones verified as genuine, since that inbound address is public and anyone could attempt to post to it.
Order source attribution (referrer, campaign tags, device)
KahunaCart: In the box WooCommerce: In the box
Every order records where it came from: the site that referred the visit, the campaign tags on the link they followed, and whether they were on a phone, a tablet or a desktop. The first visit wins rather than the last. Nothing at all is stored about a visitor who does not order, no third-party service is contacted, and the browser's user agent is read once to work out the device and then dropped rather than kept. Reports break revenue down by any of it, so 'where did this order come from' is a question your store answers on its own rather than one you go and ask an analytics product.
Bookings & rentals 6 features
Bookings & rentals: KahunaCart compared with 1 other platforms
Feature KahunaCart Woo
Appointment booking with available time slots
KahunaCart: Official add-on WooCommerce: Official add-on
Book appointments through the Bookings add-on. Set service durations, opening hours, notice periods and buffers. Customers choose an available time and use the store checkout.
Shared staff and resource availability
KahunaCart: Official add-on WooCommerce: Official add-on
Bookings checks staff, rooms and equipment across services. A booking can require several resources at once, such as a therapist and a treatment room. Working hours, time off and capacity determine which slots are available.
Group sessions with limited places
KahunaCart: Official add-on WooCommerce: Official add-on
Bookings supports scheduled classes with a capacity for each session. Sell individual dates or a whole course, keep attendance registers and offer cancelled places to a waiting list.
Nightly accommodation with check-in and check-out dates
KahunaCart: Official add-on WooCommerce: Official add-on
The Rentals add-on requires Bookings. It adds a date-range picker, nightly stays, guest limits, minimum stays and arrival and departure rules. Sell a whole property or a pool of equivalent rooms through the existing checkout.
Seasonal rates for nightly stays
KahunaCart: Official add-on WooCommerce: Official add-on
Rentals supports date-based rate bands and weekend prices. Add extra-guest charges and a cleaning fee for each stay. The quoted price is held while the guest completes checkout.
Rental availability import and export through iCal
KahunaCart: Official add-on WooCommerce: Unverified
Bookings and Rentals exchange availability with listing sites through iCal feeds. Channel exports omit guest details. Updates are periodic and can leave a double-booking window; this is not a real-time channel manager. See the sync limits.
i18n, currency & multi-store 6 features
i18n, currency & multi-store: KahunaCart compared with 1 other platforms
Feature KahunaCart Woo
Translated product content
KahunaCart: In the box WooCommerce: Not available
Product content such as titles and descriptions can be translated per field, so a product can have a German title paired with an English summary and both display correctly. If a translation is missing, the original language is shown instead of a blank space. Shops that only use one language see no extra overhead at all.
Per-language product URLs
KahunaCart: Partial WooCommerce: Third-party
Product URLs are the same in every language rather than translated per language. This is a known trade off for search visibility, and a fully translated URL structure is being considered as a future improvement.
Emails render in the order's language
KahunaCart: In the box WooCommerce: In the box
The language a customer used while shopping is saved with their order, and it is used consistently afterwards. Shipping and tax labels, cart line titles, and every email about that order stay in the language the customer originally shopped in, even if the shop's default language changes later.
Translated admin strings shipped for languages beyond English
KahunaCart: Partial WooCommerce: In the box
Admin screens are only available in English today, so this is a partial rather than a tick. Everything a translator needs is in place: the translation system itself, a Crowdin project that takes contributed language packs, a command that exports the source strings and reports how complete each pack is, and a written guide for contributors. A finished pack drops into the plugin with no code change and any key it is missing falls back to English on its own, so what is left is contributors rather than work on our side.
Multi-store from one install
KahunaCart: Not available WooCommerce: Partial
There is no multi-store, multi-vendor or marketplace support. Several separate shops can share the same database server, but they cannot share one catalogue across multiple storefronts. This is planned as core work, and the underlying database is already partly prepared for it.
Per-country address rules for layout, required fields, postcode and phone
KahunaCart: In the box WooCommerce: In the box
Each country carries its own address rules as a row you can edit: the order its address lines print in, the postcode pattern, the phone pattern, and which address fields it will not do without. A postcode rule that refuses valid post, or a required field nobody in that country has, is a save on a Tuesday afternoon rather than a wait for a release, and it changes that country and nothing else. Values ship for the thirty largest ecommerce markets plus every country your own tax and shipping zones already name; every other country gets an empty row, falls back to the generic layout and takes an order exactly as it did before. One formatter draws every address, so a German address prints its postcode before its city on the checkout review, the receipt, the invoice, the packing slip and the address book, or on none of them. The shipped phone rules are a format check rather than a national numbering plan, on purpose: refusing a valid number is worse than letting a typo through. A country's required fields only apply when the basket holds something that has to be delivered, so a cart of downloads still checks out with no address at all.

The other direction

Where WooCommerce offers more

WooCommerce's ecosystem covers requirements that KahunaCart does not yet address, including loyalty programs and company accounts with purchase orders or credit terms. Check the extensions you rely on before considering a move.

WooCommerce has broader payment-wallet support and a more extensive country-address dataset. KahunaCart lets staff configure country rules, but more of that work may need to be done for the markets you serve.

Both products provide reports and period comparisons. WooCommerce has a longer analytics history and CSV export from individual views. KahunaCart exports its reports, but not every analytics view.

KahunaCart includes group pricing, quantity tiers, quantity and order rules, member-only products, reviews, wishlists, gift cards, store credit and merchant-side returns. Those should be compared as present capabilities rather than reasons to rule it out. Its store credit must cover the full order and cannot be combined with a card payment.

The wider WordPress ecosystem and your team's experience are also part of the decision. License savings alone may not justify rebuilding an established store.

What it costs

License and ongoing costs

WooCommerce core is free. The table shows extension costs for the assessed store configurations. KahunaCart Bookings and Rentals are optional paid add-ons; the base license totals exclude them.

KahunaCart WooCommerce
CMS Grav, free WordPress, free
Commerce, year 1 $249 $0
Realistic year 1 $249 plus hosting $483 to $555 basic DIY, $2,350 to $2,794 professional small store
Year 2 $99, optional The same again. Extension licences renew annually
Appointment and class booking $149 one-time, Bookings; core license also required $249/yr, WooCommerce Bookings
Nightly accommodation $249 one-time, Bookings + Rentals; core license also required Free Accommodation Bookings extension; requires WooCommerce Bookings
Adding Rentals to existing Bookings $149 one-time Accommodation extension is free
Subscriptions $129, one-time add-on $279/yr
Abandoned cart recovery Included $159/yr, AutomateWoo
Table-rate shipping Included: weight bands, per item, per kilogram, percentage, limits and cost formulas $119/yr
Product bundles Included: a set at its own price, stock off each part $79/yr
Gift cards and store credit Included, one ledger Paid extension
Minimum, maximum and pack-size quantities Included, on a product, a variant or a category, plus store-wide order minimums and maximums Paid extension, Min/Max Quantities
Member-only products Included: name the customer groups that may buy a product $199/yr, Memberships
Wishlists Included, multiple named lists Third-party plugin
PDF invoices Included, with a credit note on refund Free third-party plugin
Multilanguage Included, per-field WPML plus add-ons

Booking prices checked 21 September 2026; other prices recorded in August 2026. Add the booking extensions you need to the base store budget. KahunaCart add-on updates use the site’s single optional renewal. Hosting and development are extra. See the KahunaCart store for current offers, WooCommerce Bookings for its annual price, and the Accommodation documentation for its free extension and requirements.

Migrating

Planning a move from WooCommerce

KahunaCart recognizes WooCommerce CSV headers, previews the proposed mapping and lets you save it for reuse. Imports can resume after an interruption and produce row-level error reports.

Variable products and variations map to products and variants. Attributes used for variations become option types, with a maximum of three per product. Other attributes need to fit KahunaCart's supported attribute types. Check unsupported product-type mappings in the import preview.

Brands can become tags. Check category names for duplicates across different parents, and review tax classes, rate priorities and shipping rules. Shipping formulas need conversion to KahunaCart's minor-unit amounts: a WooCommerce expression of 10 + (2 * [qty]) becomes 1000 + (200 * [qty]) for a currency with two decimal places.

Customers and orders use the same importer. Rows sharing an order number are combined into one order with multiple items. Coupons and reviews need separate migration work; existing review ratings do not transfer through the importer.

Plan booking migration separately from product and order imports. Importing an order does not recreate its staff assignments, availability rules, class places or future stay. Reconcile upcoming bookings and calendar blocks before opening the new booking calendar to customers.

Questions

Common questions

Can I import WooCommerce products?

Yes. The importer recognizes WooCommerce headers and lets you preview and save the mapping. Review variations, unsupported product mappings, category names and custom attributes before applying it.

Can I bring my order history?

Customers and orders can be imported from CSV. Rows with the same order number are combined into one order with multiple items. Keep the original exports for details outside the supported mapping.

Is KahunaCart faster than WooCommerce?

The published benchmarks measure KahunaCart on a specified workload and hardware. They are not a direct WooCommerce comparison. Test your own catalog and hosting when performance is a deciding factor.

Does KahunaCart require a page builder?

No. The storefront uses Twig templates, with configurable shop sections such as product grids. You or your developer can edit the templates within your Grav theme.

Can I edit a placed order?

Yes, when order changes are enabled. Prepare the changes, review them and confirm them as a new order version. Earlier versions remain readable. Unlocking a final order is recorded in its history.

Are product reviews included?

Yes. Reviews include ratings, written feedback, moderation and verified-purchase status based on order history. An optional email can request a review after an order. Existing reviews are not supported by the importer.

What would I lose by moving?

Check your extensions against the matrix. Loyalty programs, wholesale company accounts, broader wallet support and the size of the WooCommerce ecosystem are key differences. The section above covers the operational trade-offs.

Explore KahunaCart before you decide.

Review the pricing and documentation against your store's requirements.

Buy in the store