I think the only thing that works is to never start off with free snacks. At all places I've worked, what we have is an open self-serve bar with an open money box. You take what you want and pay as much as it says. Some people leave IOU notes when they can't make change. It works on the honour system and I've never seen a problem, not in companies with 20 employees and not with 200.
"He is leery of disparaging individual companies or even most industries, for fear it will hurt his business. But he will say that telecom companies have robbed him blind, and another bagel-delivery man found that law firms aren't worth the trouble. He also says he believes that employees further up the corporate ladder cheat more than those down below. He reached this conclusion in part after delivering for years to one company spread out over three floors -- an executive floor on top and two lower floors with sales, service and administrative employees. Maybe, he says, the executives stole bagels out of a sense of entitlement. (Or maybe cheating is how they got to be executives.) His biggest surprise? ''I had idly assumed that in places where security clearance was required for an individual to have a job, the employees would be more honest than elsewhere. That hasn't turned out to be true."
Edit: coffee and water are free, of course.