Here's something that you don't think about until you actually work in a department full of chemists: how do you keep track of who's got what, and where it is? Everyone has reagents on their bench, and hidden away under the fume hood, and they're ordering more (and using up the current bottles) all the time. And people are wandering from lab to lab, borrowing and pilfering, sometimes when the original owners are there, and sometimes not. So how do you know what you have?
I've seen a number of approaches to this chemical inventory problem. The essential thing is that every bottle of every reagent be trackable. That means some sort of bar-coding system, most likely. Those bar codes need to go on when the compounds come in the door, ideally, so there aren't a lot of invisible reagents floating around. I think the best way to do this is to have the shipping and receiving people involved - if you trust the chemists to bar-code things, many of them just won't quite get around to it.
The next big question is whether you're going to have a centralized chemical stockroom or not (I've worked under both systems). The stockroom probably makes it easier to keep track of things, in general, since otherwise the available reagents are distributed throughout the labs at all times (instead of the ten per cent or so that are actually in active use). And it helps to have some place to send all those bottles back to - when you clean up your bench, you know that there's one thing you can do immediately, which helps keep the chemicals homing back to the central location.
A stockroom, though, requires dedicated space and dedicated head count, and neither of those are always feasible. The spread-throughout-the-labs approach puts the work back on the chemists. Its biggest disadvantage is entropy: bottles move around, get silently consumed, or get just plain lost. (That happens with a stockroom system, too, but at a slower rate). After a while, your map of the chemical inventory is useless - and for popular reagents, "a while" might be about two weeks.
That brings up the moving-chemicals problem, and to be honest, I've never seen a good solution to that one. Ideally, any time a person borrows some reagent from its known location, they scan the bar code so the system knows that it's moved. In practice, you know, you're just using it for a couple of days. Or you're just running one reaction, and you're going to take it right back. It's just right down the hall; the folks down there know where it is. Right. A stockroom system keeps this from randomizing things as quickly, but no matter what, this sort of Brownian motion is going to scramble things eventually.
So there has to be a regular inventory taken, no matter whose system you're using. Whether that's someone from the stockroom coming through and scanning all the benches and cabinets, or whether you declare Inventory Day and make all the chemists do it themselves, it has to be done. Twice a year is not too often, in my experience.
If anyone has solutions to some of these problems that I haven't touched on, feel free to share them in the comments. But please, no "Just Make Everyone Act Responsibly For Once" recommendations. Let's assume that people are intrinsically looking for the easy ways out, and work from that - it's a worldview that has never disappointed me.