Solutions
Food manufacturing software for brands that make their own
Pesto is food manufacturing software for brands that run their own kitchen, bakery, roastery, brewery or factory. It costs every production run from the price you actually paid for each ingredient lot, shows yield and wastage against your recipe, turns customer orders into raw material POs, picks stock by FEFO and traces any batch from supplier to customer.

Sound familiar?
- Our recipe costs live in a spreadsheet someone built two years ago. Butter's gone up twice since.
- We know we lose product somewhere between the mixer and the pallet. We just don't know where.
- We ran out of jars on a Tuesday because nobody checked the supplier's lead time.
- The SALSA auditor asked for a trace and it took half a day and three spreadsheets.
- If we ever had a recall, I don't know if we'd find every case.
- Sainsbury's orders come by EDI, wholesalers email PDFs and Shopify does its own thing. Someone retypes all of it.
- We find out our real margin when the accountant does the year-end.
Each of those is a systems problem, not a people problem. And every new listing makes it a bit worse.
How does Pesto run a brand that makes its own product?
Here's a normal week for a brand making granola in its own unit, selling to retailers, wholesalers and direct.
Monday
Orders in
Sainsbury's orders land through your EDI system (e.g. TrueCommerce, Supply Lens, XEDI). A wholesaler's PDF arrives by email and you forward it to Pesto. Shopify orders flow in on their own. Pesto finds each depot by GLN, matches every line to the customer's own product code and flags any price that doesn't match the agreed one. You check each order beside the original and approve it.
Tuesday
Plan production and buying
Pull this week's demand from your sales orders in one click. Pesto runs it through your bills of materials and works out how much oats, honey, pouches and outer cases you need, combining shared materials across recipes. It splits the need across suppliers, packs it into pallets and converts it into each supplier's pack size (4,200 kg of oats becomes 840 cases of 5 kg). Then it drafts the POs, with a warning if you're under a supplier's minimum order.
Wednesday
Materials arrive
Upload the supplier's delivery note, or take a photo of it. Pesto pre-fills the batch codes, use-by dates and cost per unit, and you book the materials in as lots.
Thursday
Production
Record the run: which ingredient lots went in, how much came out, and any labour or service costs. Pesto works out the unit cost from the actual lot prices and shows your yield and how far usage drifted from the recipe.
Friday
Pick, ship, invoice
Pesto pre-selects lots by FEFO, respecting each customer's minimum shelf life, and generates delivery notes with batch codes and use-by dates. When the order dispatches, Pesto raises the invoice in Xero from what you actually shipped.
And if the auditor rings on Friday afternoon, the trace is already there.
How does Pesto cost a batch?
Every finished product has a bill of materials (BOM) with quantity per unit, a wastage % and a line cost for each input. Pesto splits the BOM into lanes: direct materials, bought-in items and service costs such as labour or packing. It adds them up into an estimated COGS with a full cost build-up.
Estimates only get you so far, so production runs record the real thing. Unit cost is the materials at their actual lot cost plus actual service costs, divided by the units you made. If this month's butter cost more than last month's, this month's batch shows it.
Pesto locks a new BOM version every time you save, with a reason, so you can see how your estimated COGS moved over time and compare versions side by side. Gross margin then uses the actual lot cost of the stock allocated to each dispatched line, broken down by product, category and customer.


How does Pesto track yield and wastage?
Each production run compares what you used and made with what the recipe said you would. Pesto shows yield % and usage drift against the BOM, run by run, so a creeping overuse of chocolate shows up in week two, not at the stock take.
Adjustments carry a reason (recount, damaged, write-off, received short), so you can see where product goes. The Stock Health dashboard puts a pound value on stock at risk of expiring before you sell it.
How does Pesto plan raw material buying?
Pesto works backwards from demand. Sales orders, a manual entry or an uploaded SKU list become demand lines; your BOMs turn them into material needs; Pesto consolidates shared materials and splits them across suppliers by percentage in whole pallets.
It packs pallets into trucks (for example 26 pallets), handles full, mixed and multi-supplier loads, and offers a "Fill truck" option. Supplier terms hold pack size, price, lead time, MOQ and quantity per pallet. You send the POs through Xero or as a branded PDF, with haulage and duty added per PO.
How does Pesto handle traceability for SALSA and BRC audits?
Pesto records every ingredient lot with its batch code, supplier, received date, use-by and cost. Every production run links the finished lot to the material lots that went into it.
That gives you the trace in both directions. Go back from a finished lot to the production run, the material lots and their suppliers. Go forward to every order and customer that received it. The lot ledger keeps the full history and exports to CSV for your auditor.
You can switch on a rule that stops anyone preparing an order without a batch code and use-by date. Pesto holds the trace; your HACCP plan and QA records stay where they are.
How does Pesto handle orders from retailers, wholesale and D2C?
Orders arrive by EDI, PDF, Excel, email, Shopify or your own B2B ordering portal. Pesto reads them, matches each line to the customer's own product code and lets you set each customer to order in cases, units or weight.
Once you approve, Pesto allocates stock, generates the delivery note and sends the order to your 3PL if you use one. Invoices go to Xero from dispatched quantities, and Pesto flags customers with overdue invoices before you ship them more.
Why did we build this?
Sanjay co-founded Tuk In Foods and once stood in a walk-in freezer checking hundreds of products by hand to work out which batch had gone where. We built Pesto so nobody else has to.
Still running production on spreadsheets?
Most brands that make their own start with a costing sheet, a stock sheet and an order tracker. We've written up what changes when you move, and where spreadsheets still win.
Frequently asked questions
Is Pesto an ERP for food manufacturers?
Pesto does the parts of an ERP a food manufacturer needs day to day: orders, stock by batch, recipes and BOMs, production costing, raw material planning, supplier POs and Xero invoicing. It connects to Xero for your accounts rather than replacing them.
Can Pesto cost a recipe with wastage?
Yes. Each BOM line has a quantity per unit and a wastage %. Pesto rolls those into an estimated COGS, then production runs replace the estimate with actual lot costs, actual usage and actual service costs.
Does Pesto help with SALSA or BRC audits?
Pesto gives you full lot traceability, from finished lot back to material lots and suppliers and forward to orders and customers, with a lot ledger you can export. It doesn't replace your HACCP plan or QA system.
Does Pesto run the factory floor?
Pesto records production runs: what went in, what came out and what it cost. It isn't a shop-floor control system and doesn't schedule machines or lines.
Can Pesto handle a recall?
Pesto traces a finished lot forward to every order and customer that received it, and back to the material lots and suppliers behind it, so you know exactly who to call.
Does Pesto work with Xero?
Yes. Pesto raises invoices in Xero from dispatched quantities, sends supplier POs through Xero and drafts supplier bills for service costs from a production run.
How long does it take to get set up?
Most brands go live in weeks, not months. We set up your products, BOMs, customers, price lists and integrations with you.
See Pesto running on your own orders.
Bring a real PO, your messiest one. We'll show you what Pesto does with it in 30 minutes.
Book a demo