Hourly Projects
There are two hourly scenarios. The first involves a customer who wants you
to estimate a whole project, but the they want you to bill hourly. A lot
of software houses don't even take these projects. I don't mind billing
hourly, personally. For me, either way is fine, it usually averages
out in the end, and if it doesn't, then I make adjustments to my estimates in
the future. The second scenario is the the maintenance scenario. I
suppose that some developers write "change requests" for each little update.
They can do that if they want. I'll do it if a customer requests it.
Otherwise, hourly billing provides flexibility to change course midway if the
customer wishes and it allows me to pass on efficiencies (and overruns) to
customers. If the customer doesn't mind, they usually end up happier in
the long run with an hourly arrangement. Do whatever you want. Each
to their own. Anyway, when you set up a client project, you have a drop
down with the two scenarios I described above, "To Be Quoted" and "Maintenance."

The "Hourly" approach is the default project setting. You can change it to
"Fixed Price" by going to the "Settings" tab of the project
screen and change the Project Type drop
down. Learn more about that here.

We are going to keep the default hourly project type. However, one thing
you really ought to do while you are in settings, is set your hourly rate.
Otherwise, your invoices will say "$0.00" for your hourly work. Now you
can add tasks and log time under each task. This was already described in
detail in the previous general help article on projects
and also in the article on child tasks. In
the rest of the article, we are going to assume you created those child tasks
describe in that article on child tasks. That way, we can see how child
tasks interact with invoicing.
Let's take a look at our tasks. The first task, "Add Table" has a
completion status of "Todo." It will not get invoiced when you generate
your invoice. The second task, "ReadyToInvoice" will get invoiced.

The "Tasks" tab also says that there are "ChildrenTodo" items under "Add Table."
Let's drill into that and take a look by selected "Add Tables" and clicking
"Children." Now, let's say we did some work on the "Product Table."
Let's log the time (you look at the timer help article
if you don't know how to do this) and mark it done. It now says
"ReadyToInvoice."

Once you have some time logged and marked some tasks as done on your project, you can generate an
invoice. Just click, "Create Invoice From Timesheet" in the "Details" pane
of the project page.

When you click "Select" for a certain invoice, you can see the actual invoice.
Invoices can be e-mailed to client by simply clicking "Send Invoice by Email."
Notice that all hourly work in combined into a single line item hyperlink.
Whem you click on the hyperlink, the breakdown is shown. When the invoice
is emailed, that breakdown is attached to the email as a csv file which can
easily be imported by your client into Excel for review.

|