
Published July 29, 2026 · Altvina Insights · 5 min read
Project Contribution Is Not the Same as Project Profit
Use three layers to see whether a project covers its direct work, its share of the company, and the cash timing around it.
The short version: Direct contribution, allocated project margin, and company operating profit answer different questions. Keep the fee, cost, period, and unit aligned before you compare them.
A project can contribute toward covering the firm and still fail a rough fully loaded screen.
A firm can show operating profit and still have a cash squeeze.
Those statements do not conflict. They describe three layers:
- Direct contribution: Did the earned fee cover the labor, material, and subcontractor cost caused by the work?
- Allocated project margin: Did the fee also cover a defensible share of company operating cost?
- Company result and cash: Did the full period produce operating profit, and did earned work convert to cash in time?
The example below is invented to teach the method. It uses illustrative numbers and is not a client case.
Layer 1: direct contribution
Use earned or invoiced fees matched to the work. Do not use cash collected unless the receipt is matched to the same project and period.
| Project | Earned fee | Delivered hours | Direct cost | Direct contribution |
|---|---|---|---|---|
| A | $30,000 | 260 | $18,000 | $12,000 |
| B | $18,000 | 150 | $10,500 | $7,500 |
| C | $12,000 | 90 | $5,500 | $6,500 |
| Total | $60,000 | 500 | $34,000 | $26,000 |
Formula:
Direct contribution = earned fee - direct labor - materials - subcontractors - other job-specific cost
The sample produced $26,000 of positive direct contribution, or 43.3 percent of earned fees.
That is not project profit. Rent, software, management, sales, administration, and other firm costs are still outside the table.
Layer 2: a rough fully loaded screen
The illustrative firm recorded:
- 2,000 total worked hours;
- 1,200 delivered client hours;
- $150,000 of operating expense.
In this simplified example, operating expense includes steady owner base compensation and the firm's other operating costs. Discretionary owner distributions, taxes, debt principal, and capital purchases are outside the screen.
Dividing $150,000 by all 2,000 worked hours produces $75 per total worked hour. That number cannot be compared directly with revenue per delivered client hour. The denominators differ.
A consistent rough screen is:
$150,000 operating expense / 1,200 delivered client hours = $125 per delivered hour
This absorbs the cost of the other 800 hours into the units delivered to clients.
Apply the screen to the 500-hour sample:
| Project | Earned fee | Hours x $125 | Rough allocated result |
|---|---|---|---|
| A | $30,000 | $32,500 | -$2,500 |
| B | $18,000 | $18,750 | -$750 |
| C | $12,000 | $11,250 | $750 |
| Total | $60,000 | $62,500 | -$2,500 |
The sample has positive direct contribution and a negative rough allocated result.
That is a useful warning, not an accounting project P&L. An hour-based allocation treats every labor hour as equal and may assign sales, training, or available capacity in a way that does not reflect causation.
Use it to decide where to investigate. Do not use it as a final client, employee, or pricing judgment.
Layer 3: scope and the company result
The three projects used 500 delivered hours against a combined 400-hour scoped allowance.
- Extra effort: 100 hours.
- Average direct cost: $34,000 / 500 = $68 per hour.
- Direct cost consumed by the extra effort: about $6,800.
- Capacity at the $125 company screen: $12,500.
- Quoted-value counterfactual at $150 per hour: $15,000.
For fixed-fee work, the $15,000 is not automatically a write-off, receivable, or recoverable fee. The agreement and approvals decide whether the extra work can be billed.
The useful language is:
- direct contribution remained positive;
- extra delivery consumed about $6,800 of direct cost;
- the sample failed the rough loaded screen by $2,500;
- billable extra work is unknown until the contract and approvals are checked.
Build the worksheet
| Job, account, or crew | Earned fee | Scoped unit | Delivered unit | Direct labor | Material and subcontractor | Direct contribution | Allocation method | Rough loaded result | Invoice status | Collection status |
|---|---|---|---|---|---|---|---|---|---|---|
Choose a unit that fits:
- Fixed-fee project: project, milestone, or delivered hour.
- Retainer: account-month and capacity promised versus consumed.
- Time and materials: worked, approved, billable, and invoiced hours.
- Trades and field service: job or crew-day, with labor, materials, subcontractors, travel, callbacks, and approved changes.
Route the result
- Direct contribution is weak: inspect scope, rate or mix, direct labor, material, and subcontractor cost.
- Contribution is positive, but the loaded screen is weak: inspect overhead, non-client capacity, and the allocation method.
- Both are healthy, but cash is thin: inspect billing, receivables, taxes, debt principal, capital purchases, reserves, and distributions.
- The sample is inconsistent or too small: improve the data and repeat before changing price or staffing.
At 5 to 10 people, review every recently completed job if practical. At 11 to 30, use a labeled sample across different job types, roles, or crews. Never present the sample as the whole firm.
The goal is not a perfect cost system. It is a calculation precise enough to keep three different problems from receiving the same fix.
This article is for general informational purposes only. It is not financial, legal, tax, or accounting advice. Work with qualified professionals on decisions for your firm.
AI assisted with the draft. Altvina is responsible for the final published version.
More from this week
This piece stands on its own. This week's 5 pieces all look at When Busy, Profit, and Cash Disagree:
- Monday: Booked Solid, Less Cash: Find Which Number Changed
- Tuesday: Before You Cut Non-Client Time, Classify It (coming Tuesday)
- Wednesday: Project Contribution Is Not the Same as Project Profit (this post)
- Thursday: A Client Asked Whether AI Should Make the Work Cheaper (coming Thursday)
- Friday: Fix It Now or Wait: A Decision Table With the Cost of Both (coming Friday)
Content and Accuracy Disclaimer
This article was drafted with AI assistance and reviewed by the Altvina team. We rigorously fact-check all content to ensure reliability.
Should you notice any inaccuracies or outdated information, please contact us so we can correct it. Your feedback helps us maintain high standards of accuracy and transparency.