How to audit inventory shrinkage as Restaurant and Hospitality Founders

Ops & SupplyFor Restaurant and Hospitality Founders1 apps12 steps~24 min to set up

Shrinkage in a restaurant or bar eats margin quietly. Your POS shows covers and revenue. Your invoices from your broadliner or produce vendor live in email or MarginEdge. Your actual end-of-week stock counts live in a Google Sheet someone fills in at midnight on Sunday. None of those three numbers are talking to each other, so you don't know whether the variance in your beef tenderloin line is a counting error, a prep waste problem, or someone walking out the back door with product. By the time your bookkeeper reconciles it, you're three weeks into the same loss.

Ops & SupplyFor Restaurant and Hospitality Founders1 apps12 steps~24 min to set up
Outcome

What you'll set up

A daily shrinkage dashboard that pulls your bank transactions via Plaid, flags vendor invoice anomalies against expected spend, and surfaces variance before you open the next morning
An automated weekly alert that compares expected food cost against actual spending by category, so you know whether chicken, liquor, or produce is the culprit — without touching a spreadsheet
A browser-automated flow that pulls your POS sales data and cross-references it against your supplier invoices, flagging any week where your theoretical usage and actual purchases don't align
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

Starch syncs your bank account data on a schedule via Plaid (scheduled-sync provider), giving it access to categorized transactions, vendor names, and amounts. Your POS system (Square or Toast) and supplier portals are automated through your browser — no API needed. Slack is connected from Starch's integration catalog so weekly digests land in your ops channel automatically.

Prompts to copy
Connect my Plaid bank account and show me every food and beverage vendor charge this month. Flag any vendor where this week's charge is more than 20% higher than the trailing 4-week average, and group results by category: proteins, produce, dairy, alcohol, dry goods.
Every Monday morning, compare my total food and beverage vendor spend from Plaid against last week's spend in the same categories. Show me the dollar and percentage variance for each category and highlight anything over $200 difference.
Build me a shrinkage tracker that shows theoretical food cost based on my POS sales volume alongside actual supplier invoice spend pulled from my bank feed. Alert me in Slack when the gap between theoretical and actual exceeds 3% of weekly revenue.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect your business bank account through Plaid — Starch syncs your transactions on a schedule, so every vendor ACH, card charge, and wire is visible within hours of posting.
2 Tell Starch how you want your vendors categorized: proteins, produce, dairy, alcohol, dry goods, paper goods. It maps each vendor name from your bank feed to the right bucket automatically and asks you to confirm edge cases.
3 Set your baseline spend by category. Starch looks at the trailing 4 weeks of Plaid data and calculates your average weekly outflow per category — this becomes the benchmark your shrinkage alerts are measured against.
4 For vendors whose invoices live in a portal (your broadliner's website, your produce supplier's order history page), Starch automates login and data extraction through your browser — no API needed — and pulls invoice line items into the same view.
5 If you use Square, connect it from Starch's integration catalog so the agent can query your daily sales totals live when your shrinkage app runs. From those sales figures, Starch calculates theoretical usage by category using your standard recipe cost percentages.
6 Starch compares theoretical food cost (what you should have spent given the covers you did) against actual vendor invoice spend from your Plaid feed. Any week where actual spend exceeds theoretical by your chosen threshold — say, 3 percentage points — triggers an alert.
7 Configure a Monday morning automation: Starch pulls the previous week's Plaid transactions, groups by vendor and category, computes the variance against your baseline, and posts a plain-English summary to your Slack — no logging in, no manual calculation.
8 For alcohol specifically, set a tighter alert threshold. Starch flags any liquor vendor charge that's more than 15% above its 4-week average, because over-pouring and bar theft tend to show up in purchasing patterns before they show up in a count.
9 Starch's Transaction Insights anomaly detection flags any new vendor that has charged your account in the last 60 days — useful for catching unauthorized charges from a vendor your team accidentally onboarded or a duplicate billing relationship.
10 Once a month, run the full shrinkage report: theoretical usage vs. actual purchases by category, variance in dollars and as a percentage of revenue, any vendor anomalies flagged, and any new vendors seen for the first time. This is the document you bring to your chef or bar manager.
11 If your food cost variance is concentrated in one category — say, produce is consistently 4 points over theoretical — drill into the Plaid transaction view for that vendor specifically. Look at delivery frequency, invoice amounts, and whether any weeks show double charges.
12 Over time, Starch builds a historical record of your actual vs. theoretical food cost by category, so you can see whether a new menu, a new supplier, or a seasonal shift changed your shrinkage profile — without rebuilding the spreadsheet from scratch.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Week of March 10, 2026 — Italian casual, 120-seat, full bar

Sample numbers from a real run
Protein purchases (Plaid, sysco ACH)4,200
Protein theoretical usage (based on 680 covers @ avg ticket)3,650
Protein variance550
Produce purchases (Plaid, local farm + broadliner)1,100
Produce theoretical usage980
Produce variance120
Alcohol purchases (Plaid, distributor ACH)3,800
Alcohol theoretical usage (30% pour cost target on $12,400 bar revenue)3,720
Alcohol variance80
Total shrinkage flagged750

