Orders
Use the Orders page to see and handle every order of your shop, from the online store and from the Cashier. The menu used to be called Sales. The button for recording a manual sale is still called Create Sale.
What to look for
- recent orders — the table shows Order No., Customer, Total, Status, and Date
- payment completion — orders move from PAYMENT-WAITING to PAID, ON-DELIVERY, DELIVERED, or CANCELED
- order-level details that may affect support or stock follow-up
What this page includes
- transaction search by order number
- a Create Sale button for recording manual sales
- a Detail action per row, showing the customer, item breakdown, subtotal, discount, delivery fee, points used, and grand total
- from the Detail dialog: a Print Invoice button plus status-workflow buttons matching the order's stage — Mark as Paid, Mark On Delivery, Mark Delivered, and Cancel Order
- from the Detail dialog: a Refund button for orders that are paid, on delivery, or delivered
- from the Detail dialog: the transfer proof photo uploaded by the customer for manual bank transfer payments
- a Delete row action with a confirmation dialog — only for canceled or expired orders
The Create Sale form contains: Customer (optional — guest sales can still be recorded), Payment Method, Coupon (optional), Delivery (optional, with its fee added automatically), a list of Products with a quantity per row, and a Redeem customer loyalty points checkbox when a customer is selected. FNB shops also get an Order Type choice (Dine In / Takeaway / Delivery) and a Table picker for dine-in orders.
Wholesale prices now apply in Create Sale: when a product's quantity reaches its wholesale minimum, the unit price automatically switches to the wholesale price. Previously, a manual sale with a wholesale quantity could fail to save. For wholesale tiers, the quantity is the product's total across all rows.
Typical workflow
- review the recent sales activity
- search for a transaction by order number
- open Detail to confirm the payment status and item breakdown
- update the order status (paid, on delivery, delivered, or canceled) or print the invoice as needed
- connect the sales result to customer, inventory, or support actions if needed
Order status
Status only moves forward: waiting for payment → paid → on delivery → delivered. An order can be canceled until it ships. Canceling puts stock, coupons, and spent points back, and frees any booking slot or rental unit it was holding. If the order was already paid, the points it earned are taken back and you refund the customer's money yourself. If some items were already refunded, canceling only puts back the items that were not refunded, so nothing is counted twice.
An order that expires because it wasn't paid in time is treated like a canceled order: the stock, coupons, points, booking slots, rental units and flash sale quota it held are released, and the customer gets a notification that the payment expired.
Unpaid orders expire automatically
An order waiting for payment no longer holds stock forever. Etalasse checks unpaid orders every 10 minutes and marks them expired after these limits:
| How it is paid | Expires after |
|---|---|
| Online payment through Midtrans or Stripe (virtual account, QRIS, e-wallet, card) | 24 hours |
| Manual transfer or manual e-wallet | 7 days, unless the customer has uploaded payment proof. An order with proof waits for you to check it and mark it paid |
| Pay on the spot (COD, pay at the cashier) and open F&B bills | Never expires automatically |
On expiry, everything the order held is released as on a cancel (stock, coupons, points, slots, rental units, flash sale quota), any still-open online payment is closed, and the customer is notified. These limits are set by Etalasse, not a shop setting, and only apply to orders created since this feature went live. Old orders left hanging are not changed automatically. An expired order can no longer be paid, so the customer needs to place a new order.
Seller commission when an order is canceled
In multivendor shops, canceling a paid order now also takes back the seller's earnings from that order:
- if the seller's earnings were already credited to their balance, that amount is debited again through a Cancellation entry in the seller's wallet ledger, minus the part already taken back by earlier refunds, and never twice;
- if the earnings were not credited yet, the item's commission and net amount are zeroed and its payout status becomes Canceled.
The same applies to an order that expires. Before, a seller's commission could stay on record after the order was canceled.
The order number carries the order date in the shop's time zone, so an order placed just after midnight gets that day's date.
Each status change can send the customer an automatic update by WhatsApp, Email, or Push. Choose which updates are sent in Customer Notifications.
Bank transfer proof
Customers who pay by manual bank transfer can upload a photo of their transfer receipt (a slip or a mobile-banking screenshot) right on their order.
Transfer proof upload launches with this release. Screens may differ slightly from the description below, but it works the same way.
- once the customer uploads the proof, you get a notification
- open Orders, then click Detail on that order to see the transfer proof photo
- check the amount and destination account against your bank statement
- if the money has arrived, click Mark as Paid
Important: the transfer proof does not confirm the payment automatically. The order stays waiting for payment until you press Mark as Paid yourself. Always check your bank statement, not just the photo, because a proof photo can be wrong or fake.
Refunds and returns
Use Refund in the Detail dialog to give back part or all of a paid order.
- enter the quantity to refund per item, or choose Refund everything
- pick the method: Cash, Bank transfer, or Other
- choose whether the items go back into stock, and whether delivery is refunded too
- check the amount the system calculated, then click Record refund
What happens automatically:
- the money amount is each item's share of the order, including the coupon discount and tax pro rata; the payment fee is not refunded
- if the customer paid partly with points, those points come back in the same ratio; points earned from the order are taken back
- cash refunds are recorded as a pay-out on the open cashier shift
- the seller's share (multivendor shops) is adjusted
- revenue reports show figures after refunds
- if the order is canceled after a partial refund, only the items not yet refunded go back to stock. Items refunded without returning them to stock (damaged, for example) are not put back by the cancel either. Points are worked out the same way
Orders sold on account are canceled or refunded as credit notes instead of a full cash payout. See Canceling and refunding credit orders.
You can change the money amount, as long as it doesn't exceed what is still refundable. Only the owner or an admin can record refunds, not cashiers.
Courier (JNE, J&T, etc.)
For orders shipped with Courier (JNE, J&T, etc.), Etalasse books the courier automatically when you mark the order On Delivery. The order detail shows the courier status:
- Booking the courier…: wait a moment
- Courier booked, with the waybill number. The shop owner and admins can tap Cancel courier while the parcel has not been picked up
- Courier booking failed: book again with Try again, or tap Enter waybill manually if you ship the parcel yourself
The cost of the Courier (JNE, J&T, etc.) option, which used to be called Ekspedisi, is paid from the shop balance when the courier is booked. Buyers still pay shipping at checkout. The cost is set aside from the shop balance when the courier is booked, then charged at the courier's real price. If you cancel the courier before the parcel is picked up, the cost goes back to the balance. If the courier re-weighs the parcel and the price changes, the charge is adjusted. See Ekspedisi courier cost from the shop balance.
If the courier itself cancels, for example no courier was found or the parcel was returned, the cost does not come back automatically. The Etalasse team reviews it; contact support if you have questions.
Shop balance too low
If the shop balance is lower than the courier cost, the courier is not booked. The order stays On Delivery, and the order detail shows Courier booking failed with the message Shop balance too low for the courier cost, along with the cost needed and your current balance. This also happens while the balance is negative.
Choose one:
- tap Top up, pay the top-up, then go back to the order and tap Try again
- or tap Enter waybill manually, then send the parcel yourself with a courier of your choice. Nothing is taken from the balance
To avoid delays, keep enough balance for the shipping of orders you are about to send. See Top up.
Shipments per seller
When the shop uses shipping per seller, the detail of an order with split shipping shows Shipments per seller: one row per parcel with the seller (or Shop products), courier, fee, number of items, status (Not processed yet, Ready to ship, Shipped, Delivered, Canceled), tracking number, and a Fee credited to the seller mark.
Sellers usually add their own tracking. Use Update shipment to ship the Shop products parcel or fix a tracking number; a tracking number is required to mark it Shipped.
Refund requests from sellers
In a multivendor shop, sellers can request a cancel or refund for their own items. Once you approve it under Seller refund requests, the refund is recorded on the order like any refund. See Seller Refund Requests.
When to open Sales first
Use this page when the main question is “what happened in the transaction?” rather than “what happened to stock?” or “who is the customer?” For aggregate analysis, use Reports.
Common review scenarios
- confirm whether a payment completed from the order's status badge
- investigate a disputed or confusing order record through the Detail dialog
- trace a sale before checking its impact on the customer or Stock Sold
Send a pay link
A buyer from a WhatsApp chat does not need an account first. In Create Sale, choose Send pay link, enter the buyer's name and phone number, and pick a payment method (not cash).
- After saving you get a link to copy or send straight through WhatsApp. The buyer opens it and lands on that order: sees how to pay, pays by QRIS or transfer, uploads proof and checks the status.
- The link opens only that one order, and shows masked data only (no full name, phone number or address of the buyer).
- The link works for 14 days. If the order is canceled, the buyer can no longer pay it; the link still opens that order page, view only.
- An order that still waits for payment has a Pay link button in its Detail dialog, to get the link again any time.
- An order for a saved customer does not use a link: that customer logs in to pay, as before.
- The buyer can also find a pay-link order through Check order in the store, with the order number and the phone number you entered.
- Pay links do not support courier delivery or coupons yet. For those orders, use the normal Create Sale.
Unique transfer code
When buyers pay by bank transfer or your own QRIS, you usually check the bank statement line by line. A unique code helps: a few rupiah are added to a waiting order, so each payment on the statement matches exactly one order.
- Turn it on in Shop Profile → Unique transfer code. It is off by default.
- The code is Rp 1–99 on orders under Rp 100.000 and Rp 1–999 above. Buyers see a separate Unique code line and transfer total + code.
- Only for online store and pay-link orders paid by transfer or your own QRIS. Cash, automatic online payment, store credit, booking orders with a deposit and Kasir sales are unchanged.
- The code is not part of the order total, tax or reports. Reports keep using the normal total.
- The Orders page shows a Match a transfer box (only when the unique code is on): type or paste the amount from the bank statement, open the matching order and mark it paid.
- The code is freed when the order is paid, canceled or expires. Two orders created in the same second can happen to get the same amount; you check manually as usual.
- A buyer who transfers just the total can still be marked paid by you. The code never blocks a payment.