Services · Mobile app development · Point of sale apps

Point of sale software for Riyadh tills that cannot afford a slow queue.

Codeeo offers POS software development Riyadh retailers, café groups and service brands use at the counter every day: a fast checkout on tablets or Android terminals, Fatoora phase 2 invoicing built in, mada and card payments wired to your acquiring bank, and shift, cash and branch reporting for the people running the business from the capital. The till is where revenue is recorded, so we design it around speed, correct tax data and a cashier who has never been trained.

Our Riyadh team can sit with your cashiers and finance staff in person during discovery, watch a real lunchtime rush and see where the current system slows them down. That observation shapes the first release more than any feature list does, and it often shows that two or three small fixes matter more than a long wish list.

Built for
Retail chains, coffee and quick service brands, salons, pharmacies and event operators selling across Riyadh and beyond.
Typical timeline
We agree the first release, the ZATCA onboarding plan and the branch rollout order in discovery, then commit to dates in writing before design starts.
What you own
The source code, the cloud accounts, the ZATCA device credentials and every sales record sit in your company's own name.
Rated
4.7 / 5 from 23 Google reviews

200+ companies servedFrom a first store to an ADX listed developer

Modon
Majid Al Futtaim
HP
Belkin
Dulsco Group
OneClickDrive
Hanayen
HMS
Clocksprings
Ghezlan

What the POS can include

The parts of a till that decide whether a Riyadh branch closes the day cleanly.

Riyadh counters face sharp peaks. Office workers around Olaya and King Abdullah Financial District arrive in the same short lunch window, malls such as Riyadh Park and Kingdom Centre fill after evening prayers, and seasonal events bring crowds that a normal branch never sees. A point of sale that hesitates for two seconds per scan turns those peaks into abandoned queues.

So we start from the counter outward. The cashier screen comes first, then the tax engine that every invoice must pass through, then the payment terminal link, and only then the reports head office wants. Each piece below can be in the first release or added later, depending on what your branches need now and what can wait for a second phase.

Explain your project
  • Rush hour checkout

    Large touch targets, barcode and quick keys for top sellers, held baskets for a customer who forgot an item, and split payments between mada and cash. Every common action is reachable in one tap, so a new cashier keeps the line moving during the lunch peak in a business district.

    Shorter queues at exactly the hours when most of the day's takings arrive.

  • Fatoora phase 2 invoicing

    Each device is onboarded with ZATCA and receives its own cryptographic stamp identity. Simplified invoices carry the QR code, unique identifier and hash chain, are produced in the required XML format and are reported automatically, while standard invoices to business buyers go through clearance before they are handed over.

    Compliant tax invoices from every till without a cashier thinking about it.

  • mada and card terminal link

    We connect the till to the payment terminal your bank provides, so the amount is sent to the device and the result comes back to the sale. No retyping, no mismatched totals, and refunds that reference the original transaction. Apple Pay and other wallets running over mada are handled the same way.

    Card totals that match the bank settlement report at the end of the day.

  • Pop-up and season branches

    Temporary kiosks for Riyadh Season zones, exhibitions or a stand at a festival can be set up as short-lived branches with their own price list, staff and devices, then closed and archived when the event ends without disturbing permanent stores.

    Event sales counted properly instead of on a borrowed spare till.

  • Shifts and cash drawers

    Cashiers open a shift with a counted float, record cash drops and paid outs, and close with a blind count. The system shows the variance to the supervisor, not the cashier, and keeps a signed record of who handed over to whom.

    Cash differences found the same night, with a name against each one.

  • Offline selling

    If the mall network drops, the till keeps selling, stores each invoice with its stamp and QR locally, and reports to ZATCA and head office once the connection returns. Staff see a clear banner so nobody restarts the device mid-sale.

    Trading continues through an outage with nothing lost.

  • Central price and menu control

    Head office edits prices, items, modifiers and promotions once and schedules them by branch or district. A Ramadan menu can go live at sunset across every Riyadh store, and a price change for a new mall branch never touches older locations. Each change is versioned, so you can see who altered what and roll it back.

    Every till shows the right price without a phone call to each branch.

  • Branch and owner reporting

    Sales by hour, branch, cashier, category and payment method, with VAT summaries ready for your accountant. Owners see today's figures on their phone while area managers compare north and south Riyadh branches side by side.

    Decisions based on today's trading, not last month's spreadsheet.

  • Roles and approvals

    Discounts above a set limit, voids after payment and price overrides need a supervisor PIN or remote approval. Every sensitive action is logged with time, device and user, which makes audits and staff reviews simple.

    Fewer unexplained discounts and a clear audit trail.

  • Accounting and ERP posting

    Daily sales, VAT, payment methods and cash variances post to your accounting or ERP system as summarised journals, with item level detail available when finance needs it. We map branches to cost centres and payment types to clearing accounts during discovery, so month end does not start with a manual export.

    Finance closes the month from posted figures rather than retyped ones.

