Skip to content

Google Sheets Inventory Template With Recipes (Free)

A free inventory template where logging a batch takes the recipe's ingredients off the shelf. Five tabs, a real week filled in, and the formulas explained.

By Koa Sterling. Product specialist at TaroStack and small business owner. Yes, I am a real human, and I actually sit in front of a computer and write these articles. Reviewed September 29, 2026 · 8 min read

An inventory template with recipes needs five tabs: Stock, Recipes, Products, Batches and Deliveries. You log a batch in one row, and every ingredient in that product's recipe comes off the shelf by itself; you log a delivery, and it goes back on. The whole trick is one conversion column (how many grams are in a pound, or in a can) and a handful of short formulas. Below is the sheet filled in with a real week from a small bakery, the formulas, and the file, which opens in Google Sheets, Excel or LibreOffice with no sign-up.

The short version

  • Stock is counted in the unit you buy and count (lb, kg, can, each). Recipes are written in the unit you cook in (grams). One column converts between them.
  • A batch is one row: date, product, how many batches, lot code. That row is what makes the ingredients go down.
  • A delivery is one row. That's what makes them go up.
  • Anything no recipe mentions (a spill, greasing pans, samples) goes in "Other out", or the count won't match.
  • Download the template.
  • When the sheet starts breaking, TaroStack does the same job with a button. More at the end.

The five tabs

Tab One row per You type It works out
Stock Ingredient or packaging item Unit, conversion, cost, opening count, reorder level, other out Received, used in batches, on hand, LOW, value
Recipes Ingredient in a product Product, item, amount per batch Cost in one batch, batches made, used so far
Products Thing you sell How many a batch makes, opening count, sold Cost per batch, cost each, made, on hand
Batches Time you make something Date, product, how many batches, lot code, who Nothing: this is the input
Deliveries Delivery Date, item, quantity, cost, supplier's lot Nothing: this is the input

The example is Windward Roots, the made-up taro business I use in these examples, for the week of September 21, 2026: six batches of taro sweet bread and three of kūlolo.

Stock: what's on the shelf

Here are six of the eleven rows at the end of the week:

Item Stock unit Grams per unit Opening Received Used in batches Other out On hand Reorder at Status
Bread flour lb 453.6 150 100 158.73 0 91.27 100 LOW
Sugar lb 453.6 60 0 25.40 0 34.60 40 LOW
Butter lb 453.6 36 36 19.05 1.5 51.45 24
Taro paste kg 1,000 40 30 43.20 0 26.80 25
Coconut milk can 400 48 24 12 0 60 24
Bread bags each 1 400 0 144 0 256 200

Butter's 1.5 lb of "other out" is the pans greased all week, which no recipe mentions. Leave out lines like that and the sheet will say you have butter you don't. (That's cause 2 in why inventory doesn't match.) Coconut milk shows the point of the conversion column: you buy it by the case, count it by the can, and the kūlolo recipe asks for 1,600 g, which the sheet turns into 4 cans. All eleven rows are worth $635.52 at cost.

Recipes and batches: the part that makes stock go down

The Recipes tab has one row per ingredient per product. The sweet bread's seven rows, for a batch of 24 loaves:

Item Per batch Unit Cost in one batch
Taro paste 7,200 g $27.65
Bread flour 12,000 g $13.23
Sugar 1,920 g $3.85
Butter 1,440 g $12.70
Instant yeast 192 g $2.33
Bread bags 24 each $1.20
Labels 24 each $1.44
Batch $62.39

That's $2.60 a loaf before losses, the same figures as the steps in recipe costing, where one loaf a batch that doesn't sell brings it to $2.71.

On Friday, Ana makes two batches and types one row on the Batches tab: Sep 25, Taro sweet bread, 2, lot 260925. The Recipes tab now counts six batches of bread for the week, and the Stock tab takes another 52.9 lb of flour and 14.4 kg of paste off the shelf, along with 48 bags and 48 labels. Flour drops to 91.27 lb, under its reorder level of 100, and its row turns LOW. Nobody touched the Stock tab.

The formulas

Six short formulas do all of it, and the two on the Recipes tab are the ones that matter. For row 2:

Batches made       =SUMIF(Batches!$B:$B, A2, Batches!$C:$C)
Used so far        =C2*F2/INDEX(Stock!$D:$D, MATCH(B2, Stock!$A:$A, 0))

