There are two or three different types of construction contracts and its important to know which one you are using.
The first is a fixed price contract. "I'll build you X for the amount of Y" On that type of contract, unless you spec it from the beginning, you don't get break downs of materials and costs. You get a finished project at a fixed price. Of course when you're putting together the contract, you can put in stuff like you want to see the invoices, or partial lien releases from material suppliers, or you can even put in a clause that allows you to joint payee the checks to his suppliers. Most guys don't like that and it will depend on how hungry he is for work at to whether he'll agree to that.
YOu can also do a fixed price contract with certain price items or allowances in it. For example, its a 20k fixed price, but that assumes 5k for concrete, 12k for lumber, 2k for doors and the balance labor. If you change your mind and pick fancier doors, that portion of the contract will go up accordingly but the rest stays the same. Thats kind of the contact davitk gave an example of. If you changed the front door in his example, the other items shouldn't change.
You can also do a time and material contract with no fixed price. In this instance, you'll get an estimate and then you'll be entitled to see each invoice for materials plus actual hours for the labor. One problem with that is that for small contractors, the labor is most often kept pretty loosely. If its a prevailing wage job with certified payroll, that's different. But most small homeowner jobs are much looser then that, so don't expect time records to be as accurate as you might think. Another problem is that with time and material jobs, there is always a gray area with some of the materials. The list might show a case of nails, or a case of sealant, but in reality it didnt' take that. So how do you deal with that issue? Did the guy really use 30 sheets of plywood or did he keep some of the extra?
You can also do a time and material contract with an upset price, or not to exceed price. That can be the original estimate price or some factor of it. That's kind of useful to keep a lid on things. The down side is that the upset price often becomes the target. The guy knows you won't squawk if the price hits that target, so guess what the final price is likely to be.
I've even written some time and material contracts with an upset price, but put a cost savings clause in them. Something like: for every dollar below the upset price, the contractor gets to keep 30 cents or something. Gives some incentive.
Its really a matter of pick your poison.
A couple of the really big items; getting proof that he pays his suppliers and making sure that any change orders are in writing. I don't care how casual the relationship is, not getting changes in writing is a killer on any construction project. Also be sure to clarify who's paying the permit. Does the price include sales tax? Stuff like that. You also want to clarify IN ADVANCE that what you're going to build will be o.k. with the local code guys. A seemingly small item by one of the code enforcement guys can really increase the cost. Is that all your responsibility? All the contractors for not checking in advance? Or some of each.
Another issue on bigger projects and occaisionaly on small ones if what happens if you do a deductive change order? In other words, you get into it and decide to scale it back. Most contractors will want to keep their overhead and profit on the entire contract. For the deduct, you only deduct the cost of the materials and actual labor costs. You still pay the O & P, which can be up to 20% or more. Just be sure to cover that possibility when you write the contract.
In a very broad sense, if you really know the contractor and he really has a good record and you're really sure of your plans (i.e. you're not going to add a bunch of stuff as you go along) You can often get a somewhat better price doing things time and material. With a fixed price bid, many contractors will build in a little fudge room to make up for things if they've messed up on a line item in the price. You can eliminate that with a time and material contract.
Another idea, depending on who drew up your plans and material list, is to have your contractor do some value engineering on the project before he bids it. Have him take a good hard look at the project and give you some ideas on what might be some good cost savings. There area all sorts of things you can save money on and often, they're not written into plans and specs when you get them.
Have fun.