I am working on an iOS app as a freelancer. I am confused whether or not to charge my client for converting the app so that it's compatible with iOS 6 and iOS 7.

How should I determine whether or not I should charge to make the app work in iOS 7?

  • 1
    Did you build the iOS 6 app? This is important to my answer because if you did, you would learn the lesson of setting up a maintenance agreement.
    – MDMoore313
    Commented Sep 18, 2013 at 19:10
  • yes i did made the iOS 6 version...!! i dont hv any maintenance agreement with the client. Should i charge a fee in this case?
    – daemon22
    Commented Sep 18, 2013 at 19:36
  • 2
    When you built the iOS 6 app, was iOS 7 around, or close to release (that is, how reasonable would be the expectation that it would work on both)? Also, what does the contract say? Is it iOS 6 exclusive? Are upgrades mentioned?
    – Oded
    Commented Sep 19, 2013 at 7:14

4 Answers 4


If I'm working hourly, this is a simple answer: talk to my client, let them know how big the changes are expected to be, and charge for my time if the client gives the go-ahead.

If I was working on a fixed price, I would look at my contract. If it doesn't mention this case, I'd figure out what I want to do (either answer has pros and cons) and update my contract immediately. Then I'd do the update since it was my fault for not specifying.

When working mobile you need to figure out how far back you support, and what you do if a new version drops during development and spell that out in the contract. The same applies to web developers and browser versions. Be willing to bend on it ("I REALLY need this to work in IE 6" is an acceptable response from them, but it opens up the dialogue of how much extra money you get to charge to make that happen), but be clear where the lines are drawn.


Absolutely YES.

When you deliver the product you may offer a free support which counts only for the bugs appearing in the current version of OS (or older). iOS 7 is a new system and upgrading to it cannot be free. NEVER allow the clients to persuade you that you should do free bug fixing for things that appeared after you have delivered them the final version.

It is up to you whether you will charge them fixed-price fee or hourly work.


I wouldn't charge them a fee for this upgrade, primarily to prevent looking like I am one of those contractors that are always looking to charge more for something (as in 'wow! this car was a steal! Hey wait, what kind of gas? $50/gallon?!?!?!'), and I would chalk it up to a lesson learned on my part, it could be perceived as a 'hidden cost' to the client and I like to avoid even the perception of those like the black plague.

I actually forgot to arrange a maintenance agreement with a client recently for a website I built for them. I explained that after this year (which is year #2 btw), there is a maintenance fee, not only my cost for updates but also hosting fees, domain name, etc. I didn't eat a lot, but it was enough for me to probably not forget to do that again. My contact was very understanding about this.

You should mention though that if they choose to go through with another upgrade (especially if it's a feature-add and not just a compatibility check) that it won't be free, and negotiate a cost. Maybe even look into some subscription models, just a thought.

  • Your way of thinking "I am contractor who always wants to charge for more money" is totally wrong. Test this: go to groceries and take 2 apples, return later and take another apple - will you be charged? You as a contractor are selling your skills, you can sell them in a package or per hour. But anyhow you must charge your time or you will eventually fail. The only time when you should not charge your client is when you told him "I will do it ALL for $$$". all extra is to be charged. If you want to do free work, then do charity work, but do not ruin your business.
    – Peter MV
    Commented Sep 22, 2013 at 9:02
  • @PeterMV that's the thing: Not only am I a contractor, I'm also a consultant: That is, I explain to people (mostly non-technical) a complete solution to take care of what they need, and a good estimate of the cost associated. What makes me good at it is that I think of the $ questions beforehand, because that's the bottomline. They don't know 0s & 1s but they know value added or time saved. A couple benefits of this are 1)*Retaining* a client by being frank about the cost upfront and 2)Possibly saving the client money and earning residual income for myself by selling maintenance subscriptions.
    – MDMoore313
    Commented Sep 23, 2013 at 12:49

Whether the project you're working on is fixed price or hourly, you should look at your contract first and see how it was worded. If the terms of the contract say that you're building an application that is to be targeting iOS 6.x then that's what you should be delivering. If your client wants the application to be iOS 7 compatible then you should talk with them and amend the terms, possibly including the compensation, of your contract to include support for iOS 7.

How to amend the terms of the contract is entirely up to the contract as well. Most contracts have clauses in them for the process by which future amendments are made. If your amendment process outlines that any changes could alter compensation then you might be able to charge more so long as it's justified. If your contract doesn't have a process for amendments outlined then you'll have to work with the client and get something in writing that additional work will cost more money.

If you don't have a contract and/or your contract doesn't specify that the app be built for iOS 6.x then you might have to just do the work for free so long as it fits within the initial agreement, however that was made.

In the future, it might be worth setting up a maintenance agreement or retainer for any future upgrades or bug fixes. Be sure when setting up this agreement that you specify what does and does not count as maintenance to avoid having clients trying to get you to implement large new features and calling it a bug fix. You should also include language that outlines that any new feature requests that are not outlined in your initial agreement, such as upgrading to iOS 7 if it would be a lot of work, require a new work order or contract.

Contracts are a tricky business but they exist to protect both the client and the developer. Be sure you spend a good amount of time writing clear contracts so that it's not a question in the future of whether or not to implement something. The contract should be able to answer any questions like this.

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.