From a programmers point of a view many times you end up with problems that are related to the domain of the programmer's knowledge. Nobody knows everything and sometimes errors happen because of that and I want to believe I am not the only one.

While working as a freelancer should anyone charge for the time they use to troubleshoot a problem?

If not, for what kind of troubleshooting should you charge money?

An example: For example client asked to implement technology x, I am not familiar with technology x and hence there is a lot of troubleshooting regarding the installation/use and compatibility of technology x

  • Can you give a concrete example of your idea of troubleshooting?
    – Peter MV
    Mar 24, 2014 at 9:30
  • For example client asked to implement technology x, I am not familiar with technology x and hence there is a lot of troubleshooting regarding the installation/use and compatibility of technology x. Mar 24, 2014 at 19:38

2 Answers 2


It depends on the kind of troubleshooting and the time that you spend on the same.

If the troubleshooting takes a long time, yes I would charge on hourly basis. After all we spend time in solving the problem.

If it takes less time and its just a minor fix then there is no need to charge. But if the troubleshooting is often (more than twice), then consider charging a small amount even for minor fixes.

I had delivered an android application to a client. The client wanted to test the code, and he had no knowledge of what tools to be used and how to run the app on the real device. So I installed all the tools, downloading and showing him how to run the app, and how to troubleshoot if he got errors or stuck with a problem. The whole process took about a hour or two considering the download time. So I charged for the 2 hours and the client was happy to pay.

You could make an agreement prior to delivery with the client that troubleshooting will be charged based on the time you spend (hours/days spent).


I'm a software consultant for a software company, which basically means I spend a lot of time setting up, installing, configuring and troubleshooting software on client environments.

I bill a lot of time for troubleshooting problems in their environments, at the same rate as we charge for development. The decision to bill or not is usually dependent on the reason that troubleshooting is needed.

So, if troubleshooting is required because the client's environment and/or third party systems (webserver hosting our app, etc.) is poorly maintained/configured, then I bill. It's not my responsibility to maintain these systems and time spent troubleshooting them is an additional service provided to the client, in lieu of them having proper admins.

If troubleshooting is required because the client has asked me to set-up a third party component which I'm not familiar with then I bill, but the client should be aware beforehand that this isn't my area of expertise. It's not reasonable for the client to expect me to be an expert in all third party software.

If troubleshooting is required when setting up one of our packages because I'm unfamiliar with the package, I bill for the set-up but not the troubleshooting. I class this as time spent learning, which the client could reasonably expect to have been done prior to the contracted work.

If troubleshooting is required because it turns out there is a bug in our software, then I do not bill. The client has already paid for the software licenses and should be able to expect it to work without also paying additional troubleshooting and rework, etc.

The decision to bill or not does not depend on the duration of the troubleshooting for me; small investigations can add up to days of work. Also, clients can start to abuse you as a free IT support/admin service if they think they can get away with it, although this probably applies less in the case of freelance development.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.