Solutions
Co-packer ERP for brands that make some lines and co-pack the rest
Pesto is co-packer ERP software for food and drink brands that make some products in-house and use one or more co-packers for the rest. It tracks the materials you send each co-packer, the inputs they source for you, every co-man fee and every run, so you know the true cost of each SKU wherever it's made.

Sound familiar?
- We send our co-packer jars and labels, and we never quite know how many they've got left.
- Their price includes the oats they buy. We've no idea whether that's a fair price.
- The co-man invoice turns up three weeks after the run and never matches what we expected.
- Half our stock sits in someone else's warehouse. We find out what's there when they email us a spreadsheet.
- The same SKU costs us one thing when we make it and another when they do. Our margin report shows one number.
- Tesco orders, we raise a PO to the co-packer, and nothing links the two.
- The co-packer's run came in short and nobody noticed until the delivery to the depot did too.
Running two supply chains at once is hard. Running them across three spreadsheets and a shared inbox is harder.
How does Pesto run a brand that uses co-packers?
Here's a normal week for a brand that bakes its core range in-house and uses a co-packer for its flapjack line.
Monday
Orders in
A Tesco order arrives through your EDI hub and a wholesaler emails a PDF. Pesto reads both, matches each line to the customer's own product code and checks every price. For the flapjacks, Pesto suggests which co-packer PO each customer order belongs to, so you can link them back to back.
Tuesday
Plan
Pull demand from your sales orders. Pesto runs it through each product's BOM and splits material needs by destination: flour and butter for your own kitchen, pouches and outer cases for the co-packer's site. The oats the co-packer buys for you stay off your POs, because they're shadow materials.
Wednesday
Ship materials to the co-packer
Transfer the pouches and cases to the co-packer's location. Pesto tracks them in transit and records any shortage with a reason when they land.
Thursday
The co-packer runs
Record the production run against the named co-packer and their location. Pesto depletes the materials you supplied at that site, adds the actual co-man fee as a service cost and drafts the Xero bill against the co-packer's invoice.
Friday
Check the margin
The finished flapjack lot carries its own cost: your materials at actual lot cost plus the actual co-man fee. Pesto compares it with the theoretical full cost, including the oats, so you can see whether the co-packer's price still stacks up.
Same week, two places of manufacture, one set of numbers.
What are shadow materials, and why track them?
A shadow material is an input your co-packer sources and bakes into their price. You don't buy it, so it doesn't belong in your stock or your COGS. But it still drives what you pay.
Pesto puts shadow materials in their own Shadow lane of the BOM. They stay out of your COGS, and Pesto shows a "Theoretical full COGS (incl. shadow)" figure next to your actual cost. When oat prices fall and your co-packer's price doesn't, you'll see it.
How does Pesto track stock at your co-packer?
Every co-packer site is a location in Pesto. When you plan a run there, Pesto reserves the materials you supply at that location, then depletes them when you record the run.
You move stock between your own site, your co-packer and your 3PL with in-transit transfers, and Pesto records shortages with a reason. Finished goods land as lots with batch code, use-by and cost per unit, so FEFO picking works the same whether a product came from your kitchen or someone else's.
If your 3PL runs a warehouse system such as Mintsoft or Codestorm, Pesto mirrors its stock in, so you see every location in one place.
How does Pesto handle co-man fees and invoices?
Co-man fees sit in the Service lane of the BOM alongside labour and logistics. That gives you an estimated fee per unit for planning.
When a run happens, you edit the service costs to match the actuals. The real fee rolls into the finished lot's cost, and Pesto drafts a supplier bill in Xero for each co-packer invoice. You review and approve it in Xero as normal.
How does Pesto link customer orders to co-packer POs?
Pesto suggests matches between customer sales orders and supplier POs, covering back-to-back orders and co-man runs. You confirm the link, and both sides of the deal sit together.
Demand planning works across sites too. Pesto turns demand into material needs per destination, consolidates shared materials, splits them across suppliers in whole pallets and packs them into trucks. You raise the POs from there.
How do you know the true COGS of each SKU?
Every production run records where the product was made, internal or a named co-packer, and at which location. Each finished lot carries its own cost from that run.
Gross margin then uses the actual lot cost of the stock allocated to each dispatched line. If the Waitrose order shipped flapjacks from the co-packer and the indie order shipped a batch from your kitchen, each margin reflects the lot that actually went out. Pesto breaks margin down by product, category and customer, with a bridge that separates price and mix, COGS per unit and volume.
BOM versions lock on every save with a reason, so when you move a line from in-house to a co-packer, the cost history stays intact.
What do customers say?
Frequently asked questions
What is a co-packer ERP?
A co-packer ERP is software that runs operations for a brand using contract manufacturers: the materials you supply, the inputs they source, the fees you pay and the stock at their site. → What is a co-packer ERP?
Can Pesto handle more than one co-packer?
Yes. Each co-packer is its own supplier and location in Pesto, and every production run records which co-packer made it and where.
Do shadow materials count in my COGS?
No. Shadow materials sit in their own BOM lane and stay out of COGS, because your co-packer buys them. Pesto shows a theoretical full COGS including them, so you can benchmark the co-packer's price.
Does Pesto pay my co-packer?
Pesto drafts the supplier bill in Xero from the production run's service costs. You approve and pay it in Xero as usual.
How does Pesto know what the co-packer used?
You record the run from the co-packer's paperwork: output, materials used and fees. Pesto depletes the materials at their location and shows yield and usage drift against the BOM.
Can I still make some products in-house?
Yes. Pesto handles in-house and co-packed production in the same system, with the same BOMs, lots and margin reporting.
How long does it take to get set up?
Most brands go live in weeks, not months. We set up your products, BOMs, co-packer locations, customers 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