🐈
» Forums » Freelancers » Why you should avoid Fixed Priced, And use mu...
Page options
Mostafa's avatar
Mostafa A Community Member

Why you should avoid Fixed Priced, And use multiple platforms.

Ok so, I have finished a project for a client and I have to pay him money!

Yes I get punished for finishing a project, thanks for upwork, fixed prices, milestones and Dispute system.

I accepted the project based on requirements and agreed on the price, my only mistake I did was providing milestone for feature delivery (which I delivered on time), while the client used this to try to take the source code of the finished project, with 50% payment, without approving any of the work, claiming that: 

"No, I dont want this last milestone it was your decision to finish it"

I went to Dispute and AAA with confidence that I have delivered a project on time.

The AAA (so called neutral) does not allow you to submit more than one file (unless you pay more)

does not provide any sensible reason for the Award, for me seemed like the arbitrator does not understand or read the case, he/she just decide to take one side and adopt all his claims (probably based on names?) , I now realized why other people consider it a "lottery process" instead of arbitration.

The arbitrator was very generous with the client so he did not just give him the escrow, he also made a decision that I should pay the client (money back).

Man who are you to decide about my money?

This is totally non sense, and now I dont know if my top-rated upwork profile worth this small amount of money I have to pay, I can take paying money but I do not take this amount of non sense.

My case is clear:

- When I deliver a project  client should either approve  it or request changes not asking for parts of it because this is software and everything is linked together.

- Imagine I did not deliver the whole project the client would say "this is late delivery" and if it was delivered he can say "no I don't want this delivered", this is so good platform for non serious client.

- Upwork agent agreed that a milestone does not change the contract to sub contracts for client to choose which part to take.

 

I believe, If you have talent you should success anywhere, so my advice is to invest on more than one platform, may be they all like each others in terms of disputing in favor of clients, but having multiple platforms will give you more freedom to switch. When the platform becomes a platform for losing money/time.

105 REPLIES 105
Tiffany's avatar
Tiffany S Community Member


Mostafa A wrote:


Thanks, it is amazing how you know what happened more than me, 

I will make it simple for you,

- The project has initial requirements broken down by me to 4 milestones.

- The 4 milestones were finished

- The client released 2 milestones + 1 milestone in escrow + 1 milestone not funded yet (debugging).

- The client wants the source code of the finished 4 milestones. Claiming he did not want the last 2 milestones

 

Yes, this very clearly explains what you did wrong--if 2 milestones were released and a third funded, then you should have been working only on that third milestone. Completing the project ahead of the milestones completely defeats the purpose of a fixed price contract.

 

Thats what happened .. the following is how the Fixed Price system ambigiouty helps one side against another:

 

But, there is no ambiguity. Upwork warns in about 20,000 places not to work except on a funded milestone. If you've ever been to these forums before, you'll know that experienced freelancers caution newcomers about this on a near-daily basis. And, of course, reading Upwork's TOS and help materials that describe how fixed price contracts work would have avoided this issue. Terms don't become "ambiguous" simply because you opted not to read them.

Mostafa's avatar
Mostafa A Community Member

What you are saying is that if the project is broken down to milestones that makes the client has the right to take one milestone and end the contract and take the money in the escrow back (and also take money from freelancer pocket). and also this doesnt make the milestones sub-contracts? 

Then what is remained to consider them sub contracts?

It doesn't really matter who has good faith or who was smarter in dispute the dispute is finished let's talk about the system

Let me give you real example to show you ambigiouty:

client: "I did not ask you to work on last milestone, it was your decision to finish them"

Me: "It is my decision or your requirements?"

