I have a client that asked me to write code for them. Specifically (from the contract):

The Client is hiring the Developer to do the following: Point a form to send a user entered text field to custom API [ed: random API request to third-party server]. The URL and port need to be configurable. Display the result on the same page using JS code.

The client has paid me 50% upfront, but the script still doesn't work due to a technical problem that, frankly, is a bit above my level of expertise. Moreover, the problem stemmed from the API being private until I wrote the first script.

The only solution I see is to build a larger system than what I had originally budgeted, and because of it, the job will no longer be profitable.

What should I do? Should I ask for more money? If so, how?

  • Heya @Blacksun, I heavily edited your question to remove many of the technical nitty-gritty; I think it was adding too much noise to the heart of the question. – Chris Forrence Sep 1 '17 at 15:58

I'm not certain what you are asking.

You have a contract stating you'll complete A for a specified sum.

You later discovered completing A will take more time than you estimated.

You have 2 options:

  1. Stick to your contract and complete A as you agreed and learn to better understand the details of project before providing a pricing.
  2. Tell the client you underestimated and would like to revisit pricing. This often upsets clients. However, sometimes a client is amenable to pricing discussions if they understand full scope was not possible at the time of an estimate.

It's not clear if your contract included an estimate or a quote for the pricing. They are different.

If it was a quote you would be obligated to finish the project for the agreed upon pricing, even if you discovered you underbid. If the client has a contract for $x and they don't want to pay more, you're stuck.

If the provided pricing was an estimate, the client should be fully aware that pricing was subject to review and there would be little issue revisiting the subject.

  • It was a quote. – Blacksun Aug 25 '17 at 18:19
  • Then you're probably stuck. I mean, you can bring up pricing, but I'd expect to get shut down. – Scott Aug 25 '17 at 19:55

I guess you're going to lose money on this one. If a client ever has the ability to add unknown requirements at a later time after you sign a contract, then doing a fixed-price contract is a very unwise way to go. You can only do a fixed price for a fixed scope of work. Otherwise, you bill for your time and the client can introduce as many surprises as needed.

  • Definitely true, he keep adding additional tasks. – Blacksun Aug 30 '17 at 18:56

Another option you can try is to evaluate whether the extended work done for this can be re-used or scaled for other projects. Then, try to replicate getting clients with the same esoteric API needs. You can then justify not charging your client more, with the understanding that the "free work" you put in can be monetized later from other clients with the same need.

Also, if you used a standard contract online, there is usually a clause where if the client has any non-public information that you need to develop with, such as a private API, they were required to provide that to you. This can be a point from which you re-negotiate a higher sum, due to the client's omission from what was agreed upon.

  • Thanks for the reply, actually the problem is solved. He accepted another quote since scope of work has changed. – Blacksun Sep 4 '17 at 0:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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