Markdown for agents

This page, as an agent reads it

---
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.