Blog · Forecast and pipeline · Professional services
Build a monthly project revenue forecast from approved scope, delivery plans and recognition assumptions. Reconcile the project schedule to backlog and compare it with recognized revenue.
Project revenue forecasting assigns expected recognized revenue to each project and month using approved scope, delivery timing and finance-approved recognition assumptions. Begin with the remaining contracted work, schedule how it is expected to be delivered, and reconcile the result to backlog. Keep billing and cash collection in separate columns.
A project manager's delivery schedule, a signed contract register and the revenue ledger describe different parts of the same job. The forecast connects them through project IDs, dates and approved assumptions.
For this review, define revenue backlog as approved project value less revenue recognized to date. That is an internal planning definition, not a claim that all commercial backlog qualifies as a financial-statement disclosure. Exclude unapproved scope from the base case and identify cancellation or funding conditions.
Finance decides whether a performance obligation is recognized over time or at a point in time and which progress measure applies. FASB's original Topic 606 amendments describe the over-time criteria and input and output measures. The calculations below carry hypothetical finance-approved policies; they do not establish the appropriate accounting treatment for another contract.
Use the sales projection method for prospective wins. Keep those opportunities separate from the signed-project schedule so an attractive pipeline does not hide a delivery shortfall.
Use one row per project, revenue component and forecast month. Include project ID, client, approved value, approved changes, recognized revenue to date, planned delivery, billing dates, recognition method, forecast version and assumption owner. Add currency and an exchange-rate convention when the source contains other currencies.
The project manager owns remaining hours, costs and completion dates. Finance owns approved value, recognition treatment and the tie to the ledger. The account owner supplies evidence for client approvals. Record these responsibilities beside the assumptions so a date change has an accountable owner.
Closing revenue backlog = Opening revenue backlog + Approved additions - Approved reductions - Forecast recognized revenue
Track those movements individually. Do not force a reconciliation by changing the opening balance. For the broader explanation of revenue movements, see revenue driver analysis.
A US consulting company prepares January 2027 revenue. Its approved project register contains the following amounts; no scope changes are forecast during January.
| Project | Approved value (USD) | Recognized before January (USD) | Opening backlog (USD) | January forecast (USD) | Closing forecast backlog (USD) |
|---|---|---|---|---|---|
| A: process redesign | 300,000 | 90,000 | 210,000 | 60,000 | 150,000 |
| B: advisory support | 120,000 | 40,000 | 80,000 | 40,000 | 40,000 |
| C: final assessment | 80,000 | 0 | 80,000 | 0 | 80,000 |
| Total | 500,000 | 130,000 | 370,000 | 100,000 | 270,000 |
On a Projects worksheet, these are columns A:F. Opening backlog in D2 and closing backlog in F2 are:
=B2-C2
=D2-E2
Fill down through the project rows. The January amounts come from different approved assumptions, not a uniform percentage applied to all backlog.
For Project A, finance has approved an over-time cost-to-cost measure for this particular obligation. The Assumptions worksheet has this input table in columns A:B, starting at row 2:
| Input | Value (USD, except hours) |
|---|---|
| Project A approved consideration (USD) | 300,000 |
| Project A eligible costs before January (USD) | 60,000 |
| Project A planned January eligible costs (USD) | 40,000 |
| Project A estimated total eligible costs (USD) | 200,000 |
| Project A prior recognized revenue (USD) | 90,000 |
| Project B planned January hours | 160 |
| Project B approved hourly rate (USD) | 250 |
Project A's formula is cumulative expected revenue less revenue already recognized:
=B2*(B3+B4)/B5-B6
That gives 300,000 × (60,000 + 40,000) / 200,000 - 90,000 = $60,000. Finance must approve which costs measure progress and the estimate of total costs; the forecast does not assume every cost qualifies.
Project B's finance-approved treatment recognizes the approved services as performed. Planned January revenue is:
=B7*B8
The result is 160 × 250 = $40,000. Project C's approved treatment requires transfer at client acceptance, forecast for February, so its January revenue is zero.
The first identity is 500,000 - 130,000 = $370,000 of opening backlog. The second is 370,000 - 100,000 = $270,000 of closing forecast backlog. Unscheduled remaining work must still appear in future months or a clearly labeled period beyond the planning horizon.
If Project C's acceptance moves into January, and finance confirms the recognition condition will be met then, January revenue increases by $80,000 to $180,000. Closing January backlog falls to $190,000. Move the same amount out of February; otherwise the forecast counts the assessment twice.
For business plans driven by recurring service access rather than project delivery, use SaaS revenue forecasting. Keep the two schedules distinct when a client buys both services and subscriptions.
After January closes, compare the original forecast with the revenue ledger:
| Project | Forecast revenue (USD) | Actual revenue (USD) | Actual minus forecast (USD) |
|---|---|---|---|
| A | 60,000 | 55,000 | -5,000 |
| B | 40,000 | 42,500 | 2,500 |
| C | 0 | 0 | 0 |
| Total | 100,000 | 97,500 | -2,500 |
With forecast in B and actual in C, use =C2-B2 for the variance. The total shortfall is $2,500, or 2.5% of forecast. With no approved scope changes, actual closing backlog is 370,000 - 97,500 = $272,500.
For a longer ledger, Excel can total actual revenue in column C for project A in column A:
=SUMIFS(C2:C1000,A2:A1000,"A")
Microsoft's SUMIFS documentation explains the criteria-based summation. Filter the ledger to the closed month first. Covirage is not affiliated with Microsoft.
Bring a sample of your own approved project plan and revenue ledger to Covirage; it maps the columns, and its tools compute and check project totals, backlog movements and forecast-versus-actual differences. The external AI model explains the results with every figure traced to its rows. Create a free Covirage account, then set up your business and bring your file.
See project cost control for the supporting project-finance context.
Backlog describes remaining work under a stated commercial definition. A revenue forecast assigns expected revenue to periods using delivery and recognition assumptions. Some backlog may fall outside the planning horizon, depend on client decisions or change when approved scope changes.
Use invoices for the billing outlook, but use approved recognition assumptions for the revenue outlook. Advance invoices, retainage and acceptance terms can separate the two. Keep both schedules keyed to the same project so finance can explain their timing differences.
Record the approval status, value, effective date and accounting review for each change. Update the base revenue forecast only under the company's approved treatment. Keep pending changes visible in a separate scenario so expected work is not silently treated as approved backlog.