Physical Products & Shipping
Create products and variants, manage inventory, set up shipping rates, and fulfil orders.
Beyond courses, you can sell physical products (books, materials, merch). Visitors check out through a cart, separately from courses.
Creating a product
Shop → Products → New product.

- Main image and gallery: the product page shows all of them
- Description: a full rich-text editor
- Product type and tags: for categorising; the storefront can show a single type
- Slug: the product page URL — stick to letters and numbers
Products start as drafts — publish before they appear on the storefront.
Variants
When the same product comes in different sizes or colours, use variants — up to three option sets (e.g. Size / Colour / Material).
Each combination has its own:
| Field | Notes |
|---|---|
| Price | For this specific combination |
| Compare-at price | Shown struck through, for a discount effect |
| SKU / barcode | Your own reference |
| Inventory quantity | |
| Weight | Used for shipping calculations |
| Image | Swaps the photo when that variant is selected |
Inventory
- Track inventory: turn it off to ignore quantities (good for pre-orders or unlimited items)
- When sold out: either stop sales, or keep accepting orders (backorders)
Sold-out products show a restock notification form on the storefront. Visitors leave an email, and you'll find them under Shop → Restock list.
Shipping rates
Shop → Shipping & delivery. Rates are set per delivery region:
- Delivery region: one for mainland Taiwan, one for the outlying islands, another for Malaysia — add a region (top right) whenever the rate differs. Buyers pick their region at checkout; with only one region the selector never appears.
- Within a region there are two delivery methods — home delivery and store pickup — one row each (the method is the name, so there is nothing to name):
- Rate
- Free-shipping threshold: orders above this amount ship free
The region is chosen by the buyer rather than guessed from the address: the address is one free-text line, and guessing “island” or “which country” from it goes wrong — which means charging the wrong shipping.
Charging for shipping is not the same as connecting a carrier
This section only decides what the buyer pays. Shipping itself goes one of two ways:
| Ship it yourself (default) | Connect a carrier | |
|---|---|---|
| Cost | Just the shipping you charge | A contract with the carrier, charged per parcel on top |
| Labels | You print at the store kiosk / book the courier yourself | One click in the dashboard, or issued automatically |
| Tracking | Never comes back; you update the order by hand | Arrived / picked up syncs onto the order |
You can sell perfectly well without connecting anything — the buyer still picks a delivery method and still pays shipping; you just handle everything by hand. Carrier integration is available for Taiwanese convenience-store pickup only.
Two product-level switches also affect checkout:
- Requires shipping: turn it off for virtual goods — checkout won't ask for an address or charge shipping
- Home delivery only: for bulky items; hides pickup-point options at checkout
Orders and fulfilment
Shop → Product orders. Every order carries two independent statuses:
| Status | Values |
|---|---|
| Payment | Pending / Paid / Refunded |
| Fulfilment | Unfulfilled / Partial / Fulfilled / Completed |
They're separate for a practical reason: cash on delivery is "shipped but not paid", a pre-order is "paid but not shipped" — one status can't express both.
Enter a tracking number when you ship, and the customer is emailed automatically.
FAQ
I published a product but can't see it on the storefront. Check that the status is Active rather than Draft or Archived, and that the publish toggle is on — those are two separate fields.
Can someone buy a course and a physical product together? The cart is for physical products; courses use their own checkout. They're separate flows.
If I change a price, do existing orders change? No. An order records the price at the time it was placed.
Can I oversell my stock? Not if "when sold out" is set to stop sales. The option to keep accepting orders is there deliberately, for pre-orders.