Why is a monthly retainer easy to underprice?
A retainer is a fixed monthly fee for a defined block of your time or a defined scope of recurring work, such as monthly bookkeeping or ongoing virtual assistant support. It is easy to underprice because the fee is fixed while the hours are not. Your real earnings are the fee divided by all the hours the client costs you, which is your effective hourly rate. If you price the retainer from a guess and never check that division, the client who “only needs a little help” can quietly pay you less per hour than anyone else you serve.
To try the check on one client right now, the free Retainer Rate Calculator takes one client and one month, splits the hours into retainer work in scope, retainer work out of scope, and unbilled admin, and compares your effective rate against your target. For every client, month after month, the Bookkeeping & VA Retainer Workbook carries the same math across your whole roster. The steps below show how to do it by hand first.
Step 1: How do you set a target hourly rate?
Your target rate is the hourly figure each client’s fee has to clear. Build it from three numbers:
- Pay goal: what you want to take out of the business in a year.
- Overhead: software, insurance, equipment, and other costs of running the practice.
- Billable hours: the hours you can realistically bill, which is far fewer than the hours you work. Sales, learning, bookkeeping your own books, and time off do not bill.
Illustrative arithmetic:
| Item | Amount |
|---|---|
| Yearly pay goal | $60,000 |
| Yearly overhead | +$9,000 |
| Amount to cover | $69,000 |
| Billable hours per year (divide by) | 1,200 hours |
| Target rate | $57.50 / hr |
Notice that 1,200 billable hours is only about 23 hours a week over 52 weeks. That is deliberate. Dividing by a hopeful 2,000 hours would produce a rate that only works if you never have a slow week.
Step 2: How does the admin load change the price?
Admin is the time a client costs you that you do not bill: sending invoices, chasing missing receipts, onboarding, check-in calls. It does not use up the client’s included hours, but it is real time, so it counts against the fee when you work out your effective rate. Pricing only the hours the client will request leaves that time unpaid.
Suppose 20% of your total hours across all clients turn out to be unbilled admin. A client who asks for 10 hours of work then costs you more than 10:
- Realistic hours = requested hours ÷ (1 − admin share)
- 10 ÷ (1 − 0.20) = 10 ÷ 0.80 = 12.5 hours
That 12.5 is the number to price, not the 10.
Step 3: How do you set the fee and included hours?
Multiply the realistic hours by your target rate, then round to a clean step so the number looks like a real price rather than a calculation:
- 12.5 hours × $57.50 = $718.75
- Rounded to the nearest $25 = $725 a month
- Included hours: 10
- Price per included hour: $725 ÷ 10 = $72.50
The client sees “10 hours for $725.” You know that the $72.50 an included hour is what pays for the 2.5 hours of admin sitting behind each 10 they use. The gap between $72.50 and your $57.50 target is the admin load, priced in.
Step 4: What should your rollover rule be?
A rollover rule says what happens to included hours the client did not use. Decide it up front, because the argument over “I paid for those hours” usually arrives in the month after a quiet one. Three common rules:
- None: unused hours expire at month end.
- Next month only: unused hours carry one month, are used first, and expire if not used by the end of that next month.
- Carry with a cap: unused hours keep rolling, but the banked balance can never exceed a cap set as a percentage of the monthly included hours. Anything above the cap expires.
Here is how “next month only” works on a 10-hour block, again with illustrative numbers:
- Month 1: 0 carried in, 10 available, 7 used, so 3 roll.
- Month 2: 3 carried in, 13 available, 12 used. The 3 carried hours go first, then 9 of the 10 included, so 1 rolls.
- Month 3: 1 carried in, 11 available, 13 used, so 2 hours are over.
And “carry with a cap” on a 20-hour block with a 25% cap means at most 5 hours can be banked. If a month ends with 6 unused, 5 roll and 1 expires.
Which rule is right is a business and contract decision, not a math one. Whichever you choose, write it into the service agreement in plain words and apply that same rule when you track hours, because a policy that lives only in your head is the one that turns into an argument.
Step 5: What overage rate should you charge?
Overage is the rate for hours beyond what the client has available. Set it at your target rate or higher, and never below the price of an included hour. If overage is cheaper than the block, a rational client will simply skip the higher tier and pay overage every month.
From Step 3, an included hour costs $72.50, so a $75 overage rate keeps going over slightly more expensive than the block. Using the Month 3 example above, 2 overage hours at $75 is $150 to bill on top of the retainer.
Overage should also be a bill, not a favor. Extra hours you quietly absorb are scope creep that never shows up as revenue. Log the small requests as well as the big ones; if you track only the large jobs, your numbers will flatter you.
Step 6: How do you re-price at renewal?
Renewal is where a retainer either gets fixed or stays wrong for another year. Do not reprice on feel. Use real usage from the last 3 months: the retainer work hours and the unbilled admin hours for that client. Illustrative client, currently on the $725 fee and 10 included hours:
| Month | Retainer work | Unbilled admin | Total hours |
|---|---|---|---|
| Month A | 12 | 2 | 14 |
| Month B | 13 | 3 | 16 |
| Month C | 14 | 4 | 18 |
| Average | 13 | 3 | 16 |
First, see what the current fee actually earns: $725 ÷ 16 hours = about $45.31 an hour, against a $57.50 target. That is a clear signal to reprice.
Then build the evidence-based renewal fee:
- Average total hours × target rate = 16 × $57.50 = $920
- Rounded to the nearest $25 = $925, the evidence-based fee
That is a 27.6% rise on $725, which is a lot to ask in one step. Cap any single renewal increase; at a 20% cap (the workbook’s default), the most you propose is $725 × 1.20 = $870, rounded down to the $25 step = $850 a month. Plan the remaining $75 for the following renewal rather than dropping it.
Now the included hours. The client averages 13 hours of retainer work, but the proposed fee cannot buy 13 hours at today’s price of $72.50 an included hour. $850 ÷ $72.50 is about 11.72, so the block is the whole hours the fee buys: 11 included hours (never fewer than today’s 10). The new price per included hour is $850 ÷ 11 = about $77.27, which is higher than the $72.50 before. The rule to keep is that re-pricing should hold or raise what an included hour costs, never cut it. With a 13-hour average and an 11-hour block, expect about 2 hours a month of overage. Raise the overage rate with the fee, because the $75 from Step 5 is now below the $77.27 an included hour costs; at $80 an hour, those 2 hours bill $160 a month.
Unbilled admin is priced into the $850, not handed back as included hours. When you present the renewal, lead with the hours the client actually used, not with your target rate.
Use one file so the numbers carry from month to month
By hand, all of this lives in a stack of timesheets and a fee you last calculated a year ago. The Bookkeeping & VA Retainer Workbook tracks each client’s unused and overrun hours month to month under that client’s own rollover rule, prices the overrun in dollars, and turns your recent real usage (the last 3 months by default) into a renewal fee and included hours you can defend, so a renewal never cuts what an included hour costs. It comes with a Start Here guide and a Retainer Terms & Renewal Playbook PDF with clause wording to adapt. You buy it once and keep it in Excel or Google Sheets: you own it, you don’t rent it by the month. If you only need the one-client check first, the free Retainer Rate Calculator is the place to start.