Showing results for 
Search instead for 
Did you mean: 

Freelance requesting payment before pushing code

Active Member
Hector C Member Since: Sep 19, 2020
1 of 6

Hi all. I have been having a difficult experience with a freelancer recently.

As work has progressed, he has continually blamed existing code for not being able to implement solutions.


After all this, he has finally sent an app build that works as per the job description. However, he is demanding that I release payment before has pushed code and given me the chance to test and build.


I released two previous milestones when he sent builds covering those milestones, but he never submitted any code. Am I in the wrong here? What would the dispute center likely say in case he continues to refuse to push code?


In essence, builds do represent work, but they are useless to me without the code. Any guidance would be greatly appreciated!

Community Guru
Preston H Member Since: Nov 24, 2014
2 of 6

Are you in the wrong here? No.


The freelancer is wrong. What the freelancer is saying is not how Upwork intends the platform to be used.


I recommend that you invite the feeelancer to come to this very thread and ask questions or discuss the issue so that this can be handled amicably and fairly.


re: "What would the dispute center likely say in case he continues to refuse to push code?"

Disputes are decided by you working things out with the freelancer. Nobody at Upwork "decides" anything. Arbitration is where a third party arbitrator actually makes a decision.


But: Who cares what the "dispute center would say?"


As an effective project owner, you know that software projects do not get built using disputes. Rather, you can manage your projects proactively and efficiently. One of the ways you do that is to decide to never dispute, but to simply stop working with underperforming freelancers.


I really don't want this to go to dispute.

Explain to the freelancer that the source code is the deliverable required before payment release, and if he has any questions he can ask about the proper procedure here in the Forum.


If he releases the source code, then you can release payment. And we can move on from there. The only reason you would actually file a dispute is if the freelancer won't release the code. Then you can close the contract and edit the amount of money to be released to change it to zero. Then the freelancer has the option to agree to refund the money. Only if the freelancer actually rejects the refund request would a dispute be created.

View solution in original post

Active Member
Hector C Member Since: Sep 19, 2020
3 of 6

Many thanks Preston, this is really hepful.


Appreciate the time and will follow your suggestions for future projects.



Bojan S Moderator Member Since: Mar 9, 2018
4 of 6

Hi Hector,


I'm sorry to hear about your experience with this freelancer. Our team will follow up directly with you via a support ticket to assist you and advise regarding the options you have on this contract.


Thank you for reaching out to us.

~ Bojan
Community Guru
Preston H Member Since: Nov 24, 2014
5 of 6

Hector, I think the biggest change you could make to help ensure success is to stop relying on only one developer for this project. How can you compare his work to work done by others on the team if you only have one person on the team?

If you had more people working on this, then you could assign work to the best team members.


You could work with a project manager who oversees code submission. Then there would be no such thing as a freelancer not turning in his files properly. The project manager would handle firing anyone like that.

Community Guru
Lucio Ricardo M Member Since: May 16, 2018
6 of 6

As a freelancer, I normally set up my code in a Git repository shared with the client (only with him), so then at the end of each day the code is pushed and the client can see the process of update of the repository. If the concern of the freelancer is that the client don't want to pay (for example by abusing the 14-day review time ask for changes), locks can be made, as putting a key in an uncommited .env file for the full function, or programming a date limit for the functionality, etcetera. (also, nowadays Git is a tool that every respectable programmes should know at least basically). So that, if your freelancer does not release code after 2 milestone submissions, maybe he is dishonest, and is not using the Upwork platform according to the Terms of Service.

And, about that you mentioned, normally the last milestone includes that the client tests the code and approve it. So, again, the freelance was not respecting the Upwork TOS.

Best regards.