2 Slots Left

Your vision, our expertise. Let's collaborate!

Software Development

Case Study: A Custom POS and Backoffice for a Food Brand Selling on Delivery Apps

5 min read

Case Study: A Custom POS and Backoffice for a Food Brand Selling on Delivery Apps

The Business and the Problem

Fitora is a healthy food brand owned by our founder. It sells salads, chia pudding, brown rice bowls, and cold-pressed juice from its own outlet and through three food delivery apps: GoFood, GrabFood, and ShopeeFood. Orders and payouts were spread across four places, and matching each platform's settlement report to the orders behind it was slow, manual work.

We built a custom POS and backoffice to bring those channels into one system. Reconciling delivery-platform settlements now takes under a minute. This article explains how the system is designed and what other food and beverage businesses can take from it.

Where Standard Tools Fell Short

A counter POS handles the outlet well. The difficulty in a multi-channel food business sits between systems:

  • The same product has different prices on each delivery app and at the outlet.
  • Each platform deducts its own fees and promotions before paying out, so revenue per order differs by channel.
  • Payouts arrive in batches, not per order, and each platform exports its reports in its own format.
  • Cost of goods depends on recipes, and ingredient prices change with every purchase.

Answering a simple question such as "what did we actually earn on this bowl through GrabFood last week?" meant combining several exports with a spreadsheet. That is the gap the backoffice closes.

How the System Is Designed

ModuleWhat it does
POSTakes outlet orders, with prices set per sales channel
Sales importBrings in orders from GoFood, GrabFood, and ShopeeFood reports, including platform and promo fees
SettlementsImports platform payout files and matches them to the orders they cover
PurchasingRecords ingredient purchases from suppliers and updates ingredient cost
RecipesLinks each product to the ingredients and quantities it uses
ProductionRecords batches with expiry dates and adds them to stock
DashboardShows revenue, profit, cost of goods, margin per product, and low-stock alerts
Main modules of the Fitora backoffice

Recipes and Cost of Goods

Every purchase updates the ingredient's average cost, weighted by quantity. Each product has a recipe listing its ingredients, and the system can deduct those ingredients either when a batch is produced or when an item is sold. Because every sale knows its recipe and current ingredient costs, cost of goods is calculated per sale instead of estimated at month-end.

Production Batches and Expiry

Fresh food expires. Production is recorded in batches, and the system calculates an expiry date for products that have a shelf life. Sales consume stock from the oldest batch first, so the stock figure and the cost of goods both follow what actually leaves the kitchen.

Bundles and Options

Some menu items are made of other products, such as a bowl with a choice of dressing. These composite products take their available stock from their components, using the component that runs out first. Selling one reduces the stock of each part.

Reconciling Delivery Platform Payouts

This was the most time-consuming task before the system existed, and the one with the clearest payoff.

  1. Orders from each delivery app are imported from the platform's own report, with its order number, platform fee, and promotion cost.
  2. When a payout arrives, the team uploads the platform's settlement export.
  3. The system matches the payout to the orders it covers and records it against the right business account.
  4. Any difference between expected and received amounts is visible immediately, instead of being discovered weeks later.

The result, as recorded in our showcase: reconciling delivery-platform settlements now takes under a minute.

Lessons for Other F&B Businesses

  • Model channels explicitly. Price, fees, and payouts per channel should be data, not notes in a spreadsheet.
  • Get recipes right before dashboards. Margin per product is only as accurate as the recipe and the ingredient cost behind it.
  • Import, don't retype. Platform exports are messy, but importing them is far more reliable than manual entry.
  • Track batches for fresh products. Expiry and first-in, first-out consumption keep stock and cost honest.
  • Start with the most painful workflow. For Fitora that was settlements. For your business it might be stock or purchasing.

For the fundamentals, see our articles on POS systems, table management for restaurants, and inventory and purchasing.

What Is Still on the Roadmap

No system is finished. Two areas are not built yet: tracking consignment stock placed with resellers, and managing collaborations with food influencers. Both are handled outside the system for now. We mention them because a realistic case study should show where the edges are, and because building in phases is how custom systems stay affordable.

Conclusion

Fitora's backoffice shows where custom software earns its place: not in replacing a cash register, but in connecting the outlet, three delivery apps, recipes, and payouts into one reliable set of numbers. If your business sells through several channels and still reconciles them by hand, that gap is usually the right place to start. Read more about the benefits of custom software to see whether it fits your situation.

Read next: custom ERP vs Odoo and AI in ERP for small businesses.

Frequently Asked Questions

What does an F&B backoffice system do?

An F&B backoffice system connects sales, purchasing, recipes, production, and finance. In the Fitora system it sets prices per sales channel, imports orders and payouts from delivery apps, tracks ingredient cost and recipes, records production batches with expiry dates, and shows profit and margin per product.

How do you reconcile GoFood, GrabFood, and ShopeeFood payouts?

Import each platform's order report with its fees and promotions, then import the settlement file when the payout arrives and match it to the orders it covers. In Fitora's custom backoffice this process takes under a minute, and any difference between expected and received amounts is visible immediately.

How is cost of goods calculated in a restaurant system?

Each product has a recipe listing its ingredients and quantities, and each purchase updates the ingredient's weighted average cost. When a product is sold, the system multiplies the recipe by current ingredient costs to calculate cost of goods for that sale.

Why build a custom backoffice instead of using a standard POS?

A standard POS handles counter sales well, but multi-channel food businesses struggle with channel-specific prices, platform fees, batched payouts, and recipe-based costing across systems. A custom backoffice connects those pieces so true profit per order and per product is visible without spreadsheets.

At Erkabased, we build custom ERP and backoffice systems for businesses like Fitora: POS, sales imports from marketplaces and delivery apps, purchasing, recipes, production, and profit dashboards in one place. A first release typically takes 4-12 weeks, and you receive the source code and server access. See the screenshots on our showcase page, read about our services, or contact us to talk about your own channels.

Build & Rebuild Website Book

Free Website Success Guide

Get expert strategies to plan, launch, and grow your website. Download the guide and start building smarter today.

Related Articles