A vibrant smoothie bowl topped with fresh tropical fruit on a cafe table
← Blog

Guide · Updated May 2026

Food cost for Bali restaurants and cafes.

The formula is the easy part. This guide works one Canggu smoothie bowl all the way through, then shows the four things that decide your real margin in Bali: platform commission, the PBJT and PPN tax layer, supplier prices that move, and the yield you actually plate.

The formula is simple. The reality in Bali is not.

A cafe in Canggu sells a smoothie bowl for Rp 65,000. The ingredients cost around Rp 19,000. So the food cost is about 29%, comfortably inside the healthy band, nothing to worry about. Except that half those bowls go out through GoFood, the kitchen is paying a regional tax on every dine-in plate, and the price of the dragon fruit on top moved last week. The 29% on the menu is true. It is also, by the time the money lands, a fiction.

The formula itself takes one line. Food cost % = food cost ÷ selling price × 100. Spend Rp 19,000 to make something you sell for Rp 65,000, and your food cost is 29%. Every food-costing guide on the internet teaches you this, usually with chicken pasta priced in dollars, and most of them stop there. That is the part that is genuinely easy. It is also the part that almost never explains why a profitable-looking menu still ends the month thin.

There are rough benchmarks worth knowing, because they tell you when something is off. As a global industry guide, food cost typically lands around 28–35% for a restaurant, 25–35% for a cafe, 20–30% for fast food, 20–28% for a bakery, and 30–40% for catering. If you are well outside your band, that is a signal: either your prices are wrong or your costs have drifted. But read these as what they are: global numbers, drawn from markets without GoFood taking a fifth of the ticket and without a regional service tax on every dine-in plate. In Indonesia, two layers, platform commission and the tax frame, quietly push your real food cost above the benchmark. The rest of this guide is about seeing them.

Source: EMD Hospitality food-costing guide, global benchmark bands. The Indonesian platform-commission and tax layers shift the effective figure upward; treat the bands as a directional starting point, not a target for a Bali kitchen.

A smoothie bowl, costed end to end

Take the defining item of the Canggu cafe scene: the smoothie bowl. It looks simple (fruit, a base, some toppings), which is exactly why it is so often mis-costed. The toppings get forgotten. The packaging for delivery gets forgotten. The gas and the staff time behind the counter get forgotten. Cost it properly and you find the real number, the one you build a price on. Here is a plausible build for a single bowl, with indicative Bali supplier prices.

Smoothie bowl: indicative cost build (update with your own quotes)
Component Qty Cost (IDR)
Frozen banana (base)120 g3,000
Mixed berries / dragon fruit (base)80 g5,500
Plant milk / yoghurt60 ml2,500
Granola30 g2,500
Fresh fruit topping (mango, kiwi, banana)50 g3,000
Seeds, coconut, drizzleto taste2,000
Ingredient subtotal18,500
Bowl, lid, spoon (delivery packaging)1 set3,500
Overhead allocation (gas, power, prep labour)per bowl4,000
Total production cost26,000

Sell that bowl dine-in at Rp 65,000 and the ingredient-only food cost is about 28%. Healthy. But notice what the full build does: add packaging and a fair share of overhead, and the true production cost is closer to Rp 26,000, or about 40% of the menu price before a single rupiah of tax or commission comes off. Most operators cost the ingredients, see 28%, and price as if that were the whole story. It is not even half of it.

Indicative supplier prices and packaging costs: illustrative figures for a Bali cafe, not a sourced statistic. Update with your own quotes and recipe weights before relying on them.

The platform-commission gap most operators never see

Here is the number that does the work in this whole guide. When that smoothie bowl sells through GoFood, you do not keep Rp 65,000. The platform takes its commission off the top, and your food cost percentage is no longer measured against the menu price. It is measured against what actually lands in your account. The dish that ran a comfortable food cost on the menu suddenly runs a frightening one on the net.

Delivery commission in Bali currently runs roughly 20–30% depending on the platform and your tier. To keep the comparison clean, take the same bowl, the same Rp 65,000 price, and the same Rp 18,500 of ingredients, and walk it through three channels. (We use indicative commission rates here; your own partner agreement has the exact figures.)

Same bowl, three channels: what changes is the net (indicative rates)
  Dine-in GoFood (~22%) GrabFood (~28%)
Menu price (IDR)65,00065,00065,000
Platform commission014,30018,200
Net revenue to you65,00050,70046,800
Ingredient cost18,50018,50018,500
Effective food cost %28%36%40%

Read the bottom row slowly. A dish that runs about 28–30% food cost on the menu price runs roughly 38–45% on the GoFood or GrabFood net price. Same bowl, same ingredients, same menu number, a completely different margin, depending on which channel the order came through. That is the gap most operators do not see, because they price once, against the menu, and never recheck the dish against the money that actually arrives. And in Bali, where delivery can be half your volume or more, the channel you ignore is the channel setting your real food cost.

