Whenever time is entered against a project or task the current billing rate assigned to the user will be applied to the time entered on the timesheet for that project or task.

if a user 'X' enters time for a project called Test Project and the billing rate assigned to him on that project is Project Rate,  then Project Rate will appear in the billing column on the row where that project is selected. However, if the billing rate is changed later, to user rate in the project then the user can change the billing rate in the billing column till he submits the timesheet. However after he submit the timesheet he can update the billing rate only if there is un-submit button on the timesheet. If he does not have unsubmit permission then he will not be able to update the billing rate.

If user does not have unsubmit permission then an administrator can re-open the timesheet. Once the timesheet is reopened the administrator or the user can update the new billing rate and Save the timesheet so that the billing amount is re-calculated taking the new rate into consideration.