Is Joining a Delivery App Worth It? How to Do the GP Math Before You Decide
"They take 30% — what's left for me?" versus "If I'm not on the app, nobody finds me." Almost every restaurant owner has argued both sides with themselves. Some shops join a delivery app, watch sales jump, and still find the bank balance flat or lower at month end. Others stay off the apps out of fear of GP, while the kitchen sits idle half the day and the opportunity quietly passes.
Whether it's "worth it" doesn't come down to the GP percentage alone. It comes down to two questions: after every deduction, does one order still leave a profit? and is that order a new customer, or a regular who simply switched channels? This article walks through both with real numbers that a small shop can swap for its own straight away.
What GP is, and what it really takes
GP (short for Gross Profit — the apps' name for their commission) is the share a delivery platform takes from the selling price of every order in exchange for finding the customer, handling payment and delivering the food. In Thailand it typically runs around 25–35% of the selling price, depending on the app and the package the shop picks (low-GP packages usually come with a higher delivery fee for the customer, which hurts order volume).
What new shops often miss is the 7% VAT on the GP. The platform is a VAT-registered service provider, so it charges value-added tax on its commission. A 30% GP becomes 30% × 1.07 = 32.1% of the price that actually disappears — before the box, the bag, any promotion discounts the shop "co-funds", and in-app advertising if you buy it.
So before anything else, open your contract or the shop settings in the app and write down three things: the GP rate you actually pay, whether VAT is charged on it, and whether GP is calculated on the price before or after promotion discounts. Those three facts make every number in the rest of this article far more accurate.
Step 1: Work out profit per order with every deduction included
Take your best-selling dish and go line by line. Say it's pad kaprao with minced pork and a fried egg, ฿60 in the shop, with ฿21 of ingredients (a 35% food cost — see how to calculate food cost). For delivery it also needs a box, a bag and a plastic spoon, about ฿5 in total.
| Channel | Price | GP 30% + VAT | Shop receives | Ingredients + box | Gross profit/plate |
|---|---|---|---|---|---|
| Walk-in | ฿60 | 0 | ฿60.00 | ฿21 | ฿39.00 (65%) |
| App, same price as shop | ฿60 | ฿19.26 | ฿40.74 | ฿26 | ฿14.74 (25%) |
| App, priced at ฿80 | ฿80 | ฿25.68 | ฿54.32 | ฿26 | ฿28.32 (35%) |
| App ฿80 + shop-funded ฿10 discount* | ฿70 | ฿25.68 | ฿44.32 | ฿26 | ฿18.32 (26%) |
* Assumes the app charges GP on the full ฿80 price before the shop's own discount — double-check your app's terms.
The table says three important things. First, if you sell on the app at the same price as in the shop, nearly two-thirds of your profit per plate vanishes — from ฿39 to under ฿15 — and that's before wages, rent and electricity. Second, pricing about 30% higher on the app isn't cheating customers; it passes the cost of that channel on to the people who choose it (formula and more examples in how to price your menu for real profit). Third, shop-funded promotions eat profit faster than they look: a "small" ฿10 discount wipes out another third of the profit per plate.
Step 2: Is that order a new customer, or a regular who switched?
This is where most shops get it wrong. Whether ฿28 gross profit per plate from the app is "worth it" depends on whether that order would have happened without the app.
- A genuinely new customer — someone who lives too far away, can't be bothered to walk over, or had never heard of you. Without the app, no order. For these, the ฿28.32 gross profit is almost entirely extra profit, because rent, wages and electricity are already being paid whether this order exists or not.
- A regular who switched channels — someone who normally eats in or phones ahead and picks up, but ordered through the app today because of a free-delivery coupon. On this customer you used to make ฿39; today you make ฿28.32. That's ฿10.68 lost per plate without gaining a single new customer.
Over a month it adds up. Say the app brings 100 plates a day, 70 from new customers and 30 from regulars who switched. Extra profit from new customers is 70 × 28.32 = ฿1,982; profit lost on regulars is 30 × 10.68 = ฿320. Net, the shop is still up about ฿1,660 a day, roughly ฿43,000 a month — worth it. Flip the proportions, 70 regulars and 30 new, and it becomes 850 − 748 = only about ฿100 a day extra, while the kitchen cooks an extra hundred plates.
How to know your split without guessing: look at walk-in sales before and after joining the app. If the app adds ฿60,000 a month but walk-in sales drop by ฿30,000, half the app revenue is regulars who moved, not new business. You can only see that if your income is recorded by channel.
Step 3: The hidden costs of delivery that aren't in the GP table
Beyond GP and the box, there are costs that show up later and get forgotten at decision time:
- Labour when peaks collide — app orders tend to land during your walk-in rush (11.30–13.00 and 18.00–19.30). If the kitchen can't keep up, dine-in customers wait, or you hire one more person at ฿9,000–12,000 a month. That has to come off the app's extra profit.
- Waste from cancelled orders — the food is cooked, then the rider never shows or the customer cancels. Each app compensates differently. Log every one and count how many plates a month you lose.
- Promotions you "have to" join — shops that opt out tend to get ranked lower in the app, so many join every campaign. Each one is the fourth row of the table above: profit per plate gone.
- In-app advertising — it does bring orders, but price it per order gained. Pay ฿2,000 and get 80 extra orders and that's ฿25 per order — nearly all of the ฿28 gross profit.
- Slow payouts — most apps pay out in cycles, not daily. The shop fronts the money for ingredients, and the bigger the app's share of sales, the more working cash you need (more in hidden restaurant costs that quietly eat profit).
- Food quality on arrival — anything crispy, anything in broth, anything that must be eaten hot can reach the customer in a state that tanks your reviews, which hurts both app sales and the shop's name.
Step 4: A full-month example — is this shop winning?
A made-to-order shop has been on an app for two months. App sales are ฿60,000 a month (about 750 orders at an average ฿80). Walk-in sales are down ฿12,000 from before (about 200 plates that moved channels), and it needed one extra part-timer over lunch.
| Line | ฿ / month |
|---|---|
| App sales | 60,000 |
| Less GP 30% + VAT (32.1%) | −19,260 |
| Less ingredients 750 × 21 | −15,750 |
| Less packaging 750 × 5 | −3,750 |
| Gross profit from the app | 21,240 |
| Less profit lost on regulars who switched 200 × 10.68 | −2,136 |
| Less extra part-timer | −6,000 |
| Less in-app ads + cancelled-order waste | −2,500 |
| Net extra profit from joining the app | 10,604 |
This shop is winning: ten thousand-odd baht a month out of a kitchen it already had. But notice that the impressive-looking ฿60,000 in sales turns into only about 18% real extra profit. And if the shop had priced at the walk-in price (฿60) on the app, gross profit from the app would be only about ฿11,000; after the part-timer and the rest there'd be almost nothing left, despite cooking 750 extra plates. That is one of the ways a busy restaurant ends up with no profit.
5 questions before you join (or pull out)
- Is gross profit per app order still above ฿25 after GP + VAT + ingredients + box? If not, fix the app price or pick lower-cost dishes first. Don't decide anything else until this is positive.
- When is the kitchen idle? A shop that's packed at lunch but quiet through the afternoon and evening is a great fit for afternoon–evening delivery: same people, same stove, no extra hire. A shop whose peaks collide must always add labour to the sum.
- Which dishes belong on the app? You don't have to list the whole menu. Pick dishes with low food cost that travel well and cook fast — rice with curry, pad kaprao, fried rice — and leave out anything expensive or that falls apart in transit.
- Did walk-in sales change after joining? Record income by channel for at least 2 months and compare walk-in sales with the period before the app. If the drop is more than half the app's revenue, you're paying GP on your own regulars.
- Do regulars have a GP-free way to order? Regulars who live nearby should be able to order without the app — take orders on LINE for pickup, or put up a QR menu so customers order and pay by PromptPay themselves at the shop. Let the delivery app do what it's good at — finding new customers — rather than collecting 30% from the ones you already have.
Already on an app? How to make it pay better
- Price the app menu separately from the shop using the amount you want to keep ÷ (1 − GP), then round to a tidy number like ฿79 or ฿85.
- Join promotions on your terms — only in the hours the kitchen is quiet, or only on low-food-cost dishes, rather than every campaign.
- Raise the value of each order with set menus, an added drink or an extra fried egg. The box and the packing time cost the same per order, but gross profit goes up.
- Cut packaging cost — buy boxes by the carton and compare 2–3 suppliers. One baht saved per order on 750 orders is ฿750 a month without selling a single extra plate.
- Review every month — put app sales, GP paid and walk-in sales side by side at each month end. When net extra profit starts dropping below the extra labour it costs, it's time to adjust or pull out.
Every number here comes from splitting income by channel
"Is the app worth it?" can't be answered on gut feel, and can't be answered if your books have a single "total sales" line. You need to know this month's app sales, how much GP you paid, whether walk-in sales moved, and how much packaging and labour went up.
Bunchee keeps you from having to add those up by hand: set separate income categories for walk-in and delivery, book GP as an expense in its own category, snap receipts for boxes and ingredients and let AI record them, then compare each category month by month on a chart — or just ask the AI assistant "how much GP did I pay this month?". And if you'd rather walk-in customers order on their own without any GP, the same app includes a QR menu.
Delivery apps are neither hero nor villain. They're a sales channel with a price attached. The shops that come out ahead know that price in baht per order, use the app to find new customers rather than letting it take a cut of existing ones, and are willing to change course when the numbers say so.
See app sales and walk-in sales side by side every month
Bunchee is a free restaurant accounting app — AI receipt scanning, income and expense categories by channel, month-over-month charts, and a QR menu customers order from with no GP.