Andrew in his reply showed us what should Retainer Agreement hold.

I started writing a Retainer Agreement and it became more complex that I thought it would.

For example,

  1. Immediately write Retainer for 1 year or offer 3,6,9,12-month periods? Freelancers would prefer 1-year contract of course, while clients would prefer smaller chunks.
  2. How many work hours to offer per 1 month? I usually work immediately on those fixes so I cannot offer 40 work hours per week since it's not realistic + clients will find it too expensive
  3. What happens if a client buys 500 work hours for 5 months and we use only 250?

If I think of new ones, I will edit this question.

  • As with any sort of contract, talk to a lawyer about it before you have customers sign it. Ask for one that will basically act as a fill-in-the-blanks contract, so you just have blanks for what really matters
    – Canadian Luke
    Commented Feb 7, 2014 at 22:56
  • @CanadianLuke Lawyers may do this part in Canada, but in my country they've never heard of such contracts :). So the only way I do not make mistake is by getting advice from the community here.
    – Peter MV
    Commented Feb 8, 2014 at 17:03
  • I have a commerical lawyer who writes up the contract, taking my normal-person speak into legal-speak, and puts it on paper. He then writes in blanks, where I can offer a price, date of completion, who the client is, number of hours, warranty period, etc.
    – Canadian Luke
    Commented Feb 8, 2014 at 17:22
  • @CanadianLuke Oh, so you make Retainer as well?! Do you work the same way like Avonelle or you do like I do? I'd like to hear your experience as well.
    – Peter MV
    Commented Feb 8, 2014 at 17:38
  • 1
    I don't do retainers, but I would offer them if I thought it would benefit the client and myself. I do hourly billing, and project billing. For projects, that's where I get sticky about the contract. I'll write up a full answer once I'm done some other work I'm doing right now
    – Canadian Luke
    Commented Feb 8, 2014 at 17:40

2 Answers 2


Although Avonelle Lovhaug has an excellent write up, I'll give my two cents as an answer. First off, the only retainers I've used have been with 2 very good clients that I've known for years; they know me well, and I know them well. When I did the retainer agreements, one of them was a lawyer, and I trust him to draw up the contract, and allow areas for us to write in numbers and dates. The reason? It's a legal agreement, and I can change it as needed in certain areas.

What the lawyer did was sit me down, and ask me in plain English what I wanted. I explained what I wanted, and they added some more suggestions that seemed good. For example:

  • Date it starts
  • Monthly Renewal date (if applicable)
  • Notice before cancelling the contract
  • My right to stop working if the retainer is used up
  • What hours I'm available for regular work (my normal price) and my emergency rate (double my normal price). This also included how long of a response time I was guaranteeing, as well as offering the ability to send in someone else if I'm not there. (Personal Note: I am one of the higher ups for other IT contractors, so I know many of them. I've brought in others for helping with projects before, and most are available at a phone call for me if I'm not available for a project or emergency)

Then, of course, blank fields for the customer's business name and address, contact information, etc. The clients usually have their own agreement(s) to sign as well (i.e. Non Disclosure Agreement), and they get signed at the same time. Now, back on topic...

With a retainer, you need to remember that you are basically becoming "on call" for the client, and usually also need to give priority service. Because of this, I do not feel I would do more than two or possibly three at a time, unless I have staff under me. I don't think the clients would feel good to hear "Sorry, but I got another priority client who paid the retainer this month, so you'll have to wait your turn". Now, back to your 3 questions...

  1. My retainers are unlimited, and sold as blocks of time; usually, 30 hours each time. My clients do not require me to be full time at their office, unless we are doing a project (i.e. refreshing all systems). Because of this, I know I will work between 15 and 30 hours (15 to account for any "emergency" calls). I keep track of it with an invoice sent from my phone billed to the account instead of asking for money. Once it says that the time has been used, new retainer starts up.

  2. Again, depending on your industry, this will vary greatly. For me, when I do good work in IT, I only need a couple hours of maintenance per month per client. I usually reserve the first half of a day doing maintenance/billings. Once that's done, it's just work for the rest of my time. I do not do retainers with an end date, just a length of time they need to give before cancelling the contract when they have money left over "in the account".

  3. Again, because I don't do the traditional retainer you are thinking of, this doesn't apply to me; what I would probably propose though is to have a certain cut off that will roll over to the next month; for example, 75% of whatever is leftover from the previous month gets pushed into the next month, free of charge. Again, I don't do this, but something you may want to consider. My reasoning for not giving ALL the money is because you still need to be paid just for being on call, period. Even when you aren't working, you need to be making money since you are essentially promising to be available.

  • Great answer. Especially appreciated you drawing out the fact that you have to limit the # of clients you take on with this kind of relationship. And agreed on roll-over hours - customers should expect to pay for keeping people on call. My customers do not even blink at this. Commented Feb 8, 2014 at 21:56
  • Luke and Avonelle, both replies I equally good. I will not mark any reply as an answer. This notice shall serve other people who visit this topic. Guys, read both replies and combine them into an answer.
    – Peter MV
    Commented Feb 22, 2014 at 14:27

