๐Ÿˆ Community
mosta2
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
wlyonsatl
Member

Mostafa,

 

Some clients can and do take advantage of Upwork's rules - that is obvious from the many posts we see on this message board.

 

My advice to reducing your risk of loss on a fixed price project is this:

 

1) Never start work on a project until all milestones have been agreed with the client and clearly defined within the project page on Upwork.

2) Don't start work on any milestone until it has been fully funded and the client has released payment for all previous milestones. (I would like to see Upwork disallow funding on a milestone if all previous milestones have not been funded and payments on all prior milestones have not been released to the freelancer.)

3) Frontload as much of the cost of a project in the earliest milestones for a project. (Leave a relativvely small amount of the project's total value in the last milestone or two, to show your commitment to completing the project.)

4) Make the last milestone or two include work the client can't do without, so they can't get the bulk of your work in the earliet milestones and then close the project and finish the work themselves without paying you in full.

5) For each milestone, submit your work via the "Submit" button when the work for that milestone is substantially (90%?) finished, making it clear to the client that there are a couple of elements of the miletone you would like feedback on and (s)he can then release payment for the milestone. Never submit substantially finished work to the client via email or other channels.

 

It is difficult to make hard rules that work perfectly in every situation, so some of what I have listed above might not work for everyone. But it pays to think about how a dishonest client can misuse Upwork's necessary rules and protocols, so you can prevent at least some of their attempts to get your work for free.

 

Good luck.

 

 

 

prestonhunter
Member

Mostafa:

I am very sorry that this happened to you.

 

But I appreciate the fact that you took your time to provide this first-hand account of your experience. This is an excellent example of some of the weaknesses within the Upwork system, particularly as they apply to fixed-price contracts.


This is an excellent example of some of the weaknesses within the Upwork system, particularly as they apply to fixed-price contracts.

