Packaging controller services: what goes in, how to tier it, and what to charge
Most firms already do controller work. They do it when a client asks whether they can afford something, when the bank wants a covenant calculation, when a hire has to be timed against a slow quarter. The work gets done. It does not get scoped, priced or staffed, because it was never defined as a service. It is absorbed into partner time and billed, if at all, as a line nobody planned for.
Packaging is the step that turns that absorbed work into an offering. It means deciding what the firm will keep current for each client every month, which clients need more of it than others, and what the monthly fee is. This page covers those three decisions, and how the package sits next to the bookkeeping and CFO engagements the firm already sells.
Start with what is kept current, not what is delivered
A bookkeeping package is easy to describe because it produces documents. The close, the reconciliations, the statements. Each has a date and a file.
A controller package is harder to describe because its main output is a state, not a document. The client’s current position: cash today, what is committed, what is expected in over the next several weeks, where the plan and the actuals have parted. The value is that this picture is ready when the question arrives, not that a report was sent.
So the scope should be written as a list of things the firm keeps current, with the documents as evidence of it. One sentence belongs at the top of it: this package adds between-close financial oversight to the firm’s existing accounting engagement. Existing responsibilities stay where they are. New commitments get their own scope and price.
A working scope for the base tier looks like this.
Close review. The firm completes its agreed close-review checks and identifies unresolved items. This is where the controller role begins, and it is the piece most firms already deliver inside the accounting engagement without naming it. If it is already in scope there, it stays there and is not charged twice.
A standing current position. Cash, receivables, payables and open commitments, held current between closes rather than rebuilt at each one.
A forward view. The 13-week cash flow, refreshed as the bank and the ledger move, not as the meeting calendar does.
Variance against plan. The budget vs actual report, with the departures explained rather than listed.
A response to the next question. When the owner asks whether they can afford something, the firm responds within an agreed window: an answer where the evidence supports it, or a clear statement of what needs confirming first. Current bank activity is not the same as reconciled books, and the scope should say so. Naming the response window is what makes this billable.
Everything on that list is work the firm knows how to do. The difference between doing it and packaging it is the second line: the commitment to keep the position current whether or not anyone has asked.
Tier by what varies, not by how often you meet
The easy way to tier is by cadence. Monthly, biweekly, weekly. It is easy because it maps to hours, and hours are the thing the firm knows how to count.
It is also the wrong axis. Meeting frequency is a proxy for how much attention the client is buying, and in a package built on a standing current position, attention is not what scales. What scales is how much there is to keep current, and how often it moves.
Three things drive that.
Complexity of the business. Number of entities, size of payroll, number of bank and credit accounts, whether there is inventory or work in progress, whether a lender needs reporting. Each adds lines that have to be kept current and adds ways for the position to move without anyone noticing.
Volatility. A landscaping company and a software company with the same revenue need different amounts of controller. Seasonal swing, customer concentration and slow-paying accounts all mean the position changes more between closes and the forward view needs more maintenance.
Decision load. How often the owner is making a money decision that depends on the current picture. A business that is hiring, expanding or financing asks more often than one that is stable. This is the one most firms underweight, and it is the one that most directly consumes partner time.
A three-tier structure that follows those drivers is usually enough. A base tier for a single-entity, low-volatility business with a few decisions a year. A middle tier where any one of the three drivers is elevated. A top tier where two or more are, or where a lender or board is involved. The tiers describe how much has to be kept current.
Meeting frequency should not define the tier. But every tier still needs boundaries: how the owner can reach the firm, the response window for questions, and how much partner time for discussion is included. Decision load is the driver that consumes partner time, so the tier that absorbs more of it has to say how much.
Know what moves a client up
The tier a client starts in is a guess. What matters more is having a defined set of triggers that move them, so the conversation about a higher fee happens because something changed in the business rather than because the partner noticed the engagement had become unprofitable.
Common triggers, in the practices we work with:
The owner is asking affordability questions between closes more than once or twice a month.
A second entity, a new location, or a payroll that crosses the point where timing matters.
A lender relationship that brings covenant reporting or a line of credit that has to be managed.
A hiring plan or an expansion with a date attached.
Receivables concentrating in a few customers, or a customer who has started paying slowly.
Each of these makes the current position harder to hold and more consequential to get wrong. Each is also visible in the data before it is visible in the partner’s calendar, which is the point of writing them down in advance.
Where it sits next to the CAS engagement
The controller package is not a separate practice. It is the middle line on an engagement the firm is already delivering, between the bookkeeping and close work below it and the CFO conversation above it.
That matters for how it is sold. Relabeling the existing client advisory services engagement as controller services changes nothing and invites the client to ask what is new. Adding a defined layer, with its own scope and its own fee, gives the client something specific: the firm now keeps their position current between meetings, and here is what that includes.
It also matters for how it is staffed. The close work has a rhythm and can be scheduled. The CFO conversation is periodic and is where the partner’s judgement belongs. The controller layer is continuous, and it is the part that does not fit a schedule. Controller services covers why that layer is the one most firms are short on, and what a controller does that a bookkeeper does not covers where the line sits.
Price it as a fixed monthly fee
The profession has already settled this. Only 10 percent of CAS practices still use hourly billing as their primary pricing method, down from 53 percent in 2018 (CPA.com and AICPA PCPS 2024 CAS Benchmark Survey). Firms generating meaningful revenue from CFO and business-insights work report more than 30 percent higher monthly recurring revenue than those that do not. Recurring, fixed-fee, higher-level work is where CAS growth is coming from.
Controller work fits that model better than most, and the reason is what the client is buying. Price the standing commitment, not the questions that happen to arrive. The client is paying for the picture to stay ready, including in months when they never ask. A fixed monthly fee is the container that matches that promise.
There is no published benchmark for what that fee should be, and this page will not invent one. What a firm should charge for controller work covers how to find the number from the firm’s own engagements. The starting point is the partner time already going to between-close questions across the last quarter. That is one input, not the price. Add the recurring delivery and review time across the staff who will maintain the position, the technology cost, and an allowance for exceptions. Onboarding and cleanup are priced separately where they apply. That gives a cost floor for the base tier. The fee sits above it, and the tier drivers set the steps.
How many of these engagements one person can carry is its own question. How many clients a fractional controller can handle covers it.
What to say to the client
The package is easiest to introduce to clients who already ask. The sentence is short: “We are adding a service that keeps your numbers current between our meetings, so when you ask whether you can afford something, you get a same-day response: an answer, or exactly what we need to confirm first.”
The client hears two things. The answer gets faster, and it gets more reliable. Neither implies the firm was doing anything wrong before. It was answering from the last close, because that is what it had. And the promise matches the scope: a response inside the agreed window, not a guarantee that every question has a clean answer on the day.
Where AgentLink fits
AgentLink holds the standing current position for each client in the package. It keeps the forecast current from the bank and the ledger daily, records each affordability decision as a by-product of answering it, and flags when a client’s position has moved past one of the tier triggers. The firm defines the scope, sets the tiers and the fee, and delivers the judgement. The system keeps the picture ready.
Whether to offer the package, what to charge, and what to advise remain the firm’s.
Frequently asked questions
What is included in a controller services package?
A defined scope of work the firm keeps current for the client each month, added on top of the existing accounting engagement: close review, a standing current position covering cash, receivables, payables and commitments, a forward cash view, variance against plan, and a committed response window for affordability questions between closes. The documents are evidence. The service is that the position is ready when the client asks.
Should controller services be a separate package or part of bookkeeping?
A separate line with its own scope and fee. Folding it into bookkeeping leaves it unpriced and absorbed into partner time. Relabeling bookkeeping as controller services gives the client nothing new. The package sits between the two engagements the firm already sells.
How should a CPA firm tier controller services?
By how much there is to keep current and how often it moves: complexity of the business, volatility of its cash, and how often the owner is making money decisions. Meeting cadence should not define the tier, but each tier still sets boundaries on access, response time and included discussion time.
When should a client move to a higher tier?
When something in the business changes that makes the current position harder to hold: a second entity, a lender, a hiring or expansion plan, receivables concentrating, or a pattern of affordability questions arriving between closes. Define the triggers in advance so the conversation is about the business, not the fee.
Should controller services be billed hourly?
No. The client is buying a standing commitment: the picture stays ready, including in months when they never ask. Hours price the questions that arrive, not the readiness. Most CAS practices moved to fixed monthly fees for recurring work some time ago, and this is the clearest case for it.
How does a firm introduce the package to existing clients?
Start with the clients who already ask questions between meetings. Tell them the firm is adding a service that keeps their numbers current so those questions get a same-day response. The clients who have been asking will understand what they are buying.
AgentLink builds controller-layer software sold through CPA and fractional CFO firms. Statistics are drawn from the CPA.com and AICPA PCPS 2024 CAS Benchmark Survey. Practitioner observations come from design-partner conversations. Corrections to nilanjan@agentlink.finance.