One of the glories of being a freelancer is that you can be flexible. So you can craft a retainer agreement that makes sense to you, and it doesn't even have to be the same for each client.

Regarding your specific questions...

  • Duration? There are advantages and disadvantages to a lengthy contract. One disadvantage is that if it turns out the customer is a poor retainer client, you can opt out of the agreement sooner. At any rate, you might try adjusting the rate depending on the duration, if a longer agreement is your goal. That will encourage clients to choose the longer duration. (Personally, my agreements allow either party to opt out with 60 days notice.) Also, you can point out that a longer agreement locks in the rate for that time period, a shorter agreement could mean your rates go up sooner.
  • How many work hours? I confess - this isn't an issue for me. I have 3 clients who use a retainer agreement with me, but we don't do it by number of hours so I don't have a set number of hours. Then again, I don't generally charge by the hour. My agreement typically covers answering questions, troubleshooting problems, and bug fixes. It doesn't include new projects. I've never had a client abuse this (but I work hard to maintain relationships with only very high quality customers.)
  • What if they don't use the # of hours? This is one reason why I don't charge by the hour. The client may feel like they got a raw deal if they don't use the hours, even if they had the benefit of being at the top of your queue. But here's what I'd argue to the client: because they purchased the hours, you had to set aside the time and couldn't take other work. To be fair to them, you'll have to help them keep careful track of the hours so that they can appropriately use the time.
  • On time-keeping, I can recommend the use of Kimai as a tool - online time tracking viewable by the client so they can see what's on the clock at any point, and invoicing is a simple click. See kimai.org/en . It requires PHP and MySQL (or MariaDB). Commented Feb 8, 2014 at 15:52
  • "I don't have a set number of hours" - How did you count the retainer price then? I figured out the easiest thing is to count it by multiplying my hourly price with X number of work hours, then sell packages of work hours (50,100,150,etc.). The only solution I see, following your advice, is to count monthly retainer by taking a certain percentage of max monthly work. Ex. if I can work 160 hours in a month, then count retainer 50% of max work hours.
    – Peter MV
    Commented Feb 8, 2014 at 17:11
  • Regarding opt-out: My customers only pay me in advance for each month, not in advance for the entire year (But the agreement is for the whole year). But I know someone who takes the whole thing in advance and still allows opt-out. The agreement allows for some pay back, but imposes a stiff financial penalty on the client. Commented Feb 8, 2014 at 17:48
  • On # of hours: I may estimate hours for purposes of determining price, but I don't track hours or draw them down. In 11 years of freelancing, I've only had 1 or 2 months where my retainer hours went over what I budgeted. BUT: My retainer agreements are strictly for answering questions, troubleshooting problems, and bug fixes, not new development. YMMV Commented Feb 8, 2014 at 17:51
  • 1
    @PeterMV - I only do retainer agreements w/ well known clients. This helps me estimate the time required fairly well, but that is only part of my pricing. I also base that pricing on response time (some clients require 24 hr response, others 2 business days, etc.) And I price based on how much I like the work. I have 1 client who rarely uses their retainer, but when they do have a problem it SUCKS so I charge them more. (And to your previous example: I'd probably go closer to 80%-90% of max estimated hours.) Commented Feb 8, 2014 at 21:53

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.