Rates & Fees

Here is the order in which is checked if a rate exists. The first one found is then used:

  • my rate of the activity
  • my rate of the project
  • my rate set via preferences
  • rate of the activity
  • rate set for the project

Database

See function get_best_fitting_rate in Database class.

If you have a look into the table kimai_rates you may see something like this:

User Project Event Rate
1 2 5 10.00
2 NULL 5 20.00
2 2 NULL 30.00
2 NULL NULL 40.00
NULL 2 5 50.00
NULL NULL 5 60.00
NULL 2 NULL 70.00

The entries are already sorted. Kimai takes the first row that exists (maybe the one with the most hits).

Explanation of the table:

  • user 1 on project 2 and task 5 has a rate of 10.00 € per hour
  • user 2 on task 5 has a rate of 20.00 € per hour
  • user 2 on project has a rate of 30.00 € per hour
  • user 2 has a rate of 40.00 € per hour
  • project 2 and task 5 have a rate of 50.00 € per hour
  • task 5 has a rate of 60.00 € per hour
  • project 2 has a rate of 70.00 € per hour

Some examples:

  • User 3 is working on project 2: his rate is 70.00 €
  • User 2 is working on project 1 and task 5: his rate is 20.00 €
  • User 2 is working on any project except the defined ones for him: his rate is 40.00 €

This table can only be edited with SQL statements or a database-tool (05/03/2010).