A practical buying guide for your multi-tenant ordering CRM: what you already use, what to add, and how the monthly bill changes from a lean setup to a stronger operation.
Hotels · Restaurants · Cafes · KitchensPricing checked: 25 Oct 2026Target: 1,000 outlets by 31 Dec 2026
Project facts come from 2UP_PROJECT_HANDOFF_2026-10-21.md. They describe the last reported state, not a fresh code or billing audit. Actual paid plans, invoices and current usage were not supplied.
My recommendation
Keep your stack. Control your usage costs.
Continue with Next.js, Vercel and MongoDB Atlas. Plan domestic phone verification, R2 media, managed order updates, reliable background jobs and monitoring. Buy upgrades as measured demand grows.
₹1,74,750 / monthRecommended service allowance at the default workload, before tax and contingency. Domestic OTP assumed; a login integration change is required.See the full breakdown ↓
Read the numbers correctly. These are planning allowances at 1,000 active outlets, not your current bill or guaranteed vendor quotes. The default is 30 orders per outlet per day. Restaurant payment-processing fees, WhatsApp campaigns, staff, maintenance and one-time work are shown separately. “Best” means the strongest of these three options; enterprise contracts can cost more.
Option 01 / minimum
Lean operation
₹1,10,020
per month · services before tax
Per active outlet
₹110
Annualized services
₹13,20,240
Cash provision¹
₹1,55,788
Lowest modeled spend. M20 database candidate, smaller log retention and less headroom. Conditional on load tests; move to M30 if critical-path performance needs it.
RECOMMENDED FOR THE TARGET
Balanced growth
₹1,74,750
per month · services before tax
Per active outlet
₹175
Annualized services
₹20,97,000
Cash provision¹
₹2,47,446
M30 database candidate, larger application budget, paid alerting and room for retries. The sensible starting budget for 1,000 active outlets after production validation.
Option 03 / best of three
More resilience
₹3,66,650
per month · services before tax
Per active outlet
₹367
Annualized services
₹43,99,800
Cash provision¹
₹5,19,176
M40 database candidate, Ably Pro, production add-ons for cache/jobs, more recovery and observability budget. No automatic end-to-end SLA or full regional failover.
¹ Default cash provision = services × 1.18 tax provision × 1.20 contingency. The 18% field is an editable cash-planning assumption, not a statement that every invoice has the same tax treatment. Annualized = 12 months at steady state; it is not a forecast of the remaining 2026 spend. Per-outlet numbers are averages, not an outlet-specific vendor price.
02 / What exists today
Your current stack, with evidence labels.
Use the existing implementation as the starting point. A service being in the code does not prove its production payment plan or that every flow works end to end.
Layer
Reported service
Evidence & next decision
Editor & source
Kiro · GitHub Reported in handoff
Keep building the CRM in Kiro. GitHub hosts the source; paid seat counts and the latest branch/PR state need confirmation.
Application & deployment
Next.js / React · Vercel Staging demonstrated
Production and Preview environment scopes exist. Staging merchant signup/admin/storefront were shown; production readiness is not verified.
Database
MongoDB Atlas Reported in handoff
Atlas is the implemented database. Preview has a restricted database user and 34 critical indexes. Current tier, storage and bills are unknown.
Customer phone sign-in
Firebase Authentication Checkout blocked in handoff
Customer SMS OTP had an unresolved failure. Spark appeared in an older screenshot; the current billing plan is unconfirmed.
Merchant email verification
Resend · notify.2up.in Delivery demonstrated
Sending domain was verified and onboarding email arrived. Owner email verification and customer phone verification are separate flows.
Online payments
Razorpay Integrated; live proof missing
Per-merchant configuration and feature flags exist. Signed webhooks, retries, refunds and settlement reconciliation still need end-to-end proof.
Images & storage
Object storage; R2 discussed Provider not confirmed
Product-photo upload failed in the handoff. Inspect the configured adapter before choosing R2 or purchasing anything.
DNS & merchant domains
Hostinger DNS · Vercel domains One merchant host demonstrated
Sample staging subdomain worked. General wildcard onboarding had configuration issues and must be proven before bulk signups.
New operating services
Realtime · cache · jobs · monitoring Not established by handoff
Ably, Redis, QStash and observability tools below are recommendations. Do not assume they are already installed or being billed.
03 / Editable planning model
Change the workload. See the bill move.
All three options use the same workload. The calculator changes usage-dependent lines and keeps the reserved infrastructure allowances visible. No data leaves this file.
More assumptions: retries, email, media, active users and order traffic
9,00,000platform orders / month
1,98,000SMS attempts, including retries
46,000transactional emails / month
9.00 TBestimated visitor transfer / month
Domestic verification model · ₹90/USD · figures before tax unless labelled otherwise.
Capacity needs a new review. The workload exceeds the default planning envelope. Usage floors have been updated, but application/database budgets are still reservations. Re-size them after load tests before using these totals as a purchase plan.
04 / Every recurring service
The monthly bill, line by line.
Amounts below are INR monthly planning allocations. USD services use your selected exchange rate. A listed plan minimum and a realistic operating allowance are different things.
Swipe the table sideways to compare all three options.
Service
Minimum
Recommended
More resilience
What the allowance buys
Application hostingVercel Pro
₹9,000
₹22,500
₹54,000
Allowance: platform fee, deploying seats, compute, CDN and usage. Reconcile with actual meters.
Production databaseMongoDB Atlas
₹18,000
₹45,000
₹90,000
Allowances for M20 / M30 / M40 candidates plus region, storage and network headroom. Backup is below.
Isolated stagingAtlas test cluster + previews
₹1,350
₹2,700
₹7,200
Separate project/cluster preferred. No production credentials or data in previews.
Database recoveryAtlas backups + recovery storage
₹1,800
₹4,500
₹13,500
Allowance for snapshot/oplog retention and independent recovery copies. Restore labour is excluded.
Menu images & filesCloudflare R2 Standard
₹1,620
₹1,620
₹3,150
Allowance for 250 GB media and API operations; upload-time image variants. CDN egress is not charged by R2.
Transactional emailResend
₹1,800
₹3,150
₹8,100
Pro 50k / Pro 100k / Scale 100k. More emails add overages. Higher plan supports more sender domains.
Live order & kitchen updatesAbly
₹13,500
₹18,000
₹49,500
Standard / Standard with headroom / Pro. Model includes publish + delivery fan-out and connection time.
Cache & abuse controlsUpstash Redis
₹2,700
₹4,500
₹22,500
Usage allowance; higher tier includes $200 production add-on for one DB. Durable orders remain in MongoDB.
Jobs & webhook retriesUpstash QStash
₹2,700
₹4,500
₹22,500
Usage allowance; higher tier includes $200 production add-on. Application execution is in hosting allowance.
Errors, uptime & logsSentry + Better Stack
₹5,850
₹10,800
₹27,000
Combined allowance, not a single vendor plan. One / one / two Better Stack responder seats, plus sampled errors/logs.
Build & maintenance toolingKiro
₹1,800
₹3,600
₹9,000
One developer: Pro / Pro+ / Pro Max. Extra seats and excess credits cost more.
Source control & CIGitHub
₹0
₹1,080
₹1,800
Free / 3 Team seats / 5 Team seats at listed $4. CI overages and security add-ons need separate checks.
Human business emailMailbox provider
₹200
₹600
₹1,200
INR allowance for support/admin mailboxes. Resend is application sending, not your staff inbox.
Platform domainsRegistrar renewal
₹200
₹200
₹200
INR monthly equivalent of ₹2,400/year; allowance, not a quoted renewal for 2up.in.
Customer support softwareShared inbox / helpdesk
₹0
₹2,500
₹7,500
INR allowance: manual mailbox / small helpdesk / more agents. Support staff salaries are separate.
DNS, TLS & basic product analyticsExisting DNS + included tools
₹0
₹0
₹0
No extra service budget. Includes no new premium WAF, maps API, AI API or per-outlet hosting charge.
Cloud, tooling & support software
₹60,520
₹1,25,250
₹3,17,150
Includes development tools and domain annual equivalents; excludes people.
Customer phone verificationPlanned domestic route
₹49,500
₹49,500
₹49,500
Same SMS workload in every option. Firebase selection includes modeled MAU charges.
Service subtotal / month
₹1,10,020
₹1,74,750
₹3,66,650
Before tax and reserve. No restaurant gateway or campaign spend.
Tax provisionEditable, default 18%
₹19,804
₹31,455
₹65,997
Cash allowance; confirm treatment against actual supplier invoices.
ContingencyEditable, default 20% after tax
₹25,965
₹41,241
₹86,529
Held for overages, exchange-rate movement and incidents.
Monthly service cash provision
₹1,55,788
₹2,47,446
₹5,19,176
Add entered maintenance/people and optional business costs in section 11.
All three are candidate configurations. MongoDB describes M10/M20 as suitable for smaller or non-critical workloads and M30+ for performance-critical traffic. That is why the balanced option starts with an M30 candidate. Cloud/region selections can change prices materially.[2][29]
Free: 3,000/month, 100/day. Pro: $20/50k or $35/100k. Scale: $90/100k. These modeled tiers add $0.90 per 1,000 over-quota emails.
4% email receipts plus 10,000 operations emails at 1,000 outlets. Pro has 10 domains; Scale has 1,000. Shared platform sending is cheaper than unique merchant senders.
$0.015/GB-month, $4.50/M Class A and $0.36/M Class B operations; free 10 GB, 1M A and 10M B. Internet egress is free.
250 GB + 50M origin reads + 0.1M writes ≈ $18 before other products. Operations round to full billing units. Pre-generate image sizes rather than assume free dynamic transformations.
Sentry advertises Team from $26/month and Business from $80 on annual billing. Better Stack responder: $34 monthly or $29 annual equivalent; usage/add-ons extra.
Combined $65 / $120 / $300 allowances. Monitor representative tenant flows, not one paid monitor for every outlet. Confirm error volume and retention.
Use Zoho Mail or an equivalent business inbox provider; helpdesk seat/plan quotes depend on agents and billing term.
INR row amounts are allowances. Obtain the actual India checkout quote before buying. Human support staff are not included.
The R2 row automatically rises from its $10 minimum allocation to $18 with the default usage assumptions. This is included in every total above. Published headline rates do not replace actual regional invoices.
05 / From first visit to completed order
One operating system. Clear responsibilities.
01 / ARRIVEMerchant domain → storefront
DNS + Vercel serve the tenant’s Next.js storefront. R2 serves compressed menu images.
Cache public menu data with tenant-specific keys. Keep customer/admin responses private.
Reuse valid sessions, limit resends and preserve the cart during failures.
03 / COMMITPayment → server-verified order
Razorpay handles payment when enabled. The server verifies signatures and writes the authoritative order into MongoDB.
Use idempotency so repeated callbacks cannot create duplicate orders or charges.
04 / PREPAREOrder → merchant → kitchen
Ably notifies the tenant’s authenticated staff and KDS. The database remains the source of truth.
Reconnect and re-fetch after network failure; monitor order-acceptance lag.
05 / COMPLETEReady → pickup / delivery / room
Background jobs retry notifications, reconcile payments and produce receipts/reports.
Optional WhatsApp messages use an explicit tenant allowance or prepaid wallet.
06 / OPERATEBilling → support → recovery
Collect SaaS fees separately from restaurant food payments. Monitor failures and test database recovery.
Every record, staff role, cache key, media path and realtime channel needs tenant scoping.
Avoid adding a second main database just to gain realtime features. MongoDB is already implemented. Additional services are tools around it, not a recommendation to rewrite the CRM or switch editor.
06 / The most important cost decision
Resolve phone verification before scaling.
At the default workload, 20% of orders trigger a fresh OTP and 10% extra attempts are allowed: 9,00,000 × 20% × 1.10 = 1,98,000 attempts/month.
Planned domestic route
MSG91 or another qualified India provider
₹49,500
monthly phone-verification allowance before tax
MSG91’s public OTP packs range from ₹0.25 down to ₹0.18, with several bulk packs at ₹0.19. The model uses ₹0.25 as a conservative pre-tax assumption; confirm extra carrier/DLT charges and prepaid commitments.[5]
Existing code path, modeled at target
Firebase + Identity Platform
₹12,78,540
SMS plus assumed active-user billing, before tax
India SMS is $0.07 per sent message; the first 10/day are unbilled. At this scale, the standard 3,000-SMS/day cap is insufficient. Identity Platform has separate active-user tiers; the model assumes 1.2 lakh MAU.[3][4][28]
Calculation
Current assumptions
Interpretation
Domestic attempts
1,98,000 × ₹0.25 = ₹49,500
One-message OTP; Unicode or long templates can change segments billed.
Firebase SMS
1,97,700 billable × $0.07 × ₹90 = ₹12,45,510
Assumes even traffic and the full daily allowance used on each of 30 days.
Identity Platform MAU
1,20,000 active users ≈ $367 = ₹33,030
Separate from SMS; confirm your enabled product and actual MAU.
Monthly difference
₹12,29,040
Usage-only difference; migration engineering and ongoing auth ownership are additional.
The ₹1.75 lakh recommendation assumes a changed phone-login integration. A domestic SMS API cannot simply be selected inside Firebase’s existing SMS flow. Kiro must implement provider verification on the server, secure session/token issuance, short-lived one-time codes, attempt limits, expiry, abuse protection and tenant-safe identities. If Firebase custom tokens are retained on an Identity Platform project, assess its MAU fees too; the domestic model assumes independently managed sessions.
First diagnose the existing staging failure; do not confuse a pricing decision with a proven bug fix. Blaze is required for real Firebase verification SMS. Billing alerts are not a hard spend cap. Do not disable verification or weaken session security to save money. Provider delivery, account ownership and a low-volume fallback must be tested.
Other verification routes worth evaluating
2Factor: the public domestic priority-OTP table advertises ₹0.17 below 100k/month, ₹0.14 between 100k–1M and ₹0.12 above 1M; its Growth page also lists ₹4,999/month including messaging credits. Treat this as a quote candidate and confirm wallet, route, carrier costs and delivery guarantees. Do not assume the headline applies to your account.[26]
WhatsApp authentication: quote separately with an SMS fallback; the user needs WhatsApp and the authentication flow needs approved templates and verification. Email/passkeys: useful for merchant staff and returning users where appropriate, but they do not independently prove a newly entered phone number.
07 / Vercel, VPS and alternatives
A cheap server is only one line of the bill.
My default is to keep Vercel while you finish production readiness. Moving a working Next.js stack also changes deployments, patching, scaling, observability and recovery ownership.
Route
Pricing anchor / allowance
When it makes sense
Vercel + Atlas Recommended
Application allowance: $100 / $250 / $600 per month; database and other services separate.
Fastest continuation of the current code/deployment setup. Watch uncached calls, CPU, image processing and origin/network charges.
Hostinger VPS + Atlas Cost-focused alternative
Use renewal rates below; keep the managed database and external services. A second app node, load balancer, monitoring and operations cost extra.
Consider after profiling demonstrates meaningful savings and a named engineer owns OS updates, deploys, failover and backups.
Cloudflare Workers / other managed compute Future quote candidate
Separate compatibility proof and provider estimate required. No invented “all-in ₹500” equivalent.
Evaluate if sustained Vercel usage costs justify engineering work. Validate Node/Next.js features, database connectivity and worker/job support first.
Hostinger India VPS comparison
Public offer captured 25 October 2026. The displayed monthly number can require a prepaid term; verify the initial checkout total, tax, renewal term, available region and any backup add-ons. The page states the shown renewal is for two years.[12]
Plan
vCPU / RAM / disk
Transfer
Intro / month
Renewal / month
My use case
KVM 1
1 / 4 GB / 50 GB
4 TB
₹599
₹999
Dev/staging or a tiny pilot; not a blanket 1,000-outlet promise.
KVM 2
2 / 8 GB / 100 GB
8 TB
₹779
₹1,199
Pilot app candidate with external DB and media.
KVM 4
4 / 16 GB / 200 GB
16 TB
₹1,099
₹2,399
App-node candidate after load tests.
KVM 8
8 / 32 GB / 400 GB
32 TB
₹2,199
₹4,399
More app headroom; one machine still has one-machine failure risk.
Illustrative VPS substitution: two KVM 4 nodes at renewal are ₹4,798/month before extras. Replacing the balanced Vercel allowance of ₹22,500 creates at most ₹17,702 of apparent monthly room at the default exchange rate—before load balancing, staging changes, backups, migration and extra engineering. It does not remove the ₹45,000 database allowance or phone-verification bill. Full regional failover is a separate architecture and quote.
Realtime, email and security alternatives
Realtime: Ably is the modeled choice. Pusher Pro is $99/month for 2,000 concurrent connections; Business is $299 for 5,000. The default assumption already uses 2,000 staff connections before customers, so Pro has little concurrency margin.[21] Vercel now supports WebSockets in public beta; evaluate its current limits and cross-instance state rather than relying on the old “Vercel cannot do sockets” rule.[22]
Email: Amazon SES à la carte is $0.10 per 1,000 outgoing emails plus data/add-ons. At 9 lakh email receipts it is about $90 in base sending; Resend Scale 1M is $650. SES needs its own approval, suppression, reputation and operational setup; keep Resend while onboarding volume is small.[17][6]
Security edge: Vercel already supplies CDN/TLS and firewall capabilities. Do not automatically buy a second proxy/WAF. If a VPS setup needs Cloudflare Pro, the public zone price is $25 monthly or $20/month billed annually; this add-on is outside the modeled stack.[24]
08 / Capacity without false promises
Count traffic and peak load, not just outlets.
Visits
45,00,000
menu visits / month at 5 visits per order
Visitor transfer
9.00 TB
at 2 MB per visit, decimal units
Average order writes
0.35 / sec
monthly average; peaks and polling are much higher
The default visitor-transfer estimate is 9,00,000 orders × 5 visits × 2 MB = 90,00,000 MB ≈ 9 TB/month. At 100 orders per outlet/day it becomes 30 TB using the same browsing assumptions. Admin dashboards, API payloads, backups, bots and video can add more.
Traffic treatment
Impact on the bill
Recommendation
Serve every byte from one app host
The estimated visitor volume can exceed a 4 TB or 8 TB VPS allowance. A 16 TB allowance may fit the default case but is not a speed guarantee.
Do not choose a server using bandwidth alone. CPU, database waits, request bursts and uptime matter too.
Serve images directly from R2/CDN
Most image bytes can bypass the app host. R2 egress is free, while storage/operations and any other processing service still cost money.
Use a production media domain, caching headers and compressed variants. Proxying images through another host can reintroduce its transfer/optimization bill.
Every staff screen polls every 5 seconds
2,000 screens × 12 hours × 30 days ÷ 5 seconds = 51.84 million API calls/month, before customer traffic.
Use scoped realtime events, reconcile on reconnect and keep occasional polling as fallback.
Order data accumulates
At 10 KB per order including related records, 9 lakh orders ≈ 9 GB/month or 108 GB/year before indexes, audit logs and replicas.
Measure real document sizes, define retention/archive rules and budget expanded storage. The DB allowance is not unlimited history.
Load-test acceptance targets before onboarding 1,000 outlets
These are suggested product targets, not verified capacity: test realistic menu browsing and authenticated order writes during a sustained busy period; model lunch/dinner bursts, 2,000 staff connections plus customer tracking, database pool pressure, payment callbacks and repeated notifications. Include a larger burst as an engineering stress test.
Track p95/p99 latency, order-creation error rate, kitchen update delay, queue age, cache hit rate and DB CPU/IOPS. A starting target is p95 order-write response below 1 second excluding external payment/OTP time, less than 0.1% unexpected server errors, and staff order visibility within 2 seconds. Verify zero duplicate paid orders under callback replay. Adjust requirements to observed merchant needs.
Use tenant-specific indexes/authorization, bounded connection pools and lightweight menu caches. Query plans and slow queries matter more than an unsupported “restaurants per VPS” figure. Run a real restore drill and document recovery time and possible data loss.
09 / Keep the money streams separate
Restaurant food payments are not your SaaS bill.
Keep merchant food receipts in the merchant’s approved payment account. Your company collects its SaaS subscription separately. Any marketplace/commission/split-settlement product needs its own provider agreement and quote.
Money stream
Monthly amount
Who normally pays it?
Total restaurant food GMV
₹31,50,00,000
Money for the outlets; it is not 2UP SaaS revenue.
Restaurant online-payment GMV
₹9,45,00,000
The chosen online percentage of total food GMV.
Food-payment processing fee
₹18,90,000
Merchant expense, unless you explicitly agree to subsidize it.
Food-payment fee + 18% GST
₹22,30,200
Outside all platform service totals in this report.
Illustrative monthly SaaS collections
₹9,99,000
Gross subscription example before SaaS output taxes, discounts, churn and refunds.
Your SaaS collection fee + 18% GST
₹23,576
Your company’s expense if all example subscriptions use this gateway; optional inclusion below.
Razorpay’s public standard pricing is generally 2% plus applicable GST, with ₹0 setup/maintenance; some payment methods differ (the page lists 2.15% + GST for credit-card UPI). Zero bank MDR on standard UPI does not automatically remove a gateway platform fee. New-customer promotions are not used in the steady-state budget.[11]
For a negotiated price, use the actual payment mix and merchant agreement. Refunds, disputes, instant settlement, subscription add-ons and Route/split settlements may add charges. Never treat a customer’s “payment successful” screen as proof: verify server-side and reconcile provider webhooks.
10 / Optional messaging & extras
Make WhatsApp a priced feature.
Quote automated messaging separately from unlimited CRM access. The volume across 1,000 merchants is what changes the economics.
Utility templates
₹1,35,000
per month, before tax and BSP fees
Merchant campaigns
₹90,000
per month, before tax and BSP fees
Optional combined cash
₹2,65,500
including 18% tax provision; BSP excluded
Rate-card limitation: Meta’s detailed pricing page was rate-limited during research, so this report does not certify current category/window discounts or exact Meta message rates. Use ₹0.15 and ₹0.90 only as editable planning assumptions, then replace them from the current account rate card. MSG91 lists a ₹500/month WhatsApp platform subscription after its introductory period, plus rate-card usage; confirm whether a SaaS reseller or per-merchant account requires different fees.[18][19]
A shared platform sender and 1,000 merchants each using their own WhatsApp account are different products. Embedded signup, business/number verification, template approval, per-merchant identity, messaging limits and BSP commercial terms must be agreed. Do not multiply a single-account ₹500 plan into a universal SaaS quote—or assume one account price includes every merchant.
Additional service
Minimum approach
Paid alternative / cost treatment
Maps & delivery
Structured address + map links; no paid maps API assumed. Pickup/table/room service initially.
Address validation, autocomplete, route optimization and delivery partners: quote by SKU / trip. Merchant-funded and outside core totals.
QR codes, PDF receipts & reports
Generate inside the application; ₹0 additional vendor licence.
Hosting, file storage and development still cost money. Printing and physical table cards are outlet/onboarding expenses.
Analytics
Basic internal reports and available free/included analytics.
Paid event analytics/session replay: add a capped allowance only when there is a clear product question. Never capture OTP/payment secrets.
AI menu import / assistant
Not needed for order correctness; ₹0 external AI budget in base case.
If added, start with an explicit small monthly cap and per-tenant usage limits; model/provider choice and quote remain open.
Customer domains
Merchant subdomains of your owned root: no new domain registration for each outlet.
Merchant-owned custom domain annual renewal is normally paid by the merchant. Cert/domain onboarding must be automated and tested.
Bot checks & secret handling
Provider firewall, rate limits, MFA and existing secret stores; no new paid security suite assumed.
Turnstile has a free plan but hostname/widget limits matter for 1,000 merchant origins. Use an architecture that fits those limits or obtain an enterprise quote.[25]
Premium support / guarantees
Named internal incident owner and documented response/recovery process.
24/7 outsourced engineers, contractual SLAs, audit certifications and regional failover are quote-based, outside the service subtotal.
Vercel Pro’s documented soft domain limit is 100,000/project, so 1,000 domains is not inherently a reason for Enterprise. Your existing staging wildcard issue still needs an actual fix and onboarding tests.[23]
11 / From software spend to cash required
The company budget needs a few more lines.
Your earlier project discussions mentioned roughly ₹1 lakh/month for maintenance and future work. This is a historical planning input, not a verified current invoice. It is separate from cloud vendors and may already include engineering staff.
These additional cash inputs are treated as tax-inclusive. The tech contingency does not automatically cover salaries, optional messaging or acquisition. Unentered costs remain zero, not “free”.
Monthly cash planning
Minimum
Recommended
More resilience
Service cash provision
₹1,55,788
₹2,47,446
₹5,19,176
Entered maintenance + other business costs₹1,00,000 maintenance; other fields ₹0
₹1,00,000
₹1,00,000
₹1,00,000
Entered monthly cash requirement
₹2,55,788
₹3,47,446
₹6,19,176
Three-month operating cashBefore one-time work, hardware and debt repayments
₹7,67,365
₹10,42,338
₹18,57,529
Not a complete company forecast: founder salary, recruitment, office, support shifts, sales commissions, discounts, professional services, output tax remittances and historical build-cost instalments need your actual inputs. Do not treat restaurant GMV as cash available to pay your company’s bills.
One-time work and prepaid cash
Item
Planning treatment
When to fund it
DLT registration & sender/template setup
Provider guidance lists operator registration ₹5,000 + GST; optional MSG91 assistance ₹1,500 + GST. Confirm current portal charges and the required entity model.[20]
Before domestic OTP launch. Merchant marketing identities may need additional onboarding.
OTP integration, production hardening & load testing
Reserve ₹50,000 / ₹1,50,000 / ₹3,00,000 for the three options as internal project allowances, not supplier quotes. Ask whether existing maintenance already covers this work.
Before the corresponding scale gate. Include auth, webhook replay, domain onboarding, image uploads, isolation and recovery tests.
Independent security assessment
Quote required. For planning, ring-fence ₹50,000–₹2,00,000 based on test scope and remediation; not a confirmed market price.
Before broad rollout of the paid platform; repeat after material changes as needed.
Domains, annual tools and prepaid SMS wallets
Annualized rows are not the invoice due today. A ₹20,000 prepaid wallet purchase is cash paid now and consumed later; do not add it again as a second monthly expense.
At checkout/top-up. Use expiry and minimum-commitment terms from the actual provider.
Tablet, kitchen printer, network and QR material
Merchant/onboarding quote per outlet. No hardware purchase assumed in the cloud subtotal. Contract clearly who supplies/replaces each device.
Onboarding and replacement cycles.
Company/legal/accounting work and past build instalments
Separate professional quotes and a repayment schedule. Previously invested development money is not a new recurring cloud bill.
Per agreed business schedule; outside this service model.
12 / Start to end
Buy in stages. Prove each stage.
The 1,000-outlet goal is a commercial target for 31 December 2026, not proof that the current staging system can safely carry it. These are readiness gates, not promised calendar delivery dates.
Resolve the present blockers
First: inspect the current Kiro workspace and deployed staging configuration. Diagnose customer phone OTP and product-image upload. Verify the actual Firebase plan and configured storage provider. Preserve existing changes.
Exit: a real/test customer can verify, place an order, and the merchant can upload and display a menu image. No unrelated production changes.
Make a small paid pilot reliable
Stay on Vercel Pro; choose a small paid Atlas production tier from measured demand. Keep preview isolated, start the necessary Resend tier and enable backups, alerting and reliable retries before relying on order notifications.
Exit: merchant signup → menu → cart → verified payment/order → kitchen → completion/refund all work. Replay callbacks, restore a backup and test cross-tenant access.
Standardize onboarding for 50–100 outlets
Automate tenant/subdomain creation, owner access, payment-account validation and media scoping. Decide and implement the domestic auth route if its measured economics justify it. Document operational ownership.
Exit: a support person can onboard an outlet with a repeatable checklist; usage and costs are visible per tenant.
Measure peak behaviour around 100–300 active outlets
Profile slow queries, database pools, caching, message fan-out, queue retries and lunch/dinner bursts. Compare modeled SMS attempts and CPU with the real bill. Upgrade from evidence.
Exit: acceptable latency and notification delay under realistic peak load; no duplicate paid orders; tested escalation and recovery.
Reserve the balanced budget for 1,000 active outlets
Use the recommended column as the first target allowance. Select the actual Atlas region/tier and storage retention, set spend alerts and safe app-level limits, and hold operating cash for incidents and onboarding.
Exit: a load/recovery test at the planned workload, evidence of tenant isolation, support coverage and clear contracts for messaging, payments and hardware.
Improve resilience only where the business needs it
Add stronger service support, independent recovery copies, more monitoring and tested failover when customer commitments justify it. Agree RPO (possible data loss) and RTO (time to restore) first.
Exit: documented proof that the chosen recovery architecture meets the promise; a higher spend alone is not proof of reliability.
Simple rules that keep the bill under control
Cache menus, compress images and use tenant-scoped invalidation. Keep paid receipts/notifications intentional. Preserve valid customer sessions instead of requesting an OTP on every visit. Use signed asynchronous jobs and deduplicate callbacks. Limit media uploads and log retention. Give merchants message quotas or a wallet. Keep promotional sending optional. Attribute costs to active outlets and publish a clear overage policy.
Set vendor spend notifications and application-level safeguards. Treat spend-triggered automatic shutdown carefully: stopping the app during dinner service has a real merchant cost. Google billing alerts alone do not stop usage. Review the actual bill weekly during growth and re-forecast after material volume changes.
13 / Five inputs will make this precise
What to confirm next.
You do not need all of this to use the guide. These inputs turn the estimate into a purchase-ready plan.
Current invoices and paid tiers: Vercel, Atlas region/tier/storage, Firebase, Resend, registrar, configured image storage and Kiro seats.
Real activity: expected orders per outlet/day, peak concurrent staff/customers, menu traffic, unique monthly customers, OTP sends/retries and media usage.
Commercial model: your SaaS price, whether outlets pay their own gateway fees, and whether messaging is included, metered or prepaid.
Delivery commitments: support hours, acceptable downtime/data loss, merchant hardware, delivery integrations and which countries launch first.
Existing maintenance scope: whether ₹1 lakh/month still applies and covers auth work, onboarding automation, testing, support and incident response.
Best next action: collect the current plan names and last-month totals from the vendor billing pages, without sharing credentials, OTPs or full card details. Keep engineering changes in Kiro and make provider purchases only after reviewing the required integration and quote.
14 / Research and calculation notes
Sources you can check before buying.
Primary provider pages were checked on 25 October 2026. Prices can change, vary by region and billing term, and exclude taxes unless specified. Checkout and signed contracts control actual charges. Links remain usable when this file is opened locally.
R2: max(0, ceil(GB − 10)) × $0.015 + ceil(max(0, A operations in M − 1)) × $4.50 + ceil(max(0, B operations in M − 10)) × $0.36. The row is the greater of the option allowance and this estimate. Assumes Standard class, account free allowances fully available, and no paid transformation service.
Realtime: 6 order events × (one publish + two deliveries); two staff connections per outlet for 12 hours/day; one tenant channel for 12 hours/day. $29/$399 package + messages × $2.50/M + connection/channel minutes × $1/M. Payload-size multipliers, history/presence and other traffic may add cost. Staff concurrency is modeled; customer tracking connections are extra.
Other usage floors: Redis 15 commands/order at $0.20/100k; QStash two billable messages/order at $1/100k. Higher options add $200 production packs. Resend uses its selected tier’s included emails and $0.90/1,000 overages. Usage floors can raise reserved rows. Billing free allowances assumed available; consolidate account usage before procurement.
Firebase: SMS free quantity is estimated as 10 × model days with evenly spread traffic. MAU tiers: first 50k free, next 50k $0.0055, next 900k $0.0046, next 9M $0.0032, remainder $0.0025. The Firebase comparison includes modeled Identity Platform MAU fees because default traffic exceeds base daily SMS capacity. Actual project quotas still require validation.
Cash: subtotal × (1 + tax provision) × (1 + contingency). Optional WhatsApp and gateway calculations use a separate 18% provision; additional business inputs are tax-inclusive. Annualization is 12 identical months and does not model growth, credit eligibility, discounts, refunds, failed-charge policy or acquisition churn. Figures are rounded only for display.