Pricing Your Productised Compliance Packages Without Guessing
A practical method for setting prices on packaged compliance work using real capacity data, so your fixed fees actually protect your margin.
Plenty of firms have already made the leap to productised services. You've bundled the BAS, the year-end accounts, the tax return and a few advisory touchpoints into a tidy monthly fee. The client loves the certainty. Your proposal converts faster. So far, so good.
Then reality arrives. Six months in, some packages feel comfortable and others feel like you're working for free. The tricky part of productisation was never the packaging — it was the pricing. And most firms price by gut feel, copy a competitor, or add a rounded margin to last year's number. This article is about doing it properly, using data you can actually get your hands on.
Why gut-feel pricing quietly fails
A productised fee is a bet. You're wagering that the annual cost of delivering the package is lower than the fee you charge, across the whole client relationship. The problem is that the cost side of that bet is usually invisible. You know the fee to the dollar, but the effort to deliver it lives in scattered timesheets, half-remembered late nights and the jobs nobody logged properly.
When you can't see delivery cost clearly, two things happen. You over-price simple clients and lose some on price, and you under-price complex ones and quietly subsidise them. The average looks fine on a P&L, which is exactly why the problem persists for years.
Start with the unit, not the client
Productising means you're no longer pricing clients — you're pricing repeatable units of work. A quarterly BAS is a unit. A set of year-end company accounts is a unit. A monthly bookkeeping cycle is a unit. Price the units, then assemble packages from them.
For each recurring unit, you need three numbers:
- Typical hours to deliver — the realistic median, not the best-case run when everything's clean.
- The blended cost rate of the people who actually do it — usually a mix of junior, senior and reviewer time.
- The variance — how much the hours swing between your easiest and messiest clients for the same unit.
That third number is the one firms skip, and it's the one that separates a package that holds up from one that bleeds. A year-end job that takes 4 hours for a clean client and 14 for a disorganised one is not a single price. It's at least two.
Get the hours from real work, not memory
You cannot estimate delivery hours honestly from memory — everyone remembers the smooth jobs and forgets the painful ones. You need actual data from completed work.
This is where your practice system earns its keep. In Finye, recurring jobs run on boards and repeat automatically on their fortnightly, monthly or quarterly cadence, and time and WIP are captured against each work item. After a couple of cycles you can look back at how long a given unit genuinely took, across different clients, rather than guessing. That backward-looking view of real hours per job type is the raw material for defensible pricing.
If you're not yet tracking time against job types, start now on a light-touch basis. You don't need a stopwatch on every keystroke — you need enough data to establish medians and see the spread. A quarter or two of honest capture beats a year of estimates.
Build the price from the bottom up
Once you have hours and cost rates per unit, the arithmetic is straightforward:
- Delivery cost per unit = typical hours × blended cost rate.
- Target price per unit = delivery cost ÷ your target cost-to-fee ratio. If you want delivery cost to sit at, say, a third of the fee, divide by 0.33.
- Package price = sum of the unit prices in the bundle, plus a modest allowance for the coordination overhead of running a monthly relationship.
Then sanity-check against variance. If a unit swings wildly between clients, don't price to the median and hope. Either build tiers (clean / standard / complex) or add a documented condition to the engagement that defines what the fee assumes.
Tiers beat one-size-fits-all
Three tiers per package solves most of the variance problem. Tier one covers clients whose records arrive clean and on time. Tier two is your standard case. Tier three carries the clients whose books need real remediation. The client self-selects when they see what each tier assumes, and you stop absorbing complexity for free. Crucially, the tiers give your team a shared language for triaging new enquiries during onboarding.
Write the assumptions into the engagement
A productised price is only safe if the scope is defined. The single biggest cause of margin erosion on fixed fees is scope creep dressed up as good service — the extra call, the ad-hoc report, the reconciliation of an account that wasn't in the deal.
State plainly what the package includes, at what frequency, and what sits outside it. Note the assumptions your price depends on: records provided by a set date, a maximum number of transactions or entities, source data in a usable state. When those assumptions break, you have a clean basis for a conversation rather than a resentful write-off. Your engagement letter is the right home for this, and having it signed before work starts means nobody's arguing about scope mid-job.
Review the bet every quarter
Productised pricing is not set-and-forget. Costs move, clients grow messier or cleaner, and your team gets faster at repeatable work. Once a quarter, pull the actual hours logged against each recurring unit and compare them to the hours your price assumed.
Look for the gaps:
- Consistent overruns on a unit mean the price is wrong or the scope has crept — fix one or the other.
- Consistent under-runs mean you've either priced conservatively or improved delivery. That's headroom to reinvest or a signal you can win more of that work.
- High variance that isn't reflected in tiers means you need tiers.
Because Finye keeps recurring jobs, time and WIP in one place, this review is a report you read rather than a reconstruction you dread. That's the whole point of running the practice around the work: the data you need to price the next year is a by-product of delivering this one.
The payoff
Productisation promises predictable revenue. But revenue you can't deliver profitably isn't predictable — it's just a fixed way to lose money. Pricing your packages from real delivery data, tiering for variance, and writing your assumptions into the engagement turns the promise into reality. You end up with fees that clients trust, margins that survive contact with your messiest client, and a pricing process you can defend to yourself every quarter.