Build a basic website (and a simple database) from the scratch with the following capabilities:
1) Invite the customer to describe what they want
2) Collect the customer's basic information to enable them to be contacted later
3) Pre-populate the information received from the customer in to a quotation format (i.e ready to send back to the customer once a value is established)
4) Generate an invoice with a unique number which will be recognized by the website when the customer is making payment.
5) Accept payments via online collection service providers only