The first counts how many batches of that product were logged. The second multiplies the recipe amount by the batches, then divides by the item's "recipe units per stock unit" (453.6 for a pound in grams), so 12,000 g of flour times 6 batches becomes 158.73 lb.

On the Stock tab, for row 2:

Received           =SUMIF(Deliveries!$B:$B, A2, Deliveries!$C:$C)
Used in batches    =SUMIF(Recipes!$B:$B, A2, Recipes!$G:$G)
On hand            =F2+G2-H2-I2
Status             =IF(J2<=K2, "LOW", "")

"Used in batches" adds up every recipe row that uses the item, so labels, which go into both products, come off for both. It's plain SUMIF, INDEX and MATCH, so it behaves the same in Google Sheets, Excel and LibreOffice.

To open it in Google Sheets, Google's own steps are: open Drive, double-click the file, then File, Save as Google Sheets (Google).

Using it each week

  1. Log every batch the day it's made, with a lot code. It takes ten seconds and it's the row everything depends on.
  2. Log each delivery when it arrives, from the packing slip.
  3. Once a week, paste what you sold into the Products tab from your till or shop.
  4. Anything spilled, tasted or thrown out goes in "Other out" on the Stock tab.
  5. Once a month, count and compare with "On hand". Put the count in as next month's opening, and look into anything that's off by more than a little.

If you want a sheet for costing alone, the recipe costing template is simpler, and if a bakery's stock without recipes is what you need, there's the bakery inventory spreadsheet.

Where this stops working

Four things break it, usually in this order. Somebody renames "Bread flour" to "Flour, bread" on one tab and every formula that looked for it shows #N/A. The recipe changes, and last month's batches get recalculated with this month's amounts, because the sheet only knows one version. A second person logs the same batch. And the sheet has no idea which lot of flour went into which batch, so when the mill recalls a lot, it can't help; for that you need a lot tracking spreadsheet beside it, and two sheets to keep in step.

That's usually the point to look at software, and there's an honest comparison in inventory software vs a spreadsheet.

How TaroStack does it

In TaroStack the Batches tab is a button, and the four things that break this sheet don't happen. When Ana records Friday's two batches of sweet bread, each ingredient comes off by recipe from the lots that expire first, and the batch notes which lots it used, so when the mill recalls a flour lot the answer is already there. Recipes are versioned, so changing one in October doesn't rewrite September's batches. An item is one record rather than a name typed on three tabs, so renaming it breaks nothing. And units convert by themselves: buy by the case, stock by the each, cook by the gram.

The flour going LOW works better too. Instead of a reorder level typed once, the reorder list shows how many days of flour you have at the rate you're really baking, reorder points are suggested from how it moves, and you get an alert when it gets there. Deliveries record the supplier's lot and the price you paid, so stock is costed from real invoices. Counting, receiving and batches work on a phone with no signal.

Recipes and batches are on Standard at $99 a month, and the first 30 days are free. This sheet's items, recipes and opening stock import from CSV, with a preview of every row before anything is saved. If you'd like a hand setting up, ask, and we'll do it with you.

Questions people also ask

Can Google Sheets track inventory with recipes?

Yes, with a recipes tab and a batches tab, as above. Each recipe row multiplies its amount by the batches logged, and the stock tab adds those up per ingredient. It works well for a handful of products and one or two people typing.

How do I make stock go down automatically when I make a batch?

Log the batch as a row, then have each recipe line count the batches with SUMIF and multiply by its amount. The stock tab subtracts the total for each ingredient. Nothing is automatic in the sense of a button, but one row does it.

How do I convert recipe grams to pounds in a spreadsheet?

Divide by 453.6. The template keeps that number in a column per item, so flour can be 453.6 (grams per pound), a can of coconut milk 400, and eggs 1 if you count them each, and one formula handles all of them.

Is there a free inventory template for a food business?

This one, and a few more for particular jobs: lot tracking, expiration dates and recipe costing, all free, all without an email wall.

Sources

  1. Google Docs Editors Help: Use both Excel and Sheets, best practices · read September 26, 2026

We use AI to help with the research for these articles. Every one is read, checked against its sources and edited by Koa before it's published. Spot a mistake? Tell us and we'll fix it and say so. How we write these.

Let’s get your stack in order.

Create your account, bring your spreadsheets, and see your real stock right away.

Get TaroStack

Sign up now for your free 30 day trial. No credit card required.