Blog · Finance metrics and formulas · Professional services
Compare project revenue with delivery costs and the work still to come. Build separate views of billed revenue, recognized revenue and forecast final margin, then reconcile them to your finance exports.
Project margin analysis compares recognized project revenue with incurred delivery costs, then tests whether the remaining work preserves that profit. Keep billed revenue separate and build a second view for expected final margin. Otherwise an early invoice or an unrecorded supplier commitment can make a weak project look healthy.
The current accounting view asks how much margin the delivered work has earned. The billing view asks how much has been invoiced. The completion view asks what the entire approved job is now expected to earn.
These views share project IDs, but their revenue and cost boundaries differ. FASB's revenue recognition implementation guidance describes recognition around transferring promised goods or services to customers. An invoice date alone therefore does not establish earned revenue.
For this review, project margin includes assigned delivery labor, subcontractors and other direct delivery expenses. Central overhead and unassigned staff costs remain outside the calculation and must be reconciled separately. Use a contribution margin ratio only with its own explicit variable-cost definition; do not silently substitute it for project margin.
Take a recognized-revenue ledger extract, invoice register, payroll or time-cost export, supplier cost detail and outstanding purchase-order report. Ask each project manager for remaining work not covered by existing commitments. Use approved contract value rather than an unsigned proposal for the completion revenue estimate.
Keep these fields wherever available:
| Field | Why it matters |
|---|---|
| Project ID and transaction ID | Assign each row once and identify duplicates |
| Service date and posting date | Test the reporting cutoff and late entries |
| Revenue or cost category | Separate labor, subcontractors and other delivery costs |
| Recognized, billed or remaining status | Prevent unlike amounts from being added |
| Purchase-order reference | Remove incurred amounts from future commitments |
| Amount and currency | Compare consistent USD amounts |
Use inception-to-date figures throughout the current project view. A month's revenue against lifetime costs is not a margin. Keep canceled orders out of remaining commitments and flag missing project IDs rather than allocating them by guesswork.
Consider a US consulting company's projects through September 30, 2026. Labor includes the firm's assigned payroll burden; all amounts below are illustrative USD. Percentages are rounded to one decimal, using unrounded calculations.
| Project | Billed revenue (USD) | Recognized revenue (USD) | Labor (USD) | Subcontractors (USD) | Other costs (USD) | Incurred costs (USD) | Margin dollars (USD) | Margin |
|---|---|---|---|---|---|---|---|---|
| Atlas | 170,000 | 150,000 | 60,000 | 15,000 | 5,000 | 80,000 | 70,000 | 46.7% |
| Birch | 85,000 | 100,000 | 55,000 | 25,000 | 5,000 | 85,000 | 15,000 | 15.0% |
| Cedar | 80,000 | 80,000 | 35,000 | 10,000 | 5,000 | 50,000 | 30,000 | 37.5% |
| Total | 335,000 | 330,000 | 150,000 | 50,000 | 15,000 | 215,000 | 115,000 | 34.8% |
Place these columns in A:I, with Atlas on row 2. In Excel, enter the following in G2, H2 and I2, respectively, then fill down:
=SUM(D2:F2)
=C2-G2
=IF(C2=0,NA(),H2/C2)
For the total margin, divide total dollars rather than averaging project percentages:
=SUM(H2:H4)/SUM(C2:C4)
If your raw export has project IDs in column A and recognized revenue in column D, summarize Atlas with:
=SUMIFS(Revenue!$D$2:$D$5000,Revenue!$A$2:$A$5000,$A2)
Microsoft documents SUMIFS as summing rows meeting specified criteria. Filter the source to the agreed cutoff before applying this example, or add date criteria. Covirage is not affiliated with Microsoft.
Atlas's billed revenue exceeds recognized revenue by $20,000. Birch's recognized revenue exceeds billing by $15,000. These differences need explanations, but neither belongs in the current margin numerator as extra profit or expense. Collection timing belongs in the separate project cash flow review.
For each project, split remaining costs into open commitments not already incurred and additional work not yet committed. Ask for remaining hours and rates rather than a single unexplained contingency.
| Project | Approved total revenue (USD) | Incurred costs (USD) | Remaining commitments (USD) | Uncommitted remaining work (USD) | Forecast final cost (USD) | Forecast final margin (USD) | Final margin |
|---|---|---|---|---|---|---|---|
| Atlas | 240,000 | 80,000 | 20,000 | 35,000 | 135,000 | 105,000 | 43.8% |
| Birch | 130,000 | 85,000 | 10,000 | 10,000 | 105,000 | 25,000 | 19.2% |
| Cedar | 120,000 | 50,000 | 15,000 | 15,000 | 80,000 | 40,000 | 33.3% |
| Total | 490,000 | 215,000 | 45,000 | 60,000 | 320,000 | 170,000 | 34.7% |
With this table in A:H, use these formulas in F2, G2 and H2:
=SUM(C2:E2)
=B2-F2
=IF(B2=0,NA(),G2/B2)
Birch has the lowest current and final margins. Its review should focus on the commercial terms and delivery estimate. Cedar's final margin falls below its current margin because the remaining work carries additional cost relative to the approved revenue left to earn. Review the assumptions with the project manager before changing staffing or price.
Recognized revenue of $330,000 less incurred costs of $215,000 must equal current margin of $115,000. Tie recognized revenue to the ledger and the cost categories to the underlying payroll and supplier detail. The SEC's income statement presentation rule distinguishes service revenues, cost of services and selling and administrative expenses; your project view needs an explicit bridge to those company totals.
The completion proof is separate: $215,000 plus $45,000 plus $60,000 equals $320,000 of final cost. Approved revenue of $490,000 less that cost equals $170,000 of final margin. Each remaining supplier amount should have an order reference or a documented estimate, with no overlap.
Construction jobs need additional attention to their contract and recognition policies. Use the distinct construction project profitability analysis for that review.
Bring a sample of your own project revenue, labor, supplier-cost and commitment exports. Covirage maps the columns, and its tools compute and check the figures; the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your file.
See Covirage for professional services for the industry context.
Use recognized revenue for an accounting margin and keep billed revenue in a separate column. Billing follows invoice milestones, which can precede or follow delivery. A billed-revenue view is useful for reviewing invoicing progress, but it needs its own label and does not replace the recognized-revenue calculation.
An open purchase order may represent a future commitment rather than an expense already incurred. Determine what has been delivered or accrued, remove that part from the remaining commitment, and add only the undelivered balance to the forecast. Check cancellation rights and whether the work is still required.
It means the included costs exceed the revenue used in that view. Investigate missing revenue entries, scope changes, late supplier accruals and genuine overruns before acting. A negative margin to date and a negative forecast final margin answer different questions and may need different responses.
Finance should reconcile recognized revenue and incurred costs. Project managers should explain remaining hours, supplier commitments and delivery risks. The engagement sponsor should approve commercial actions such as scope changes. Shared ownership keeps the accounting evidence connected to the work still required.