Inventory
Food cost

Restaurant Opening Stock Balance: Set It Right for Accurate COGS

Why your COGS report stays empty until you set an opening balance

An opening stock balance is the value of everything you hold at the moment you start tracking. Actual cost of goods sold (COGS) is calculated as opening stock plus purchases minus closing stock. Without a submitted opening count, that opening value is zero. The report has nothing to work from, so it shows only your purchases, or nothing at all.

This catches almost every new operator, and it is not a bug. Two submitted counts define a reporting period: an opening one and a closing one. Until the opening count exists and is submitted, the system has no starting point for the period. So your month-one cost results stay empty or reflect purchases alone, even after you have "done a count". Getting this one balance right is what makes the first month of numbers usable.

In practice this usually surfaces as a food cost dashboard that will not show a true cost of sales. It sits empty, or it reflects only what you have purchased. The instinct is to count again, but a second count does not help when the missing piece is the opening balance. The period has no opening figure to measure against, so recounting returns the same empty result. The fix is the opening count, not another closing one. Once a submitted opening balance exists for the period, the dashboard has both sides of the calculation and your cost of sales finally populates.

Stat callout showing cost of goods sold reads zero when no opening stock count has been submitted

Enter the opening count first, before your first purchase order

The opening count is a migration step, not just the first of your regular counts. It sets the starting position for the location. So it has to be the first activity there, before any purchase order or goods receipt is posted. Operators who treat it as an ordinary count end up with zero-value or misconfigured results. Run it after orders have already flowed and you lose the first month to rework.

So the sequence for a new site is simple: open the location, enter and submit the opening count, and only then raise the first purchase order. Regular counts follow on their normal schedule. If you are rolling out several sites, our restaurant inventory go-live checklist covers where this step sits in the wider launch.

Timeline of a new site setup: open location, enter opening count, submit it, then raise the first purchase order, then ongoing counts

Set the unit costs that anchor every future variance, then submit

The opening count has its own report view with an editable cost column, separate from a regular count. This is where you set the unit cost of each item you are holding. It is worth entering or checking these costs deliberately, because the opening valuation anchors every variance the system calculates afterwards. Many operators prefer their own team to key the opening costs rather than accept an automated default. That way the numbers are owned by the people doing the counting. This is part of Supy's restaurant inventory management software.

Once you submit the opening count, those costs flow into the inventory ledger and the COGS report. The step people miss is the submit itself. A count that is recorded but left in draft looks done, yet it silently blocks every cost and variance report for the period. If your report is still empty after counting, check this first.

Count stateWhat you seeWhat your reports show
Recorded but in draftLooks complete on screenCost and variance reports stay blocked
SubmittedCosts locked into the periodCosts flow to the ledger and COGS populates

What to do if you missed the window or lack full history

If orders and receipts have already posted, the count can no longer be marked as the initial one. Do not key hundreds of prices by hand to force it. Revert to a normal count and let your purchase-order receipts auto-populate item prices over the next few cycles, which corrects the valuation without the manual work. The theoretical-versus-actual gap this creates in the meantime is explained in our guide to theoretical versus actual food cost variance.

If you simply do not have complete historical figures, do not wait for perfect data. Enter a defensible best estimate for the opening balance now, submit it, and let your first full physical count correct it at the end of the period. A reasonable starting figure that you improve on beats an empty report you cannot use.

Recovery flow: activity already posted, revert to a normal count, let purchase-order receipts populate prices, then the first full count corrects the balance

A clean opening stock balance is the smallest onboarding step with the biggest payoff, because every cost and variance report you run afterwards depends on it. Before you trust your first COGS report, confirm three things. The opening count came first on the location. The unit costs on it are verified. And the count is submitted, not sitting in draft. Get those right and month one reads true.

Book a Demo with Supy - accurate COGS from your opening stock balance

Ready to optimize your restaurant operations?

Blog

Our operational insights

4-wall EBITDA by site: the group average hides the spread between a strong and a weak restaurant
Profit
Food cost

4-Wall EBITDA for Multi-Site Restaurants: Compare Every Site Fairly

Analytics
F&B
Food cost

Supy x Revel : The Partnership Helping Multi-Site Businesses Cut Costs

F&B
Inventory
Pricing
Food cost

How to Increase Profit Margins in Restaurants with Integrated Inventory Solutions

Your questions 
answered

Everything you need to know about Supy — from setup to integrations, pricing, and daily use. If it’s not covered here, just ask.

What is an opening stock balance in a restaurant?
+

An opening stock balance is the value of all the inventory you are holding at the moment you start tracking, whether that is a brand-new site or your first period on a new system. It is the starting point every later number builds on. Cost of goods sold is calculated as opening stock plus purchases minus closing stock, so without an opening figure the calculation has nothing to begin from. In an inventory platform it is set through an initial stock count with the unit costs attached, and once submitted it anchors the valuation for the whole first period.

Why is my COGS report empty after I did a stock count?
+

Why the report is empty is almost always one of two things, and neither is a bug. First, the period has no opening count, so the opening side of opening plus purchases minus closing is zero and the report shows only purchases. Second, and easy to miss, the count was recorded but left in draft rather than submitted, which silently blocks every cost and variance report for that period. Check the submit state before anything else. A count that looks complete on screen still does nothing for your reporting until it is submitted.

How do I set an opening stock balance in an inventory system?
+

How you set it is through an initial stock count that runs before any other activity on the location. Count what you are holding, then use the opening count's editable cost column to enter or verify the unit cost of each item, since that valuation anchors every later variance. Submit the count so the costs flow into the inventory ledger and the cost of goods sold report. Do this before you raise the first purchase order, because the opening count is a migration step that establishes the starting position, not just the first of your regular counts.

What happens if I did not enter an opening balance before ordering?
+

What happens is that the count can no longer be marked as the initial one, because orders and receipts have already posted to the location. You do not have to key hundreds of prices by hand to fix it. Revert to a normal count and let your purchase-order receipts auto-populate item prices over the next few cycles, then let the first full physical count correct the balance. Your valuation lands right without the manual work. The trade-off is that cost and variance figures are less reliable for the first period, so treat that period as a settling-in window.

How do I set an opening balance without complete historical data?
+

How you handle missing history is to enter a defensible best estimate rather than wait for perfect figures. Count what you physically hold now, apply the most recent known unit costs, and submit that as the opening balance. It does not need to be flawless to be useful, because your first full physical count at the end of the period will correct it. A reasonable starting figure you improve on beats an empty report you cannot use at all. The important thing is to establish a submitted starting point so cost of goods sold has something to calculate from.

Why does the opening count need unit costs entered?
+

Why the costs matter is that the opening valuation anchors every variance the system calculates afterwards. If the opening unit costs are wrong, every cost and variance figure that follows inherits the error. That is why the opening count has its own editable cost column, separate from a regular count, and why many operators prefer their own team to key the costs rather than accept an automated default. The people doing the counting own the numbers. Take the time to verify each unit cost before you submit, because this is the one valuation that everything else in the period is measured against.

Does the opening stock count differ from a regular stock count?
+

Yes, the opening count is treated as a distinct event, not just another count. It has its own report view with an editable cost column, because its job is to set the starting valuation for the period. A regular count instead shows quantity variance and value variance against your on-hand figures, since by then a starting point already exists. The opening count also has to come first, before any purchase order or receipt posts to the location. A regular count runs on its normal schedule afterwards. Think of the opening count as defining the period and each regular count as measuring against it.

Ready to transform your operations?

Join 3500+ restaurant operators cutting costs, streamlining operations and making smarter decisions with Supy.