A way to handle per client deliverables is with a separate board and possibly backlog for each client. To keep it simple let's start with a board per client, which could look something like this.
Each client deliverable is created as a card. To track different billable rates per client, first create a Custom Field called "Billable Rate" by opening up a card and clicking "Custom fields".
For each client board, create a card template by starting with a sample card, entering the billable rate for that client in your previous created custom field. When still in your card, select "More" -> Save card as template.
Tie the card template to the client board by clicking the board menu, select More > Select card template.
Now, every time a new deliverable is entered on a client board the correct billable rate will automatically appear on each card.
For each planner client deliverable, enter a card one the appropriate client board. Billable rate will automatically be entered correctly. Now enter an hours estimate for the deliverable.
Once you are ready to start working on a deliverable, move it's card from the "To Do" column to the "Doing" column. To track billable hours open the card and click "Timesheets", which will allow you to enter time spent on specific tasks. With the Enterprise plan you can also create custom categories and apply the hours to those categories.
At any point you have the ability to create a per client billable hours report by clicking the App selection icon and selecting "Advanced search". Simply filter on client board to make each report client specific.¨
With the Enterprise plan you have the additional capability to create advanced Timesheet Reports.
To calculate total estimated and actual billable hour revenue, both types of reports can be exported to Excel or Google Sheets (CSV) by clicking the gear icon and selection the desired export format.