I hired a freelancing company for a project which is worth about $2,000. I asked the owner of the company to produce some work before I can make the first payment request of $700 so he gave me a 10 mock up design of the website within a week. After completing another 20 pages of design in TWO months, he requested another $300 before starting the coding part.

Four months have now passed since the project started and I have paid him in total $1000. The coding is near completion but still needs some work, and obviously bug fixing done before actual testing can take place. A couple of days ago I asked him to put the site on my staging server so my testers can test the site for any issues. His answer was that "I need to pay the rest of the money before it can be uploaded to my server". I tried to convince him that the site is still not complete yet and needs to be tested for any bugs, issues etc. I made it clear to him that I am not going to pay the rest of the money, which is another $1000, without having any knowledge of product quality or any ownership of the finished product. But he did not listen to any of my points and kept on telling me that this is the company policy and he can not change it.

After try to reason which him for a long time, I told him that I would pay another 25% more which is 75% of the total cost if he would upload the untested work to my staging server and allow my testers to test the website. But he would not even agree to my reasonable offer and kept telling me that I need to pay at least 80% which is the $1000 which I have paid plus another $800. I told him that is too much money without anything in my hand. Then he said that I can let my tester test the site on his server and pay when finished. I did not agree to it and since the coversation was not going anywhere we decided to end it.

I need advice from the freelancing community about this issue and how it should be resolved. Am I asking for too much by not paying almost 100% of the cost without having anything in my hands? I had a bad experience with them trying to get them to finish any work. In the beginning they would not even spend serious time on the job, I guess they were busy with other projects. Then finally things have moved and got results but this issue still comes up. It has been over six months dealing with these guys, I had to tell them each and every point of the site to complete it, countless hours and nights without proper sleep. I am feeling a bit frustrated and it seems like we are in a gridlock situation. Please give me your advice on what my options are and how I can approach this problem without having to waste my 6 months of hard word. Note: it's a web application developed using PHP, MySQL

  • 1
    These payment details should all have been spelled out in the contract with the freelancer before any work was started. You did have a contract, I presume?
    – tcrosley
    Jan 21, 2014 at 13:46
  • 1
    Yes, there was a contact but it was long run over by the developer, after taking my first $700 he would takes weeks to make small changes, would not respond to my requests. As the time was passing i felt as i am being draged into this whole thing. He already had my money, now the only thing i can do was try to get the project finished for past 4 months i worker even harder trying to communicate with the mulitple programmers, designers. I found out that this guy have a academy ( a school in India teaching students IT) He was using students to do work. Now he used a ioncube encoder to limit it. Jan 21, 2014 at 23:24

6 Answers 6


