Guides/accounting firms
Margin by service line is the CFO report that changes a client's prices
Sep 15, 2026 · 5 min read

Most small-business P&Ls answer one question: did the whole company make money this month? They can't answer the one the owner actually loses sleep over: *which of the things we sell makes the money, and which one is quietly eating it?* A landscaper who does maintenance, installs, and snow. A dental practice with hygiene, restorative, and cosmetic. An agency with retainers, projects, and hosting. Each has a service line that the owner is sure is the profitable one, and about half the time they're wrong.
We run an accounting firm. The 13-week cash flow forecast is the first CFO deliverable we sell because it answers the weekly anxiety. Margin by service line is the second, because it's the one that changes a client's prices, and a client whose prices you changed doesn't leave.
What it is
A contribution margin report: for each service line, revenue minus the costs that exist only because that service exists. Direct labor, direct materials, subcontractors, the software or equipment used only by that line. What's left is the contribution each line makes toward overhead and profit. Overhead is not allocated; allocating rent across service lines by a formula produces arguments, not decisions, and the decisions live in the contribution line.
Three or four service lines is the right number. More than six and the client is really asking for job costing, which is a different report with different mechanics.
Why it's the second product, not the first
The cash flow forecast is renewed because the client feels the problem weekly. Margin by service line is renewed because it produces one large decision a year: a price increase, a service dropped, a service line staffed differently. Firms that lead with it find clients don't feel the pain yet. Firms that sell it after six months of a cash forecast find the client asks for it, because by then the forecast has shown them that the busiest month wasn't the most profitable one, and they want to know why.
Building it from closed books
The report is a byproduct of the monthly close if three things are set up once.
Revenue tagged by service line. In most ledgers this is a class, a location, or a tracking category on every invoice line. The setup work is mapping the client's items or products to service lines, so tagging happens automatically at invoicing and nobody has to remember. Untagged revenue goes to a line called Untagged, and the close checks that it's zero, the same way it checks Uncategorized.
Direct labor allocated. This is the step that stops most firms, and it's simpler than it looks. For a business where staff are dedicated to a line, map each employee to a line in the payroll journal and the allocation is automatic. For a business where staff split, use one of three sources in order of preference: time tracking if the client has it, a scheduling or dispatch system's hours if they don't, or a quarterly estimate from the owner written down and applied every month until it's revised. A written estimate applied consistently beats an accurate number nobody produces.
Direct costs tagged at the bill. Materials, subcontractors, and line-specific software get the class at the bill or the bank rule. The same rules that categorize the expense can assign the line, so this costs nothing extra once the rules exist.
With those three in place, the report runs off the closed month. The firm's work is the review: is Untagged at zero, did the labor allocation get applied, does the total tie to the P&L. Twenty minutes.
What it reveals
The same three findings show up in most first reports:
- The popular service loses money. Usually the one the owner started the business with, priced years ago, staffed by the most expensive people, and never repriced because "that's our bread and butter." Contribution margin shows it's the bread and somebody else's butter.
- The boring service carries the company. Maintenance contracts, hygiene, hosting, the recurring thing nobody talks about. It has the highest margin and the least attention.
- Labor is the whole story. In service businesses, materials rarely decide margin. The mix of who does the work does. A line staffed by the owner and the senior tech has a different margin than the same line staffed by a junior, and the owner has never seen that number.
Turning it into the pricing conversation
The report by itself is a chart. The deliverable is the meeting where the firm says: this line's contribution margin is 9%, the others are 35% and 41%, and here are three options. Raise the price on the low line by enough to bring it to 25%. Change who does the work. Or keep it as a loss leader on purpose, with a number attached, because it feeds the other two.
Bring the math. If the low-margin line is 30% of revenue, a 12% price increase on it, with the churn the client expects, adds a specific dollar figure to annual profit. Owners don't act on percentages. They act on "this is worth $48,000 a year and it takes one email to your customers."
Pricing the report
Sold as a tier on the close, not a project. The setup (mapping items to lines, building the labor allocation, writing the rules) is a one-time fee. The monthly report and a quarterly review meeting is an add-on to the close, priced at a fraction of what the client already pays for the close, and renewed because once a quarter the firm walks in with a decision worth more than the annual fee. The first quarterly meeting usually pays for the year.
Where the platform comes in
In Woven, service lines are classes or locations on every line of every invoice and bill, the same categorization rules that code an expense assign its line, and the firm's own time tracking or the client's payroll mapping drives the labor allocation. The margin-by-line report is a package the firm runs live off closed books for every client that has lines set up, and the close board shows which clients still have Untagged revenue before the report goes out. The setup is done once; the report is a byproduct of the close from then on.
See Woven on your own books.
14-day free trial, no card. Migration imports your chart of accounts, customers, vendors, balances, and history so you verify instead of re-enter.
Book a demo