Cart
Add Product
Bulk Restock
Adds this quantity to every product's current stock count — handy right after a delivery. Applies to all products shown below.
| Name | SKU | Category | Price | Stock | Low-stock at |
|---|
Add Category
| Name |
|---|
Add Promoter
| Name | Contact |
|---|
Add Commission Rate
Leave promoter blank to set a default rate for everyone. Set either a product or a category, not both. More specific rates (promoter + product) win over general ones.
| Promoter | Scope | Rate |
|---|
Add Promotion
Quantity discounts and free gifts apply automatically at checkout once the cart matches the rule — nothing for the cashier to select.
| Name | Type | Applies to | Rule |
|---|
Business Details (shown on receipts)
These appear on printed and emailed receipts so customers can use them as a formal proof of purchase — e.g. to claim the expense back from their company. Registration No. and SST No. are optional; leave blank if not applicable and they simply won't be printed.
Email Receipts (EmailJS)
To let this app email receipts automatically, connect a free EmailJS account (200 emails/month free, no code needed):
- Sign up at emailjs.com and add an Email Service (connect your Gmail/Outlook) → copy its Service ID.
- Create an Email Template with a body that includes
{{message}}, and a subject using{{subject}}→ copy its Template ID. - Go to Account → General in EmailJS → copy your Public Key.
- Paste all three below and Save. This app fills in the receipt content automatically — you don't need to design the template.
Danger Zone
Permanently deletes every sale, sale item, and payment record — the Sale History, Customers report, and commission history will all be empty afterwards. Products, stock levels, categories, promoters, and your business/EmailJS settings are not touched. Order numbers restart at YPOS-000001 for the next sale, since numbers are just "highest existing + 1". This can't be undone — export a JSON backup first (Reports → Export Backup) if you might need this data later.
Daily Sales
Commission by Promoter
| Promoter | Product | Qty | Commission (RM) |
|---|
Stock Report
Low and out-of-stock items are listed first. Value is at sell price (this app doesn't track cost price).
| Product | Category | Stock | Low-stock at | Status | Value (RM) |
|---|
Customers
Built from customer info entered at checkout. Grouped by phone number (or email if no phone was given). Walk-ins with no contact info aren't listed.
| Name | Phone | Visits | Total Spent (RM) | Last Visit |
|---|
Export to Excel
A flat sales/commission report (one row per item sold) that opens directly in Excel, Numbers, or Google Sheets. This is for viewing/analysis only — it can't be imported back into the app.
Backup
Everything here (including proof-of-payment photos) is saved only in this browser, on this device. Export a backup file regularly and upload it to Google Drive (or any cloud storage) yourself — this app doesn't connect to Drive directly. To restore, download the file from Drive and Import it here.