SEOClerks

Do You / Should Use a Contract When Freelancing? Debate



Write the reason you're deleting this FAQ

Do You / Should Use a Contract When Freelancing?

When finding work online from a client who found your website or post on a forum or something and wants some work from you. Do you just take on the work straight away as soon as you've been paid or do you make them sign a contract first?

What about those times when you must do the work first and then take the payment after? Do you do the work first and then just wait to collect payment? Also, what if the client wants to cancel half way through? How are you compensated for that without a contract?

If you do use and require a signed contract first before you work, it can be a simple agreement that is made between you and your client that states what the terms of everything are such as that your work be carried out in time and be original and state when you should get paid and how. It can be a simple agreement and doesn't need to be anything complicated or hard to understand. But it can help to protect you when the unthinkable can happen which can happen sometimes throughout your freelancing career.

So knowing that, if I wanted to use contracts with my clients for some expensive work, what would be a good contract to use? What sort of things would I want to state and cover in that contract that were needed to be stated and covered?

And how would you get them to sign this if your relationship is purely online? Sending them a letter and waiting for them to sign it and send it back could take up to a week or more. So what is another way you can send them a contract online they can sign? A blank PDF file with a text field they can fill in? A fax!?

How to get around this if you want to use a contract with a client?

What sort of things should my contract state?

Thanks!

Comments

Please login or sign up to leave a comment

Join
TommyCarey
Hey IdealMike,

I've used contracts with plenty of my clients who spend $100 to $3,000 a month for their SEO and Online Marketing services through us. Whenever I have someone wanting to sign up I'll let them know that the process of SEO and Online Marketing could take 3 to 6 months to see any kind of ROI. I let them know that if they are in a tough niche that it could even take up to a full year to see their rankings increase because of their competition. When I tell people this it will usually give me an indication on if they are committed to their website or if it's just a hobby. The more committed they are, the more they'll be willing to sign up because you're being honest with them. If they can't afford it because they're new, I usually try to work something out with them.

After you figure out if they're really wanting to sign up, you'll need to get a contract to them. If the business, or person, if far from me I'll usually send them 2 of the same contracts. I will send 2 because I will sign both, they will sign both and send one back to me. I'll send a box to them, not a manila envelope with 2 contracts in it.

The contents of the box will be as follows:
  • 2 duplicate contracts that are both signed by me
  • 1 heavy duty envelope that already has my address on it and paid postage
  • 1 pen so they can sign as soon as they open the box
  • 1 hand written letter letting them know I will do anything I can to bring them greatness Do You / Should Use a Contract When Freelancing?

Putting all this in the box will help streamline the process of getting the contract back to you because all the client has to do is sign and put the contract back in the envelope and send it back.

After you weed out the people who are just thinking about increased rankings and the ones who really want it, you can ask the following or put it in your contract:
  • Go over what exactly you're going to do. Try not to leave anything out because it could bite you in the ass later on. If you say you're going to do on page optimization and they complain that you didn't post on their facebook page, you can refer back to the contract. My contracts have saved me a bunch of times because people thought they were getting something that we never even talked about.
  • Add in the length of the contract so that it's binding. I've had clients try to back out after month 1 or 2 and they have a 12 month contract. They claim they didn't agree to what they signed, but I always have our conversations recorded as well as all the email conversations Do You / Should Use a Contract When Freelancing?
  • Add in the amount per month the client will be paying. You can even do biweekly payments if you want, but in my opinion and experience, monthly payments are much easier.

The only downside with requiring contracts, you can't enforce them well with clients that are out of the country you're in. If someone is out of the United States I won't ask them to sign a contract because I can't do much if they stop paying me Do You / Should Use a Contract When Freelancing?



Are you sure you want to delete this post?

idealmike
Raz this is excellent advice mate thanks for posting it! I like how you mentioned how it weeds out those that are determined and definitely want it and those that are only thinking about it It's plain to see that's how a contract can help you for clients that are spending a lot of money with you. Of course if they're not in your country, it can't be forced on them in a court of law should it ever go to that stage. But generally it keeps them tied into you and let's you see how determined and serious they are and acts as a way to ensure you're going to get paid!

I've received those letters that come with a pen for you and including a postage paid envelope with it means they don't have to do anything much but sign it and pop it back in the post to you. And how you should keep a record of all chat history you have with the client such as email/Skype or whatsapp conversations so you can refer them back to it if they try and back out before the contract has ended as well that makes perfect sense! Excellent Raz this is really great stuff cheers!



Are you sure you want to delete this post?

