How revenue recognition works in Operating
When do you earn the revenue? Who deserves what?
Written By Matti Parviainen
Last updated 1 day ago
When you sell work at a fixed price โ or cap an hourly engagement at a maximum amount โ you know upfront how much you can invoice. But how much of that revenue have you earned at any given point during the project? That is the question revenue recognition answers.
This article explains why revenue recognition matters, which billing types use it, how each method works, and how to choose the right one.
Why revenue recognition matters
For time-and-materials projects, revenue recognition is straightforward: every tracked hour generates earned revenue at the applicable billing rate. The revenue is earned when the work is done.
Fixed-price and capped time-and-materials projects are different. The amount you can invoice is tied to a budget agreed upfront, but the work is delivered over weeks or months. You need a method to determine how much of that budget value you have earned in any given period โ especially when the project spans multiple financial reporting periods.
Without revenue recognition, your financials would show nothing earned until the final invoice, which does not reflect reality. Revenue recognition distributes the budget value across the project duration so that monthly reports, margin calculations, and planned vs. actuals comparisons are meaningful throughout the project's lifecycle.
Which projects use revenue recognition
Revenue recognition applies to the two billing types whose revenue is tied to a budget:
Fixed-price โ the contract value is agreed upfront and earned over time. You choose a recognition method (see below).
Capped time and materials โ work is billed hourly like time and materials, but total earned revenue cannot exceed the budget. There is one built-in recognition behavior; you do not choose a method.
Time-and-materials and non-billable projects do not use revenue recognition: time-and-materials earns directly from tracked hours, and non-billable work earns nothing. For the full picture of how billing types differ, see Billing types (per hour, capped T&M, fixed price).
Fixed-price recognition methods
When a project's billing type is fixed-price, Operating asks you to choose a revenue recognition method. Each method determines how earned revenue is calculated for any given period.
Based on time planned or tracked, weighted by hourly rates
This is the recommended method. It attributes revenue to the people doing the work, proportional to the value of their time.
How it works: Operating looks at the allocations (planned time) and time entries (tracked time) for the project. Each person's contribution is weighted by their applicable billing rate from the rate card. The total budget value is then distributed in proportion to these weighted contributions.
An example: A project has a budget of 100,000 EUR over five months. Two people work on it: a Senior Developer billed at 165 EUR/h and a Junior Developer at 110 EUR/h. If the Senior Developer has planned or tracked 200 hours and the Junior Developer 300 hours in a given period, the Senior's contribution is valued at 33,000 EUR (200 ร 165) and the Junior's at 33,000 EUR (300 ร 110). The earned revenue for that period is distributed proportionally based on these weighted values relative to the total weighted value across all periods.
Why it is recommended: This method gives you the most granular view because it can attribute revenue to specific people. Per-person profitability reports are meaningful for fixed-price work, not just per-project ones. It also responds dynamically to how the project actually unfolds โ if more senior people end up doing more work than planned, the revenue distribution adjusts accordingly.
When the plan and reality differ: This method uses time entries for past periods (what actually happened) and allocations for future periods (what is planned). The earned revenue calculation improves over time as plans are replaced by actuals. It is the same "projected values" principle described in Understanding planned vs. actuals.
Optional: indicating budget progress
With the weighted method, you can also enter a budget progress figure to state how much of a budget has been completed, and Operating recognizes earned revenue from that.
How it works: In the project's financial setup, the project owner sets the budget progress as a percentage. If the budget is 100,000 EUR and progress is set to 60%, the earned revenue for that period is 60,000 EUR. Progress can be updated as frequently as needed โ some companies do it monthly as part of their month-end close routine. Budget progress sets how much is earned for the period; the weighted method still decides who that revenue is attributed to.
An example: A project has a 200,000 EUR budget. After three months, the project owner estimates the work is about 45% complete. They set budget progress to 45%, and Operating records 90,000 EUR as earned revenue. A month later, they reassess and update to 62%.
When to use it: This is the right choice when the project owner or finance team wants to make a judgment call about completion that is not directly tied to hours worked โ for example, a strategy advisory engagement where a key milestone might represent 40% of the value even though it took only 20% of the total hours.
Limitation: It requires manual effort and discipline. If budget progress is not updated regularly, earned revenue figures become stale and reports lose accuracy.
Based on actual vs. planned costs (cost-to-cost)
Cost-to-cost derives earned revenue automatically from how much cost the project has incurred, rather than from hours, rates, or a manual judgment. In effect, it calculates budget progress for you, driven by cost.
How it works: Operating compares the cost incurred so far (the cost of tracked time plus billable expenses) against the planned cost for the same budget period. That ratio โ actual cost รท planned cost โ becomes the completion percentage, and the same percentage of the budget value is recognized as earned revenue. The percentage is capped at 100%, so cost overruns never recognize more than the budget value.
An example: A budget of 100,000 EUR is planned to cost 60,000 EUR to deliver. After two months, 18,000 EUR of cost has been incurred โ 30% of the planned cost โ so 30,000 EUR (30% of the budget) is recognized as earned revenue.
When to use it: Cost-to-cost suits projects where incurred cost tracks delivery progress well and you would rather have progress calculated automatically than enter it by hand.
What it needs: A meaningful planned cost. Because completion is actual cost รท planned cost, the budget period needs a planned cost โ from planned (allocated) work and planned expenses โ for revenue to be recognized while the period is still open. If an open period has no planned cost, no revenue is recognized for it until the period ends. This method therefore depends on cost rates being configured; see Cost rates & project profitability.
Evenly by month or week
The simplest method. Revenue is distributed across every month (or week) in the budget's date range.
How it works: The budget value is spread across the periods the budget covers. The split is proportional to the working days in each period, so periods with more working days earn a slightly larger share โ but in practice each month or week earns a roughly equal amount, regardless of how many hours were tracked or how the team was staffed.
An example: A 120,000 EUR budget covering January through June (6 months) earns approximately 20,000 EUR per month.
When to use it: This works well for retainer-style engagements or projects where the work is expected to be roughly uniform month to month. It is also useful when you do not need person-level revenue attribution and want a predictable, easy-to-explain number.
Limitation: It does not reflect actual delivery pace. If the project is front-loaded or back-loaded, the earned revenue will not match reality until the project completes.
Choosing a fixed-price method
If you are unsure, start with weighted by hours and rates. It requires no manual input beyond normal allocation and time tracking, it gives you person-level detail, and it adapts to how the project actually unfolds.
Capped time and materials
Capped time and materials is a separate billing type rather than a fixed-price method, but it recognizes revenue against budgets too, so it belongs in the same picture.
How it works: Work is billed by actual hours and rates, exactly like time and materials, but total earned revenue cannot exceed the project's budget. Revenue accumulates against the budget as work is tracked; once the cap is reached, additional work is still tracked and planned but earns no further revenue.
The order in which revenue fills the cap is:
Billable expenses consume the budget first.
Work that has already been invoiced keeps its earned revenue and counts against the cap first, so recalculations never change what you have already billed.
The remaining budget room is filled by the rest of the work in date order. The entry that crosses the cap earns partial revenue up to the remaining room; later work earns zero.
Each budget caps independently โ unused room in one budget does not roll into the next โ and work that falls outside every budget's date range earns zero. Because the budget is the cap, a capped time-and-materials project must have at least one budget. For the full billing-type comparison and invoicing behavior, see Billing types (per hour, capped T&M, fixed price).
How budgets interact with revenue recognition
A fixed-price or capped time-and-materials project must have at least one budget for revenue recognition to work. The budget defines the total value that the recognition method distributes (for fixed-price) or caps (for capped time and materials).
Single budget
Most projects have one budget covering the entire engagement. Revenue recognition applies to this budget over its full date range.
Multiple budgets
Projects with distinct phases or contract amendments can have multiple budgets, each with its own date range and value. Budgets may not overlap in time. Revenue recognition applies independently to each budget within its date range.
For example, a project might have a Phase 1 budget of 120,000 EUR (AprilโAugust) and a Phase 2 budget of 80,000 EUR (SeptemberโDecember). Each budget's value is distributed (or capped) separately within its respective period.
Work outside of budget periods earns zero revenue
Revenue recognition only applies within the date range of a budget. If a person tracks time during a period that falls outside any budget's date range, that work shows zero earned revenue โ even though it incurs costs.
This matters in practice. If the team starts work before the budget period begins, or continues after it ends, those hours show up with costs but no revenue, and the project's margin will look worse than expected. To avoid this, make sure your budget dates cover the full period during which work is expected. If the timeline extends beyond the original plan, either extend the existing budget's end date or add a new budget for the additional period.
Past fixed-price budgets are automatically considered fully earned
When a fixed-price budget's end date has passed, Operating treats it as 100% complete. All of the budget's value is counted as earned revenue, regardless of whether you set budget progress to 100% and, for cost-to-cost, regardless of whether actual costs came in over or under plan. You do not need to go back and manually set progress to 100% on completed periods. This applies to all fixed-price methods.
Capped time and materials behaves differently: it only ever earns from actual tracked work up to the cap, so a completed capped budget is not automatically filled to 100% โ it earns whatever the tracked work was worth, no more than the cap.
How revenue recognition affects reports
The method you choose directly affects several parts of Operating:
Earned revenue โ the "actual" side of planned vs. actuals for revenue. Each method calculates this differently, so switching methods mid-project changes how past earned revenue is reported.
Gross profit and margin โ since these are derived from earned revenue minus tracked costs, the recognition method affects your profitability picture.
Projected values โ Operating's projections for fixed-price projects use the recognition method to estimate remaining revenue. The weighted method is the most responsive, since it factors in actual team composition.
Invoicing โ revenue recognition is independent of invoicing. You might recognize 50,000 EUR in earned revenue for a month but invoice the client in a later month, or for a different amount. Earned revenue and invoiced revenue often differ, and that is normal.
Practical guidance
Do not change methods mid-project. Switching recognition methods recalculates earned revenue for all periods, which can create confusing jumps in financial reports. Pick a method at the start and stick with it.
If using budget progress, build it into your routine. The most common cadence is monthly, aligned with your month-end close. Some firms add "update budget progress on all active fixed-price projects" as a step in their close checklist.
Revenue recognition is about earned revenue, not cash. It does not determine when you invoice or when you get paid โ it determines when revenue is recorded in Operating's financial reports. The invoicing schedule is configured separately and controls when invoices are created.
Related articles
Understanding planned vs. actuals โ how planned and earned revenue are compared
Set up: Financials โ configuring billing types, budgets, and rate cards
Set up: Rate cards โ billing rates that drive the "weighted by hours/rates" method
Project budgeting & profitability โ managing budgets and tracking financial performance