Features
Everything Sandooq does, grouped by the part of the business it touches.
This list is generated from the same catalogue that decides what each plan unlocks, so what you read here is what a tenant actually receives.
Capabilities without a plan badge are on every published plan. Where a capability is limited, the plans that include it are named.
Selling
What happens at the till, from the first scan to the printed receipt.
Offline-first checkout
The till keeps taking sales when the connection drops. Transactions queue on the device and sync once the network returns.
All plansBarcode scanning
Scan EAN-8, EAN-13, UPC and GS1 codes straight into the cart, with check-digit validation and conversion handled for you.
All plansHeld orders
Park a cart mid-sale, serve the next customer, and pick the parked cart back up on the same till.
All plansLine and cart discounts
Discount a single line or the whole cart, as an amount or a percentage, within the limits set for the cashier's role.
All plansModifiers at the till
Add options and extras to a line — sizes, add-ons, preparation notes — each one priced and printed on the receipt.
All plansReceipts and reprints
Print or reprint the receipt for any transaction, with store details, the tax breakdown and every payment line.
All plansReturns and exchanges
Take a return against the original sale, or exchange for another item, with stock and the ledger reversed in the same step.
All plansVoids
Cancel a transaction before or after it is tendered. Every void reverses through the ledger and is recorded against the cashier.
All plansManager approval
Discounts, voids and returns past a threshold stop and ask for a manager PIN before they commit.
All plansMultiple tills per store
Register more than one till to a store and run them at the same time. The device ceiling is set by your plan.
All plans
Payments
How money is taken, in one currency or two, now or later.
Split payment
Settle one sale across several payment lines — part cash, part card, part on account — until the balance reaches zero.
All plansCash drawer control
Open, count and close the drawer against declared amounts, so an over or short is attributed to the cashier who held it.
All plansDual-currency selling
Price in one currency and accept another on the same sale. Each payment line carries its own currency, and nothing is silently converted.
All plansMerchant-set rates
You enter the rate you trade at. Every sale books against the rate in force when it was rung, not the rate you use today.
All plansAccounts receivable
Let a customer take goods and pay later, with balances, credit limits and settlements tracked against their record.
All plansOnline card payments
Professional · EnterpriseTake card payments through a hosted payment page, with the charge reconciled back to the sale it belongs to.
Configurable payment methods
Define which tenders each store accepts, and how each one posts to the ledger.
All plansSettlements
Match what a processor actually paid out against what the till recorded, and see the gap before it reaches the accounts.
All plansDisputes
Record a chargeback or disputed payment against its original sale and follow it through to resolution.
All plans
Catalog
The products, categories and units everything else is built on.
Product catalog
Products with codes, barcodes, cost and selling price, tax treatment and per-store availability. The product ceiling is set by your plan.
All plansCategories
Group products into a category tree that drives till layout, stock views and reporting.
All plansUnits of measure
Sell by piece, by weight or by volume, with the unit carried through stock, purchasing and reporting.
All plansModifier groups
Build reusable option sets once — required or optional, single or multiple choice — and attach them to any product.
All plansBarcode management
Hold several barcodes per product and validate them on entry, so a mistyped digit is caught before it reaches the till.
All plansCost and margin
Every product carries its cost, so margin is available on the sale line and in reporting without exporting anything.
All plans
Inventory
Knowing what you hold, what moved, and why it moved.
Stock on hand
Live quantity per product per store, moved by every sale, return, receipt and adjustment.
All plansStock counts
Count a store or a section, enter what you counted, and post the variance as an adjustment with a reason.
All plansStock adjustments
Write stock up or down against a reason code, with the value of the change posted to the ledger.
All plansMovement history
Every quantity change with the document that caused it, so you can answer where a unit went without guessing.
All plansBatch and expiry tracking
Track stock in batches with expiry dates, and see what is close to expiring while you can still act on it.
All plansDisposal and write-off
Record damaged or expired stock as a disposal, with the loss posted to the expense account you chose.
All plansReason codes
Define your own reasons for adjustments, disposals and returns, so reporting groups them the way you think about them.
All plansInventory approvals
Route stock changes above a threshold to a manager before they take effect.
All plans
Purchasing
Ordering from suppliers and knowing what the goods really cost.
Suppliers
Supplier records with contact details, terms, and the running balance you owe them.
All plansPurchase orders
Raise an order against a supplier, track what is still outstanding, and receive against it.
All plansGoods received
Receive a delivery in full or in part. Stock and cost update from what actually arrived, not what was ordered.
All plansSupplier bills
Record the supplier's invoice against the receipt.
All plansSupplier payments
Pay a supplier in part or in full, from the till or the dashboard, settled against their open bills.
All plans
Customers
Who buys from you, what they owe, and on what terms.
Customer records
Customers with contact details, purchase history and balance, reachable from the till and the dashboard.
All plansCustomer groups
Group customers so terms and reporting can be set once for the whole group instead of per person.
All plansBalances and credit limits
See what a customer owes and what they are allowed to owe, checked at the till before the sale completes.
All plansOpening balances
Carry a customer's existing debt in from your previous system, recorded with who approved it.
All plans
Finance
The ledger behind the trading, kept as you go rather than at month end.
Double-entry general ledger
Every sale, return, receipt, payment and adjustment books a balanced journal entry, so the accounts are a consequence of trading rather than a re-keying job.
All plansAccount mappings
Decide which ledger account each kind of movement posts to, per business.
All plansExpenses
Record an expense against a category and a store, paid from the till or from the bank.
All plansExpense approvals
Expenses over a threshold wait for approval, and the approval is recorded against the person who gave it.
All plansTax payable
Tax charged on sales accumulates in its own account, so the position is visible at any point.
All plansFiscal periods
Close a period so nothing can be posted back into it, and open the next one.
All plansReconciliation
Match till, bank and ledger against each other, and see the differences that still need explaining.
All plans
Insights
Reporting on what the business actually did.
Sales analytics
Revenue, margin, basket size and product mix, broken out by store and by period.
All plansReports
Reports across sales, stock, purchasing and finance, filtered by store and date, and exportable.
All plansCashier performance
Takings, voids and returns per cashier, so an outlier is visible without running an audit.
All plansDay-end Z-read
Close the trading day and draw a Z-read with takings by tender and the drawer position.
All plans
Store operations
Running the trading day, the drawer and the store itself.
Business days
Open and close the trading day per store, so every transaction belongs to a day that can be reported and closed.
All plansCash sessions
A session per cashier per till, opened with a float and closed with a count.
All plansSafe and float management
Move cash between the drawer and the safe, and keep the safe balance as a tracked figure rather than a note.
All plansCashier handover
Hand a live till from one cashier to the next without closing the day, with both sessions recorded.
All plansPer-store settings
Tax treatment, receipt details, rounding and till behaviour set per store rather than once for the whole business.
All plansReturn policies
Set the window, the conditions and the approval a return needs, per store.
All plansMultiple stores
Run several stores on one account, with stock, staff and reporting separated by store. The store ceiling is set by your plan.
All plans
Platform
The account, the people on it, and the guarantees underneath.
Shared data across tills
Every till reads the same products, prices and stock, and open carts are shared live between a store's devices.
All plansTenant isolation
Every row carries its business and is enforced at the database with row-level security, not by application code alone.
All plansRole-based access
Admin, manager, cashier, inventory clerk and accountant each see and do a defined set of things.
All plansTeam accounts
Invite staff, set their role and their stores, and revoke access in one place. The user ceiling is set by your plan.
All plansAudit trail
Voids, large discounts, returns, session opens and failed sign-ins are written server-side and cannot be edited afterwards.
All plansError tracking
Errors and slow operations are reported with the context needed to reproduce them, so a till problem stays diagnosable after the fact.
All plansArabic and English
Both apps ship in Arabic and English, with the interface mirrored for Arabic rather than translated in place.
All plansPlan-based feature gating
Capabilities are switched on per plan and can be overridden per business, so entitlement is data rather than a separate build.
All plans
Want to see it on your own products?
Tell us what you sell and where, and we will walk you through the parts that matter to you.