For baqalas, supermarkets and dark stores
Grocery app development in Dubai that charges for what was actually picked
Take delivery orders from your own customers on WhatsApp, a web store or an app, and charge each card for what the picker actually weighed, swapped or left out.
From AED 4,900excl. VATSee pricing →
- Card charged for the weighed total
- Shopper sets the swap rule per item
- Your customers, not a platform's
- Per-kg prices for MoE Decision 245
- Arabic search: laban, leben and لبن
- ★ 4.9 on Google (76 reviews)Lucknow, India profile
- 200+ projects since 2017
- Top Rated on Upwork, 100% Job Success
Founder-led delivery
Overview
The lamb weighs 1.14 kg, not 1 kg, the laban is out: the card is held at checkout and captured after picking, so neither becomes a refund. A baqala can start on a WhatsApp bot; a supermarket starts with a web store. Both take 2–6 weeks.
By Ashish Sharma, founder · Updated 12 October 2026
Quick answer
Which grocery build should a Dubai shop start with, and what does each one cost?
Start with the smallest build that takes a paid order. For a baqala that is a WhatsApp order bot, on our AED 4,900–59,000 chatbot band. A supermarket starts with a web store with delivery slots and zones, at AED 5,900–49,000. A customer app is AED 17,000–108,000, with the picker app priced separately, and a dark-store platform AED 24,500–245,000. Product count and weighed lines move the price inside a band; POS sync, Arabic screens and gateway set-up are quoted on top.
- Mostly regulars ordering by message: start on WhatsApp; a baqala delivery app can wait.
- Selling by weight: get the card hold right before the design.
- Already on InstaShop or talabat: keep the listing, add your own channel for repeat baskets.
01of 10
The first build for a baqala, a supermarket, a dark store and a supplier
Most grocers don't need an app first. Build whatever takes a paid order soonest, and add apps when repeat customers ask for them.
| Grocer | Build to start with | What it handles on day one | AED band | Band timeline |
|---|---|---|---|---|
| Baqala or neighbourhood grocer | WhatsApp order bot | List or catalogue order to a screen in the shop, status replies | AED 4,900–59,000 | 2–6 weeks |
| Supermarket, one to three branches | Web store | Slots per branch, zones, weighed-line buffer, substitutions | AED 5,900–49,000 | 2–6 weeks |
| Supermarket or chain moving to apps | Customer app, with the picker app as its own line | Saved lists, reorder, swap settings per item | AED 17,000–108,000 (customer app) | 4–12 weeks |
| Dark store or multi-store marketplace | Operations platform | Delivery promise set by capacity, dispatch, merchant portal | AED 24,500–245,000 | 6–16 weeks |
| B2B food supplier | Web store with account pricing | Case quantities, minimum order, repeat orders | AED 5,900–49,000 | 2–6 weeks |
Credit limits, statements and van routes push the supplier row into the AED 24,500–245,000 custom-software band. POS sync, Arabic screens and gateway set-up are priced per row once I've seen your setup.
A baqala's bot turns WhatsApp messages into orders on a screen by the till (AI and WhatsApp chatbots, Meta's message charges included). For a supermarket, grocery website development comes before the apps: no App Store review, and the catalogue moves across later.
Send me your product count on WhatsApp and I'll tell you which row you're in.
02of 10
Charging a card when the meat is weighed after checkout
The customer orders 1 kg of lamb; the butcher cuts 1.14 kg. Charge in full at checkout and you either absorb the extra 140 g or send a charge nobody expected. Instead, authorise at checkout and capture after picking: on Stripe with capture_method=manual, on PayTabs with an "auth" and then a "capture".
When I price a grocery checkout, this is the first thing I check. If your gateway can't hold and partially capture on your account, the checkout works differently, and I'd rather know on day one.
Size the hold
Buffer the weighed lines only; packet rice has a fixed price. Show it as its own checkout line ("Held for weighed items, released after picking: AED 12.00") so the bank alert surprises nobody.
Keep slots inside the hold window
A lapsed hold on Stripe cancels the payment, so plan to the shortest hold that applies to how you authorise. A Friday order for the following Thursday is already close to a 7-day hold.
Capture at picking, or at the door
Capturing after picking is simpler. Capturing at handover means a refused item just lowers the capture, with no refund, if handover is still inside the hold. Most Stripe payments allow one capture, so going over the hold needs a second payment the customer approves, or you absorb it.
Worked example: an AED 240 basket
AED 80.00 of it is weighed (lamb, hammour, bananas). A 15% buffer on those lines adds AED 12.00, so the hold is AED 252.00. The picked total is AED 247.60: capture that, and AED 4.40 is released. No refund.
| Provider | Hold now, charge later | Charge less than held | How long the hold lasts | Check before the build |
|---|---|---|---|---|
| Stripe | Yes, capture_method=manual | Yes; the rest is released automatically. Most payments allow one capture | Usually 7 days if held at checkout; 4 days 18 hours for a later Visa hold on a saved card. Expiry cancels the payment | Overcapture only on certain cards; not checked for UAE accounts |
| PayTabs | Yes: "auth", then "capture" with the original tran_ref | Yes, up to the uncaptured amount; void possible inside the hold | Set by the issuing bank, typically 7–14 days | Availability on your profile, confirmed with PayTabs before the build |
| Telr, N-Genius, Tabby, Tamara | Confirm on your account | Confirm on your account | Ask your provider | Not verified by us; checked with your provider before the checkout is built, instalments included |
| Cash on delivery | No hold | Rider collects the picked total | n/a | Float and settlement: food delivery apps |
Gateway fees are on our e-commerce cost page; the set-up is under payment gateway integration. Still choosing a provider? Read PayTabs vs Telr vs MyFatoorah and test for partial capture. Customer money settles to your own merchant account, never through us.
Selling by weight? Ask me to check your gateway.
03of 10
When the shelf is empty, the customer decides the swap
Substitutions go wrong when the picker decides alone: full-fat laban swapped for low-fat looks helpful in the aisle and wrong at the door. The customer sets a rule per item, the store sets a default for blanks, and the picker's screen follows both.
| Customer's setting for the item | What the picker's screen does | What the card is charged |
|---|---|---|
| Replace with similar | Suggests same-category items at or under the original unit price | The picked item's price, capped by your ceiling rule |
| Replace with a named alternative | Shows the backup product the customer chose | The backup's price |
| Don't replace | Marks the line short, no prompt | Line dropped; its share of the hold is released |
| No setting chosen | Sends an in-app approval, then calls if nobody replies by your timeout | The store default once the timeout passes |
Above your price ceiling, the screen asks the customer before a pricier substitute goes out. An item refused at the door is recorded with a photo: refunded if you captured at picking, never charged if you capture at handover. Before launch, agree who gets the weekly list of products pickers couldn't find, and write the ceiling down as a number.
Have a project in mind?
Send a few lines on WhatsApp or get a fixed AED quote.
04of 10
Five UAE rules that reach a grocery catalogue and checkout
Each rule ends up as something in the build: a field on the product, a flag on a price change, or a line at checkout. This is a build translation, not legal advice.
| Rule | What it says | What it changes in the app |
|---|---|---|
| MoE Decision 245 of 2024 (Ministry of Economy), in force 2 Jan 2025 | Retailers and online merchants with premises over 1,000 sq m show unit prices in standardised units | Price per kg, litre or piece on every product |
| MoE Decision 246 of 2024 | Ministry approval before prices rise on cooking oil, eggs, dairy, rice, sugar, poultry, legumes, bread or wheat, at least six months apart; some related items and cleaning products too | Category flag; a higher POS price waits for review |
| Dubai Executive Council Resolution 124 of 2023 | All single-use bags banned since 1 June 2024; Styrofoam containers since 1 Jan 2025; plastic cutlery and plates since 1 Jan 2026 | Bag line offers a reusable bag or none |
| Federal Ministerial Decision 380 of 2022 | From 1 Jan 2026, single-use bags of any material banned, paper under 50 microns included; Gulf News reports thin bags wrapping fresh food such as meat, vegetables and bread are exempt | Thin roll bags for fresh food; Dubai Municipality's page lists no exemptions, so confirm for Dubai |
| Dubai Municipality guideline on food transportation and delivery vehicles (updated Feb 2024) | Requirements for vehicles that carry and deliver food | Orders tagged by temperature zone, sent only on a vehicle permitted for them |
Three things we could not pin down. How the 1,000 sq m test applies to an online-only seller isn't stated, so we add the field anyway. No official page we read gives a fine. Whether grocery riders need RTA's delivery-platform permit is unconfirmed, so ask RTA. Shoppers can report a wrong price to the Ministry on 800-1222.
Adding Abu Dhabi or Sharjah is a new zone in the admin, opened once we've checked that emirate's rules. Send me your product list on WhatsApp and I'll check it against Decisions 245 and 246.
05of 10
Pick the frozen lines last
A picker who takes the ice cream first and the rice last hands over soup. Mixed bags cause the complaints hardest to answer: warm yoghurt, bread flattened by a frozen chicken, and no record of either. A picker app earns its keep here by fixing the walking order and the bagging.
Tag every product at import
Ambient, chilled or frozen. The tag drives the pick route, the bag label and the vehicle.
Route ends at the freezer
Ambient, then chilled, then frozen, in each branch's aisle order.
One zone per bag, photo at the door
Each bag carries the order number and its zone, and the rider takes a timestamped photo of the cold bags at handover, so a melted ice cream complaint has a record.
Frozen goes only where the permit allows
Which Dubai Municipality permit your bikes, cars or vans need is confirmed with DM for your fleet. The admin stores each vehicle's permit and expiry, and frozen lines go only on one that covers them.
The checklist takes its temperatures from DM's guideline and your vehicle permit, not from this page, so a change means editing one setting.
06of 10
Your POS export isn’t a catalogue yet
Most of the work on a supermarket app is the catalogue. POS names were cut short to fit a receipt, there are no photos, and nothing says which lines go in the freezer.
What each product record holds
Arabic and English names and unit labels, price per kg, litre or piece, temperature tag, barcode or PLU, the Decision 246 flag and a photo. Gaps show on an import report.
Variable-weight barcodes from the deli scale
The scale prints a barcode carrying the item code and the weight or price. GS1 reserves prefixes 20 to 29 for these in-store EAN-13 numbers and leaves the layout to local rules, so we read a sample label from your scale first. The picker's scan feeds the order line and the capture.
Arabic search that finds laban
Shoppers type لبن, laban and leben for the same shelf, khubz for bread and دجاج for chicken. Synonym lists per category grow from your search logs, and right-to-left screens get a bilingual QA pass.
POS or ERP sync, quoted per vendor
It depends on what your vendor's API allows, so no POS is named here as supported. Whether yours connects, and how often it refreshes, goes into the scope once I've read the vendor's documentation.
Send me your POS export as it is, cut-off names and all. A tidy sample tells me nothing; the real file sets the timeline. How we design two-language screens: UI and UX design in Dubai.
07of 10
Selling through InstaShop, talabat or noon, and running your own channel too
Most Dubai grocers already sell through InstaShop, talabat or noon, and keeping that listing is usually right. But know who else is on the screen: talabat sells from its own talabat mart dark stores beside the local shops it lists. Its grocery and retail sales reached USD 788m in Q4 2025, up 45%, rising from 27% to 32% of everything it sells, the latest split published. In August 2026 it said USD 120m was earmarked this year to scale talabat mart and talabat pro, among other plans.
| Question | Listed on InstaShop, talabat or noon | Your own web store or app |
|---|---|---|
| Whose customer contact it is | The platform's account | Yours, for reorders and saved lists |
| Who picks and delivers | Set by your merchant agreement; check who supplies pickers and riders before you list | You |
| Who else is on the screen | Other shops and, on talabat, its own talabat mart stock | Nobody |
| What it costs you | Commission and fees set in your merchant agreement | Build band plus gateway fees (fee tables) |
My judgement, not data: do both, and aim your own channel at repeat baskets. A listing finds new shoppers; saved lists and a WhatsApp reorder keep the household that buys the same 30 items every Thursday. A many-shop app like InstaShop is the multi-store row in the first table. Any feed to a platform is a separate written line.
Have a project in mind?
Send a few lines on WhatsApp or get a fixed AED quote.
08of 10
Is a dark-store app a different build from a supermarket app?
Partly. The shopper sees much the same app. Behind it, three things change, and the biggest is that you sell a delivery time, not a slot.
Narrower range, fixed bins
Fewer lines, kept in stock, so substitutions should come up less often; every product has a bin, so the pick route is calculated.
A promise per zone, not booked slots
Capacity sets the promise: it widens when pickers are busy and shrinks when the queue clears.
Several sites, one admin
Stock transfer, reports per store, and a merchant portal once other brands sell through you.
Running your own dark store sits in the custom-software band, AED 24,500–245,000 over 6–16 weeks, apps priced separately; what moves it inside the band is on custom software and ERP costs in Dubai. Start with one store and one zone, which is what startup MVP development in Dubai is for.
09of 10
Grocery app prices on seven competitor pages
We read seven UAE-facing grocery app pages on 12 Oct 2026. Three print a price, and only one explains what happens when the meat weighs more than ordered.
| Publisher | Grocery price published | Timeline stated | What we noticed |
|---|---|---|---|
| TechGropse | AED 55,000–91,750 MVP; AED 91,750–550,500 mid; AED 550,500+ enterprise | 8–10, 10–20 and 20+ weeks | Same bands as its food-delivery page; its own phases add up to 11–16 weeks, longer than its 8–10 week MVP |
| Apptunix | USD 5,000–10,000+ MVP up to USD 35,000–45,000+ enterprise: about AED 18,400 to AED 165,300+ at 3.6725 | 4–8 up to 20–32 weeks | USD only, every tier open-ended; FAQ says 8–32 weeks |
| Esferasoft (blog, 31 Jul 2025) | AED 60,000–180,000 for the UAE | MVP in 2–3 months | AED and USD side by side, no update date |
| ToXSL, Magneto IT Solutions, HelloPixels, mobileappdevelopment.ae | None | ToXSL 4–12 weeks, Magneto 6–10, the others none | Magneto describes weight top-ups, but not the card hold |
A price only compares when it names the product count, the picker app and how weighed items are charged. Ours below name all three.
How this page was researched: from the Ministry of Economy and Dubai Municipality pages, Gulf News, Stripe and PayTabs documentation, GS1 and talabat's results, read on 12 Oct 2026 alongside the competitor pages.
10of 10
Questions to put to any grocery developer, us included
We found no independent ranking of grocery app developers in the UAE; the "top companies" lists we saw sit on community sites where anyone can post. Ask these instead, of us or anyone.
Whose name is on the merchant account and the app-store listing?
Yours. We build on your licence, bank, gateway, Apple and Google developer accounts, domain and hosting, and hand over every login. Code and IP pass to you with the final payment.
How is a weighed line charged?
If the answer skips the hold and the partial capture, the plan is to charge the full basket and refund later. That version fills your inbox.
What happens to a declined substitution?
Its share of the hold should drop out on its own, with no manual credit. We check it on the live test order we place together before handover.
Where do the unit-price and price-control fields live?
On the product record. "In the description" means they haven't read Decision 245.
Who answers when the 7 am slot goes wrong?
Not me at that hour, and the build shouldn't need me. I'm on WhatsApp (+91 92771 84741), email or video 08:30–17:30 Gulf Standard Time, Monday to Saturday. Early slots run before that, so the store admin lets your team close a slot, pause a zone, mark stock out and refund without us. Other hours only by written scope. How remote work runs: hiring us from the UAE.
Pricing in AED
From WhatsApp bot to dark store: the grocery bands
Grocery quotes grow wherever a rule wasn't written down: the hold buffer, the substitution ceiling, who refunds a missing line. I price each grocery build myself, and those rules go into the written scope. Once signed, that price holds unless the scope changes. AED, excluding VAT; market-wide app prices are in mobile app development cost in Dubai.
AI chatbot
AED 4,900 – AED 59,000
Excl. VATAI chatbot (website or WhatsApp) · Typical timeline: 2–6 weeks
For a baqala: a WhatsApp bot taking a catalogue tap or free-text list, posting to a screen in the shop. The band also covers bots that read messy lists and sync stock; scope sets the figure.
Get a quote for this plan
E-commerce store (Shopify, WooCommerce or custom)
For a supermarket or supplier: slots, zones, the weighed-line buffer, swap settings, unit prices and the bag line, plus gateway-ready pages on refunds, delivery, terms and contact.
Mobile app (iOS + Android, Flutter or React Native)
For a chain moving to apps: the customer app on iOS and Android, with saved lists, reorder and per-item swap settings.
Custom software, portal or SaaS
For a dark store or multi-store operation: dispatch, capacity-based promises, merchant portal, stock transfer and reports.
Picker app
Scan-to-pick, temperature-zone route, weighed capture from scale labels and swap approval, priced once I know your branches and shelves.
POS or ERP stock and price sync
Depends on your vendor's API. Includes the Decision 246 flag on price rises.
Gateway authorise-and-capture set-up
Stripe or PayTabs; for Telr, N-Genius, Tabby or Tamara, support and the hold window are confirmed with the provider first.
Arabic catalogue, right-to-left screens and QA
Arabic names and unit labels, search synonyms, right-to-left screens and the bilingual QA pass.
- Fixed price in AED
- Free scoping call
- No obligation
Quoted lines are priced after a short discovery call, once I've seen your product export and gateway. Invoices are in dirhams, cleared by bank transfer straight into our AED account. Our bugs: free fixes for six months after launch; then app maintenance is AED 1,500–4,500 a month. You contract with Codingclave Development LLP in Lucknow, India; we have no office, entity or phone number in the UAE. To check us: 4.9 on Google (76 reviews), 200+ projects since 2017, Top Rated on Upwork, founder-led delivery (reviews, UAE services).
Prices are in UAE dirhams (AED) and exclude VAT. Project prices are converted from our GBP price list at GBP 1 = AED 4.90 (11 October 2026) and rounded; monthly plans are set in AED. Codingclave is an India-based supplier and is not registered for UAE VAT. VAT-registered UAE businesses usually account for VAT on imported services under the reverse-charge mechanism; confirm with your tax adviser.
Fixed AED quote
How should your customers order from you?
Send your product count, branches, what you sell by weight and any platform listing. I'll reply on WhatsApp with the build to start with and its AED band; a written quote follows a short call.

