> ## Documentation Index
> Fetch the complete documentation index at: https://docs.petakopi.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 4. Record sales events

> Keep payment, preparation, and completion clear.

**Outcome:** Performance can tell what was sold, what was made, and when it happened.

Before starting, [configure menu costs](https://docs.petakopi.my/manage-shop/performance/costing.md). Open **Performance → Sales activity** for the selected month’s net sales, order count, average order value, and order evidence. Orders that need attention are grouped by cause at the top; every order is under **By day**. Open **Online Store → Orders** to handle web orders.

## How sales are counted

* Orders include zero-value orders and orders refunded later.
* Average order value is gross sales divided by orders.
* Payment exceptions are not cash received.
* Ingredient cost (est.) includes confirmed preparation losses.
* The days stay inside the selected month.
* The cards show **Net sales** (with gross and refunds underneath when there were refunds), **Orders** with the average, and **Ingredient cost (est.)**, the estimated ingredient and packaging cost. An amber **N uncosted** means some orders have no cost set yet.
* Discounts, including free items from a buy-and-get offer, come off before a sale is counted, so **Net sales** is what customers paid. When there were any, the detail under **Net sales** reads, for example, “RM 1,200.00 before discounts − RM 120.00 discounts”, with refunds after it. **Orders** then adds “100 with a voucher”, which opens your vouchers. An order paid in full by a voucher is still a sale, at RM 0.00, and its ingredients still count as a cost.
* **By day** lists Day, Sales and Orders, with Refunds only when a day has one. Open a day to see its orders.
* The **By day** chart switches between **Week** and **Month**. In Week, use the arrows to move between the month's weeks; tap a bar to open that day.

## Follow the order

1. Verify payment through the order’s payment workflow.
2. Use **Start Preparing** when staff start, then mark the order ready when preparation is finished.
3. Complete an online order when the whole order is handed to the customer.
4. Review **Performance evidence** if financial information is missing.

## Where Performance evidence fits

Every order action above (verify payment, start preparing, mark ready, complete, cancel, refund) writes a dated financial event automatically. Performance reads those events to build the monthly answer. **Performance evidence** is the per-order view of that trail: open it from the order's **⋯** menu, or from a missing-information link in Monthly review or Sales activity.

The page shows three things: whether the order can be counted yet and the reasons if not (for example, an online order not completed), the estimated ingredients used and their cost (Ingredient cost (est.)), and the event history with any corrections. A normal order never needs this page opened; use it to add an event the trail is missing or to correct a wrong date.

A POS sale counts when it is paid, because the customer is served at the counter. An online order counts when it is completed, because payment alone does not prove the customer received it. Completing a POS sale in Orders does not move its sale date.

## Choose an evidence event

| Event | What you are recording |
| - | - |
| Sold | The whole order reached the customer |
| Preparation | Staff started making the order |
| Cancellation | The order was cancelled; specify made, not made, or unknown |
| Allowance | A documented reduction in the sale value |

Enter when the event actually happened in Malaysia time and explain your evidence. Do not add another sold entry just because an ingredient-cost warning remains.

Evidence entries affect reporting. They do not collect money, issue a refund, or change the operational order status. Use the payment workflow for payment or refund actions.

## Cancellations and refunds

If cancelled goods were made, their ingredient cost remains a cost. If you do not know whether they were made, choose unknown rather than treating the cost as zero.

For an order sold in September and refunded in October, the revenue reduction belongs to October. Original ingredient costs remain with September’s sale.

## Corrections

Open **Performance evidence**, find the incorrect entry, and choose **Correct this entry**. Record the accurate event details and reason. The old entry remains visible as replaced history.

A sale can be recorded while payment remains unverified or cost remains incomplete. Resolve each warning separately using [missing information](https://docs.petakopi.my/manage-shop/performance/missing-information.md).

**Ready when:** online orders are completed, payment is verified, and costs are complete or clearly flagged.

**Next:** [Review the monthly answer](https://docs.petakopi.my/manage-shop/performance/monthly-answer.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.