Who this is for

Four kinds of Riyadh business that come to us for a POS.

Packaged POS subscriptions suit many single shops well, and we will say so when that is the better answer. A custom build earns its keep when your counter process, your branch structure or your integrations do not fit a standard product. In Riyadh we usually meet one of these four situations, and each one shapes the first release differently. Knowing which one you are in tells us where to spend the early budget: on the cashier screen, on integrations, on device logistics or on linking services to sales.

01

A coffee or quick service brand opening branch after branch

Your menu changes often, your modifiers are complicated and your rollout plan adds new stores every few months across districts like Al Malqa, Al Yasmin and Al Nakheel. You need a till that a new branch can install in an afternoon, with prices, staff and devices pushed from head office and a ZATCA onboarding step built into the setup checklist.

Branch setup becomes a routine, not a project.

02

A retailer whose packaged POS cannot follow the way you sell

Perhaps you sell by weight, run made to order products, take deposits or sell bundles the subscription tool cannot price. Staff work around the system with notes and manual discounts, and head office cannot trust the reports. We rebuild the checkout around your actual selling rules, migrate products and customers, and run both systems side by side until the numbers agree.

Workarounds removed, data carried across.

03

An event or seasonal operator

You trade intensely for weeks during Riyadh Season, exhibitions or sporting events and then go quiet. You need devices that can be rented or reassigned, fast staff onboarding, and sales that close cleanly into your accounts when the event ends. Connectivity at outdoor venues is often weak, so offline selling matters more for you than for anyone.

Built for short, heavy trading windows.

04

A service business that also sells at the counter

Salons, clinics with retail shelves, car care centres and gyms take payment for services and products together. The POS has to link to appointments or memberships, record which staff member delivered the service for commission, and still produce a correct simplified invoice. We connect checkout to your booking or membership system rather than forcing two tills.

One payment step for services and products.

How a Riyadh POS project runs, from first visit to the last branch live.

  1. 01Counter observationWe visit a branch in Riyadh during a real peak, time the checkout, list every workaround staff use and collect the reports finance actually relies on each month.
  2. 02Tax and payment planWe confirm your ZATCA wave and invoice types, choose terminals with your acquiring bank and decide how standard and simplified invoices flow through the system.
  3. 03Cashier first designArabic and English screens are tested with your own cashiers on the actual devices, adjusting button sizes, wording and flow until a stranger can complete a sale.
  4. 04Build and integrationCheckout, offline storage, Fatoora reporting, terminal link, back office and accounting connections are built in short cycles, with a working build to try every fortnight.
  5. 05Pilot branchOne branch runs the new till alongside the old one. We compare totals daily, fix differences, complete ZATCA onboarding for production devices and train shift leaders.
  6. 06Rollout and careRemaining branches move over in an agreed order. After launch we monitor reporting errors, release updates outside trading hours and plan the next set of improvements.

Technology

What we build this with.

We usually build the till as a cross platform app for Android terminals and iPads, with a cloud back office and a local database for offline sales. Final choices depend on your hardware, your accounting system, where you want data hosted inside the Kingdom and who will maintain the software later. We explain each option in plain terms before you commit.

01Mobile

  • Swift
  • Kotlin
  • Flutter
  • React Native

02Data and cloud

  • PostgreSQL
  • MySQL
  • MongoDB
  • AWS
  • Azure
  • Docker

03Marketing and tracking

  • GA4
  • Google Tag Manager
  • Search Console
  • Meta Pixel
  • Looker Studio

Questions Riyadh retailers ask before replacing their POS.

It depends on scope, integrations and how many branches move in the first wave.

A focused first release for one pilot branch is quicker than a full rollout with loyalty, accounting links and event branches. The biggest variables are the number of payment terminal models, how many existing systems we connect to, and how long ZATCA onboarding and pilot testing take in practice. We set out the phases in discovery and put the dates in writing before design begins, so you know when the pilot goes live and when each later branch follows. Peak trading periods such as Ramadan are kept free of go lives.

Tell us what the business needs. We will tell you what to build first.

Schedule a free consultation and get a written recommendation, with costs, before you commit to anything.

Get in touch

PROVEN RESULTS

4.7 / 5from 23 Google reviews