Contracting means that in stead of being paid by the hour you get paid by the job.
Small difference in principle, huge difference in practice!
If you get paid by the hour there is an unwritten contact between you and the customer that you will do your best to make those hours count, but there is no actual agreement on how many hours a certain job is going to cost.
As soon as that is the case you are working ‘fixed price’, and then the rules change dramatically.
Now you have the opportunity to do one of two things: Make more money because you work hard and you are good at estimating, or, alternatively, lose a bundle because you are either lazy or bad at estimating causing you to overrun the estimate. The customer will not pay less if you worked had and stayed within the estimate, but neither will they pay more if you overshot.
So, the key to successful contracting is good estimation skills. Estimating a job is not always a clear cut affair. If a customer is vague on the ‘deliverables’, then you can not do a proper estimate, so that means that you can not take this job fixed price.
On the other hand if the customer has an excellent specification of what it is that they want from you then you are in a position to make a good estimate.
Another thing that changes when you contract instead of billing by the hour is the structure of your invoices. You can still give line item reports on what was done but how much time was spent is less interesting, might even hurt you. You also invoice in parts based on completion of the job, you take risk.
10% up front, 50% during the runtime and the rest on delivery is a good scheme, but you can of course vary that based on your relationship with your customer and your respective track record.