The client having the milestones model in his mind, although I have set these milestones roughly by myself to breakdown the project and estimate delivery (they don't actually have any requirements as requirements were set once in the begining of the project). He was informed they are rough and informed that I have merged the last two because they are related.

But he has chance to stick to the milestones model because it is in his favor, I guess if I have delivered only one milestone he has a chance to say that the second milestone deadline is not met. or he bring back the initial requirements, he has unlimited options.

I cannot win the dispute but I can warn other freelancer that this Fixed Price model will work only if the client has good faith.

Amanda's avatar
Amanda L Community Member


Mostafa A wrote:

What you are saying is that if the project is broken down to milestones that makes the client has the right to take one milestone and end the contract and take the money in the escrow back (and also take money from freelancer pocket). and also this doesnt make the milestones sub-contracts? 

Then what is remained to consider them sub contracts?

It doesn't really matter who has good faith or who was smarter in dispute the dispute is finished let's talk about the system

Let me give you real example to show you ambigiouty:

client: "I did not ask you to work on last milestone, it was your decision to finish them"

Me: "It is my decision or your requirements?"

The client having the milestones model in his mind, although I have set these milestones roughly by myself to breakdown the project and estimate delivery (they don't actually have any requirements as requirements were set once in the begining of the project). He was informed they are rough and informed that I have merged the last two because they are related.

But he has chance to stick to the milestones model because it is in his favor, I guess if I have delivered only one milestone he has a chance to say that the second milestone deadline is not met. or he bring back the initial requirements, he has unlimited options.

I cannot win the dispute but I can warn other freelancer that this Fixed Price model will work only if the client has good faith.


He's not taking the money from your pocket when it's in escrow. Unless you deliver the terms of the milestone, you have no claim to that money in escrow.    I am getting the impression this is an issue of language barrier. Is English your second language? This may be where the communication problem is arising.   It just seems like along the whole way you and the client were not on the same page, as their expectations and your expectations turned out to be entirely different. You say things were set right from the beginning. Then why does the client expect something else? Something wasn't communicated effectively between the two of you at the start, and it sounds like lack of open and frequent communication along the way to check-in and keep the client abreast of your progress. 

 

If you started on the third milestone without finishing the second, then yes, that was your decision. Think of milestones as tasks to be performed. You have a contract, and that contract specifies three tasks. At any point, the client may decide he only needs 2 tasks and so decides he is not going to fund or require the 3rd task from you. So he is not going to pay you for it if he doesn't need it.  You need to realize and accept that contracts actually CAN change to a certain extent. You can also lose a contract - which you did.  He did not "release half the payment and expect full work." He released payment for the specific task and expected you to deliver the rest of the deliverables on that task, which you did not and refused to. 

 

If you want to work the project as one single task (which is such a bad idea, but seems to be what you want) then simply set up one milestone at the end with all the deliverables and only request payment when the full project has been delivered.   

 

The system doesn't need to change. Many of us work quite well in fixed price projects with no problems. The problem is still your lack of understanding of how to set up a fixed price contract in a successful way and, frankly, it seems like you don't really understand how to communicate and work with clients/customers in an effective way.   It seems like you have some good reviews and successful projects though, so I would encourage you to work on your communication skills with clients and either change to only working hourly or learn to set up clearer expectations and milestones with fixed price models.   The "system" isn't going to change. So you need to learn how to use it properly to your benefit. 

Mostafa's avatar
Mostafa A Community Member


Amanda L wrote:


He's not taking the money from your pocket when it's in escrow. Unless you deliver the terms of the milestone, you have no claim to that money in escrow.   

Like you said unless I deliver the terms in the milestone, I already delivered the milestone in escrow and thats why I claimed it!

 

I am getting the impression this is an issue of language barrier. Is English your second language?

frankly, it seems like you don't really understand how to communicate and work with clients/customers in an effective way.

Not sure how you got this impression I think if I have language barrier we would not have this conversation 🙂 , FYI I am a full time freelancer since 2009 I am top rated on Upwork for the most of time with 100% job success before dealing with this client.

If you have problem understandin the case just take it easy other freelancers will understand what I am talking about.

 

If you started on the third milestone without finishing the second, then yes, that was your decision.

Technically it is not possible I have finished the second and third milestone, did not skip any, I finished the project

 

You need to realize and accept that contracts actually CAN change to a certain extent. You can also lose a contract - which you did.  He did not "release half the payment and expect full work." He released payment for the specific task and expected you to deliver the rest of the deliverables on that task, which you did not and refused to. 

This is the interesting part, thats the PURPOSE OF MY POST, "contracts can change", wow, a party in a contract can change it, he can take part of his requirements, that is what I have to warn fellow freelancers. 

If you want to work the project as one single task (which is such a bad idea, but seems to be what you want) then simply set up one milestone at the end with all the deliverables and only request payment when the full project has been delivered.   

You can review the dispute, upwork agent agreed that breaking down the project to milestones does not affect the original contract.

The system doesn't need to change. Many of us work quite well in fixed price projects with no problems.

 

Yeah it can work better for small amount of work (up to 100$?), but here I provide a case where it would cause troubles with software product project.

There is nothing wrong about re-thinking and improving the system and when you say "Payment Protection" you really provide this "Payment Protection"

Amanda's avatar
Amanda L Community Member

One additional response: a sub-contract refers to when you actually retain someone else to complete a portion of your contract. It does not refer to breaking a contract up into phases or tasks. A sub contract is when I, a freelancer who has a contract with a client, hires an assistant and sub-contracts out a portion of the work so I can complete the client's contract with me. 

Mostafa's avatar
Mostafa A Community Member


Amanda L wrote:

One additional response: a sub-contract refers to when you actually retain someone else to complete a portion of your contract 


Yeah I meant "divisible contract" or "multiple contracts", if it was not clear I meant by "sub contracts", thanks for that correction.

Richard's avatar
Richard W Community Member

Hi Mostafa. You're correct. Each milestone is like a separate mini-contract. In my opinion "milestone" is not a good name for it. Nevertheless, a freelancer who understood the Upwork system would not have made the mistake you made. You should not have started on the second milestone's work until the the client activated the second milestone. And so on with the third and fourth milestones. At the end of each milestone you should have delivered the code that you'd written up to that point. Then, if the client ended the project after one, two or three milestones, you would not have done any unpaid work. If you were not prepared to work in that way, you shouldn't have agreed to break the job into "milestones".

Mostafa's avatar
Mostafa A Community Member


Richard W wrote:

Hi Mostafa. You're correct. Each milestone is like a separate mini-contract. In my opinion "milestone" is not a good name for it. .


Hi, If milestones are mini contracts

what is the value of agreeing on requirements document and Quote/Fixed Price at the begining?

what is the meaning of the upworks contracts which says:

"You accepted Client's offer for a $Amount  fixed-price project"

Additionally this was discussed in dispute and the agent replied me about it when I asked about any documentation:

Agent : "Mostafa, it does not change the contract to sub contracts. a milestone is a payment that will be made once a certain part of the project is turned in" (Posted link to dispute messages but moderators dont like it)

According to this common sense I requested the payment of finished milestones.

Jonathan's avatar
Jonathan H Community Member

Milestones dont effect your original contract neccesarily, but they DO provide additions to it, they stipulate what should be a clear deliverable for a set price. 

 

You should not be working on a milestone that has not yet been approved by the client. 

 

Your chat has been removed, but by the sounds of it you worked further ahead than the client asked you to? 

 


Hi, If milestones are mini contracts

what is the value of agreeing on requirements document and Quote/Fixed Price at the begining?

So you can lay out the terms of what the client wants and what you both agree to for the project, you can then break those terms down into smaller 'chunks' for each milestone.

 

It is your responsibility to agree suitable milestones with the client that work with the project.

You complete milestone 1 - hand work to client - get paid and wait for client to activate next milestone, 

complete next milestone - hand that portion of work to client - get paid and wait for client to activate next milestone. (and so on and so on for each further milestone)

 

 

 

ETA - I have just read that you were supposed to supply the code for milestone 2, which you failed (and refused?) to do? If this is the case then you have not maintained your side of the deal, so it all sounds pretty reasonable really.

 

 

 

 

 

 

Petra's avatar
Petra R Community Member


Jonathan H wrote:

 

Your chat has been removed, but by the sounds of it you worked further ahead than the client asked you to? 


Essentially he did milestone 1, handed over the source code for milestone 1, client approved it. He then completed milestone two and then some more, client even released the funds for milestone 2, but freelancer refused to hand over the sourcecode for milestone 2 (which was PAID), and then it went downhill fast from there.

 

I am in no was even slightly surprised by the outcome.

If you want payment for milestone 2, you hand over the code for milestone 2. Period.

 


Jennifer M wrote:

Hope it is more clear


lol this is hilarious considering this is not what the client said at all.


I know, right? I still have the whole thing open and had to go back to see if maybe I remembered everything all wrong...

 

As I said to Preston right at the beginning - the OP presented a filtered version of one of 3 sides....

Jonathan's avatar
Jonathan H Community Member


Petra R wrote:

Jonathan H wrote:

 

Your chat has been removed, but by the sounds of it you worked further ahead than the client asked you to? 


Essentially he did milestone 1, handed over the source code for milestone 1, client approved it. He then completed milestone two and then some more, but refused to hand over the sourcecode for milestone 2, and then it went downhill fast from there.

 

I am in no was even slightly surprised by the outcome.

If you want payment for milestone 2, you hand over the code for milestone 2. Period.

Well, in that case it is no suprise at all!!

 

Especially given the fact it was handed over for milestone 1! That just reinforces the fact it should be handed over.

Had he of said from the start that no code would be handed over until everything is complete there would be no issues. BUT, he didnt!

 

 

Mostafa's avatar
Mostafa A Community Member


Especially given the fact it was handed over for milestone 1! That just reinforces the fact it should be handed over.

Had he of said from the start that no code would be handed over until everything is complete there would be no issues. BUT, he didnt!

 


Talking about Source Code: I understand this might sound strange for you because you did not deal with software projects before, (software projects are different from writing), I don't need to say  to a software developer that when you are working on a whole project (not fixes or support), you should not request/give source code without having at least approval that work is finish , otherwise you are ready to give this work for free.

Yes, I have handed the source code for milestone 1 but that was after payment released, client never asked source code before releasing money because he understands how things work.

FYI, I am 18 years in software business, 10 years on upwork, never seen a client asking source code while he is not approving that this work is fininshed, not even willing to review the work.

Jennifer's avatar
Jennifer M Community Member


Petra R wrote:


I know, right? I still have the whole thing open and had to go back to see if maybe I remembered everything all wrong...

 

As I said to Preston right at the beginning - the OP presented a filtered version of one of 3 sides....


yeah, if I'm picking up the right vibe, I think the freelancer messed up the way he set up milestones, and he realized it after milestone 2. Milestone 4 was supposed to be for bug fixes, but the client was releasing escrow on milestone 1 and 2 contingent on the freelancer fixing bugs. The freelancer saw that he might not get paid for milestone 4 because he was fixing bugs already, so he tried to hold code hostage in an attempt to secure the last milestone. Unfortunately, this was his mistake and what he did to try to fix it won't work.

 

It's kinda like when a writer sets up part of the total pay in a final milestone labeled "revisions" and the client just takes the draft and edits it themselves, so no final revision round is necessary. Client takes off and freelancer is angry that they didn't get paid in full.

 

Freelancers really need to be smart with escrow and ask for fully funded milestones. That whole "revision milestone" is a bad idea. I think freelancers do it this way to get money out of the client faster, but it bites them in the butt.

Mostafa's avatar
Mostafa A Community Member


Milestone 4 was supposed to be for bug fixes, but the client was releasing escrow on milestone 1 and 2 contingent on the freelancer fixing bugs. The freelancer saw that he might not get paid for milestone 4 because he was fixing bugs already,

Again you insist to assume things about the case that are not true, how would you know about these details, you are trying too hard 🙂

All I wanted is just apply the upwork terms > REVIEW FINISHED WORK and approve or request changes.
I never wanted to work on the last milestone, and asked the client to approve the third milestone (or request changes) and I will give the source code immediately like we did in first mileston!

I already submitted the full text of the dispute , not sure why do you guys insist that I try to filter it and post only my point of view?

Amanda's avatar
Amanda L Community Member


Jennifer M wrote:

Petra R wrote:


I know, right? I still have the whole thing open and had to go back to see if maybe I remembered everything all wrong...

 

As I said to Preston right at the beginning - the OP presented a filtered version of one of 3 sides....


yeah, if I'm picking up the right vibe, I think the freelancer messed up the way he set up milestones, and he realized it after milestone 2. Milestone 4 was supposed to be for bug fixes, but the client was releasing escrow on milestone 1 and 2 contingent on the freelancer fixing bugs. The freelancer saw that he might not get paid for milestone 4 because he was fixing bugs already, so he tried to hold code hostage in an attempt to secure the last milestone. Unfortunately, this was his mistake and what he did to try to fix it won't work.

 

It's kinda like when a writer sets up part of the total pay in a final milestone labeled "revisions" and the client just takes the draft and edits it themselves, so no final revision round is necessary. Client takes off and freelancer is angry that they didn't get paid in full.

 

Freelancers really need to be smart with escrow and ask for fully funded milestones. That whole "revision milestone" is a bad idea. I think freelancers do it this way to get money out of the client faster, but it bites them in the butt.


If a client decides they want to just take my first draft and do revisions themselves, I'm fine with that. At least in my line of work. In fact, clients often take my work (complete with revisions) and come back to me to pay me to revise it to use again in another application, so, it really depends on the field how you set up the milestones. 

 

I agree with your assessment though. However, as freelancers we have to live with the uncertainty that at any time any client can choose to discontinue work with us. That's also why all my contracts (at least outside of UpWork) have a 30 day clause in them to complete work, turn it over, and phase out the contract. On UpWork I'm careful to set up milestones in such a way that if the client decides they need to walk away, I'm not damaged by that. It serves a business so much better to try and work with clients than draw a line in the sand and become adversarial, as the OP did. 

Jennifer's avatar
Jennifer M Community Member


Amanda L wrote:


If a client decides they want to just take my first draft and do revisions themselves, I'm fine with that. At least in my line of work. In fact, clients often take my work (complete with revisions) and come back to me to pay me to revise it to use again in another application, so, it really depends on the field how you set up the milestones. 

 

I agree with your assessment though. However, as freelancers we have to live with the uncertainty that at any time any client can choose to discontinue work with us. That's also why all my contracts (at least outside of UpWork) have a 30 day clause in them to complete work, turn it over, and phase out the contract. On UpWork I'm careful to set up milestones in such a way that if the client decides they need to walk away, I'm not damaged by that. It serves a business so much better to try and work with clients than draw a line in the sand and become adversarial, as the OP did. 


Right, if you're charging an additional fee for revisions, then setting up an additional milestone makes sense. But most writers will quote a price and part of it is "revisions" and they don't get paid in full due to the way they set up milestones. That's why I tell clients that I will do escrow, but they are paying me more than hourly due to me tacking on additional money for revisions if necessary. They don't get that money back either if they are fine with the draft. It's all or nothing. I tell them that hourly will be cheaper, so it's up to them how they want to work but escrow will always cost more.

 

The only real uncertainty is a chargeback, but I am confident that 95% of the time, the client won't get their money back if they try to dispute or arbitrate. This guy's mediation went totally different than mine, because he refused to give up code on a milestone. My mediation is never about delivery, it's just the client doesn't want to pay cuz he doesn't like the work. But again, I won't work without full escrow either, so I am disputing the full amount AND I know in my head that even if I compromise and take a payout, I'm still getting paid for my time. Escrow with me is always way way more expensive because I have all of this calculated out.

Amanda's avatar
Amanda L Community Member

Yes, I agree. Fixed-price escrow is actually more expensive for clients working with me as well. Hourly is actually a much better deal in many instances, but for some reason they think they will get swindled. And certainly I can see how that might happen, but if you manage your consultant carefully, it shouldn't really. 

 

You really do have to be super careful with fixed-price contracts in terms and deliverables and payout schedules. I think a lot of people get by on trust with fixed-price, and 95% of the time it all works out okay. Then the other 5% come here to complain about mistakes that could have been avoided and try and blame it on the "system."  I hope this thread has helped some people learn some things about how to set up effective fixed-price contracts. I think there's a lot of good advice here. 

Tiffany's avatar
Tiffany S Community Member


Amanda L wrote:


If a client decides they want to just take my first draft and do revisions themselves, I'm fine with that. At least in my line of work. In fact, clients often take my work (complete with revisions) and come back to me to pay me to revise it to use again in another application, so, it really depends on the field how you set up the milestones. 

Amanda, what often happens to new writers on Upwork is that the client escrows 10-20% of the contract price for the first draft and the bulk of payment is reserved for the final draft. Then, when the first draft is received, the client releases the $10 (or whatever), closes the contract, and walks away with a product on which the writer has done 90%+ of the work.

Amanda's avatar
Amanda L Community Member


Tiffany S wrote:

Amanda L wrote:


If a client decides they want to just take my first draft and do revisions themselves, I'm fine with that. At least in my line of work. In fact, clients often take my work (complete with revisions) and come back to me to pay me to revise it to use again in another application, so, it really depends on the field how you set up the milestones. 

Amanda, what often happens to new writers on Upwork is that the client escrows 10-20% of the contract price for the first draft and the bulk of payment is reserved for the final draft. Then, when the first draft is received, the client releases the $10 (or whatever), closes the contract, and walks away with a product on which the writer has done 90%+ of the work.


And if they agree to that then I'm not sure I have much pity for them. 

Mostafa's avatar
Mostafa A Community Member


Jonathan H wrote:

You should not be working on a milestone that has not yet been approved by the client. 

Your chat has been removed, but by the sounds of it you worked further ahead than the client asked you to? 

We have already covered this point, all milestones I worked on was created by me for estimation and was agreed and funded by client. So actually it was not choice , I HAD TO WORK ON THEM to deliver on time, otherwise the deadline would have been missed and secondly the two milestones are too much linked together.

Petra's avatar
Petra R Community Member


Mostafa A wrote:

Jonathan H wrote:

You should not be working on a milestone that has not yet been approved by the client. 

Your chat has been removed, but by the sounds of it you worked further ahead than the client asked you to? 

We have already covered this point, all milestones I worked on was created by me for estimation and was agreed and funded by client. So actually it was not choice , I HAD TO WORK ON THEM to deliver on time, otherwise the deadline would have been missed and secondly the two milestones are too much linked together.


All you had to do is hand over the bleep-bleep source code for the milestone you were bleeping well PAID for.

 

If you had not be so obstinate, you'd likely have finished the entire contract by now and have been paid in full for the whole lot.


You clearly can't win arbitration when you refused to hand over the bleepedy-bleeped deliverable for the milestone you were paid for. No code = No money.

 

Mostafa's avatar
Mostafa A Community Member


You clearly can't win arbitration when you refused to hand over the bleepedy-bleeped deliverable for the milestone you were paid for. No code = No money.

 


I believe I should have won the arbitration because the client had no right to ask for source code of 100% of the project while he

1- Did not fund the remaining amount of the contract.

2- Did not approve the submitted finished work, even denying it is a requirements.

 

According to upwork terms, when freelancer submit work , the client has two options
1- Approve the work  and release money.
2- Request changes and freelancer continue.

But client went a third way asking for source code, while denying the requirements. Using the milestone model to bargain.

Upwork instead of applying the terms, they give him chance to take money from freelancer.

Petra's avatar
Petra R Community Member


Mostafa A wrote:

You clearly can't win arbitration when you refused to hand over the bleepedy-bleeped deliverable for the milestone you were paid for. No code = No money.

 


I believe I should have won the arbitration because the client had no right to ask for source code of 100% of the project while he

1- Did not fund the remaining amount of the contract.

2- Did not approve the submitted finished work, even denying it is a requirements.

 

According to upwork terms, when freelancer submit work , the client has two options
1- Approve the work  and release money.
2- Request changes and freelancer continue.

But client went a third way asking for source code, while denying the requirements. Using the milestone model to bargain.

Upwork instead of applying the terms, they give him chance to take money from freelancer.


You were paid for milestone 2

You did not hand over the code for milestone 2

The end. There was no way in the known universe you would have won arbitration based on that nonsense.

 

It doesn't really matter. You agreed, legally binding, to accept and to abide by the arbitrator's ruling.

Learn from it, do what you agreed to do, move on.

 

Mostafa's avatar
Mostafa A Community Member


Petra R wrote:

The end. There was no way in the known universe you would have won arbitration based on that nonsense.

 

It doesn't really matter. You agreed, legally binding, to accept and to abide by the arbitrator's ruling.

Learn from it, do what you agreed to do, move on.

 


You are not making sense to me too, I suggest you calm down, you are working hard on this post 🙂

About Arbitration: I had no choice to go to lottery arbitration, I expect Upwork to apply its terms and conditions a finished project (submitted work) should be either "Approved" or "Request changes" for it.

Not playing the milestone, source code game. It was so obvious to Upwork who was taking the job seriously.

Petra's avatar
Petra R Community Member


Mostafa A wrote:


About Arbitration: I had no choice to go to lottery arbitration


Of course you had a choice, it would have been $ 291 cheaper for you (and Upwork, and the client) not to go to arbitration. The arbitration outcome was a foregone conclusion... You were paid for milestone 2 and did not hand over the code for what you were paid for.