← All posts
van-hanh-chuoi

TL;DR

Twelve milk-tea recipes with measured ingredient cost, yield, gross margin, and the POS workflow needed to deduct each one at sale. Built for chain operators, not bloggers.

Milk Tea Recipes with True COGS 2026: Vietnam Operator's Working Manual

LOOP ResearchLast updated:

Milk Tea Recipes with True COGS 2026: Vietnam Operator's Working Manual

Most milk-tea recipe articles list ingredients without amounts, prices, or yield. That is fine for a hobbyist. For an operator about to sell 200+ cups a day, you need the opposite: every recipe sized to a 500 ml cup, every ingredient priced at Q1 2026 Vietnamese wholesale, every yield calculated, and an explicit note on how to deduct it from inventory at the point of sale.

All twelve recipes below assume a standard 500 ml clear PET cup with sealed dome lid, ice fill 220 g, leaving 280 ml for liquid + toppings. Prices are HCMC/Hà Nội Q1 2026 wholesale, before VAT, to a buyer ordering at minimum-truck quantities. Substitute your supplier prices freely, the workings are the value.

Table of contents

<a id="unit-costs"></a>Reference unit costs (HCMC/HN wholesale, Q1 2026, pre-VAT)

IngredientUnitPriceNotes
Black tea leaves (Bảo Lộc CTC grade)VND/kg95,000brews ~180 cups @ 5 g
Oolong tea leaves (Lâm Đồng)VND/kg280,000brews ~150 cups @ 6 g
Jasmine green teaVND/kg145,000brews ~180 cups @ 5 g
Earl grey blendVND/kg220,000brews ~165 cups @ 5.5 g
Whole milk (Vinamilk/TH)VND/L33,50080–120 ml per cup
Non-dairy creamer (Rich's/Indomilk)VND/kg78,000hydrate 1:6
Condensed milk (Ông Thọ)VND/L52,00015–25 ml per cup
Fresh cream (Anchor 35%)VND/L138,00030 ml per topping
Cane sugarVND/kg22,00025 g per cup avg
Fructose syrupVND/L38,00018 ml per cup avg
Tapioca pearls (raw, large)VND/kg35,000yields 2.6× cooked weight
Brown sugar pearls (premium)VND/kg56,000yields 2.4× cooked weight
Crystal boba (clear)VND/kg62,000ready-to-use
Cheese foam powder mixVND/kg285,00025 g per topping
Sea saltVND/kg14,0001 g per cheese foam
Aiyu jellyVND/kg48,00040 g per topping
Grass jelly (sương sáo)VND/kg32,00050 g per topping
Pudding mixVND/kg165,000yields 8× set weight
Coffee jellyVND/kg58,00040 g per topping
Taro paste (real taro 60%)VND/kg95,00060 g per cup
Strawberry purée 50%VND/kg88,00040 g per cup
Mango purée 50%VND/kg92,00040 g per cup
Matcha powder (culinary)VND/kg1,250,0004 g per cup
500 ml cup + dome lid + strawVND/set1,950bulk pack
Sealing film (per cup)VND/cup280machine seal
Paper bag + napkinVND/set420per take-away order

<a id="recipes"></a>The 12 recipes

For each recipe: gram-accurate build, ingredient cost, packaging cost, total COGS, suggested menu price, drink gross margin. "Suggested price" anchors at the median chain-modern milk-tea ticket VND 45–65k.

1. Classic black milk tea with tapioca (Trà sữa truyền thống trân châu)

  • Brewed black tea (5 g leaves → 240 ml), VND 530
  • Non-dairy creamer slurry (25 g powder + 150 ml water), VND 1,950
  • Cane sugar 25 g + fructose 8 ml, VND 855
  • Tapioca pearls cooked 80 g (raw 31 g), VND 1,085
  • Cup set + seal, VND 2,230
  • Total COGS: VND 6,650 | Suggested price: VND 35,000 | Drink GM: 81%

2. Oolong milk tea with brown sugar pearls

  • Brewed oolong (6 g → 240 ml), VND 1,680
  • Whole milk 120 ml + condensed 15 ml, VND 4,800
  • Brown sugar pearls cooked 90 g (raw 38 g), VND 2,128
  • Cup set + seal, VND 2,230
  • Total COGS: VND 10,838 | Suggested price: VND 49,000 | Drink GM: 78%

3. Matcha latte with red bean (substitute aiyu)

  • Matcha 4 g, VND 5,000
  • Whole milk 180 ml + fructose 18 ml, VND 6,714
  • Aiyu jelly 40 g, VND 1,920
  • Cup set + seal, VND 2,230
  • Total COGS: VND 15,864 | Suggested price: VND 59,000 | Drink GM: 73%

4. Cheese foam jasmine tea

  • Jasmine tea (5 g → 280 ml), VND 805
  • Cane sugar 22 g + fructose 8 ml, VND 788
  • Cheese foam topping (cream 30 ml + foam mix 25 g + salt 1 g), VND 11,289
  • Cup set + seal, VND 2,230
  • Total COGS: VND 15,112 | Suggested price: VND 55,000 | Drink GM: 73%

5. Taro milk tea with crystal boba

  • Brewed black tea (5 g → 200 ml), VND 530
  • Taro paste 60 g, VND 5,700
  • Whole milk 120 ml + condensed 15 ml, VND 4,800
  • Crystal boba 50 g, VND 3,100
  • Cup set + seal, VND 2,230
  • Total COGS: VND 16,360 | Suggested price: VND 59,000 | Drink GM: 72%

6. Brown sugar fresh milk (Hổ Đường Đen)

  • Whole milk 240 ml + condensed 10 ml, VND 8,560
  • Brown sugar pearls cooked 110 g (raw 46 g), VND 2,576
  • Brown sugar drizzle 12 g, VND 672
  • Cup set + seal, VND 2,230
  • Total COGS: VND 14,038 | Suggested price: VND 52,000 | Drink GM: 73%

7. Strawberry oolong fruit tea

  • Brewed oolong (6 g → 200 ml), VND 1,680
  • Strawberry purée 60 g + fructose 15 ml, VND 5,850
  • Crystal boba 40 g, VND 2,480
  • Cup set + seal, VND 2,230
  • Total COGS: VND 12,240 | Suggested price: VND 49,000 | Drink GM: 75%

8. Mango passion green tea

  • Brewed green tea (5 g → 200 ml), VND 725
  • Mango purée 60 g + fructose 15 ml, VND 6,090
  • Aiyu jelly 40 g, VND 1,920
  • Cup set + seal, VND 2,230
  • Total COGS: VND 10,965 | Suggested price: VND 49,000 | Drink GM: 78%

9. Coffee jelly milk tea

  • Brewed black tea (5 g → 220 ml), VND 530
  • Non-dairy creamer slurry (25 g), VND 1,950
  • Coffee jelly 60 g, VND 3,480
  • Cane sugar 22 g + fructose 8 ml, VND 788
  • Cup set + seal, VND 2,230
  • Total COGS: VND 8,978 | Suggested price: VND 45,000 | Drink GM: 80%

10. Pudding milk tea

  • Brewed black tea (5 g → 220 ml), VND 530
  • Whole milk 100 ml + condensed 18 ml, VND 4,286
  • Pudding 70 g (mix 9 g), VND 1,485
  • Cane sugar 18 g, VND 396
  • Cup set + seal, VND 2,230
  • Total COGS: VND 8,927 | Suggested price: VND 49,000 | Drink GM: 82%

11. Earl grey cheese mousse

  • Brewed earl grey (5.5 g → 280 ml), VND 1,210
  • Cane sugar 20 g, VND 440
  • Cheese mousse topping 40 ml (cream 40 ml + foam mix 18 g), VND 10,650
  • Cup set + seal, VND 2,230
  • Total COGS: VND 14,530 | Suggested price: VND 55,000 | Drink GM: 74%

12. Grass jelly herbal milk tea

  • Brewed black tea (5 g → 240 ml), VND 530
  • Non-dairy creamer slurry (25 g), VND 1,950
  • Grass jelly 80 g, VND 2,560
  • Cane sugar 22 g, VND 484
  • Cup set + seal, VND 2,230
  • Total COGS: VND 7,754 | Suggested price: VND 39,000 | Drink GM: 80%

<a id="cogs"></a>COGS summary table

#RecipeCOGSSuggested priceDrink GMNotes
1Classic black + tapioca6,65035,00081%Entry SKU
2Oolong + brown sugar pearls10,83849,00078%Margin anchor
3Matcha latte + aiyu15,86459,00073%Matcha price sensitive
4Cheese foam jasmine15,11255,00073%Foam complexity
5Taro + crystal boba16,36059,00072%Watch taro shrinkage
6Brown sugar fresh milk14,03852,00073%Photo SKU
7Strawberry oolong12,24049,00075%Seasonality
8Mango passion green10,96549,00078%Year-round
9Coffee jelly8,97845,00080%Cross-day appeal
10Pudding milk tea8,92749,00082%Highest margin
11Earl grey cheese mousse14,53055,00074%Evening seller
12Grass jelly herbal7,75439,00080%Traditional bridge

Blended drink GM at a balanced menu mix: 77.1%, which is the number to defend at category-mix reviews.

<a id="pos"></a>POS deduction notes per recipe

A milk-tea POS that does not deduct ingredients by recipe at the point of sale is invisible to the actual margin leak. Here is what every recipe needs declared:

  • Liquid ingredients in ml, not "a pump". Pump sizes drift 15–25% over a month as nozzles wear.
  • Pearls in g cooked, with a fixed cooked:raw ratio (2.4× for brown sugar pearls, 2.6× for tapioca). The POS deducts raw weight; the bar weighs cooked.
  • Toppings as separate SKUs that the cashier checkboxes, never bundled inside the parent drink unless the drink is fixed-topping.
  • Cups and lids deducted automatically; the operator should reconcile package count vs. drink count at end of day and investigate >0.5% variance.
  • Sealing film per cup is a separate consumable line, not a packaging overhead, it is the single highest-shrinkage SKU in milk tea.

For more on how a POS does recipe-level deduction at sale, see recipe costing in Vietnam.

<a id="counts"></a>Daily blind-count list (top 8 SKUs)

Daily blind counts on the top 8 SKUs (the manager counts without seeing the POS-expected number) typically cuts food-cost shrinkage from 5–6% to 1.5–2%. For a milk-tea outlet, count daily:

  1. Tapioca pearls (raw)
  2. Brown sugar pearls (raw)
  3. Taro paste
  4. Cheese foam mix
  5. Cups (500 ml set)
  6. Sealing film roll length
  7. Whole milk (litres on hand)
  8. Matcha powder (g on hand)

Flash variance >2% on items 1–4, >0.5% on items 5–6, >1% on items 7–8.

<a id="sources"></a>Sources

  • Vietnam F&B Index 2026: LOOP Research
  • VICOFA 2025/26 crop-year wholesale ranges for tea and coffee.
  • General Statistics Office of Vietnam, Q1 2026 dairy and sugar wholesale price index.
  • VPBank SME F&B briefing pack 2026, bubble-tea operator margin benchmarks.
  • Vinamilk and TH True Milk public 2026 wholesale price lists.

Related

<a id="faq"></a>Frequently asked questions

Q: What blended drink gross margin should a Vietnamese milk-tea shop target in 2026? A: 74–80% blended. The 12-recipe menu above lands at 77.1%. Below 72% means either supplier prices are above market or recipes are over-portioned.

Q: Why are these COGS higher than the "VND 4,000 per cup" stories online? A: Those stories exclude cup, lid, seal, straw, sugar, ice spill, and recipe shrinkage. Add them and you land at VND 7–16k. The numbers above are operating reality.

Q: How do I cost a recipe my supplier just changed price on? A: Run the recipe with the new unit cost, then rerun the menu blend. Anything that drops a recipe below 70% drink GM either needs a price increase, a portion change, or a substitution.

Q: What does cooked:raw ratio for pearls mean in practice? A: 1 kg raw tapioca yields ~2.6 kg cooked at correct hydration. Your POS should deduct the raw weight when a drink is sold; the bar weighs cooked but the inventory tracks raw.

Q: How often should recipes be re-costed? A: Monthly. Dairy and sugar move ±5% in a quarter; specialty toppings move ±10%. A POS that auto-recosts on supplier price upload removes this as a chore.

Q: What is the right cup-vs-drink reconciliation tolerance? A: 0.5%. Above that, either spill is excessive (training issue), cups walk off (theft), or POS deduction is mis-keyed (recipe issue). Investigate inside 24 hours.

Q: How many SKUs should the menu have? A: 12–18 active SKUs covers 92% of typical milk-tea ticket variety. Beyond 24, prep loss and inventory holding dominate the gross-margin gain.

Q: Do I really need to track sealing film? A: Yes. It is the single highest-shrinkage line in milk-tea and the easiest to under-track. Roll length per case, divided by film width per cup, gives expected cups; reconcile weekly.


Why this matters in 2026

Multi-outlet F&B operators across Vietnam and Southeast Asia are running into the same wall in 2026: aggregator commissions compress margins, food-cost drift compounds across outlets, labour cost climbs faster than ticket size, and a traditional POS only surfaces the damage at month-end when the only response left is firefighting. Operators who win in 2026 close the loop in hours, not weeks, variance flags before the next shift, demand forecasts before purchasing, daypart promos drafted automatically for slow slots, and a single morning brief instead of five dashboards. That is the bar this guide is written against, and the reason LOOP exists. The cost of a missed signal is no longer a single bad week, it is the difference between a chain that compounds outlet-level profitability and a chain that opens new outlets to mask the leaks at the old ones.

Operator playbook, first 30 days on LOOP

Week 1: Foundations. Import menu, recipes, modifiers, customers, loyalty balances and 24 months of sales via CSV. Connect aggregators (GrabFood, ShopeeFood, Be). Configure e-invoice provider (MISA / Viettel / VNPT). Confirm payment rails (VietQR for VN; DuitNow, PayNow and QR Ph are on roadmap). Train two staff per outlet on voice and text commands; the rest pick it up by observation in days 4–7.

Week 2: Variance and forecast online. Switch demand forecasting on at daypart level. Set variance alert thresholds (default: food-cost ±3pp, labour ±2pp, void rate ±0.5pp). Let the system run a full week without intervention so the baseline calibrates. Review the morning brief each day; ignore the urge to override, by day 10 the forecast typically holds steady.

Week 3: Promo and loyalty loop. Turn on daypart promo drafting for the two slowest hours per outlet. Connect Zalo OA / LINE / WhatsApp for delivery; start with a single segment (e.g. lapsed-30-day) and a single offer. Measure incremental visits, not coupon redemptions.

Week 4: Compound. Roll the same flow to a second outlet, then a third. The operating model is the same at outlet 2 as outlet 20, that is the point of LOOP.

KPI table, what to watch

KPITarget band 2026LOOP signal
Food cost %30–34% (QSR), 27–32% (café)Variance alert within 6 hours of shift close
Labour cost %22–28%Daypart staffing recommendation in morning brief
Repeat-visit rate (90d)38–46% (café), 28–36% (QSR)Loyalty segment drafted weekly
Aggregator share of revenue18–32%One queue across 5 aggregators; per-aggregator margin in dashboard
AI forecast MAPE per outlet14–22%Recalibrates weekly per outlet
Ticket time (peak)6.8–9.2 minKDS routing recommendation when over band
Void rate<0.8%Pattern-detection on staff/outlet/daypart

Common pitfalls SEA operators hit in 2026

Treating aggregator orders as a separate business. Operators who keep five aggregator tablets running in parallel lose roughly 4–7 minutes per peak hour to context-switching alone, and miss the per-aggregator margin picture entirely. Unifying the queue (one tablet, one KDS, one accounting line per aggregator) is usually the single highest-leverage move in the first 60 days.

Letting variance live in spreadsheets. A weekly food-cost review is a 7-day reaction time on a 24-hour problem. Variance has to live in the operating layer, flagged, attributed and routed to the responsible manager within hours, not aggregated to a Friday email.

Loyalty as a punch card. A 2026 loyalty programme is a messaging channel with attribution. If the only metric is "points issued", the programme is a cost centre. If the metric is "incremental repeat visits per segment per month", it compounds.

Forecasting at the wrong resolution. Chain-level forecasts are wallpaper. Daypart-and-outlet is the smallest unit that pays back, coarser is too vague to act on, finer is noise.

How LOOP solves this

LOOP is an AI-native restaurant operating system built for SEA F&B chains. Operators run their venues by voice or text command instead of clicking through dashboards. AI forecasts demand per outlet at daypart resolution (modelled accuracy published in our methodology), flags food-cost and labour variance within hours of the shift closing, drafts promos for slow daypart slots and pushes them to Zalo OA / LINE / WhatsApp, and delivers a three-item morning brief at 06:30 local time so the operator's first action of the day is informed. LOOP unifies GrabFood, ShopeeFood, Be into one queue, supports VietQR in Vietnam; DuitNow, PayNow and QR Ph are on roadmap, and ships VAT e-invoice (TT78) via MISA, Viettel and VNPT. Pairs with PEKO loyalty. PEKO customers get 50% off LOOP POS paid plans.

Under the hood, LOOP is offline-first with a 90-second resync window so orders, payments and KDS keep firing through ISP drops; recipe-level COGS is computed at order time so every plate's contribution margin is visible before the shift ends; and the morning brief is generated from the previous day's variance, the current day's forecast and the next 14 days of bookings, weather and local events, not a static template. The result is fewer dashboards, faster decisions, and a noticeably calmer week for the operator.

Related guides

FAQ

How fast can a SEA F&B chain switch to LOOP?

Typical cutover for 2–10 outlets is 5–10 business days: CSV import of menu, recipes, customers, loyalty and 24 months of sales, parallel run over a weekend, then cut over Monday open. Larger chains (20+ outlets) usually phase by region over 4–6 weeks.

Does LOOP work without stable internet?

Yes. LOOP runs offline-first with a 90-second resync window. Orders, payments and KDS keep firing during ISP drops; the cloud reconciles automatically on reconnect. Aggregator orders queue locally and dispatch when the link returns.

What does LOOP cost?

Per-outlet monthly pricing with no per-device upcharge. PEKO customers get 50% off LOOP POS paid plans. See pricing for current plans.

Does LOOP support VAT e-invoice (TT78)?

Yes. LOOP integrates with MISA, Viettel and VNPT as e-invoice providers. Issuance is automatic at order close and reconciles end-of-day.

Which payment rails does LOOP support?

LOOP POS supports VietQR, MoMo and ZaloPay in Vietnam. PayNow, NETS QR, SGQR, DuitNow QR, Touch 'n Go, QR Ph, GCash and Maya integrations are on roadmap; outlets can record payments from their existing terminals.

<!-- enriched:v1 -->

Related articles

LOOP[LOOP]PEKO

Two products, one company: LOOP runs the venue, PEKO brings the customer back.

Hungry Bear Internet Pte. Ltd. (Singapore) · CÔNG TY TNHH LOOP TECHNOLOGIES (Vietnam)

PEKO customers get 50% off LOOP POS paid plans. Explore PEKO →

© 2026 Hungry Bear Internet Pte. Ltd. · LOOP and PEKO are products of the same company