Use case

Fixed-price project tracking

Stay inside scope on flat-fee work. Set an internal hours budget. Watch it burn down in real time. Catch scope creep at 80%, not the day before delivery. Protect the margin you priced for.

Free plan. No credit card.

DesignLab · Brand refresh Fixed price · 40h budget
22 / 40h
55% 18.0h remaining
Globex · Website rebuild Fixed price · 40h budget
34 / 40h
85% 6.0h remaining
Acme · Q1 build Fixed price · 60h budget
63 / 60h
105% 3.0h over budget

The burn-down is your real-time margin indicator.

Where the margin goes

Fixed price is fine until the scope moves

Flat-fee projects are simple to invoice and easy to sell. They are also where service businesses quietly lose money, because nobody is tracking the cost side.

Tracking hours on a fixed-price job does not change the price you charge. It changes how soon you notice the scope problem.

  • The $15k website ran 230 hours. Nobody noticed until invoice day.
  • "One small tweak" turns out to be 8 hours of work and nobody invoiced for it.
  • The change-request arrived as a line in an email and was never recognised as one.
  • Next year you quote a similar project at the same price, because you have no idea what the last one cost.
  • Team morale dips because the project that "should be done" keeps grinding on.
The mechanics

Fixed-price projects, with the visibility of a retainer

A budget that does not reset, a warning while you can still act on it, and real cost data when the job closes.

A budget that doesn't reset

Set the total hours for the project once. Track time against it. The burn-down is your real-time margin indicator.

  • One-off hours budget per project
  • Burns down across the whole project, with no period reset
  • Visual progress bar the team sees every time they log
DesignLab · Brand refresh
Fixed-price project
On track
22 / 40h
55% 55% used
Internal cost
$3,300
Fixed price
$6,000

Catch scope creep at 80%

The alert threshold flags when you are heading for overrun while there is still time to renegotiate scope, sequence work differently, or have the conversation with the client.

  • Configurable threshold per project, with 80% as the sensible default
  • The dashboard makes the at-risk projects obvious
  • Overrun hours are still tracked, never silently dropped
Approaching budget · 85% used

Globex · Website rebuild. 34 of 40 hours used, with 6 hours of budget remaining.

Estimated to complete based on velocity: 8.5 more hours. Likely 2.5h overrun.

Real margin data, project to project

When the project closes, you know what it actually cost. Use that to price the next one properly. Stop quoting from memory.

  • Total hours by member, total revenue, effective rate
  • Project-level revenue report, exportable for finance
  • Compare projects, so you can see which clients are profitable
Project close summary
Hours used38.5h
Internal cost$5,775
Fixed-price revenue$6,000
Margin$225 · 3.75%

Next quote: probably price the next one closer to $8k.

Customer Support Inbox

Scope creep arrives by email

Scope rarely changes in a meeting. It changes in a message that begins "while you are in there, could you also". Nobody calls that a change-request, so nobody prices it, and eight hours later it is part of the job.

Client requests land in a shared inbox next to the project they affect, with the remaining budget visible beside them. A change-request gets recognised as one before somebody starts work on it.

  • Requests arrive filed against the client and the project
  • The remaining budget sits beside the conversation
  • Time answering the request lands on the same project budget

See the Customer Support Inbox →

One more thing while you're in there Open
P
Priya Raman
9:14am

Loving the new logo. While you're in there, could you also do the email signatures and the deck template? Should be quick I imagine.

Reply as your agency

Happy to take both on. They are outside the brand refresh scope, so I have priced them as a small add-on and sent it through for approval before we start.

Goes out from your own domain Send
Client
Northwind Studio
Matched from your Xero contacts
Project
Brand refresh
Time on this thread
Log time
Start timer
Retainer
Fixed price 18h left
22 / 40h
55% 22 of 40h used
Without losing money

How to run a fixed-price project

Turn the fee into hours, watch those hours, and let the closed project price the next one.

  1. Budget

    Convert the fee into hours

    Divide the agreed price by your blended team rate. That is the internal budget. Create the project, enter it, and set the alert threshold to 80%.

  2. Watch

    Glance at the burn-down weekly

    The amber projects are this week's conversations. Requests that would move the scope are visible as they arrive, rather than as an unexplained jump in the meter.

  3. Close

    Learn what it actually cost

    Review the hours, the internal cost and the margin. That number is what you should be quoting from next time, instead of the number you charged last time.

What changes on the next flat-fee job

Fewer death-march projects You see the trouble at 80%, not in week nine.
Conversations, not write-offs Scope creep becomes a discussion at the moment it arrives, not a quiet loss.
Smarter quoting Last year's actual cost informs next year's price.
Better team morale When the team can see the budget, they help defend it.

Common questions

How do I track a fixed-price project?

Convert the agreed fee into an internal hours budget based on the rates of the people doing the work. Track time against the project as normal. Watch the budget burn down in real time. If you hit 80% with too much scope left to deliver, you know to renegotiate or eat the cost; you do not find out a week before the deadline.

What is the difference between a fixed-price budget and a retainer?

A retainer is recurring with a per-period cap that resets, such as 8 hours every month. A fixed-price project is a one-off budget for a defined scope that does not reset. Hour Cap handles both: retainers for ongoing work, fixed-price budgets for project-based scopes.

Why track hours on a fixed-price project at all?

Two reasons. First, profitability: you can only price next year's projects accurately if you know what this year's actually cost in hours. Second, scope: tracking shows when an apparently small change-request is, in fact, a third of the original budget.

How do I catch scope creep that arrives by email?

This is the usual shape of it. Scope rarely changes in a meeting; it changes in a message that starts "while you are in there, could you also". The Customer Support Inbox add-on puts those requests in front of the project they affect, with the remaining budget visible beside them, so a change-request is recognised as one before somebody starts work on it.

Can I bill milestones on a fixed-price project through Xero?

Yes. Create the milestone invoices in Hour Cap and push to Xero as drafts. Line items can be fixed-fee chunks rather than per-hour. The hours tracked against the project remain internal data for margin tracking and do not have to appear on the invoice.

What happens when a fixed-price project overruns?

Hour Cap keeps tracking the hours and shows the overrun against budget. The decision of what to do is yours: have the scope conversation with the client, write off the overrun, or convert remaining work to time and materials. The data supports any of those conversations.

Jonathan Bird, freelance web developer and creator of Hour Cap

Why I built Hour Cap

I'm Jonathan, a freelance web developer in Brisbane, Australia. After 15 years, I wanted my client work to run on one system instead of separate tools that didn't handle retainers or Xero, copy/paste errors, and time that never got invoiced. I needed one tool that handled retainers, fixed-price, and hourly projects, let me write proper multi-line descriptions, showed me what was actually profitable, and pushed straight to Xero as invoices. Nothing did all of it, so I built one. Today it is pivotal to my business: all my time tracking, invoice drafting, and profitability runs through Hour Cap, and it scales the same way for agencies and teams.

Jonathan Bird Freelance web developer · Creator of Hour Cap

Independent and self-funded. When you email support, you reach the person who built it.

More about Jonathan

Defend the margin you priced for

Track every fixed-price job from quote to close, including the requests that quietly change the scope.

Free plan after the trial
No credit card
Set up in minutes