Using several rate tables really won't do it. The reason is although you
can have several different rate structures for a given resource, only 1 of
the cost tables can apply to any given task. I do both training and
development, for example, and my day rate is different depending on which
hat I'm wearing at the moment. If you've assigned me to a training task in
your project my cost rate would come from Rate Table A but if you've
assigned me to write a program module my costs would be based on Rate Table
B.
Almost any solution to tracking billing rates in Project that I've seen is a
kludge since the program is just not designed to be an accounting or a time
and billing application. An example of what I mean - you assign resource Joe
to a task that is a re-work of something for the client that was screwed up
by another resource. You'll have to pay Joe to do the work and the orignal
resource as well even though he screwed it up, but it's not likely that
you'll bill the client for the re-work. Yet there's nothing in Project that
really allows you to handle that sort of exception revenue tracking
comfortably. Tracking your in-house direct costs for doing both the
original task and the re-work is a piece of cake, but tracking your billings
for the job is not so easy. And there's nothing at all to help you factor
in overheads, facilities costs, and profit margins.