Skip to content

Orders

Orders can be created in two ways: automatically when a customer completes checkout, or manually from the admin panel when a sale happens off-platform (Instagram DMs, WhatsApp, phone, in person). From the admin panel you can view every order, create manual ones, inspect details, and update statuses — each status change can trigger an email notification to the customer.

Browsing orders

Open Orders in the admin sidebar to see the full order list. The table displays each order's number, customer, status, item count, total, and creation date.

Orders list

ColumnDescription
Order NumberUnique auto-incrementing number (click to view details)
UserCustomer name and email
StatusCurrent order status displayed as a colored badge
ItemsNumber of products in the order
TotalOrder total in your store currency
Created AtDate the order was placed

You can sort by clicking the Order Number, Total, or Created At column headers. Use the search bar to find orders by order number or customer name/email. The Status filter lets you narrow results to a specific status, the User filter lets you search for a specific customer's orders, and the Source filter separates Online (checkout) from Manual orders.

Manual orders for walk-in or cash customers without a real email on file show an Offline customer badge in place of the email address, so you can tell at a glance which orders won't trigger customer notifications.

Exporting orders

Click the Export Orders button at the top of the orders list to download the current view as a CSV file. The export respects active filters and search — only the rows you can see in the list are included, so you can scope the export to a single status, a date range, a specific customer, or only manual orders.

Use this for accounting handoffs, marketplace reconciliation, or feeding orders into an external fulfillment system.

Creating a manual order

Click Create manual order on the orders list to record a sale that happened off-platform. A manual order works exactly like a checkout order — stock is decremented, totals are calculated, and the customer can optionally receive a confirmation email — but you control every field yourself.

Create manual order — Customer and Items

Step 1 — Choose a customer

Pick between two options at the top of the form:

  • Existing customer — search by name or email and select a user who already exists in your store.
  • New customer — provide a Name (required). Email (Optional) can be left blank for walk-in or cash sales where you don't have contact info; in that case the system creates a lightweight user with a placeholder email so no confirmation email is sent.

Tip: If the same email is later used to create a real account, the two will be linked automatically.

Step 2 — Add items

Each line has Product, Qty, and Unit price. Selecting a product auto-fills its current price, which you can override for DM-only deals. Click + Add item to add more lines.

Important: Products with variants must be added as a specific variant, not as the parent product. Items are locked after the order is created — if you need to change items, cancel the order and create a new one.

Create manual order — Shipping, payment, status

Step 3 — Shipping address (optional)

Toggle Add shipping address on if you want to capture a delivery address. When enabled, Name, Street, Zip, and Country are required; Phone, State, and City are optional. You can skip this step entirely and add an address later from the order page.

Step 4 — Shipping & payment (optional)

FieldWhat it does
Shipping MethodFilters by the shipping address country. Auto-clears if you change the country and the option no longer matches.
Payment MethodOnly offline methods (cash on delivery, bank transfer, etc.). Stripe/PSP methods are hidden for manual orders.

Step 5 — Status & totals

FieldNotes
StatusDefaults to Paid since the money already arrived off-platform. Pick any status that reflects reality.
Manual discount (Optional)Flat amount to subtract from the total. Separate from any coupon.
Manual surcharge (Optional)Flat amount to add to the total. Use for cash-handling fees, delivery add-ons, rounding, etc. Separate from the shipping cost.
Send confirmation email toOverride the contact email for the confirmation. Leave blank to use the customer's email. Nothing is sent if the customer has a placeholder email.
Delivery date (Optional)Pick a date. Past dates are allowed for back-dating an order.

The Total (before tax) preview shows subtotal + shipping + surcharge − discount. Tax is computed server-side once you click Save, using the country-specific tax rules for the items and the shipping address country.

Confirming the order

Clicking Save opens a "Create this order?" confirmation dialog. It reminds you that a confirmation email will be sent if the customer has a real email on file, and that after creation only the status can change — every other field is locked.

If you skipped any of the optional fields (shipping address, shipping method, payment method, delivery date), the dialog lists them in an amber Missing: warning. The warning does not block creation — click Create order to proceed anyway, or Go back to fill them in. After confirming, you land on the order's detail page.

Viewing an order

Click any order number in the list to open the order detail page. The page is divided into several sections showing all order information.

Order detail — top section

Order information

FieldDescription
CustomerName and email of the buyer
Contact EmailThe email address associated with the order
Current StatusBadge showing the current status
Update StatusDropdown to transition the order to a new status
Created AtTimestamp when the order was placed
Updated AtTimestamp of the last modification
Delivery DateExpected delivery date (if a shipping method was selected)

Shipping address

Displays the full shipping address the customer provided at checkout: name, street, city, state, ZIP code, country, and phone number.

Billing address

When the customer checked Billing same as shipping during checkout (the default), the order detail shows a single block labelled "Billing same as shipping" instead of a duplicated card. When the customer entered a separate billing address, both blocks appear side by side so you can see exactly where the order was shipped and where it was billed for tax purposes. The billing country is what drove the tax calculation on the order.

Shipping and payment

FieldDescription
Shipping MethodName of the selected shipping option and its cost
Delivery DateEstimated delivery date based on the shipping option
Payment MethodName and type of the selected payment method

Coupon

If the customer applied a coupon code, this section shows the coupon code, discount type, and the discount amount.

Order items

Order detail — items section

