It really depends on how far down the track you are with them. If the have approached you with a view to getting you to do "some web design/development" work for them. Then all you can really do is provide a detailed listing of your hourly rates ie:
This much per hour/day for graphic design.
This much per hour/day for coding.
This much per hour/day for implementation.
Until the client has a firm idea of what they want it would be a bad idea to give them any indication on final prices.
If they've come to you with a design and structure already mapped out, or you've had discussions with them to figure out what they're after, you can set about preparing a quote.
>> I was just wondering how such a quotation should be laid out?
Clearly.
Look at what they're after and break it down into the smallest possible blocks - graphic design of layout, coding of layout structure, production of web graphics, population of content, testing. Estimate how much effort will be involved in each task - break them down further if it helps. Then lay out the quotation showing the task, estimated time to complete, hourly rate and total price. Add up all the totals and present the final price at the bottom like so:
[tt]
Task Hours Rate($/hr) Total
Block 1
Task 1.1...................... 24 15.00 360.00
Task 1.2...................... 32 15.00 480.00
Task 1.3...................... 24 15.00 360.00
--------------------------------------------------------
Total for Block 1:............. 80 15.00 1200.00
Block 2
Task 2.1...................... 12 20.00 240.00
Task 2.2...................... 16 20.00 320.00
Task 2.3...................... 120 20.00 2400.00
Task 2.4...................... 24 20.00 480.00
--------------------------------------------------------
Total for Block 2:............. 172 20.00 3440.00
Block 3
Task 3.1...................... 10 25.00 250.00
Task 3.2...................... 20 25.00 500.00
--------------------------------------------------------
Total for Block 3:............. 30 25.00 750.00
========================================================
Total: 282 n/a 5390.00
[/tt]
Do the same thing for any one-off costs you will incur as well such as any domain names you have to buy for the client, hardware you might be supplying them etc.
The key is to lay out as clearly and simply as possible exactly what you will be supplying and how much it will cost. The more effort you put in here, the fewer arguments there can be later.
>> Do I need to include terms and conditions in a quote?
Yes, yes, yes and yes.
Some of the things to consider are:
Is this a fixed price or indicative quote? I always offer my clients the choice - with a fixed price, they know up front exactly how much they will pay, an inicative quote gives them the chance to gamble on how good a programmer I am.
How will variations be handled? You should always re-quote for any variations that will involve you doing more than 15 minutes work. Don't get into the habit of saying "Yeah I can slip that in". If customers want more work done then they should pay for it.
How will you be paid? Up front? In installments? On completion?
What milestones will be used to define completion? As you know, web sites are ever-changing little beasties. They are never "Finished" you will need to work out what constitutes the completion of your project so you can go to the customer and say OK, I've done all you asked me to do - cough up the cash.
As I said, the more effort you put in at this stage, the fewer headaches you should have when it comes time to collect your hard earned.
Never be afraid to share your dreams with the world.
There's nothing the world loves more than the taste of really sweet dreams.