EliteWriter
No I never entered into such an agreement. I understand that when a service is priced very high, it would be safer to take this alternative though. So if draft a contract make sure you include all the important terms of service, so that the buyer will know exactly what he is signing up for. In my case, I feel I am protected well enough since I always deliver my services through a marketplace such as this. The few times when I did not I felt so alone and helpless, and once I was not paid, so I prefer to do it through SeoClerks where I am protected as a seller.



Are you sure you want to delete this post?

idealmike
Yeah that is the good thing about SEOClerks! In that it acts as a contract for you because of all the terms and the way the system works to protect both the buyer and the seller. When working on a Marketplace like SEOClerks as a seller, you're money is protected and guaranteed provided you do the work as advertised in your service description and deliver on time. Therefore there is no need to make your buyer sign a contract first. SEOClerks Rocks! Do You / Should Use a Contract When Freelancing?



Are you sure you want to delete this post?

Lynne
That is awful that some people didn't pay you. And the thing is often it is not even worth following up even if you do have a contract because just sending a letter of demand from a lawyer can cost more than the actual amount due to you in some cases... so the cost of trying to get payment made can make it almost impossible to come out tops.

I can certainly see why using SeoClerks is a much safer option because you are protected against that and so much is taken care of for you.



Are you sure you want to delete this post?

idealmike
Yeah that's true. And the reason why some people don't chase them up and also the reason why some people don't pay as well. In some cases it's not that they're unhappy with the work. Far from it. But they know that it will cost more money to chase it up and get that payment so they can try it on.

That said there are systems in place for people who experience that. It can cost a lot of money to pay for the lawyers to handle it for you. But if they can prove that the buyer has not paid, you can take them to court and get your money for the work plus compensation as well to pay for the court costs, legal fees etc. However nobody really wants to go through all of this and would prefer to write it off as loss.

I guess you could say that is why you should always use SEOClerks for anything you do a freelancer. You have to pay SEOClerks fees but it's that same fee that prevents loosing your money. Plus they have to put it down first before you work. Acting as an escrow service so to speak thus protecting you from even having to speak to a lawyer. Again, another reason why SEOClerks rocks! Do You / Should Use a Contract When Freelancing?



Are you sure you want to delete this post?

hitmeasap
Hey Mike,
I've never signed any contracts at all. Shame on me a few times but well, that's life. I usually tell my clients to pay after the work is done, in case it's not a "huge" amount we're talking about. Say, anything from $100 and above. Then I'll usually ask for about 50% of the money in advance and the remaining 50% when delivery has been made.

I've also asked for a down payment in another way a few times.. In those scenarios it has been because we've never agreed on a maximum amount to pay, or a maximum amount of work to do.. So I usually ask for $200-$300 before I start working. Then I'll send my clients an invoice once per month, which they'll have to pay accordingly to our agreement.

Best Regards,
hitmeasap



Are you sure you want to delete this post?

idealmike
Yeah shame on you Asap! No that's perfectly fair enough mate. It's fair to ask for half up front and half after the work has been completed. Many people do this and it seems to be the norm in most cases. Especially when we're talking about things that range from between $100-$300 or so. For that kind of price range it's fine as most people will be genuine and pay you again once the work has been completed/delivered to them.

Yet for bigger budget work that runs into $1000+ a simple contract could be very well worth having between the two parties "just in case". Especially when they don't need to be confusing and complicated terms. Just something basic that both parties can agree to and then sign. That way they're covered and make sure they'll get their work, and you're covered to make sure you get paid for it too! Do You / Should Use a Contract When Freelancing?



Are you sure you want to delete this post?

Everett
I have never really entered into a freelance based contract. I don't think I have had any really negative experiences regarding anything of the sort. However, I believe I should do it, well offsite perhaps, but on the marketplace I feel I am covered by my services descriptions, and also the Terms of Service.

I feel for those that have to do contracts, especially for those that were promised payment after the work was completed but payment was never sent to them. I'm unsure if I could ever put a contract on selling PHP scripts, perhaps like a terms of service type thing but probably not a buyer/seller contract.



Are you sure you want to delete this post?

idealmike
Oh yes on SEOClerks you are covered by your service description and the sites TOS.

Yeah, in a perfect world Everett we'd never need contracts! And let's face it, nobody likes using one do they? They are just a bunch of red tape the client has to cut through before they can get their work or files etc.

If you're selling PHP scripts then you should probably think about creating some kind of agreement or usage terms thinking of the sorts of things you might need cover telling people what their rights are or aren't and what they can or can't do with your files/script. Such as not being allowed to share it for free and not being able to resell it. If you state that from the start and put it in a prominent place like your download page or a readme file in the actual files themselves, and somebody does that, you have something to use to say that it was said that it wasn't allowed.