The contractor is absolutely right. Why? Putting the website on your server, he's giving you a code or moving the code to your server. And the code is delivered in the end, unless you're paying your contractor hourly. Since we work remotely, we cannot give the code to the client, before we are fully paid for the work (again unless we're paid hourly in which case the client will get what we made within paid hours).

The only solution is to test the website on his server. Why were you against it? For your testers it's the same whether they test on your on his server. For him, it's not the same.

The only situation when you can get your copy of app to test, is when a developer can produce EXE or any other binary file which your testers can test. In case of mobile apps, it's the usual practice the client tests on company's servers. We did the same for multi-million project, and I am doing the same while working as a freelancer.

  • Thanks for taking your time and replying to my question. Can you be kind and tell me then how I or my tester is going to check the quality of the code, make sure it is written the right way, that it is secure, robust. I read this in the forms and article to check these things before taking delivery. I once again thanks for taking time. Note: it's a web application developed using PHP, MySQL Jan 19, 2014 at 21:31
  • 4
    Tester going to check code quality??? It's not testers duty to do that. Tester is supposed to extensively test, test and test app until he discovers a bug or slowdown or bad implementation. And that is where tester's role ends. If you wanted to have someone examining the code, you should have told that to your contractors that there will be code scrutiny in several phases of the project. Did you do that? If not, you know for the future. Set milestones, then when the milestone is reached, pay it and get a code for inspection. No contractor will refuse this and should not refuse it.
    – Peter MV
    Jan 20, 2014 at 7:40
  • Also you can set hourly work which many Freelancer websites support. Working that way the contractor is obliged (not by rule, but my professional behaviour) to give you code at any time since you are paying him hour by hour. Again, if in such case a contractor refuses, then it's bad contractor and break the contract immediately. All this is valid if you two agreed on code 24/7 availability prior to project commenced.
    – Peter MV
    Jan 20, 2014 at 7:42
  • I paid the rest of the money to the developer and he still put ioncube encryption. I paid the money to him using PayPal because he would not take money using elance milestones saying that he does not do work with elance business model. This is very bad because I have spend lots of my time and effort and money trying to get this project. I took your advice and Paid him bit I had no idea that he could do something like this. Jan 21, 2014 at 16:48
  • Is there anything I can do now or have I just lost my money and one year of hard work? I thank you guys for taking your time to help me here. Jan 21, 2014 at 16:50

You seem frustrated, but let's look at this a bit more objectively.

If you were paying for any kind of custom work to be done on your home - by this I mean tile cutting, countertops, carpentry, or picture frames, or even blinds at Home Depot, nobody's going to do anything for you without putting down a deposit. No one wants to ever run the risk that you have them start on work that they can't re-use for anyone else's home if you decide to back out. The materials ... gone. The labor ... the employees still have to be paid.

I surmise that you think the custom-work paradigm is supposed to be any different for someone performing web site development!

You didn't offer a deposit, nor did the developer ask for one (unless you excluded that part). Let me tell you, starting new work for a client is risky. It's even more risky if the person doing the work doesn't live or have their offices near you. If you decided not to pay, it'd usually cost more to get the courts involved than to just grin and bear it. So a good faith deposit at least allows your contractor to know that you're not COMPLETELY full of hot air. (I'm not saying that you are, i'm just giving an example)

Somewhere in the middle of the work being done, you asked the contractor to allow you to involve a "tester". Was this in your original agreement? Probably not. Additionally, you wanted to have the contractor release code to you that wasn't completely paid for. But when's the last time you walked into a jewelry store and "borrowed" a ring, or a necklace; and subsequently, took it home without making payment in full to see if the person that you bought it for would like it? You might think it's real simple but just as you could have disappeared with the jewelry store's stuff, you could have disappeared with your contractor's unfinished work and the contractor would have little recourse because you've probably never even met face to face. I bet your contractor doesn't even have an address for you, and maybe even a full name.

I don't want to imply that the behavior above is characteristic of you personally, but such behavior happens every day.

  • I think your home construction analogy actually favors the OP's concerns. Where I live in the US (New Jersey), state law says that you may not make the final payment until the work is complete and approved by Municipal building inspectors. Deposits and interim payments can be made but no the final payment. Contract software development can be tough to navigate for exactly these reasons. Both sides have risk and it really should be clearly spelled out in the contract.
    – cdkMoose
    Jan 21, 2014 at 17:32
  • cdkMoose, that NJ example actually makes sense. It keeps the contractor from "disappearing" when shoddy work has been performed! But in that same example, the contractor can attach a lien to the home, because it's not going to move, if payment isn't made. It's not the same case with this kind of work, where the buyer could tell you they're in another country but actually live next door, or vice versa. All I know in the end is that I can't feed my family with an IOU.
    – Xavier J
    Jan 21, 2014 at 17:37
  • Agreed, but by the same token, OP can not place a lien or any other legal recourse on this freelancer to make sure the work is good after the money is paid. This is why the contract is so critical. I tend to be cynical sometimes, but I assume that after I make the final payment, I can not count on anything from the contractor.
    – cdkMoose
    Jan 21, 2014 at 17:41
  • A contract doesn't translate to much in the global marketplace. It's really more a guideline to be hopeful about than a strict agreement. I'm in CA. Even with a contract, if I need to sue a customer in NY, I have to fly to NY to do it, or hire an attorney there. Those costs alone sometimes aren't worth it -- and if I'm in NY, I probably can't be billing very much time for my other customers!
    – Xavier J
    Jan 21, 2014 at 17:46
  • 1
    Under stood, but in the absence of a contract or some formal mutual agreement, this is an unsolvable problem. How does the buyer make sure he is getting what is promised before handing over his money and how does the seller make sure he gets paid for what is delivered. Neither side has any leverage after the fact and neither has a higher priority over the other. The contract is more about setting expectations than any future lawsuit which I will agree will be hard to pursue.
    – cdkMoose
    Jan 21, 2014 at 18:04

As a freelancer or a developer, you need some leverage in terms of business. If you move the code to the client's server, then the developer's role is almost finished and he is done for.

You have to set up milestones and decide on the cash you send per milestone completed.

I do my business on Elance and Odesk. Me and my clients set up milestones and the payment is made accordingly.

That is the tradition of the freelance community


I do not think the designer/developer is unreasonable. You can steal his work without completing payment for it if he hands it all over to you. Clients did this even when I was working for an experienced ad agency.

It seems very improbable that if he completed the project he would refuse to give you the files after payment. That would destroy credibility for his business and presumably, even in India, expose him to terrible reviews. What would he want with your files that he would keep them? There's no benefit to him.

However, if he has stopped working on the site, my guess is that you had too many mid-project changes, and the project is already unprofitable for him. Your wording on this is brief and somewhat cagey. You can not expect any firm to agree to a project and then accommodate unlimited fine-tuning for the same price.

In case it is a Wordpress project and you wind up unsatisfied, you might consider looking at purchasing one of the many affordable customizable templates from one of the hundreds of talented template library development firms out there that fits your needs and save further frustration and sleepless nights.


Barring that solution, I recommend that you agree to his proposal to test it on his servers, request no more changes that are not actual bugs or spelling and grammar errors that HE made, and if the site works as expected, take it and pay for it.


Hopefully you have spelled out in advance what tests must be passed - what browsers must read it without error, and whether or not there should be optimization for devices.

My guess is that you yourself would not be able to evaluate the code quality. If that's the case, I wouldn't worry about it as long as the site works and neither you nor anyone else plan to modify the code any time soon. The people who come to your site are not going to view the source code and make "tsk!" noises. If you are able to evaluate the code quality, or know someone else who is, that also can be done when he sets up the site for review on his servers. However, unless he agreed to a formalized standard of coding in advance, he is not obligated to write code according to anyone's preference but his own, even if it is below standards.

Additionally, as alluded to by another answer, these three things are separate:

  • code quality
  • security
  • testing the site

For future sites (or perhaps, future readers of this question), choose a firm or freelancer who has a contract with steps clearly defined:

  1. what is to be done
  2. by when
  3. when payment must be made to continue on to the next step
  4. what is to be expected if a step or a payment falls behind
  5. exactly what the security requirements are ("code is secure, robust" is not adequate)
  6. what browsers the site will work on
  7. how it will work on devices
  8. how mid-project changes will be handled and billed
  9. how testing and bugs will be handled
  10. what constitutes final project closure - usually, when both parties agree that all obligations above have been fulfilled, and files are delivered.

For coding quality, rather than outlining standards formally, it would be best if you or a qualified friend examine the code in other work the firm or freelancer has done. If you like what you see, your own site will probably be comparable. If not, consider another firm.


This is a very tough situation and may be too late in your case. The solution to this dilemma is actually at the very beginning of the process. Together, you need to document the deliverables and payments for the work. Both sides have legitimate concerns about the loss of leverage after their last step: buyer making the final payment or seller delivering the finished product.

This document should spell out timelines/milestones, payments and mutually agreeable definitions of "complete" at each milestone. It has been pointed out here and on other questions, that this document may not hold up in court or that going to court to achieve settlement may not be financially viable for either side. However, this document will establish expectations on both sides and hopefully establish a better basis for a satisfactory completion.

FWIW, if either side reneges on the agreement, there may not be much recourse. Chalk it up to experience.


This is very bad experience with new developers. As you dont know much about that developer and their strength and ethics.

One thing to be kept in mind every time when you post a project on any freelancing site you must complete each and every milestone in that site only. If you get stuck that site may help you.

I am agree with Peter developer is right in one way that he will not provide source code until you pay full amount. But you both need to communicate and find another option like test on their server and for testing coding standard you might ask for a part of project`s source code. If developer is genuine he wont denied it.

One more thing There are plenty of developer I know who just take 35 to 50% upfront and ongoing projects and remaining amount after completion of work. you should contact such team and or mention this things in contract clearly.

  • Thanks for reply, That was the agreement in the first place to pay the developer $700 which is about 35% and pay rest when project is completed, however i did not mention that he has to upload the code on my server for testing purpose. Is that reasonable to ask the developer. I think it is since i as client am willing to pay 35% to 50% upfront, the developer should not mind getting the other half after completion which testing done on my server. What do you think? Jan 23, 2014 at 18:22
  • The reason behind the coder do not upload code to your server is they are feeling insecurity of remaining payment. to solve this you should divide the task in milestone and ask them to upload code upto the milestone on your server and you should pay payment for that milestone. this is how we are working. we take 35% as upfron then according to milestone and last 10% is required by client to pay after completion of the work.
    – Blaze-Core
    Jan 24, 2014 at 4:43

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.