The best way to avoid a dispute with your contractor is to insist on a detailed, complete, and carefully drafted contract.
Among the terms to include in such a contract are the following:
(1) The full names of the parties, the job address, and all contact information;
(2) A highly detailed description of the scope of construction work, including specific materials to be used;
(3) Start and completion dates;
(4) Total price of the project, including labor and materials, and a payment schedule;
(5) List of allowance items (lighting, fixtures, plumbing fixtures, appliances, etc.) and the budgeted amount, if any;
(6) List of required or potentially required permits, including who will be responsible for obtaining and paying for them;
(7) Agreement that any changes to the contract will only be done upon written "change orders" signed by both the contractor and the homeowner;
(8) Signature of both parties to the contract.
A contract that incorporates all the above items will help avoid confusion, delay and the time and expense of a dispute or lawsuit.