Add contract or project billable rates for billable hours

Please add the possibility to create project / contract specific hourly rates and expenses to be used in the module billable time.
A customer can have multiple projects / contracts with a different rate per contractactivity / function. (or type of billable hour)
(if possible also add a field with total budget value to compare during progress).

In the module billable time add as well a field contract / project and make it possible to select within the customer the correct contract/project and the correct type of tariff. Based on this the hourly rate should be filled. This way you do not have to remember what the rate was. It is dictated /pre-filled by the contract.
However, It should still be possible to amend the hourly rate specific for this time registration and use this for invoicing.

Also it should still be possible to add additional invoice lines without using the contract pre-scribed tariffs (like now), both in the time registration module as well as in the invoice module (as is now).

At this moment tracingcodes can be used to identify in the adminsitration what project it belonged to, but it does not help the registration of time with the correct tariff.
This functionality would really help for time-based sales (like many consultants do).
Please add this functionality.

Additional remark: for projects you cannot invoice based on salesorders as the number of hours is almost never a fixed
amount.

That may be true, but what is your point or question? Sales Orders have no impact on financial status. They are internal documents used to communicate the need to provide goods or services.

My point is: easy entry of hours including the correct hourly rates via the module billable hours would be very helpful. Now you have to remember what hourly rate for what activity is needed to enter here.
I work on several projects per day and week and now have to note down everything to prevent having mistakes in the input for invoicing afterwards. So it is better to enforce hourly rates based on the project / activity you do.
Also if you work with more people in the system, typically the responsibility for the rates is separated from the person doing the actual work. So this person should not be confronted with the hassle of the correct hourly rate. He should only be bothered with doing the correct activity.
I think both aspects help businesses a lot who sell hours in stead of sell products.

Additional remark on the functionality:
an alternative less pritty way of working might be to enable the use of non-stock items in the billable time module. You will then have to create project specific non-stock items and use them here. Together with the tracing codes it might do the job of correct data entry, but you will not have the correct "project- functionality base for future enhanced functionality

You already can create non-inventory items for different hourly billing rates and projects. You just don’t account for them using the Billable Time module. Your sequence of posts also points out a generally wise management principle, which is to separate your billable time accounting (time sheets in old-fashioned terms) from accounting. Few would want the typical employee making direct entries to the company’s accounting system.

Of course, if you have the server or cloud edition, you could create users with restricted access only to the Billable Time module. But you would still need to incorporate separate review and approval processes. It would probably be better to separate recording of time from entering of time into the accounting program.