Markdown for agents
---
title: "Features"
description: "Every capability in Sandooq — offline-first checkout, dual-currency payments, accounts receivable, inventory, purchasing and a double-entry ledger — with the plan each one is available on."
canonical: "https://sandooq.app/features"
locale: "en"
---
# 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.
- Product
- All plans
- Capabilities without a plan badge are on every published plan. Where a capability is limited, the plans that include it are named.
- Starter
- Professional
- Enterprise
## Selling
What happens at the till, from the first scan to the printed receipt.
## Payments
How money is taken, in one currency or two, now or later.
## Catalog
The products, categories and units everything else is built on.
## Inventory
Knowing what you hold, what moved, and why it moved.
## Purchasing
Ordering from suppliers and knowing what the goods really cost.
## Customers
Who buys from you, what they owe, and on what terms.
## Finance
The ledger behind the trading, kept as you go rather than at month end.
## Insights
Reporting on what the business actually did.
## Store operations
Running the trading day, the drawer and the store itself.
## Platform
The account, the people on it, and the guarantees underneath.
## Offline-first checkout
The till keeps taking sales when the connection drops. Transactions queue on the device and sync once the network returns.
## Barcode scanning
Scan EAN-8, EAN-13, UPC and GS1 codes straight into the cart, with check-digit validation and conversion handled for you.
## Held orders
Park a cart mid-sale, serve the next customer, and pick the parked cart back up on the same till.
## Line 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.
## Modifiers at the till
Add options and extras to a line — sizes, add-ons, preparation notes — each one priced and printed on the receipt.
## Receipts and reprints
Print or reprint the receipt for any transaction, with store details, the tax breakdown and every payment line.
## Returns and exchanges
Take a return against the original sale, or exchange for another item, with stock and the ledger reversed in the same step.
## Voids
Cancel a transaction before or after it is tendered. Every void reverses through the ledger and is recorded against the cashier.
## Manager approval
Discounts, voids and returns past a threshold stop and ask for a manager PIN before they commit.
## Multiple 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.
## Split payment
Settle one sale across several payment lines — part cash, part card, part on account — until the balance reaches zero.
## Cash drawer control
Open, count and close the drawer against declared amounts, so an over or short is attributed to the cashier who held it.
## Dual-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.
## Merchant-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.
## Accounts receivable
Let a customer take goods and pay later, with balances, credit limits and settlements tracked against their record.
## Online card payments
Take 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.
## Settlements
Match what a processor actually paid out against what the till recorded, and see the gap before it reaches the accounts.
## Disputes
Record a chargeback or disputed payment against its original sale and follow it through to resolution.
## Product catalog
Products with codes, barcodes, cost and selling price, tax treatment and per-store availability. The product ceiling is set by your plan.
## Categories
Group products into a category tree that drives till layout, stock views and reporting.
## Units of measure
Sell by piece, by weight or by volume, with the unit carried through stock, purchasing and reporting.
## Modifier groups
Build reusable option sets once — required or optional, single or multiple choice — and attach them to any product.
## Barcode management
Hold several barcodes per product and validate them on entry, so a mistyped digit is caught before it reaches the till.
## Cost and margin
Every product carries its cost, so margin is available on the sale line and in reporting without exporting anything.
## Stock on hand
Live quantity per product per store, moved by every sale, return, receipt and adjustment.
## Stock counts
Count a store or a section, enter what you counted, and post the variance as an adjustment with a reason.
## Stock adjustments
Write stock up or down against a reason code, with the value of the change posted to the ledger.
## Movement history
Every quantity change with the document that caused it, so you can answer where a unit went without guessing.
## Batch and expiry tracking
Track stock in batches with expiry dates, and see what is close to expiring while you can still act on it.
## Disposal and write-off
Record damaged or expired stock as a disposal, with the loss posted to the expense account you chose.
## Reason codes
Define your own reasons for adjustments, disposals and returns, so reporting groups them the way you think about them.
## Inventory approvals
Route stock changes above a threshold to a manager before they take effect.
## Suppliers
Supplier records with contact details, terms, and the running balance you owe them.
## Purchase orders
Raise an order against a supplier, track what is still outstanding, and receive against it.
## Goods received
Receive a delivery in full or in part. Stock and cost update from what actually arrived, not what was ordered.
## Supplier bills
Record the supplier's invoice against the receipt.
## Supplier payments
Pay a supplier in part or in full, from the till or the dashboard, settled against their open bills.
## Customer records
Customers with contact details, purchase history and balance, reachable from the till and the dashboard.
## Customer groups
Group customers so terms and reporting can be set once for the whole group instead of per person.
## Balances and credit limits
See what a customer owes and what they are allowed to owe, checked at the till before the sale completes.
## Opening balances
Carry a customer's existing debt in from your previous system, recorded with who approved it.
## 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.
## Account mappings
Decide which ledger account each kind of movement posts to, per business.
## Expenses
Record an expense against a category and a store, paid from the till or from the bank.
## Expense approvals
Expenses over a threshold wait for approval, and the approval is recorded against the person who gave it.
## Tax payable
Tax charged on sales accumulates in its own account, so the position is visible at any point.
## Fiscal periods
Close a period so nothing can be posted back into it, and open the next one.
## Reconciliation
Match till, bank and ledger against each other, and see the differences that still need explaining.
## Sales analytics
Revenue, margin, basket size and product mix, broken out by store and by period.
## Reports
Reports across sales, stock, purchasing and finance, filtered by store and date, and exportable.
## Cashier performance
Takings, voids and returns per cashier, so an outlier is visible without running an audit.
## Day-end Z-read
Close the trading day and draw a Z-read with takings by tender and the drawer position.
## Business days
Open and close the trading day per store, so every transaction belongs to a day that can be reported and closed.
## Cash sessions
A session per cashier per till, opened with a float and closed with a count.
## Safe and float management
Move cash between the drawer and the safe, and keep the safe balance as a tracked figure rather than a note.
## Cashier handover
Hand a live till from one cashier to the next without closing the day, with both sessions recorded.
## Per-store settings
Tax treatment, receipt details, rounding and till behaviour set per store rather than once for the whole business.
## Return policies
Set the window, the conditions and the approval a return needs, per store.
## Multiple stores
Run several stores on one account, with stock, staff and reporting separated by store. The store ceiling is set by your plan.
## Shared data across tills
Every till reads the same products, prices and stock, and open carts are shared live between a store's devices.
## Tenant isolation
Every row carries its business and is enforced at the database with row-level security, not by application code alone.
## Role-based access
Admin, manager, cashier, inventory clerk and accountant each see and do a defined set of things.
## Team accounts
Invite staff, set their role and their stores, and revoke access in one place. The user ceiling is set by your plan.
## Audit trail
Voids, large discounts, returns, session opens and failed sign-ins are written server-side and cannot be edited afterwards.
## Error tracking
Errors and slow operations are reported with the context needed to reproduce them, so a till problem stays diagnosable after the fact.
## Arabic and English
Both apps ship in Arabic and English, with the interface mirrored for Arabic rather than translated in place.
## Plan-based feature gating
Capabilities are switched on per plan and can be overridden per business, so entitlement is data rather than a separate build.