A fixed project fee should do more than multiply an hourly rate by an estimated number of hours. This service pricing playbook shows how to turn hourly inputs into a repeatable project price that accounts for utilization, overhead, delivery risk, pass-through costs, tax or benefit reserves, and a target margin. Use the method with an editable spreadsheet pricing template, then revisit the inputs whenever your costs, capacity, or offer changes.
Overview
Hourly pricing is useful for estimating effort, but it does not automatically produce a profitable fixed-price proposal. A project can consume more time than expected, include unpaid coordination, or carry software and contractor costs that are easy to overlook. The purpose of an hourly-to-project pricing template is to make those assumptions visible before a proposal is sent.
A practical project pricing model has four layers:
- Scope and effort: the work required to deliver the agreed outcome.
- Cost base: labor, allocated overhead, contractors, travel, software, and other direct costs.
- Risk allowance: a clearly stated reserve for uncertainty, dependencies, and reasonable revisions.
- Target margin: the amount that remains after delivery costs, expressed as a percentage of the selling price.
The core formula is:
Project price = (total estimated cost + risk allowance + pass-through costs) ÷ (1 − target margin)
For example, a 30% target margin means dividing the cost base by 0.70. This is different from applying a 30% markup. Margin is calculated from the final selling price; markup is calculated from cost. Keeping the two terms separate prevents a proposal from appearing profitable when it is not. For a broader comparison, see this profit margin calculator guide.
How to estimate
Use the following workflow for every new proposal. The sequence can be built into a spreadsheet, quoting form, or internal pricing SOP.
- Define the deliverable. Write down what the client receives, what is excluded, the approval points, and the conditions that could change the estimate. A vague scope creates a vague price.
- Break the work into activities. List discovery, planning, production, reviews, meetings, project management, quality checks, handover, and administration. Do not estimate only the visible production work.
- Estimate hours by activity. Use a low, expected, and high estimate where uncertainty is material. The expected estimate is the working figure; the range helps determine an appropriate contingency.
- Calculate a loaded cost per billable hour. Include compensation or owner draw assumptions, employer costs or benefits where relevant, recurring overhead, and realistic billable capacity. Your available working hours are not the same as hours that can be sold to clients.
- Add direct and pass-through costs. Include subcontractors, licenses purchased specifically for the project, travel, production expenses, or other costs that are not covered by general overhead.
- Apply a risk allowance. Add hours or a percentage for unclear requirements, client dependencies, technical uncertainty, or revision risk. Record the reason rather than hiding it in an unexplained rounded number.
- Apply the target margin. Divide the complete cost base by one minus the target margin. Then compare the result with the client’s likely budget, the value of the outcome, and the commercial terms.
- Check the payment schedule. A price can be profitable on paper but difficult to fund if all work is completed before payment. Match deposits, milestones, or progress invoices to the delivery plan and confirm the arrangement in the contract.
For capacity planning, pair this workflow with a billable utilization calculator. For client-facing scope and handoff steps, a client onboarding SOP can reduce the administrative work that often disappears from project estimates.
Inputs and assumptions
Keep the spreadsheet inputs separate from the formulas. This makes the model easier to audit when your costs or capacity change.
Capacity and utilization
Start with the working hours available in a typical month, then remove time for sales, administration, internal meetings, leave, training, and other non-billable responsibilities. Apply a utilization assumption to the remaining capacity. The purpose is not to predict every month precisely; it is to avoid pricing as if every available hour can be sold.
Loaded labor cost
Include the cost of the people doing the work, along with relevant benefits, payroll costs, or contractor payments. For an owner-led business, decide whether the model uses an owner salary, draw, or replacement-cost assumption. Use one consistent approach so projects can be compared.
Overhead allocation
Allocate recurring costs such as software, insurance, accounting, workspace, equipment, and general administration. You can allocate overhead per billable hour, as a percentage of labor cost, or by project. The best method is the one that is consistent and easy to review. If your business has several service lines, consider separate rates where their delivery costs differ materially.
Tax, benefits, and reserves
Tax treatment depends on your business structure and location, so the template should provide an input for a tax or reserve assumption rather than prescribing a universal rate. Ask a qualified adviser how taxes, benefits, sales taxes, VAT, and owner compensation should be represented in your model. Consumption taxes collected on behalf of a tax authority should not automatically be treated as project revenue.
Margin, markup, and contingency
Choose a target margin based on the work, risk, and financial needs of the business. Then distinguish it from markup. If a project costs 700 and you apply a 30% markup, the price is 910 and the margin is about 23%. If you need a 30% margin, the price is 1,000 because 700 ÷ 0.70 equals 1,000.
Use contingency deliberately. A straightforward, well-defined repeatable project may need less allowance than a project with new technology, several decision-makers, or unclear source material. Do not use contingency to compensate for a consistently inaccurate estimating process; review the estimate after delivery and improve the activity-level assumptions.
Worked examples
Example 1: Converting an hourly estimate into a fixed fee
Assume a small service team has these monthly inputs:
- Compensation, benefits, and related labor cost: 6,500
- Allocated recurring overhead: 2,000
- Available working hours: 160
- Planning utilization: 65%, producing 104 billable hours
The loaded cost per billable hour is (6,500 + 2,000) ÷ 104, or approximately 81.73.
For a proposed project, the estimate is 32 production hours, 6 project-management hours, and 4 hours for review and handoff. That is 42 hours before contingency. A 10% allowance adds 4.2 hours, producing 46.2 estimated hours. The labor cost is approximately 46.2 × 81.73, or 3,777. Add 150 for project-specific costs, giving a total cost base of about 3,927. With a 30% target margin:
3,927 ÷ 0.70 = approximately 5,610
A fixed proposal near 5,610 is therefore the model’s starting point, subject to scope, commercial terms, and the client’s expected value. If the same project were priced at a 100 hourly rate against the original 42-hour estimate, the fee would be 4,200. That figure may look reasonable, but it leaves less room for overhead and the extra work represented by the contingency allowance.
Example 2: Comparing pricing models
| Model | Useful when | Main control needed |
|---|---|---|
| Hourly | Scope is changing or effort is difficult to predict | Time tracking, approval rules, and a spending limit |
| Fixed bid | Deliverables and acceptance criteria are clear | Scope boundaries, revision limits, and change control |
| Retainer | Work is recurring and capacity is reserved | Usage rules, rollover policy, and monthly review |
| Value pricing | The client outcome can be described and measured | Outcome assumptions and a clear definition of success |
These models can be combined. For example, use a fixed fee for a defined setup phase, then a retainer for ongoing support. Use hourly billing for out-of-scope requests if the contract explains how those requests are approved and priced.
When to recalculate
Pricing is an operating input, not a one-time decision. Recalculate whenever your pricing inputs change, including a compensation change, new software costs, contractor rates, office costs, financing costs, or a sustained shift in utilization. Revisit the model before a new service is launched and before you commit to a large fixed bid.
A quarterly pricing audit is a practical minimum for many small teams. Compare estimated hours with actual tracked hours, review gross margin by project, identify unpaid meetings or revisions, and check whether pass-through costs were recovered. If the same activity repeatedly exceeds its estimate, update the activity assumption instead of adding an unexplained blanket increase to every proposal.
Also review the model when your sales mix changes. A business with more retainers may have more predictable revenue but less flexible capacity. A business taking on larger fixed bids may need a higher risk allowance or stronger change-order process. Before each bidding period, compare hourly, fixed, retainer, and value-based options for the same sample project.
To put the process into practice:
- Copy the inputs into a spreadsheet with separate tabs for assumptions, activity estimates, project pricing, and actual results.
- Price the next proposal using total effort, not just production hours.
- Record the expected margin, payment schedule, exclusions, and contingency reason in the proposal notes.
- Review the completed project against the estimate within a week of delivery.
- Run a quarterly audit and update rates before the next group of proposals.
This repeatable workflow turns an hourly-to-project pricing template into a working finance tool. For wider back-office checks, use the quarterly business administration audit checklist, and review receivables with the accounts receivable aging report template. The goal is not to find one perfect price; it is to make every price explainable, reviewable, and capable of covering the real cost of delivery.