Restaurant software Dubai: choosing tools that fit the city
Software written for another city usually breaks in the same three places here. This is what to test before you sign anything.
Home / Blog / Menu QR code generator: five questions before you print
Choosing the generator is the small decision. Choosing the address it wraps is the one that outlives the print run, and Google itself has shown what happens when a redirect stops answering.
Agha Shah Zaman · Co-founder, Get Menu · 2 September 2026
A menu QR code generator does one job. It takes a web address and draws it as a square of black and white. That takes seconds, dozens of tools do it, and the QR format itself is free for anyone to use, as Denso Wave sets out in its own frequently asked questions.
So the choice of generator is not really the decision. The decision is what address you wrap, because that address is now inside every card, sticker and poster you print. These are the five questions worth answering before the print shop starts.
There are two kinds, and the names are unhelpful, so here they are in plain words.
A fixed code contains your address directly. Nothing sits in between. It works for as long as your address works, and it cannot be changed after printing.
A redirect code contains the generator's address, which then bounces the phone on to yours. Bitly, one of the largest, describes exactly this on its own page: you can "redirect a QR Code to a new URL at any time" and see scan data by location, device and date. That flexibility is genuinely useful, and it puts a company between your table card and your menu.
Neither is wrong. But you should know which one you have printed.
If you print a redirect code, the working part of your card belongs to somebody else. That is fine while they are trading and while you are paying.
This is not a theoretical worry. Google ran a link shortener for years, then announced that goo.gl links "will no longer return a response after August 25th, 2025", advising people to move their links to another provider. Moving a link is a five-minute job for a developer. It is not a five-minute job when the link is printed on 200 table cards and a shop window.
The safest answer is a code that points at an address you control. With Get Menu that is your own page on getmenu.ae, included from the first day, so the square holds your name rather than a middleman's.
Fixed codes pointing at a file are the ones that hurt here, because the file is the menu. Change the price, replace the file, or reprint.
A code that points at a living page never has this problem. You edit the item, and every card in the building shows the new price on the next scan. Menus can be uploaded from a spreadsheet instead of typed, so a seasonal change to forty items is one file, not an evening.
Generators count scans. That tells you somebody looked at your menu, which is worth something, and it is where the counting stops.
An ordering page tells you what they ate. It records the item, the options and add-ons with their own prices, the total, the name and the number, and it does that for every order rather than for a sample. Stock counts fall as orders arrive and an item flips to sold out at zero, which is information you can act on the same evening. Sales sit in a dashboard by day, item and channel. Low-stock alerts arrive before an item becomes a problem, which is a different kind of number from a scan count: one tells you to buy more fish, the other tells you a phone was pointed at a card.
One code for the whole room is a menu. A code for each table is a service.
A code is generated for every table, so the table becomes the address. The kitchen ticket says table nine, the runner does not have to ask, and group ordering puts everyone at that table on one bill while they each order from their own phone.
This is the question a generator cannot answer at all, because reading a menu is not ordering.
On our side, the moment somebody orders, 3 messages go out over WhatsApp in about 2 seconds: a confirmation to the customer, a ticket into the managers' group, and a rider dispatch link carrying the GPS pin dropped at checkout. Every line is priced again at checkout from your live menu, so the number on the screen is the number collected at the door. Payment is cash or your card machine on delivery, and there are no online payments in the system at all.
The second visit is where the money is. Stamps turn into rewards, regulars grow into tiers, and the loyalty card sits in Google Wallet and keeps updating itself, with no app to install. Apple Wallet is built and waiting on a certificate, which we say rather than promise. Coupons carry caps, exclusions and expiry dates. A customer can download an invoice with your tax number on it as a PDF with no login, and the system clears old order details on its own after 120 days.
"People ask us which generator we recommend. The honest answer is that it does not matter much, and that the question underneath it does: after the guest has read the menu, what are they supposed to do next?" — Agha Shah Zaman, co-founder of Get Menu
Plenty of places. A code for your WiFi password. A code on a leaflet pointing at your map location. A code on the back of a receipt pointing at your review page. None of those need to become an ordering system, and paying for one would be silly.
Keep the generator for those, and keep your menu on something that can take an order.
You get 15 days without giving a card, and after that a flat monthly price with 0% commission on your sales, so a busy Doha weekend costs the same as a quiet one. For related reading, menu QR codes covers the basics, QR codes in a cafe covers frequency and repeat visits, and online ordering systems covers what sits behind the square.
Usually, yes, for a code you can afford to reprint. The risk is not the image, it is a redirect owned by someone else, because your printed cards stop working if that service stops.
A static code holds your address directly and cannot be edited after printing. A dynamic code holds the generator's address and bounces the phone onwards, which is editable and usually part of a paid plan.
It can, but you lose the table number, and with it the fastest part of table service. A code per table means the order arrives already knowing where to go.
No. The codes come with it, including one per table and a print pack ready for the printer, so there is nothing to paste between two tools.
Software written for another city usually breaks in the same three places here. This is what to test before you sign anything.
Most billing complaints are really about one thing: the paperwork does not match what the kitchen actually sold. Here is what to check before buying anything.
A plain look at where Odoo sits in a restaurant, and what a kitchen still has to solve after the counter software is chosen.
Fifteen days with everything switched on. No card, no commission, ever.
Questions from other owners are answered in the community.