The Monday Starch digest drops at 7:15 AM before the owner opens the restaurant. Protein spend came in at $4,200 against a theoretical of $3,650 — a $550 gap on 680 covers. Starch flags it as a 15% overage against the 4-week baseline of $3,580. Two possibilities: the broadliner charged for a missed delivery credit from the week prior, or prep waste on the braise station ran high. The owner pulls up the Plaid transaction detail — there's a $480 charge from the same distributor on both Tuesday and Friday, where the normal pattern is one Friday delivery. That's the duplicate. She calls the distributor, gets a credit memo issued, and the real protein variance for the week was only $70 — within normal range. Without the Starch alert, that $480 would have sat in the food cost number for the month and her bookkeeper would have flagged it in mid-April, four weeks later. Alcohol came in clean at $80 over theoretical on $12,400 in bar revenue — well within the noise band she's set. The weekly report takes her six minutes to act on instead of ninety.

Measurement

How you'll know it's working

Actual food cost % vs. theoretical food cost % by category (proteins, produce, alcohol, dairy, dry goods)
Weekly vendor spend variance vs. trailing 4-week average per supplier
Number of anomalous charges flagged (duplicate invoices, new vendors, >20% single-week spike)
Shrinkage as a dollar amount per week, trended over 12 weeks
Bar pour cost % (actual liquor spend ÷ bar revenue), compared against your target pour cost
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

MarginEdge
MarginEdge gives you a purpose-built food cost platform with invoice scanning and recipe costing, but it requires manual invoice entry or a supported integration with your broadliner — Starch can pull bank-feed data automatically via Plaid and automate portal extraction through your browser for vendors MarginEdge doesn't connect to.
Google Sheets + manual export from POS
Free and familiar, but someone has to pull the numbers every week, the sheet breaks when a formula changes, and it can't alert you — it waits for you to look at it.
QuickBooks + bookkeeper
Starch syncs your QuickBooks data on a schedule and can surface the same P&L picture QuickBooks shows your bookkeeper, but in real time rather than three weeks after close — the tradeoff is that Starch is not an accounting system and doesn't replace your bookkeeper for tax or compliance work.
Toast food cost reporting (built-in)
Toast's built-in food cost tools are useful if your entire supply chain flows through vendors Toast integrates with, but most independent restaurants use a mix of broadliners, local farms, and distributors that Toast doesn't track — Starch catches all of them through the Plaid bank feed.
On Starch RECOMMENDED

One platform — transaction insights all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

My POS is Toast and my main supplier is US Foods — can Starch connect to both?
Toast and US Foods don't have scheduled-sync connections in Starch today. For Toast, Starch connects via Starch's integration catalog and queries your sales data live when the app runs. For US Foods' invoice portal, Starch automates it through your browser — no API needed — logging in and pulling invoice line items just like you would manually. The Plaid bank feed catches every US Foods ACH charge regardless, so even if the portal scrape misses a line item, the dollar amount hitting your account is always visible.
Is Starch SOC 2 certified? I'm connecting my actual bank account.
Starch is not SOC 2 Type II certified yet. That's worth knowing before you connect a bank account. The Plaid connection is read-only — Starch can see transactions and balances but cannot move money. If you're running a high-volume operation with strict compliance requirements, that certification gap matters and you should factor it in.
My food cost spreadsheet has three years of history. Will Starch replace that?
Starch is built for live data surfaces, not a long-horizon data warehouse. Plaid gives you transaction history going back as far as your bank supports (typically 12–24 months), and Starch will surface that in your shrinkage dashboard. But if you have three years of manually entered food cost data in a spreadsheet, that historical archive lives in the spreadsheet — Starch won't ingest and store it as a replacement for that record. Think of it as your forward-looking operational layer, not a migration target for historical archives.
Can Starch track shrinkage at the recipe or menu-item level, not just by vendor category?
Not out of the box today — Starch's shrinkage tracking works at the vendor and category level, using your bank feed as the source of truth for actual spend. Recipe-level variance (knowing that the shrimp scampi used 12 oz instead of 8 oz per plate) requires a recipe costing tool with direct POS integration like MarginEdge or a dedicated inventory count platform. If you want to get to that level of detail with Starch, you'd describe a custom app that ingests both your sales mix from the POS and your supplier invoices, but you'd still need a way to input your standard recipe costs — that data has to come from somewhere.
What if I have multiple locations — a restaurant and a bar in a different building on the same block?
Connect a Plaid account for each business entity and tell Starch which account belongs to which location. You can describe a single dashboard that shows shrinkage variance side by side across both locations, or run the same weekly alert for each location separately. The Inventory Planner app — currently in development, with beta access available on request — is specifically built for multi-location inventory visibility if you want something purpose-built for that structure once it launches.
How is this different from just watching my bank account in my banking app?
Your banking app shows you what happened. Starch tells you whether what happened is normal. The difference is context: Starch knows that your produce vendor usually charges $900 on Thursdays, so a $1,400 charge on a Tuesday is worth a flag. Your bank app just shows $1,400 on Tuesday. The categorization, the variance calculation against your baseline, and the Monday morning Slack digest are all things your bank app doesn't do.

Ready to run audit inventory shrinkage on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.