We consultants have a hybrid relationship with our clients. We're working for them, yet we aren't technically part of their organization. Whenever an expense arises in the course of doing their work, the question of who pays for it arises, too.
Clients usually cover exceptional travel expenses, if they requested the travel. Sometimes, you can even bill (at least partially) for time spent on such travel. Travel expenses regularly include air fare, rental car, public transportation or cab, parking and tolls, hotel, and meals. Sometimes, though, I just eat the meals (dies laughing at his own lame joke). Do I really want my client looking over my shoulder to see what I'm eating, or how often? Sometimes I'll expense one or two meals a day, and cover the rest myself (especially evening cocktails). I don't want to give the impression that I'm out partying away their expense budget.
Consultants generally pay for routine travel to their clients' offices if they're local. Of course, as with any expense that you cover, you should build this travel into your fee. Even employees have to weigh the cost of daily transportation when they decide to accept a certain salary.
The questions arise when travel doesn't fall neatly into one of these two categories. If your client has an office that's 50 miles away and they ask you to visit them, would you charge them for travel expenses? How about 100 miles?
What about the equipment and software necessary to do the work? Software development consultants generally provide their own computer systems and software licenses, but as I look around my office I see two computer systems that belong to two of my clients. In each of those cases, the client wanted to isolate the work I do for them and allow me to connect to their VPN, so they provided a complete system to do that. Most of my other clients, though, have never bought hardware for me.
As a general rule, if you'll only use a piece of hardware for one client, then it may make sense for that client to pay for it. If you can use it for other business or personal uses, you should buy it yourself. You should certainly have at least one system that you call your own, not only to prove your independence to the IRS, but also to make it really so -- if your client pulls the plug, you don't want to find yourself without the means of performing any work.
The same principle works for paid software licenses. A lot of software is available these days for free, but sometimes a client will require that you use proprietary software for which someone must purchase a license. If they're the only client who would benefit from that, then they should reimburse you for that expense, or just buy it for you. If you'll use it for other business, it should be your expense. The biggest gray area that comes to mind is Microsoft's assortment of operating systems, developer tools, frameworks, and languages. Certainly you could serve multiple clients with that software, but what if you have only one client who requires it? Do you make them pay as a way of punishing them for not using free software? Or do you pony up $800 annually for Visual Studio Professional? The answer may lie in how much business this client will give you, as well as whether you want to develop more business that would use these tools.
When it comes to office space and supplies, the consultant should generally pay for these. If your client provides office space for you, they run the risk of qualifying you as a statutory employee and having to pay a big penalty (at least, here in the United States). These expenses are part of doing business, so if your consultancy is a real business, it should cover them. The exceptions, again, depend on clients that have special requirements. If, for example, a client contracts with you to develop software for a specific piece of office equipment that you would never use again, they should send one of those your way. I was going to use a computer-controlled death ray as an example, but heck, I'd have lots of uses for that. A printer that the client wants to resell to their customers, but which doesn't work with their software, is a real example from my past experience.
In general, I try not to nickel and dime my clients with petty expenses. It's far better to build those into your fee, especially since a higher fee doesn't proportionately drive off business -- in fact, it can even increase demand. I usually only request compensation when the expenses are both unusual and massive. How about you?
Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.