Almost every agency has them: the customer with an agreed discount, the senior who is billed differently from the rest, or that one part of the job done at a fixed price. Exceptions like these are normal. They just shouldn’t create admin work.
The problem
One exception touches every time entry
In many systems the rate is attached to the person or to the project, and to nothing else. If something deviates, the only way out is to edit the time entries one by one. That’s not just work, it’s exactly the kind of work where you miss three of them and find out in June.
How AdComPro does it
The rate is resolved on four levels
AdComPro looks up the rate from specific to general: first the task, then the milestone, then the project and finally the company. The first level where something is set wins. So you record an exception at the level where it belongs, and everything else stays untouched.
Where you can set a rate

- On the task, when the whole work package has its own rate
- On the milestone, for example for a separate phase
- On the project, when the whole engagement has a deviating agreement
- On the company, as the default for everything else underneath it
Because each level can also carry its own dates, status and estimated hours, the structure follows the work instead of the other way around. For recurring work you can also build a service catalogue and pull it into a project as lines with their own rate.
Questions
What people ask about this
What if no rate is set on any level?
Then the company rate applies. That’s the safety net, so no hour ever ends up on an invoice without a rate.
Does a new rate also change the hours that are already there?
No. A logged hour keeps the rate that applied at that moment. That’s deliberate: otherwise a rate change would retroactively alter last month’s invoices.
Can I give a discount per invoice line?
Yes, you set discount and VAT per line. That’s separate from the hourly rate, so a one-off discount doesn’t turn into a rate agreement.
Try it yourself
Run a month through it
Set up a project with one deviating task and see what happens when you log hours on it.