Ashish Sharma
Founder, Codingclave
Ashish or the team replies on WhatsApp or email during our hours, Mon–Sat, 8:30am–5:30pm GST.
- ★ 4.9 on Google (76 reviews) · Lucknow, India profile
- 200+ projects since 2017
- Top Rated on Upwork, 100% Job Success
- Founder-led delivery
Prefer WhatsApp?
WhatsApp AshishYour shop on WhatsApp
Send your shop type, product count, branches and what you sell by weight; a spreadsheet export helps.
Basket rules on a call
The step that decides how the grocery side behaves: hold buffer, swap default, price ceiling, how far ahead slots open, zones and the bag line. I also confirm auth and partial capture on your gateway account, because the checkout depends on it.
One AED figure, and the accounts to open
It lists the accounts to open in your company's name, from trade licence to hosting, and the payments: 40% to start, 40% at an agreed midpoint, say checkout passing on test cards, 20% at launch.
Catalogue import
The import report shows which products lack an Arabic name, unit price or temperature tag.
Build in stages
Checkout and picking come first, because that is where the risk sits.
Live test order, then handover
Before handover we place a real order together on your live gateway. I suggest a weighed line and a declined swap, so you see the partial capture land on your dashboard. Better we find a fault than your first Thursday customer.
FAQ
Questions UAE businesses ask us
Can’t see yours? Ask Ashish directly — you’ll get a straight answer, not a sales script.
Ask Ashish directly
What's the cheapest way for a grocer to start taking paid delivery orders?
What usually holds up a grocery launch?
How do I sell on InstaShop, and can I run my own grocery app as well?
How does a grocery app charge for meat, fish and vegetables sold by weight?
What happens when an item is out of stock in a grocery app?
Can a grocery app connect to my supermarket POS?
Do UAE online grocery stores have to show the price per kg or per litre?
Can groceries in Dubai still be delivered in plastic or paper bags?
Ashish Sharma · Founder
Tell me what you sell by weight. I’ll tell you what to build first.
Send your product count, branches, what you sell by weight and any platform listing. I'll reply on WhatsApp with the build to start with and its AED band; a written quote follows a short call.
- WhatsApp us or fill in the form
- Free scoping call
- Fixed AED quote, no obligation
- ★ 4.9 on Google (76 reviews) · Lucknow, India profile
- 200+ projects since 2017
- Top Rated on Upwork, 100% Job Success
- Founder-led delivery
Keep exploring
- UAE
All our UAE services
- Industry
Food delivery apps and RTA rider rules
- Price guide
Online store and gateway fees in AED
- Service
Payment gateway integration
- Service
WhatsApp ordering bots
- Price guide
Dark-store and ERP build costs
- Service
One-zone pilot for a dark store
- Service
Arabic and English app design
- Industry
Delivery fleet and dispatch apps
- Service
Support after launch

Ashish Sharma
Founder, Codingclave · Updated 12 October 2026
Ashish founded Codingclave in Lucknow, India, in 2017 and still leads delivery on every project.
Sources (11)· public sources cited on this page
- UAE Ministry of Economy and Tourism – New pricing policy for nine categories of essential consumer goods
- Dubai Municipality – Final phase of single-use plastic ban from 2026
- Gulf News – UAE single-use plastic ban explained: what changes from 2026
- Dubai Municipality – Requirements for food transportation and delivery vehicles
- Stripe Docs – Place a hold on a payment method
- PayTabs Docs – Hosted Payment Page: capture transaction
- PayTabs Support – Capture transaction (Laravel package)
- GS1 – GS1 prefixes (restricted circulation numbers 20–29)
- Zawya – talabat reports results for Q4 2025
- Zawya – talabat results for Q2 2026 (12 Aug 2026)
- TechGropse – Grocery delivery app development