The engine under
every order.
This is the machine your orders actually run on — how they arrive, how they move, and how you get paid. Built by one founder, on infrastructure enterprises trust.
Step one
It arrives.
A new order lands on your open orders screen in seconds — pushed to you. No refreshing, no pulling down, no wondering whether something came in while you were serving someone.
How it works
- 1
The order is written to the database — a single INSERT on the orders table.
- 2
That insert fires on a realtime channel scoped to your business by row-level security — the connection is authenticated as you, so it carries nobody else's orders.
- 3
Your screen treats that as a signal, not data. It never renders what arrived on the wire — it goes and pulls its own authenticated copy of the order. What you read is always the real record.
What this covers, precisely: arrival. The channel listens for new orders only, so a payment landing later doesn't push into an open screen — you see it when the screen next loads. We'd rather tell you where the line is than let you find it on a busy evening.
Step two
It moves.
Every order travels the same six stages, in the same direction, for every business on Orderzo. One tap moves it forward one step.
- new
- accepted
- in_progress
- ready
- handed_off
- done
Each stage has exactly one successor. The chain cannot skip a step and cannot run backwards, and done is the end of it. That is enforced in the code that writes the change, not in the buttons on the screen — so an order can never end up in a state the machine doesn't allow, whatever gets tapped.
The wall
Ready and unpaid
are different questions.
Whether the work is done and whether you've been paid are tracked in two separate places. An order can sit ready and still be unpaid, and Orderzo has no trouble saying so.
The work
Where the order is physically up to — accepted, being made, ready, handed over. The six stages above.
The money
Whether it's been paid, and what you're still owed. Kept in its own column, entirely separate from the work.
Neither one can corrupt the other. Marking an order ready can never flip it to paid, and taking a payment can never move it along the chain. The sums that decide what you're owed never read the fulfilment column at all — so the number you chase at the end of the day is unaffected by how many times the kitchen tapped a button.
Step three
It gets paid.
When a customer pays a bill, this is the entire instruction their UPI app receives:
upi://pay?pa=<your-upi-id>&am=<amount>&cu=INR
The payee is your own UPI ID. Not ours, and not a holding account. The money moves bank to bank, from your customer straight to you, and Orderzo is not a stop along the way.
That is why ₹0 commission is structural, not a discount. There is no gateway in that line for us to sit inside — we could not take a percentage of your takings if we decided to, because we never touch them. It isn't a promotional rate that expires; there is nowhere for the cut to be taken from.
Razorpay appears in Orderzo for one thing only: collecting our own Pro fee from you, if you go Pro. It plays no part in the payments between you and your customers.
Built for a real phone
When the network isn't there.
Orderzo runs on the phone in your pocket, on Indian mobile data, all day. Three decisions came out of that.
The app opens even when the signal doesn't
A service worker stamped with each build's commit keeps a copy of the app's shell — six essential files. Online, pages always come fresh from the network. Offline, you get the shell instead of a dead tab. Your orders themselves still need a connection; this is about the app opening, not about working without a network.
The live connection closes when you look away
Leave the orders screen, or switch to another app, and the realtime connection shuts down — reopening when you come back. An open connection keeps a cheap Android's radio awake, and Orderzo is meant to be left open all day. Battery is a feature.
Coming back from WhatsApp doesn't strand you
Handing a bill to WhatsApp and returning used to leave iPhone users on a white screen. Orderzo now rebuilds the page properly on the way back and returns you to exactly the screen you left. It is a small thing that only exists because the product gets used on real phones.
Where it lives
Where your data lives.
Your orders, customers and bills are stored in India. Orderzo's database and file storage run on Supabase in Mumbai (ap-south-1), and the app's server code runs in Vercel's Mumbai region. Supabase encrypts the database at rest, and every connection to Orderzo is encrypted in transit (HTTPS).
Some things sit outside that. Orderzo's pages and images are served from a global network, so a page may be delivered from a server near whoever opens it. Email, error monitoring and the optional photo and website imports may also process data outside India. Our founder is based in the United States and may access data over encrypted, access-controlled connections to run the service. The providers are listed in our Privacy Policy.
What it runs on
The foundation underneath all of the above. Certifications belong to these providers — Orderzo builds on their protections rather than claiming them as its own.
AWS
Underlying cloud
The cloud our database provider, Supabase, runs on — its Mumbai region.
Supabase
Database & storage
Orderzo’s primary application database and file storage, in Mumbai (ap-south-1). Supabase states it is SOC 2 Type 2 compliant and encrypts data at rest with AES-256.
Vercel
App hosting
Runs the app’s server code in Mumbai (bom1). Pages and images are cached on Vercel’s global network.
Cloudflare
DNS
Keeps the orderzo.io domain resolving.
Razorpay
Orderzo's own Pro fee
Collects the one-time Pro payment from you. It plays no part in what your customers pay you.
Questions about the infrastructure or security? Email support@orderzo.io.
Run your orders on it.
No card needed · Free to start
10 orders a month free · No card needed