You can even register your script with some authority like Ioncube to license it and help to protect it from unauthorized use, reselling or sharing. As well as cover you in case anything goes wrong with their OS or system or hardware or event in their life that your software caused to happen so they can't hold it against you should something ever like that transpire. It wouldn't even have to be a contract, just a simple agreement they agree to before proceeding to download it which they must read or can choose to skip too. At least that way you're covered should anything like that ever come up.

But yes, you're covered by SEOClerks TOS when selling freelance work here be it services, scripts, files, lists whatever. And of course, they have to put the money upfront first which is held escrow style so that it's fair for both the buyer and the seller, providing all that is advertised takes place, then all's well that ends well! Do You / Should Use a Contract When Freelancing?



Are you sure you want to delete this post?

Corzhens
I was once offered a job to provide 200 posts to a forum in one month. After given the down payment, I started working and before I reached halfway of the agreed job, I was paid the full amount. There was no formal contract between us and we just relied on honesty. When the second offer came after a month, I was expecting another down payment that did not come so I did not start work. The guy did not contact me anymore.



Are you sure you want to delete this post?

Order Now
Process Time: 1.3159170150757

Possible Duplicate queries found!
MatchCountSQLScript
SELECT * FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='18026'1SELECT q.*, c.seo as CatSEO, c.name as CatName, c.parentid FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='18026'

/opt/clerks-staging/docroot/viewfaq.php 496 () ()

SELECT * FROM seoclerks.members WHERE USERID='272'1SELECT * FROM seoclerks.members WHERE USERID='272'

/opt/clerks-staging/docroot/include/functions/includes/member.php 445 GetAllUserDetails() ()

SELECT * FROM seoclerks.members WHERE USERID=2721SELECT googleplus_profile FROM seoclerks.members WHERE USERID=272

/opt/clerks-staging/docroot/include/functions/main.php 16914 GetGooglePlusProfileFromId() ()

SELECT * FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=18026 LIMIT 51SELECT m.username FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=18026 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM answers a, seoclerks.members b WHERE a.quesid='18026' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc1SELECT a.answer, a.USERID, a.upvotes, a.downvotes, a.ansid, a.parentid, a.combined_votes, a.date_answered, b.username, b.userlevel, b.profilepicture FROM answers a, seoclerks.members b WHERE a.quesid='18026' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc

/opt/clerks-staging/docroot/viewfaq.php 1245 () ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98651 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98651 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98743 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98743 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98717 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98717 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98755 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98755 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98805 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98805 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98812 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98812 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98659 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98659 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98754 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98754 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98667 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98667 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98813 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=98813 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=167051 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=167051 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

UPDATE questions SET total_views = total_views + 1 WHERE quesid='18026'1UPDATE questions SET total_views = total_views + 1 WHERE quesid='18026'

/opt/clerks-staging/docroot/include/functions/main.php 1765 update_Faqviewcount() ()

SELECT * FROM questions WHERE quesid!='18026' AND status='1' AND (question like '%Do / Contract Freelancing?%' OR question like '%Contract%' OR question like '%Freelancing?%') -- ORDER BY RAND() LIMIT 151SELECT quesid, question, seo, userid FROM questions WHERE quesid!='18026' AND status='1' AND (question like '%Do / Contract Freelancing?%' OR question like '%Contract%' OR question like '%Freelancing?%') -- ORDER BY RAND() LIMIT 15

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM seoclerks.members WHERE USERID='147' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='147' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='20916' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='20916' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='53106' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='53106' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='60532' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='60532' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=18026%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID 1SELECT USERID, username FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=18026%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM categories1SELECT * FROM categories

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() parseRedundantQueriesCache()

select * from categories_software order by name asc1select * from categories_software order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetSoftwareCategories()

select * from categories_wanttobuy order by name asc1select * from categories_wanttobuy order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_wantcategories()

select * from categories_wanttotrade order by name asc1select * from categories_wanttotrade order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_tradecategories()

SELECT * FROM seoclerks.members WHERE USERID='19821.png'1SELECT profilepicture FROM seoclerks.members WHERE USERID='19821.png'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='272.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='272.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='212316.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='212316.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='306632.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='306632.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='6160.png'1SELECT profilepicture FROM seoclerks.members WHERE USERID='6160.png'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='2951.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='2951.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='600657.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='600657.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

select * from categories_faq order by name asc1select * from categories_faq order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetFaqCategories()

Invalid SQL

count(*)sql1error_msg

Expensive SQL

Tuning the following SQL could reduce the server load substantially
LoadCountSQLMaxMin

Suspicious SQL

The following SQL have high average execution times
Avg TimeCountSQLMaxMin