ELLA BEAUTY SALON

Inventory & Point of Sale · scan-powered

Dashboard

Top sellers (this month)

#ProductUnitsRevenue

Reorder now (lowest stock)

ProductIn stock

Bookings

BookedConfirmed ArrivedStarted Done & paidDone · awaiting payment No-show Cancelled (slot free to rebook) Past day · never closed Overlap (stacked — hover/tap to bring forward) · Tap an empty slot to book · Tap a booking to manage it · Drag a booking to move it

Day list

TimeClientStaffServicesAEDStatus

Sell — scan customer items

🛒
Every scan adds the item. Scan the same item again for +1.
ItemPriceQtyTotalStock

Cart is empty — scan an item to start.

🕐 Entering a past sale (catching up on paper records)? Set its real date & time
Items0
Subtotal0.00
VAT 5% (included)0.00
TOTAL AED0.00

Receive stock — scan every unit

📦
Units per scan:
New/unknown items open a quick registration form.

This session (0 units received)

TimeItem+QtyNow in stock

Inventory

SKUProductBrandCategoryBarcodeCostPriceStockStatus

Stock Control — expiry, alarms & staff consumables

🧴 Consumables — scan OUT under a staff name

Colours, tools and internal-use items taken by staff. Pick who is taking, then scan — stock goes down and the usage is recorded under their name (no invoice). Every scan is a permanent movement in the audit trail.

×
TimeItemQtyTaken byStock now

⏳ Expiry watch

Set expiry dates with the ✎ pencil in Inventory, or type them directly below. Red = expired · amber = within 30 days.

ProductStockExpiry dateStatus

🚨 Low & out of stock

Items at or below their reorder level — your shopping list. Set the level per product in Inventory.

ProductStockReorder atStatus

👩‍🎨 Consumption by staff

StaffDifferent itemsUnits takenValue AED (at retail)

📊 Product Sales Report

Check which products were sold in a selected period. Pick a day or a range (max 1 month). Click any row to see invoice details.

or: to
ProductBarcodeQty SoldUnit AEDRevenue AEDStaff

Services — printed on invoices (no stock)

Your 2026 price list is loaded. Services are added to a sale with the "💅 Add service" button on the Sell page (or by typing the service name in the scan box). Final price is editable on the cart line.

CodeServiceCategoryPrice AEDMinutes

Clients — your customer database

Clients are captured automatically when you type their mobile on the Sell page. Every visit, spend and invoice is linked to them — export the list any time for marketing.

ClientMobileVisitsTotal spent AEDLast visitNotes

🎁 Rewards — loyalty program

Live control center for your points program — see accumulations, redemptions, and what you owe clients in points. Manage balances and review every change.

Members

#ClientPointsValue AEDExpiring soon

Recent activity

newest first · last 60 events
DateClientTypePointsInvoice

Memberships & packages

Packages are fully customisable — any mix of services, each with its own quantity, or simply a total number of any services. Paid in advance on a normal tax invoice; at checkout the client's services are redeemed from her package automatically and the balance goes down, with a full usage history.

Active & past memberships

ClientPackageUsedRemainingPurchasedExpiresStatus

Package types (edit anything — services included, quantities, price, validity)

PackageServicesPrice AEDValid (days)Status

Invoices

to
InvoiceDate & timeItemsTotal AEDPayment

Reports

or: to

Staff Performance — Services & Product Sales

Click any staff row to see full item detail. Period filter applies to all data below.
Stylists' commission is not shown here — it is earned against a monthly target and this range can be any few days, so a figure on this screen could never be the one you pay. It lives on 💰 Attendance & Commission, always a whole calendar month. Dhensyl's product commission is a flat rate with no target, so hers shows for any range.

StaffInvoicesServices AEDProducts AED Total AEDTarget AEDAchievedCommission

Barcode labels

Queue of items that need a printed barcode label (new items, items without a barcode). Choose your label size and print — works with any label printer installed on this Mac (Brother QL, DYMO, Zebra…), or A4 sticker sheets.

Settings

Business

pts perAED
pts =AED
months (0 = never)

Points attach to the client's mobile number, appear on the receipt and client profile, and can be sent by WhatsApp. (Current: 10 pts / 100 AED = 5% back; 2 pts = AED 1.)

⏳ Each batch of points expires on its own clock — the oldest points are always spent first, so a client who visits regularly never loses any.

📅 Programme started on is the day rewards began. A sale dated before it earns no points, so keying in old paper records never creates points for visits that happened before the scheme existed. Points a client already held before that date were cleared to zero and the old figure is kept in her points history.

Edit the wording sent to clients. Keep the words in {curly braces} — they fill in automatically.

Scanner test

Click the box and scan any product. A correct setup shows the code instantly and beeps.

🔄 Live sync — all devices share one database

Sales, bookings, stock and clients update on every device through your Netlify site. Works offline too — changes catch up when internet returns.

“Sync now” sends and receives only what changed. Force full re-sync throws away this device's opinion and takes the salon's copy of everything — use it if this device is showing something the reception till does not, for example a booking still blue after it was paid. Work you have typed here and not yet sent is never overwritten.

Backup & export

Nothing is ever deleted automatically — invoices, stock history and clients are kept forever (UAE FTA requires 5 years for tax records; this system exceeds it). Data is stored on this device, mirrored to the cloud sync, and backed up to files below.

A safety backup also downloads automatically once a day while you use the till.

👩‍🎨 Staff (bookings & commission)

Rename your team here — names appear as calendar columns and in reports. Untick to hide someone from the calendar without losing their history.

🔐 Admin & security

Opens in a new tab on this same site. Protected by its own super-admin password (separate from the owner password below) — the till is never interrupted.


The owner password protects the Settings page and every data export — Excel workbooks, CSV files, printed reports and backups — because client and sales data are confidential. Day-to-day work (selling, booking, receiving stock) needs no password. Change the password below.

Danger zone