How to Calculate Shop Profit: Formulas and Complete Worked Examples
How to calculate shop profit the right way: sales vs profit, gross and net profit formulas, and worked examples per day and per month for a small warung.
Calculating a warung's (small neighborhood shop's) profit takes two steps. First, subtract the cost of the goods sold from your sales (total revenue). The result is gross profit. Second, subtract operating expenses such as electricity, rent, plastic bags, and the shopkeeper's wages from gross profit. The result is net profit, your real profit.
A drawer full of cash doesn't necessarily mean the shop is making money. Below are the formulas, worked examples for one day and one month, the mistakes that make profit look bigger than it really is, and how to record it all on an iPhone or iPad.
Sales are not profit: get the terms straight first
Many warung owners see plenty of customers but never seem to have enough money to restock. Usually that's because sales are mistaken for profit. These five terms need to be kept apart:
- Sales (revenue) are the total value of everything sold in a period, before anything is subtracted. If you sold Rp 1.400.000 worth of goods today, that's today's sales.
- Cost price, or COGS (cost of goods sold), is the purchase price of goods that have already been sold. Goods still on the shelf don't count yet.
- Gross profit is sales minus the cost of goods sold. It's the difference between selling price and purchase price.
- Operating expenses are the costs of running the warung: rent, electricity, water, the shopkeeper's wages, plastic bags, phone credit, transport for restocking, and damaged or expired goods.
- Net profit is gross profit minus operating expenses. This is the shop's real profit.
The shop profit formula
The profit formula is just two lines. Save it in your phone's notes or stick it up near the counter.
Gross profit = Sales − Cost of goods sold
Net profit = Gross profit − Operating expenses
To compare month to month, also work out the percentage: net margin = net profit ÷ sales × 100%. Margin helps you see whether the warung is getting more efficient, even when sales go up and down.
A thin gross profit usually comes from selling prices that are too close to cost. How to calculate them with markup and margin is in the guide on how to set a selling price from cost.
Example: calculating warung profit per day and per month
The examples below use a small sembako (everyday staples) warung that opens every day, with one shopkeeper. The numbers are made up but close to what a typical warung looks like.
One-day example
| Item | Amount |
|---|---|
| Sales (total sold today) | Rp 1.400.000 |
| Cost of goods sold | Rp 1.169.000 |
| Gross profit | Rp 231.000 |
| Operating expenses (daily average) | Rp 115.000 |
| Net profit | Rp 116.000 |
The operating expenses of Rp 115.000 are the monthly costs of Rp 3.450.000 divided by 30 days. Rent and electricity are paid once a month, but they still have to be spread across every selling day.
So how much profit does a grocery store make per day? There's no fixed number. In this example, sales of Rp 1.400.000 produce a net profit of Rp 116.000, about 8.3% of sales. Your warung may be higher or lower, depending on what you sell, your prices, and your costs.
One-month example
| Item | Amount |
|---|---|
| Sales (30 days) | Rp 42.000.000 |
| Cost of goods sold | Rp 35.070.000 |
| Gross profit | Rp 6.930.000 |
| Rent | Rp 900.000 |
| Electricity | Rp 450.000 |
| Shopkeeper's wages | Rp 1.500.000 |
| Plastic bags and supplies | Rp 240.000 |
| Water and phone credit | Rp 150.000 |
| Damaged and expired goods | Rp 210.000 |
| Total operating expenses | Rp 3.450.000 |
| Net profit | Rp 3.480.000 |
From sales of Rp 42.000.000, gross profit is Rp 6.930.000, or 16.5%. After all expenses, the real profit is Rp 3.480.000, or about 8.3%. In other words, for every Rp 100.000 in sales, net profit is about Rp 8.300.
The table above is already a profit and loss statement. For a neater format and how to read it, see the simple profit and loss statement example for shops.
Keep personal money and shop money separate
Money taken from the drawer for groceries at home, school fees, or a motorbike loan payment is not a shop expense. It's a personal withdrawal. If the two are mixed, your profit figures go wrong in two directions.
If it's recorded as an expense, the warung looks less profitable. Say you take Rp 1.500.000 a month for the household and record it as an expense. Net profit in the example above would look like Rp 1.980.000, when it's really Rp 3.480.000.
If it isn't recorded at all, cash disappears from the drawer without explanation. You might think the warung is losing money or suspect the shopkeeper, when you actually spent it yourself.
Tip: Set a fixed household allowance, for example weekly, and take it from net profit, not from your restocking money. Shop goods you use yourself, such as instant noodles or soap, should also be recorded at cost.
Common mistakes when calculating shop profit
Forgetting small costs
Electricity for the fridge, plastic bags, cooking gas, and motorbike taxi fares for restocking feel small day to day. Added up over a month, they can reach hundreds of thousands of rupiah and cut straight into net profit.
Not recording goods you use yourself
One sachet of coffee a day seems trivial. But your stock stops matching, and you can't tell whether goods were lost, damaged, or used at home. There's more on this in the article on causes of stock discrepancies.
Using an old cost price
The supplier price has gone up, but your cost records still use the old price. Example: an item used to cost Rp 10.000, now it costs Rp 11.000, and the selling price is still Rp 12.000. The real profit per item is Rp 1.000, not Rp 2.000. Your calculation is off by a factor of two.
Counting all restocking purchases as expenses
A month's stock purchases are not an expense. Only the cost of goods that have already been sold counts. Goods left on the shelf are still an asset and only become a cost when they're sold.
Treating the cash drawer as profit
The drawer mixes the opening float for change, debt installments from customers, and sales. On the other hand, credit sales never reach the drawer at all. Customer debt is best tracked separately, as explained in the guide on how to track customer debt. Money from QRIS (Indonesia's standard QR payment) or bank transfers isn't in the drawer either, so you need tidy records of QRIS payments.
How to calculate shop profit in KasirPOS (iPhone/iPad)
Working it out by hand in a notebook is possible, but it takes time every night. KasirPOS, a free iPhone POS app that also runs on iPad, calculates profit from every sale you record. The catch is that cost prices and expenses have to be entered correctly.
- Enter the cost price of every product. In the Products tab, enter the cost price for each product along with its selling price. If you have many products, use Bulk Import from Excel via Products › Add › Bulk Import. A short guide is on the products help page.
- Record every restock. Go to More › Stock, Purchases & Stock Count › Purchases / Stock In. Stock goes up and the average cost price is recalculated automatically, so your costs don't fall behind when supplier prices rise.
- Record operating expenses. Electricity, rent, wages, plastic bags, and other costs are recorded in More › Expenses & Income. Don't record money taken for the household as a shop expense.
- Open the Reports tab. Choose a daily, weekly, or monthly period. You'll see sales, the number of transactions, net profit, money received, new customer debt, expenses, and a chart of sales & profit per day.
- Tap View profit & loss report. This shows the full breakdown: sales, gross profit, operating expenses, net profit, and margin, including margin per product.

In the example above, 7-day sales are Rp 6.689.500, but net profit is Rp 1.045.200. That big gap is what's easy to forget if you only look at sales.
All data is stored on your iPhone or iPad and the app keeps working without internet. If you have a shopkeeper, you can turn off the "View cost & profit" permission for cashiers in More › Users, Cashiers & PIN, so only you can see the profit.
Next steps
Start with what matters most. This week, check the cost price of your 10 best-selling items and update them from your latest supplier invoices. Record every expense, however small. Then calculate net profit once a week and compare the margin with the week before.
Frequently asked questions
What's the difference between sales and a shop's profit?
Sales are total revenue before anything is subtracted. Profit, or net profit, is sales minus the cost of goods sold, minus operating expenses such as rent, electricity, wages, and plastic bags. A warung with Rp 42.000.000 in monthly sales might make only about Rp 3.480.000 in profit, depending on its prices and costs.
How much profit does a small grocery store make per day?
There's no fixed number because it depends on what you sell, your prices, and your costs. To find out: work out daily sales, subtract the cost of goods sold, then subtract monthly expenses divided by 30. In this article's example, daily sales of Rp 1.400.000 produce a net profit of Rp 116.000, about 8.3% of sales.
Does money taken for household needs count as a shop expense?
No. Money for groceries, school fees, or personal loan payments is a personal withdrawal, not a shop expense. If it's recorded as an expense, the shop's profit looks smaller than it really is. It's better to set a fixed household allowance and take it from net profit, not from your restocking money.
How do I calculate shop profit on an iPhone?
You can use a POS app like KasirPOS, which is free for iPhone and iPad. Enter the cost price of each product, record expenses in the Expenses & Income menu, then open the Reports tab. Sales, net profit, expenses, and the profit and loss report are calculated automatically from your sales, with no internet needed.
Do restocking purchases count as an expense right away?
No. Stock purchases only become a cost when the goods are sold, as the cost of goods sold. Goods still on the shelf count as stock. If all restocking is treated as an expense, the shop can look like it's losing money in months when you stock up a lot, when it's actually profitable.