It is an excellent example of being presented with one of three sides... (some of the second side, as well as the client's history) can easily be found.

Petra:

I completely agree with you that the original post in this thread is only presenting one side of the story.

 

For me, the fact these types of misunderstandings and disappointments can arise represents a weakness in the overall system. I'm not saying I have a solution. And I'm definitely not saying that one side or the other in this situation was completely "at fault" or "completely innocent."

 

The way I look at the current fixed-price contract model within Upwork is that it can be a very effective way to hire, and a very effective way to work as a freelancer. But it requires a degree of professionalism and trust from both sides.

 

That makes it a "more complicated" contract model than the hourly contract model.


Preston H wrote:

Petra:

 

For me, the fact these types of misunderstandings and disappointments can arise represents a weakness in the overall system. I'm not saying I have a solution.


Frankly, sometimes I wonder if it wasn't all much easier back in "the good old days" where there was no Escrow and no funding and no arbitration and people just used common sense and communication and basic conflict resolution skills.

prestonhunter
Member

Mostafa:

I don't doubt that you were frustrated by what happened.

 

Without referring to your case specifically, below is how I view fixed-price contracts on Upwork. This is how I approach and use Upwork fixed-price contracts, based on my understanding about how the system actually works. This is NOT how I think things "should work," and this is NOT how I think things are described in documentation or any legalese anywhere. This is how I think things actually are handled:

 

- A freelancer and client agree to a milestone.

- The milestone is funded in escrow.

- The freelancer does the task.

- The client releases payment for that task.

 

I regard the "budget" is irrelevent. I regard an initial description of the project as a whole as something that is informative, but not binding. I regard unfunded milestones as potentially interesting, but not binding.

 

If there are 10 milestones planned, and client wants to fund only one of them, then that is completely allowable. The freelancer should only work on funded milestones.

 

If there are 10 milestones planned, and the freelancer only wants to do one of them, then that is completely allowable. The client will only pay for the milestone tasks that the freelancer actually finishes, and may hire other people to work on the other milestones.

 

If I am reading things correctly, the freelancer in this situation considered the "original plan", with a whole set of milestones and payments, as something that constituted a "contract." His disappointment stems from not being paid the full amount that was discussed originally, because the client wanted to end things part-way through the process. Upwork ended up agreeing with the client.

 

(If my understanding of this is incorrect, then please feel free to correct me.)

 

So it appears that the original poster (the freelancer) had an expectation about how fixed-price contracts work that was different from how the client and Upwork itself view things.

This doesn't make any sense because it destroys the Upwork contract itself , a Fixed price is not an estimation, It is a fixed value because based on it, the freelancer decide if the amount of work is worth it or not.

Attached is what the Upwork Contract says, it is self-explanatory.

I am not going to another dispute I just leave this here for real freelancers to learn from my experience if you guys don't mind.

Thanks

 

**Edited for Community Guidelines**

petra_r
Member


Mostafa A wrote:

Ok here is the story from all sides, the complete dispute message

Please read it and give your unbiased opinion,


Having read through all of it I am not at all surprised with the outcome.

Well, I actually quite see the client's side of this. The source code should be delivered and reviewed and then payment released.   It didn't seem like he had issues releasing the amount s in escrow previously so it doesn't seem to me like he was trying to scam you. 

 

Maybe the lesson here is to stipulate in the scope of work precisely when you release source code for each milestone and how much they get of the source code and when.  If you agree on that prior to accepting the contract, then there should not be any issue of this nature. 

That was an interesting read and the stereotypical coder holding source code hostage.

 

OP post the arbitration conversation too!


Jennifer M wrote:

That was an interesting read and the stereotypical coder holding source code hostage.

 

OP post the arbitration conversation too!


I also think from that conversation that the OP does not understand how a fixed price contract works. And I agree with his title: if you don't understand exactly all the ins and outs of a fixed price contract, do not set one up.  It will certainly bite you in the ass. 

Well I can only understand it as a "contract" as upwork says:

"You accepted XXXXXXX's offer for a $xxxxxxx fixed-price project."

This  means I should deliver this requirements for this price, if it has any other meaning then this is just ambigiouty in the Fixed Price system.

A fixed price project has a set total price and defined deliverables. On Upwork the client and freelancer agree on periodic milestones that allow the client to see that progress is being made and the freelancer to be paid as the project progresses, as measured by completion of all of the agreed milestones.. 

 

If either the client has no intention of paying for the entire project or the freelancer has no intention of completing all of the work required for the project, that is dishonest. Not a crime, not a violation of Upwork protocols, but nevertheless dishonest.

 

There can, of course, be legitimate reasons for either freelancer or client to cut a project short, but planning to do so from the beginning of the project is dishonest.

 

I wish Upwork would provide us with more information about clients who regularly pull the plug on projects before the agreed milestones have been paid in full. I'd be happy for clients to know how often I bail on clients, which is never.

 

 


Amanda L wrote:

Jennifer M wrote:

That was an interesting read and the stereotypical coder holding source code hostage.

 

OP post the arbitration conversation too!


I also think from that conversation that the OP does not understand how a fixed price contract works. And I agree with his title: if you don't understand exactly all the ins and outs of a fixed price contract, do not set one up.  It will certainly bite you in the ass. 


Escrow projects really do require you to know the system inside and out to protect yourself while still staying within ToS. Also, knowing how to fight a dispute is important I think, and you have to set up escrow projects in a way that you can protect yourself. So yeah, I agree. They can be a pain and it's why I try my best to stick with hourly. But hourly I think is also for people with bigger budgets.

 

He was refusing to release source code though after the milestone was prematurely released by the client, so like the arbiter said the client acted in good faith and the freelancer shot himself in the foot. It seems the freelancer was arguing that he did more work than he should have for the milestone, but that's why you really should only get full escrow unless you can without any questions do a defined scope at a smaller amount.

I think moderators deleted the link, well I dont see any wrong to share this conversation for other freelancers to learn weather I am wrong or right this is not a big deal.

lysis10
Member

This job must have been a disaster if you have to give the client money back. Ouch.

mosta2
Member

It is not about who has good faith, contracts are defined by terms not by good faith,

you want the source code of the finished project because you think releasing 50% of the value proved your good faith?.

like I said I will leave the link for real freelancers and since upwork doesn't like it on the community I will spread it by my way.

May be Upwork will listen to fix their Fixed Price system and force the everyone to respect the initial contract instead of making it ambigious and loose and allow a party to use milestones when he wants and use initial contract when necessary.

I think this is a very valuable discussion, and I think the original poster's perspectives are worth thinking about.

 

He is certainly correct when he points out that there is ambiguity in the system.

By definition, there is ambiguity about how things work, because he thought that it worked one way, and others thought it worked another way.

 

Clearly there is ambiguity about what is meant by a "contract." Perhaps Upwork is using the word "project" in a place that a freelancer thinks a "contract" is being referred to. Perhaps Upwork is using the term "contract" loosely in some places, or applying a non-traditional meaning to the word.

 

Personally, when I set up a fixed-price contract, I create a central server where I do all of my work. I provide full root credentials to that server to the client, from the very beginning. I do all of my work there. There is never a time that the client does not have full access to all source code and files.

 

This way of working on fixed-price contracts may not appeal to all freelancers. But it is a viable way to work. If clients have concern about being able to access the source code and files that they have hired freelancers to produce, they should consider ONLY working with freelancers who will provide this type of access.

It doesn't matter that the TOTAL value of a contract is $2500. The fact is, the contract was set up in 3 payables with 3 deliverables.  Contracts can be ended at any time, which is why setting them up with milestones  or the payables/deliverables, in this case 3, protects both the freelancer and the client. If the client decides to stop after 1 milestone/payable/deliverable, he is perfectly in his right to do so.   It doesn't mean that three milestones are 3 subcontracts. If the OP can't wrap his head around how milestones work and that  client can fund one milestone at a time and end the project after the first milestone, then he just shouldn't work fixed price. I really don't find there to be ambiguity. What I see is a freelancer WANTING fixed price to work in a way that it clearly does not. No matter how much we might want it to work a different way, it does not work that way. 

 

And yes, in business, good faith is a thing. But if you want to focus on terms: the terms were you deliver work and you get paid. You didn't want to do that. That was explained to you multiple times in the conversation you posted. I'm sorry you learned a hard lesson. Like I said, if negotiating a fixed price contract is too difficult then don't do them. You can find success with hourly just as well. I, myself, turned down a fixed price contract recently for the same reason - too much ambiguity in the milestones and deliverables. 


Mostafa A wrote:

It is not about who has good faith, contracts are defined by terms not by good faith,

you want the source code of the finished project because you think releasing 50% of the value proved your good faith?.

like I said I will leave the link for real freelancers and since upwork doesn't like it on the community I will spread it by my way.

May be Upwork will listen to fix their Fixed Price system and force the everyone to respect the initial contract instead of making it ambigious and loose and allow a party to use milestones when he wants and use initial contract when necessary.


Good faith is the term the arbiter used. It's a term lawyers use too. In this case, the client released the milestone in good faith that you would also do what you agreed to do, which is give him the code and fix bugs. You did not, so that's why you lost.


Jennifer M wrote:

 

Good faith is the term the arbiter used. It's a term lawyers use too. In this case, the client released the milestone in good faith that you would also do what you agreed to do, which is give him the code and fix bugs. You did not, so that's why you lost.

Thank you for repeating the arbiter words, for me releasing 50% of the project value is not a proof of good or bad faith, especially when the project is 100% complete.

If we have to talk about faith then, I have never seen a client who is freaked out by having the work finished and says no I did not want it to finish

like I said the dispute is over it is not important who won or who lost, more important is to learn from it especially from freelancers who do software it is more relevant to them.


Mostafa A wrote:


Thank you for repeating the arbiter words, for me releasing 50% of the project value is not a proof of good or bad faith, especially when the project is 100% complete.

If we have to talk about faith then, I have never seen a client who is freaked out by having the work finished and says no I did not want it to finish

like I said the dispute is over it is not important who won or who lost, more important is to learn from it especially from freelancers who do software it is more relevant to them.


That's not what happened though. He released the milestone thinking you would give him the code and fix bugs. That's what you agreed to. You refused and he gave up trying and just cancelled. That's exactly why you lost. The person who needs to learn the lesson is you. You can't do that.


Jennifer M wrote:

That's not what happened though. He released the milestone thinking you would give him the code and fix bugs. That's what you agreed to. You refused and he gave up trying and just cancelled. That's exactly why you lost. The person who needs to learn the lesson is you. You can't do that.


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

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

- I believe the client should approve or request changes for his project instead of asking for source code before approval.

- The client believe he can only take part of the project (2 milestones) and cancel the other two.

- The dispute think the client should take the milestone in escrow and I take the 2 milestones paid.

- The AAA thinks the client should take the amount in escrow, additionally I pay the last milestone to client.

Hope it is more clear


Mostafa A wrote:

Jennifer M wrote:

That's not what happened though. He released the milestone thinking you would give him the code and fix bugs. That's what you agreed to. You refused and he gave up trying and just cancelled. That's exactly why you lost. The person who needs to learn the lesson is you. You can't do that.


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

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

- I believe the client should approve or request changes for his project instead of asking for source code before approval.

- The client believe he can only take part of the project (2 milestones) and cancel the other two.

- The dispute think the client should take the milestone in escrow and I take the 2 milestones paid.

- The AAA thinks the client should take the amount in escrow, additionally I pay the last milestone to client.

Hope it is more clear


lol this is hilarious considering this is not what the client said at all. The client clearly states that you won't hand over code for milestone two. The mediator even tells you that what you are doing is not ok. 


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.

mosta2
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.


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. 


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"

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. 


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.

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".


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.

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.

 

 

 

 

 

 


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....


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!

 

 


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.


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.


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?


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. 

Learning Paths