Enterprise catering is the most seductive line on a restaurant group P&L. The orders are large. The revenue looks impressive. The customer names are famous. It reads like the healthiest part of the business until you actually count what it costs to fulfill.
I ran the catering channel turnaround inside a $30M Michelin-recognized Bay Area group with real enterprise accounts. Tech campuses. Stanford. Google. Apple. Meta. LinkedIn. Salesforce. Cisco. Adobe. Nvidia. The channel was doing meaningful monthly volume and it was quietly losing money on more than half of the orders that produced that volume. The board saw a growing catering line and assumed it was healthy. The P&L told a different story, once we rebuilt it order by order.
This is the playbook I used to turn that channel from a margin drain into a real contributor, without killing the customer relationships that took years to build.
How catering channels quietly drown a restaurant group
Restaurants are built to run tickets. A ticket lands in the kitchen, gets fired, gets picked up, gets paid for at the table. The whole operating machine, from the schedule to the food cost to the tip pool, is designed around that flow. Catering is a different flow entirely, and most groups run it on the same operating machine.
The result is a channel where the accounting looks fine on the top line and terrible on the per-order line, and nobody sees the terrible until someone rebuilds an order from the receipt up.
The pattern is consistent:
- Sales team is compensated on revenue. They accept every order regardless of size, distance, or margin, because their bonus is a percent of gross.
- Kitchen absorbs the prep hours into general labor. Nobody is tracking catering prep as a separate labor line, so a $600 order that ate three hours of prime prep time looks the same as a $2,000 order that ate one hour.
- Driver cost is buried in delivery expense or general labor. The two hours a driver spent on a 45-minute delivery, plus the wait for the elevator at the tech campus loading dock, plus the return trip, are counted as one line, if they are counted at all.
- Packaging is a monthly invoice. Nobody is watching packaging as a percent of catering revenue, and packaging has proliferated across formats because every custom accommodation added a SKU that never got retired.
Individually each of these is a small blur. Together they turn a channel that should throw off 12 to 18 percent contribution into one that runs at zero or below. And because the aggregate revenue keeps growing, nobody in the boardroom notices until the check does not clear on a slow week.
The diagnostic: rebuild ten orders from receipts up
The single most valuable thing you can do in the first week of a catering channel turnaround is rebuild ten random orders from the receipt up. Not the aggregate P&L. Ten specific orders. Pull the invoice, the food cost by ingredient, the packaging list, the driver hours logged (or fairly estimated), the credit card processing fee, and any platform fee.
Do the math. Compare total variable cost to net revenue after discounts and after any customer-side fees you absorbed. Sort the ten by contribution margin.
What you will find, almost every time:
- Two orders are healthy. Large size, standard menu, easy delivery window, no last-minute changes.
- Three or four orders are marginal. They land within two or three points of breakeven and would flip with any small friction.
- Three or four orders are underwater by 10 to 20 percent of revenue. The channel is subsidizing them from the healthy orders.
- At least one is catastrophic. A $400 order that cost $500 to fulfill. Nobody was watching.
Fig. 1 · A $100 order that costs $110 to fulfill. Not rare. Common, until you count.
Aggregate catering revenue is a vanity number until it is decomposed order by order. The number you actually manage is contribution per order, not the top line.
The five moves that stop the bleed
Once you have the honest per-order picture, the fix is a sequence. In this order.
1. Set a pricing floor and publish it
Establish a minimum order size that pays for total variable cost plus target contribution. In an urban tech campus market with real driver distances, this is usually $300 to $500 depending on format. Every order below that floor either carries a delivery upcharge that closes the gap, or gets politely declined.
Publish the floor to the sales team on day one. Not as a suggestion. As a rule. The two-week fight with the sales team about this is the whole point. Sales teams accustomed to accepting every order will resist, and you will lose a small number of accounts. The channel-level margin swing in the first month more than pays for that.
2. Attack packaging as its own line
Pull the last three months of packaging invoices. Add them up. Divide by catering revenue. If the number is above 5 percent, you have packaging drift. In the Bay Area group, we found packaging running at 9 percent because we had accumulated three vendors, seven container formats, and a set of branded sleeves that added roughly $0.80 to every order and added zero to guest perception.
The fix takes a week: consolidate to one vendor where possible, standardize on two or three formats across menus, kill the sleeves. Recovered three points of margin on the channel in the first month.
3. Redesign the driver route
Driver time is the largest single hidden cost. Pull two weeks of catering deliveries, plot them on a map by time window, and look for the pattern. In a Bay Area tech corridor, you will find that Wednesday lunch orders cluster at three campuses within a five-mile stretch, and you had three separate drivers making three separate runs when one driver on a consolidated route could have done all three.
The redesign is not glamorous. It is a Google Sheet of delivery windows, a map, and a conversation with the catering sales team about which time slots to steer new orders into. Done well, it cuts fully-loaded driver cost by 30 to 40 percent on the affected days, which flows directly to contribution.
4. Reprice or exit the structurally bad accounts
Some accounts are structurally unprofitable and no amount of pricing will fix them. The office at the end of the peninsula that orders $250 lunches twice a week with a delivery window that requires a 90-minute round trip. The account that demands custom portioning and packaging that adds $60 of variable cost per order. The client that consistently changes headcount 24 hours out.
Have the honest pricing conversation. Show them the new floor. Explain that you value the relationship and want to keep serving them at the new price. Some will say yes. Some will say no. The ones who say no were losing you money anyway. Exit them cleanly, on good terms, and free the operating capacity for the accounts that pay.
5. Rebuild the sales incentive
The catering sales incentive almost always compensates on gross revenue. That is why you are in this mess. Redesign the incentive to pay on contribution margin, or on revenue above the pricing floor. Not overnight. Grandfather the existing team through a transition quarter, but the new hires come in on the new plan. In 12 months the sales team will be selling the profitable orders because that is what pays them.
Fig. 2 · Five moves, roughly 60 days to full effect.
The tech campus context that most operators miss
Enterprise tech campus catering is a specific animal. The clients are Stanford, Google, Apple, Meta, LinkedIn, Salesforce, Cisco, Adobe, Nvidia. They order at scale and with predictability. They also have specific operational realities that operators outside the Bay Area often underestimate.
Loading docks require badge access and elevator queues that add 20 to 40 minutes per delivery. Security check-ins at some campuses add another 15. Cancellation windows are shorter than most food service contracts assume. Dietary restriction expectations are high and enforced. Sustainability requirements (compostable packaging, food waste protocols) are non-negotiable at some campuses and add real cost.
These realities are not obstacles. They are the shape of the market. The operators who win in this segment build the operation around them: dedicated tech-campus routes, badge-familiar drivers, packaging that meets the sustainability spec at target margin, and menu designs that hold quality across a 45-minute delivery window.
The operators who lose in this segment try to run tech campus catering on the same operational chassis as event catering or restaurant takeout. It does not work, and the per-order margin is what tells you it is not working.
Two things I got wrong at first
Because the pattern above sounds obvious once written down, and it is not obvious when you are inside it.
- I set the pricing floor too low the first time. I built it off a rough model that undercounted driver time. Three months later I had to raise it again, which was a harder conversation than setting it right the first time. The lesson: model driver time with real numbers. Include the loading dock wait, the elevator queue, and the return trip.
- I underestimated how much the good accounts wanted a functional operator. I expected pricing pushback from every account when we raised the floor. What I actually got, from most of the big ones, was relief. They knew the previous pricing was too low. They had been waiting for the vendor to become sustainable so they could commit longer contracts. Two of the largest accounts moved to annual commitments within 60 days of the new pricing.
What actually held
The channel that had been quietly losing money on more than half of its orders moved to a healthy contribution position within four months, and stayed there. The top line was actually smaller for a quarter, then recovered, then grew, because the good accounts consolidated more of their spend with us once we were a serious partner. We lost a small number of accounts on the pricing conversation. We kept every account that mattered.
The most important artifact from the whole turnaround is the per-order dashboard the catering sales team looks at every Monday. Contribution margin by account, by week, by campus. What used to be a top-line vanity report is now an operating tool that changes decisions.
The catering channel is where restaurant groups either build a durable second business or bury themselves. The difference is not the volume. It is the discipline of counting every order with real numbers.
The point
A catering channel losing money on every order is not a demand problem or a menu problem or a customer problem. It is a counting problem. The operator who fixes it starts by rebuilding ten orders with real numbers, sets a pricing floor that pays for the total cost, cleans up packaging, consolidates driver routes, exits the structurally bad accounts, and rebuilds the sales incentive to match the reality. Sixty days for the mechanical work. Another sixty to hold.
The channel that comes out the other side is smaller in headcount, larger in contribution, and durable in a way the volume-first version never was. That is the version worth building. Anything else is a subsidy from the restaurants to accounts who do not know you are subsidizing them.
Count every order. Set the floor. Publish the floor. Hold the floor.