Retainer vs Fixed Price vs Hourly: Running All Three Billing Models Without Three Processes

Aug 9, 2026

Written by Gregory Shein, CEO & Founder

Retainer vs Fixed Price vs Hourly: Running All Three Billing Models Without Three Processes

Ask ten agency owners which billing model is best and you'll get a debate. Look at their actual books and you'll find the real answer: all three, simultaneously, whether they planned it or not. The anchor client is on a retainer, the new website is fixed price, and the legacy client from 2021 still pays hourly because nobody wants to have the conversation.

The mixed book isn't the problem — it's usually correct, because the model should match the engagement, not the agency's preference. The problem is that most shops respond to three billing models by evolving three separate processes: one spreadsheet for retainer burn, one gut-feel tracker for fixed-price budgets, and one export ritual for hourly invoices. Three processes means three places to leak margin.

This is the operational guide: how each model actually gets tracked, one decision table for pricing new deals, and how to run all three through a single process. (If you're still choosing which models to offer and how to price them, start with agency pricing models explained — this article is about running the mix you already have.)

The one rule that unifies everything

Before the per-model rules, the master rule: track every hour, on every model, against its client and project — including fixed price and retainer work.

Agencies consistently track hourly work (the invoice demands it) and consistently stop tracking fixed and retainer work ("we get paid the same either way"). That instinct is exactly backwards. On hourly, tracked time is billing data. On fixed and retainer, tracked time is the only thing standing between you and not knowing whether you made money. The paycheck being fixed is precisely why the cost side needs watching.

Once every hour is tracked identically, the three models stop being three processes and become three invoice configurations on the same data.

Per-model tracking rules

Hourly: protect the capture rate

  • The metric: capture rate — billed hours ÷ worked hours. Every untracked or "too small to bill" hour is a direct rate cut.
  • Track: same-day timer entries (reconstructed timesheets systematically under-log ~10–20%); billable flag on everything; a cap-warning if the client has a monthly ceiling.
  • Invoice: from approved timesheets, never from memory; lock invoiced hours against later edits — that audit trail is what wins disputes.
  • Failure mode: the client relationship gets comfortable and hours start going soft ("don't bother logging that call"). At a $100 rate, five soft hours a month is $6,000/year, per client.

Fixed price: protect the budget envelope

  • The metric: burn ratio — % of budgeted hours consumed ÷ % of work complete, weekly.
  • Track: hours against a pre-set hours budget (the fee ÷ target rate); scope changes logged and priced the day they appear, not absorbed.
  • Invoice: on milestones scheduled at kickoff — deposit, midpoint, delivery — so cash arrives while work happens.
  • Failure mode: the margin dies quietly at 110%, 120%, 130% of budget and nobody notices until ship day. Weekly burn checks are non-negotiable here.

Retainer: protect against silent over-delivery

  • The metric: utilization of the retainer — delivered hours ÷ retainer hours, plus effective rate (fee ÷ delivered hours).
  • Track: hours against the monthly allocation; a written rollover policy (use-it-or-lose-it, 1-month rollover, whatever — but written); over-cap work flagged the week it happens.
  • Invoice: automatically, same day each month — the whole point of retainers is predictable cash, so don't let invoicing be manual.
  • Failure mode: scope soup. "While you're in there…" requests pile up, the client's $4,000 retainer consumes $6,500 of labor, and because the invoice never changes, no alarm ever rings. Retainers don't fail loudly; they erode. (What a retainer fee actually covers is worth sending to clients who treat the retainer as all-you-can-eat.)

The decision table for new deals (copy this)

Signal on the new deal Hourly Fixed price Retainer
Scope clarity Fuzzy / discovery Crisp, written SOW Recurring stream of similar work
Who carries estimate risk Client YouShared
Cash flow shape Lumpy, lagging Milestone lumps Predictable monthly
Margin ceiling Capped at your rate Uncapped (efficiency is yours) Moderate, compounding
Margin floor High (risk-free-ish) Can go negativeErodes without cap enforcement
Admin load Highest (timesheet scrutiny) Medium (change requests) Lowest once running
Use when New client, unclear scope, R&D Repeatable work you've estimated 5+ times Ongoing value, trust established
Never when Client demands cost certainty Scope is fuzzy or client is indecisive Work is genuinely one-off

The classic lifecycle runs left to right: start a new client hourly (price the unknown), move defined projects to fixed price (harvest your efficiency), graduate the relationship to a retainer (lock in the base). Each step trades risk for predictability as information improves.

Worked example: one month, three models, one team

A 6-person studio, blended loaded cost $52/hour (check yours with the blended rate calculator). Same month, three clients:

Model Revenue Hours Effective rate Labor cost Delivery margin
Client H Hourly @ $110 $9,350 96 worked, 85 billed $97 $4,992 47%
Client F Fixed $18,000 $18,000 152 (est. 140) $118 $7,904 56%
Client R Retainer $6,000/mo (50h cap) $6,000 68 $88 $3,536 41%

Reading the row you'd normally miss:

  • H's real problem isn't the rate, it's the 88% capture — 11 unbilled hours cost $1,210 of pure margin. Fixing capture beats a rate raise this month.
  • F beat its estimate's rate ($118 effective vs $110-ish hourly) even while running 12 hours over, because the fee was priced on value. This is fixed price working as intended — and it was only visible because the hours were tracked despite the fixed fee.
  • R is 36% over its cap (68h vs 50h) and its effective rate has sunk to $88, below the hourly client. Nothing on the invoice shows this. Two more months of drift and R quietly becomes the worst client on the books. Run the drift math on your own anchor account with the retainer profitability calculator — the year-scale numbers are usually sobering.

One team, one time-tracking habit, three completely different margin conversations. That's the payoff of the master rule.

One process, three configurations

Operationally, a mixed book only stays sane when the system — not the team — knows each client's model:

  1. Intake: deal closes with a billing model field set; the project inherits budget/cap/rate from it
  2. Tracking: everyone tracks time identically; nobody needs to remember which client is which model
  3. Monitoring: one weekly view — capture rate on hourly, burn ratio on fixed, cap utilization on retainers
  4. Invoicing: hourly from timesheets, fixed from milestones, retainers on schedule — generated from the same tracked data
  5. Client visibility: a client portal showing progress and hours does double duty — it justifies hourly invoices and makes retainer over-cap conversations factual instead of awkward

This is exactly the shape Corcava is built around: hourly, fixed, and retainer billing on the same client record, tracked time flowing to the right invoice type automatically, with margin per model visible in the same agency workflow from deal to payment — one process, three configurations, zero spreadsheets gluing them together.

Run your mixed book through one systemstart a free 14-day Corcava trial (no credit card), set up one client per model, and see all three margins in the same report. And before your next retainer renewal, spend two minutes with the retainer profitability calculator.