Lists every product in the order with its thumbnail image, title (links to the product editor), unit price, quantity, and line total. Below the item list you will find the financial summary:

LineDescription
SubtotalSum of all item totals before extras
ShippingShipping cost (shows "Free" when zero)
TaxEstimated tax amount
SurchargeManual surcharge applied at creation (if any)
DiscountDiscount amount (shown in green)
TotalFinal amount the customer was charged

Order statuses

Every order has a status that reflects where it is in the fulfillment lifecycle. Statuses are displayed as colored badges throughout the admin panel and on the customer-facing order page.

StatusMeaning
Pending PaymentOrder placed, waiting for payment confirmation
Payment FailedPayment could not be processed
PaidPayment confirmed, ready to fulfill
ShippedOrder has been dispatched
DeliveredOrder delivered to the customer
CancelledOrder was cancelled (terminal)
ReturnedCustomer returned the order (terminal)
RefundedRefund has been processed (terminal)

Important: Orders in a terminal status (Cancelled, Returned, Refunded) cannot be transitioned to any other status.

Updating order status

On the order detail page, use the Update Status dropdown to select the new status and click Update Status. Only valid transitions are shown in the dropdown — you cannot skip steps or reverse terminal states.

Submitting opens a "Change status to {status}?" confirmation dialog. It highlights that if an email is sent, it cannot be recalled and shows a blue info box reminding you that the customer may receive a "{status}" notification email depending on your Settings → Email configuration. Click Change to {status} to apply the transition, or Cancel to back out.

Allowed transitions

FromCan transition to
Pending PaymentPaid, Cancelled, Payment Failed
Payment FailedCancelled
PaidShipped, Delivered, Cancelled, Refunded
ShippedDelivered, Cancelled, Refunded
DeliveredReturned, Refunded
Cancelled(none — terminal)
Returned(none — terminal)
Refunded(none — terminal)

Tip: For PSP (Stripe) payments, the transition from Pending Payment to Paid (or to Payment Failed, if the payment is rejected) happens automatically when the payment provider sends a webhook. You do not need to update these statuses manually.

Editing an order after creation

Once an order exists in the system — whether it came in through checkout or you recorded it manually — only the status can be changed. Every customer-facing field is frozen:

  • Customer
  • Items (product, quantity, unit price)
  • Shipping address
  • Shipping method and payment method
  • Discount and surcharge
  • Delivery date
  • Contact email

Why is everything locked? As soon as the order is created, the new-order confirmation email is either sent immediately or queued to go out the moment payment clears. Changing any of those fields later would leave the customer holding a receipt that no longer matches their order in the system.

What to do instead: if an item, address, or total needs to be corrected, cancel the order (which restores stock) and create a fresh one with the right values.

Email notifications

The platform can send email notifications to customers at two points in the order lifecycle: when an order is first placed, and whenever you change its status.

New order emails

When a customer completes checkout, the system sends two emails (if enabled in Settings > Email):

  1. Customer email — a confirmation with the order number, items, totals, shipping address, billing address, and estimated delivery date. When the billing address differs from the shipping address, both are listed; otherwise a single block notes that billing matches shipping. Sent in the customer's preferred language.
  2. Store email — a notification to the store owner with the same order details. Sent in English to the email configured in your store settings.

These emails are controlled by the Send email on new order toggle in Settings > Email.

Status change emails

Each time you update an order's status, the system can send a notification email to the customer. Every status has its own toggle and optional custom text field in Settings > Email — you can enable or disable emails individually for Payment Failed, Paid, Shipped, Delivered, Cancelled, Returned, and Refunded.

Each email contains a status-specific message (e.g., "Your order is on its way!" for Shipped), the order number, item list, and order totals. If you provide custom text for a status, it appears as an additional paragraph in the email.

Tip: Status change emails are sent in the customer's preferred language. Configure your translations in Settings > Languages to ensure customers receive emails in their language.

How customers see their orders

Order confirmation page

After completing checkout, customers are redirected to the order confirmation page. It displays a thank-you banner, their order number, items, totals, shipping address, and payment method.

For PSP (Stripe) payments, the page shows a real-time payment status indicator that polls the server every 2 seconds for up to 30 seconds. Once the payment is confirmed, the banner updates to show a success message. If the payment fails, a red error banner appears instead.

Order history

Customers can view all their past orders from their Profile page under the Order History section.

Profile — order history

Each order card shows the order number, date, status badge, total amount, and a list of items with thumbnails. Clicking an order card opens the full order detail page. Orders are paginated with 5 per page.

How orders are created

Orders reach the database in one of two ways:

Through checkout. When a customer clicks Complete Order on the storefront, an order is created from the checkout snapshot with all items, prices, address, shipping, and payment details. Product stock remains decremented (it was reserved when the customer entered checkout), the cart is marked as completed, any applied coupon's usage count is incremented, new order emails are dispatched (if enabled), and the customer is redirected to the order confirmation page.

Manually. When you click Create manual order on the orders list, you fill in the customer, items, and optional shipping/payment fields yourself (see Creating a manual order). Stock is decremented the same way and the order lands directly in the list — no checkout snapshot is involved. Compared to checkout orders, the key differences are: (a) no checkout snapshot is created, (b) Stripe/PSP methods aren't available because manual orders are for off-platform payments, and (c) the confirmation email is skipped if the customer has a placeholder email (no address on file). Once created, both kinds of order are edited the same way — only the status can change.