➕ Log a Sale

a second pair, contact lenses or anything else in the same sale — one payment, one balance and one delivery for all of it

Reminders are created automatically: a feedback call for everyone, a repurchase/eye-test recall for spectacles & sunglasses, and a refill call for contact-lens buyers.

🔔 Reminders & follow-ups

🎯 Today's target — what is missed rolls over, what is beaten comes off

📦 Awaiting delivery (ordered, not yet delivered)

☎️ Feedback calls due

🔄 Contact-lens refill calls due

👓 Repurchase / eye-test recall due

💰 Outstanding balances

💸 Shop expenses — money paid out of the till

Log it the moment the money leaves the till, so the cash count at the end of the day still matches. If you are taking cash to the bank or handing it to the office, choose the category Cash to bank / office — that is not an expense, it only moves the money out of the shop. If you are paying a supplier or lab (Zeiss, Dehlawi, Medicals International, Yaco...) for a customer's order, choose Supplier payment (lenses / frames / CL) and write the order/invoice number in "What for". A logged entry can only be deleted with the admin password, so tell the manager if you make a mistake.

DateInvCustomer TypeFrame / LensReferral SellerLeadAmountBalance

🚶 Log a walk-out — visited but didn't buy

Only the reason is required — customer details are usually unknown, that's fine. This tracks how many visitors leave without buying and why.

DateBranchReasonFrom (clinic)Attended byCustomerNote
SAMA OPTICS
Analytics Report

📈 Sales value by month

🏥 Sales by referral source

🧑‍💼 Sales by salesperson

🏢 Sales by branch

👓 Sales by product type

☎️ Reminder performance

🚶 Why walk-outs didn't buy

🏥 Walk-outs by clinic / source

🚶 Walk-outs by month

DateCustomerBranchTypeOutcomeNotesLogged by

📈 Sales KPI's

Plain cells are calculated from the app's own records — including total encounters (that person's sales plus the walk-outs they attended), so the conversion rate can't be talked up. Amber boxes are typed in by you — callback sales and the manager's review; the callback box shows the app's own count underneath, and typing over it wins. Everything saves to the server as you type. Commission band: below 160 = none · 160–250 = 50% · above 250 = full.

👩‍💼 Manager KPI's

Clinic-visit rows are counted automatically from the Doctor Visits tab for the same month (new clinic = first ever visit logged for that centre).

ℹ️ How each line is worked out

Sales volume / value — sales dated inside the month. A sale shared by two sellers counts once for each of them, and its value is split equally between them (same rule as the Analytics tab), so the Total column can differ slightly from the raw transaction count.
Highest sale — largest single invoice of that person in the month (full amount, not split).
Encounters — calculated, not editable: that person's sales in the month plus the walk-outs logged with their name. So the conversion rate rests on what the shops actually recorded — log every walk-out and it stays honest.
Sales from callback — auto-suggestion = sales to a customer who had a feedback / refill / recall call marked done before that purchase. Type over it freely.
Total score = (volume×3) + (value÷500) + (highest÷200) + (conversion×100) + (%target×200) + (callback×10) + (review×3) — exactly the KPI V9 formula.

🩺 Log a clinic / doctor visit

DateTimeMinsCentrePerson metTypeReachedVouchersClassOutcomeNotes / promiseByNext

📅 Visit schedule — what's coming, from the "next visit" dates plus anything you plan here


➕ Plan a visit yourself

🏥 Centres — coverage & standing

CentreAreaClassVisitsLast visitDays agoVouchers left thereNext visit due

🌴 On leave

📊 Leave balances

Annual balance = entitlement + carry-over − annual days taken that year. Sick days are shown against the UAE's 90-day limit. A leave that crosses new year is split across both years.

📋 Leave log

EmployeeTypeFromToDaysNotes

⏱ Overtime

DateEmployeeEntryHoursPaymentNotes

👥 Employees

NameBranchPositionStatusJoinedEntitlementCarry-over

🔥 What to reorder · 🏷️ what to discount

Follows the Category and Location filters above.

🔥 Fast sellers — reorder

🏷️ Slow movers — discount to clear

📦 On hand

Click any row to edit the item. A count below zero (red) means more was sold at that shop than the book says it had — do a 🧮 Count there to set it straight.

🧮 Stock counts (a record of what was counted — stock is not changed)

🔁 Movements

DateItemKindQtyFromToNote

🔬 Lenses to check against the supplier invoice

Sale dateBranchCustomerFrameLens orderedChargedSupplierCostMargin

Eyeglasses sales only, oldest first. One still waiting after 30 days turns red — usually the supplier hasn't billed it yet. "no lens" takes a sale off the list when none was ordered.

🏭 By supplier

Margin = what you charged for the lens − what the supplier billed. Where the customer was given a discount, the charged column shows the lens's share of what was actually paid, with the list price underneath. Jobs where no lens price was entered on the sale are counted but add nothing to the charged column.

🧾 VAT summary

Every sale amount already includes 5% VAT, so the VAT element is the amount × 5 ÷ 105. Revenue counts in the month the job was delivered. Output VAT only — purchase invoices aren't in this app, so input VAT comes from your own records.

💵 Money received

Counted on the day the money arrived, not the day of the sale — this is the figure to reconcile against the bank and the POS. Balance payments collected later appear here on their own date.

📉 Owed by customers

📊 Cost of sales & margin

📦 Closing stock

Valued as at the period end by replaying stock movements and sales up to that date. Stock is relieved on the sale date, since that is when the goods left the shelf.

💸 Paid out

Only what this app records: referral fees you ticked as paid, and overtime paid out. Rent, salaries, suppliers and utilities are not here.

💸 Shop expenses & cash in the tills

⏳ Not yet delivered

Revenue is only counted once a job is handed over, so these are excluded from every figure above. The money already collected against them is a deposit you still owe work for.

💵 Referral fees

ℹ️ How this sheet works

Rate — what one case is worth for that person, saved on the centre list and reused every month (100 by default; set 125, 150, 50 or 0 where you pay differently).
Cases — amber boxes, typed by you exactly as in your spreadsheet. Underneath each one the app shows its own count for that month, from sales carrying that centre as the referral source and that doctor's name in the new Referring doctor field on the sale form. ⤓ Fill counts from the app copies those counts into the boxes in one go; you can then correct any of them.
Not attributed to a person — the centre's own line, for cases where no doctor was named on the sale.
Paying — the green box, what you actually hand over. It starts at the calculated figure; overrule it whenever you decide differently and the total to pay follows your number, not the calculation.
Paid — tick it on the day you hand the money over. Untick anything still owed, and the strip at the top shows what's left.

Sales & Recall

Enter the password to continue