NovexPOS
A multi-tenant SaaS point-of-sale for UAE food and retail businesses: offline-first tills that keep selling when the network drops, a business back office, and a platform operator console.
Foreign POS software with a VAT checkbox bolted on.
Most point-of-sale products sold into the UAE were designed for somewhere else. They treat tax as a configuration afterthought, they issue invoice numbers with gaps in them, and they stop taking orders the moment the café's internet wobbles.
NovexPOS was built the other way around: the compliance rules and the offline path are the architecture, not features added later.
Every surface, by us.
The invoice number is a compliance artefact.
Retail software is judged on two things nobody demos: whether the numbers add up, and whether it works when the internet does not.
Gapless, sequential invoice numbers
A number is assigned only when a sale completes — never when a ticket is parked or opened — because UAE tax rules require sequential numbering with no gaps. The format is configurable per business and then locks permanently once the first invoice is issued, enforced server-side rather than by greying out a field.
Offline-first, with a sync outbox
The till holds its own local database — SQLite natively, a WASM database on the web — and queues writes in an outbox. Losing connectivity stops synchronisation, not trading.
Tenant isolation is a security property
Every tenant-owned model is business-scoped at the global scope level. Cross-business leakage is treated as a vulnerability rather than a bug, which changes how it is reviewed and how it is tested.
Money math is the moat, so it is tested
Shift reports, platform fees, refunds and returns carry their own test coverage. Refunds are handled ex-tax so that gross minus discounts minus refunds genuinely equals net — an identity that is easy to state and easy to break.
Deployment is a gate, not a button
Releases go through CI only, with the full test suite as a blocking gate before an SSH deploy of a timestamped release. Running a command on the server by hand does not ship code, by design.
What it runs on.
We build these for ourselves. We build them for clients too.
Everything on this page was designed, built, deployed and is operated by the same small senior team. If you have a product that needs the same treatment, start with a conversation.