The fix is not to abandon the platforms. They bring you orders you would never reach otherwise. The fix is to price knowing the gap: either set a delivery price that protects the margin, or accept the thinner channel margin with your eyes open. What you cannot afford is to discover it at the end of the month, in the bank balance.

Source: Menuviel and Slant POS platform-fee comparisons, 2025–2026. GoFood roughly 20–25%, GrabFood roughly 25–30% (some tiers higher once VAT on the service fee is included), ShopeeFood roughly 18–25%. Rates vary by partnership tier; confirm against your own partner agreement.

Fresh produce stacked at a traditional Balinese market
The price of what goes in the bowl is set at the market, and it moves. Photo: Unsplash

The tax layer: PBJT, PPN, and which one is yours

There is one more slice that comes off before the money is yours, and operators new to Indonesia routinely misread it: the tax frame. The thing to understand is that food service does not all sit under the same tax. Dine-in service and a packaged sale can be taxed under two different regimes, and a few kitchens end up touching both.

PBJT, Pajak Barang dan Jasa Tertentu, the regional tax on certain goods and services, which includes restaurant and food-service, is the one most dine-in operators meet. It is generally 10% in Bali, though the exact rate is set per regency (Badung, Denpasar, Gianyar and the rest each set their own) under the consolidated PDRD framework that absorbed the old PHR, the hotel-and-restaurant tax, regime. If a guest sits down, eats your smoothie bowl, and pays at the table, PBJT is typically the tax in play.

PPN, the value-added tax, VAT, is a different animal. It is 11% effective for most goods and services, with 12% applying only to luxury goods since 1 January 2025. Where it touches food is at the edges of service: a pure catering order or a packaged-food sale without service can fall under PPN rather than PBJT. Sell a bag of your house granola off the shelf and you are closer to PPN territory; serve the same granola in a bowl at a table and you are closer to PBJT. Some operators, selling both ways, end up dealing with both.

This matters to your food cost for one plain reason: a tax that comes off your price is margin you never had. Treat it as part of the cost stack, not an afterthought at filing time. But keep it in proportion: this is a costing guide, not a tax filing.

Sources: UU HKPD 1/2022 and regional PDRD regulations (PBJT); MOF Reg 131/2024 and Baker McKenzie tax advisory, January 2025 (PPN 11/12 mechanism). Indicative based on the general framework; confirm your specific obligation with a local tax consultant.

Your supplier prices move. Your spreadsheet doesn't.

Here is the quiet problem with every static cost you just calculated: it was true the day you typed it, and a little less true every day after. Rupiah supplier prices move: fruit and fish and vegetables swing with the season, dairy and beef and wheat ride on import dynamics, and anything imported moves again every time the rupiah shifts against the dollar. The dragon fruit on that bowl is not the same price in January and July. Your spreadsheet, recosted last quarter, has no idea.

This is the difference between the operators who hold their margin and the ones who wonder where it went. Not effort, timing. If you are updating supplier prices by hand once a quarter, you are guessing at your margins for the eleven weeks in between, and pricing a Rp 65,000 bowl on costs that quietly drifted to Rp 22,000 of ingredients without telling you. The calculator further down this page assumes you will keep the ingredient sheet current. When that upkeep turns into a job of its own (photographing supplier invoices, re-keying prices, pushing the new numbers through every recipe), there is a more automated way, capturing prices straight from a WhatsApp photo of the invoice so the costs move the day the market does. One link, no hard sell; reach for it only if the manual version becomes the burden.

Yield: you don't get to plate everything you buy

Buy a kilo of whole fish and you do not cook a kilo of fish. You cook what is left after the head, the bones, the skin and the trim, and you paid for all of it. That is yield, and it is where imported recipes quietly lie to a Bali kitchen. A US recipe assumes chicken at around 80% usable after trimming. A whole ayam kampung, leaner, bonier, the local bird, gives you less, so your real cost per usable gram is higher than the sticker price suggests.

The pattern repeats across the ingredients a Bali menu actually leans on. Here are indicative yields to show the shape of the problem, not numbers to trust blind, but a prompt to weigh your own.

Indicative yields for Bali-relevant ingredients: measure your own
Ingredient Indicative usable yield
Whole local chicken (ayam kampung)~60–65%
Whole reef fish (snapper, barramundi)~50–60%
Whole prawns (head-on, shell-on)~50–55%
Fresh coconut (flesh from whole)~45–55%
Young jackfruit (nangka muda, prepped)~55–65%
Banana heart (jantung pisang)~45–55%
Green papaya (peeled, seeded)~75–85%
Pineapple (whole, peeled & cored)~50–55%
Dragon fruit (flesh from whole)~60–65%
Leafy greens (kangkung, trimmed)~75–85%
Mango (cheeks from whole)~65–70%
Whole pumpkin (labu, peeled & seeded)~70–80%

