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.
Bulk Update Price by Category
Applies to every product in the chosen category. Prices are rounded to 2 decimals and never go below RM 0.
| Name | SKU | Category | Price | Stock | Bins | Low-stock at |
|---|
Add Category
| Name |
|---|
Add Promoter
Set an individual login for a promoter to give them their own checkout-only access β they can make sales and see their own Sale History, but can't reach Catalog, Reports, Settings, or other promoters' data.
| Name | Contact | Login |
|---|
Storage Bins
Bins are physical storage locations (e.g. Front Display, Back Storage). Add the bins you use below, then use the "Assign"/"Edit" button in the Bins column of the Products table to split a product's stock across them β checkout automatically draws down the right bin (alphabetically first bin with stock, then the next), and voiding a sale puts the stock back where it came from.
| Name |
|---|
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 |
|---|
Add Shop
Each shop tracks its own stock and can have its own Fiuu card terminal β a physical terminal can only be bound to one shop at a time. The shop selector in the header lets a till pick which shop it's operating as.
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.
Change My Password
Changes the full-access login password. You'll need this new password next time you log in β promoter logins are separate and are managed under Catalog & Promoters.
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
Sales Report by Period
Voided sales are excluded from every number below.
By Product (SKU)
| SKU | Product | Category | Qty Sold | Gifts Given | Revenue (RM) | Avg Price (RM) | % of Revenue |
|---|
By Category
| Category | Qty Sold | Revenue (RM) | % of Revenue |
|---|
Commission by Promoter
| Promoter | Product | Qty | Commission (RM) |
|---|
50mL Eau de Parfum Sales by Promoter
Full-size (50mL) EDP bottles only β 2mL samples and discovery sets aren't counted. Gift lines and voided sales are excluded.
| Promoter | Qty Sold |
|---|
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 | Bins | 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.