Rates are effective-dated. Every person has a series of cost rates and bill rates with start dates, and an hour is costed at the rate in force on the date it was worked. A raise in April changes the cost of May’s hours and leaves March alone, so historical project margin stays comparable and no past number gets rewritten behind anyone’s back.
Allocation is computed against capacity, never declared. A person’s available hours in a period are their working hours less leave less existing allocations, so booking someone at fifty percent when they are already at eighty is a visible conflict with the specific overlapping assignments named. The planning view answers "who can take this" instead of "who is nominally free".
Timesheets are entered against project phases and tasks with a weekly cadence, and approval locks the period. A locked period cannot be edited without a reopening action that is recorded, because a margin figure that can change after the fact is not a figure anyone can plan against.
Margin is computed per project, phase and person from the costed hours plus recorded expenses, against either time-and-materials billing or fixed-fee revenue recognised on progress. Budget consumption is tracked against the phase budget with a projection based on the current burn rate, so an overrun is visible while there is still time to act.