The lesson is one line: cost the usable gram, not the purchased gram. If a whole fish yields 55%, the fish on the plate costs nearly double its market price per usable gram, and a recipe that assumes 80% has under-costed the dish by a third. Weigh what goes in and what makes it to the plate, once, for each main ingredient. It is an hour of work that fixes a permanent leak.

Indicative yield ranges: practical guidance, not sourced statistics. Yields vary by cut, species, season and prep style; measure your own before relying on them.

The mistakes that quietly cost you

Most food-cost leaks are not dramatic. They are small, repeated, and invisible until the month closes thin. The classic ones show up in kitchens everywhere:

  • Forgetting the small stuff. Oil, spices, the garnish, the drizzle, costed at zero, add up to real money across a service.
  • Ignoring wastage. Trim, spoilage, the bowl that goes back: if it is not in the cost, the margin is fiction.
  • Letting supplier prices go stale. A cost you entered last quarter is a guess this quarter.
  • Pricing off competitors only. Their costs are not your costs; copy their price and you inherit a margin you never checked.
  • Forgetting tax and commission. A price that ignores PBJT and the platform cut is a price set against money you never actually receive.

Then there are the four that are specifically Indonesian, the ones the global guides never mention, and the ones that catch the most Bali operators:

  • Not running food cost against the platform-net price. The single biggest one. A dish costed only against the menu price is blind to the channel that actually sets its margin.
  • Treating PBJT like income tax. It is a tax on the sale that comes off the top, not a tax on your profit at year-end, and it belongs in the price.
  • Assuming Western recipe yields. Local chicken, whole fish, fresh coconut all yield less than an imported recipe assumes; cost the usable gram.
  • Ignoring rupiah movement on imported inputs. Dairy, beef, wheat and anything imported reprice when the rupiah moves, and a static sheet never notices.

What to do next

Start with the numbers you already have. Track your costs with the free food cost calculator. It builds each dish the way this guide did, ingredient by ingredient, then runs the same dish across dine-in, GoFood and GrabFood so you can see the channel gap on your own menu, not a worked example. Put a week's real prices in and it will tell you which of your dishes are stars and which are quietly losing money on delivery.

Then keep it current. Update supplier prices monthly at the minimum, weekly if you are running tight or selling a lot of fish, fruit, or imported inputs. The calculator is only as honest as its most recent prices. If maintaining the sheet becomes a job in itself, and at any real volume it does, that is the moment to automate it, capturing supplier prices from a WhatsApp photo of the invoice and pushing them through every recipe so your margins update themselves.

You do not need all of it at once. You need to know which dish is quietly losing you money on delivery, and to fix that one before the next month closes.

Questions

What is a good food cost percentage for a cafe in Bali?
The global benchmark for a cafe is roughly 25–35%, and for a full restaurant 28–35%. But those bands assume you sell over the counter. In Bali, where a big share of orders come through GoFood or GrabFood at 20–30% commission, the food cost percentage you actually earn on a delivery order can run ten points higher than the menu price suggests. Treat the global band as a starting line, not a finish line.
How much commission do GoFood and GrabFood take in 2026?
Roughly 20–30% depending on the platform and your partnership tier. GoFood tends to sit around 20–25%, GrabFood around 25–30% (some tiers higher once VAT on the service fee is included), and ShopeeFood around 18–25%. The exact rate is in your partner agreement. Check it, because it is the single biggest hidden cost on a delivery order.
Do I pay PBJT or PPN on my restaurant sales?
As a general rule, dine-in restaurant service is subject to PBJT, the regional tax on food and beverage service, generally 10% in Bali, set by your regency. Pure catering or a packaged-food sale without service can instead fall under PPN (VAT), 11% for most goods. Some operators end up with both, depending on what they sell. This is indicative based on the general framework. Confirm your specific obligation with a local tax consultant.
Why does my spreadsheet say I am profitable when my bank balance disagrees?
Usually because the spreadsheet costs are stale and the channel mix is invisible. Rupiah supplier prices move week to week, so a cost you entered in March is fiction by May. And a dish priced for the dine-in margin loses ten or more points the moment it sells through GoFood. Recalculate against current prices and against your real channel split, and the gap usually explains itself.
What yield should I assume for a whole local chicken or fish?
Lower than a Western recipe tells you. A US recipe might assume 80% usable chicken; a whole ayam kampung, bonier and leaner, gives you less. Whole fish lands somewhere around 50–65% usable depending on the cut and species. The honest answer is to measure your own: weigh what goes in and what makes it to the plate, once, for each main ingredient.
How often should I update my food costs?
Monthly at the minimum, weekly if your margins are tight or your menu leans on volatile inputs like fish, fruit, or anything imported. The operators who hold their margin are the ones whose dish costs move the day the supplier price moves, not the ones who recost once a quarter and guess in between.

Want to talk through what would actually help your kitchen?

Start with the free calculator. Then, if keeping it current becomes the chore, we can talk through what it would take to make your dish costs update themselves, channel by channel.