Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Upgrading SilverStripe /

Ask questions about upgrading SilverStripe to the latest version.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Charging clients for upgrades?

Go to End

12 Posts   4055 Views


Community Member, 607 Posts

13 April 2010 at 12:41am

Edited: 13/04/2010 12:50am

Yes, I wouldn't publicly post my charges. Although I can give you some ideas, and it is largely governed not only by updates to code-base, but "little things" they request prior to your contractual obligations being met. The entire thing should be hinged around how much you would make from one hour working on a paid development.


Lets say you charge $100 an hour (to keep things rounded). How much time a client will request from you post-production varies a huge amount, but I have found that the smaller the client, and more reliant their business is on their website/app, the more time they request from you.

For argument's sake, lets say that the average client has little requests that add up to around 3 hours a month. That's $300 of your time that could have been spent on a paying development. But some months will actually end up having no requests from said client.

Now, if you were to offer a maintenance contract to a client, they should receive a discount on that time because:

1) They are paying in advance
2) As stated above, some months will be quiet at their end.

This discount could be anywhere between 10-30% IMO, but it is really something you need to get a feel for from your clients. If no one is taking the maintenance contract, it is probably too expensive. But the lesson I have learned is that most clients will spend money on such ongoing costs if the benefits are explained and documented to them well. Reputations precede people, so you also need to deliver on those explained benefits too.

You could also offer your maintenance contracts in monthly, 3 monthly, 6 monthly and annual payments. Just like everything else in business, the more the customer is willing to pay up front, they more they save. It's only fair.

Let's just say you charge the contract at $210 per month based on your hourly rate less 30% discount given when a client signs a 12 month maintenance contract.

This would of course cover code-base upgrades on stable releases, which in SS's case, happens 2-3 times a year. If you play it right, you could get out of upgrades in 30-60mins per site. (there can be issues however)

Benefits: It means that you know that when an email comes in asking for a minute text change that takes you 5 mins that you are actually get paid for it. In fact, you already have been paid for it. You know these emails, some are completely un-related to the website or just general strategy talk. It's hard to log time for a phone call, and I would feel like a douche doing so. It also means that you don't need to track time on such trivial things as replying to email.

Disadvantage: Some clients will use more time than the average, so you need to be careful in spelling out what is classed as maintenance, and what is new work, and charge accordingly. The key here is making sure your client has as much info as possible in a clear in concise fashion, backed by verbal explanation. If they don't, invoice arguments may ensue.


There is another option I have heard of that is probably better geared towards freelancers: Buying blocks of time directly related to the freelancer's hourly rate. I don't like this model myself, as it exposes your hourly rate direct to the client.

Again, imagine your hourly rate is $100.

You could offer a block sale structure of your time that the customer pays in advance. E.G.

1 Hour: $100
10 Hours: $900 (10%)
20 Hours: $1700 (15%)
30 Hours: $2400 (20%)

Benefits: Your time is directly attributed to the cost, and directly proportional to the usage by the client.

Disadvantages: Hourly rate is exposed to clients and competitors. You also still have to keep track of every single minute you work AND how many hours a client has saved up/used.


A good starting exercise I used is when I launched a past site, fulfilling my contract to clients expectations, I started keeping track of every thing I did for them post-production. Emails, phone calls, meetings, the odd changes, bugs. I never charged them for it, it just allowed me to start building a profile of how much time I spend on post-production, and putting a dollar value on it. It's a required process IMHO. And one that should be revisited so you can adjust pricing if need be.

Hope that helps mate. It's really better that you just take the above as a guide and mould your own policy based on your own client trends and the direction you want to take freelancing. If you come up with a nifty idea, post a hypothetical example. I'd be interested to hear it.



Community Member, 4 Posts

13 April 2010 at 1:04am

Cheers Aaron. There's a lot to think through there. I'll chew over this sometime.


Community Member, 1 Post

1 July 2011 at 8:00am

Hi Aaron,

How would you charge for major upgrade e.g 2.x to 3.x? Would that still be considered as "maintenance contract"?


Forum Moderator, 435 Posts

18 August 2011 at 11:10pm

Spam post eliminated.

Go to Top