Custom Software Shops: Fractional CFO or a Controller First?
A custom software shop that needs to decide what to build financially needs a fractional CFO, while one that needs its books right every month needs a controller. A milestone shipped in March may not be paid until May, and the accounting has to track that gap without pretending the cash already arrived.
Vendors Covered in this Article
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
The billing problem specific to project-based dev work
Fixed-bid and milestone contracts create work in progress that sits on the balance sheet as an asset before it becomes an invoice. A team that finishes 70% of a milestone by month end has earned revenue that hasn't been billed yet, and if nobody is tracking that, monthly numbers swing based on invoice timing instead of actual delivery. Retainer and time-and-materials work behaves differently again, with revenue tied to logged hours rather than deliverables. A shop running all three models at once, fixed-bid for one client, T&M for another, a retainer for a third, needs someone translating each into consistent monthly revenue, and that reconciliation work is where a controller earns their keep.
Where a fractional CFO adds more than a controller can
A fractional CFO looks past this month's invoices to the question of whether the business model itself is working: which contract type carries the best margin once developer time is fully loaded, whether the firm should push clients toward retainers for revenue predictability, and how much runway exists if a large client pauses a project. If your shop is deciding whether to bid on a project that would require hiring three more engineers, or negotiating payment terms on a contract large enough to affect cash flow for two quarters, that is a fractional CFO conversation about risk and capital, not a bookkeeping question.
Where a controller earns their keep
A controller is the person who makes sure work in progress, unbilled revenue and contractor payables reconcile every month without drama, so the fractional CFO's forecasts are built on numbers that are actually right. If the shop mixes W-2 engineers with 1099 contractors, runs payroll on different schedules for each, and bills clients in a mix of currencies for distributed teams, someone needs to own that reconciliation as a full-time discipline rather than a monthly fire drill. A firm running multiple concurrent projects with different revenue recognition methods for each one usually needs a controller before it needs deeper strategic modeling, because strategy built on inaccurate numbers is worse than no strategy at all.
A controller's monthly close for a dev shop should cover these items:
- Reconcile work in progress and unbilled revenue, so fixed-bid milestones show earned revenue instead of swinging with invoice timing.
- Translate fixed-bid, time-and-materials and retainer contracts into consistent monthly revenue that a forecast can rely on.
- Reconcile contractor payables alongside W-2 payroll, especially when engineers are paid on different schedules or in different currencies.
- Recognize revenue as work is actually delivered, not on the day a milestone ships, so a strong quarter does not look mediocre.
What good looks like as the firm scales
The national median salary for accountants and auditors is $83,680 a year, and a full-time controller hire typically costs more than that once benefits and payroll taxes are added1. If your shop is under roughly 20 people and running a handful of concurrent projects, a fractional CFO paired with outsourced bookkeeping usually covers both the strategic and the reconciliation work without that fixed cost. Past that size, with multiple project managers each owning their own client relationships and billing cadence, the reconciliation volume alone tends to justify a dedicated controller, with the fractional CFO staying on for the parts that require judgment rather than process.
A borrowing decision that shows the difference plainly
Say the firm wants a line of credit to cover payroll during a slow quarter between projects. A bank evaluating that request will price it off the prime rate, which sits at 6.75% as of this year, plus a margin based on the firm's financials2. A controller can produce the clean financial statements the bank wants to see. A fractional CFO is the one who decides whether taking on that debt makes sense given the pipeline, negotiates the terms, and models what happens to cash if the next quarter is slower than expected. Most growing shops eventually need both roles working together rather than choosing one permanently over the other.
A mistake that shows up at year-end, not month-end
A common error in project-based dev shops is recognizing revenue the day a milestone ships rather than as the underlying work was actually delivered, which can make a strong quarter look mediocre or a weak one look fine depending on when invoices happen to land relative to the calendar. Say a twelve-week engagement delivers roughly even value each week but only invoices at three milestones: recording revenue only at invoice dates will misstate every month that falls between them, even though the engineering team's output was steady the whole time. A controller who books revenue against actual delivery, using a percentage-of-completion approach for multi-month fixed-bid work, keeps the monthly numbers honest regardless of when the invoice happens to go out. That distinction rarely matters for a single small project, but across a dozen concurrent engagements it is often the difference between a monthly close that reflects reality and one that just reflects billing timing.
What Good Looks Like
A well-run custom software shop closes its books monthly with work in progress and unbilled revenue reconciled by contract type, tracks margin separately for fixed-bid, time-and-materials and retainer work, and knows its cash position several weeks ahead regardless of invoice timing.
Building The Capability (5-Stage Skill Ladder)
How to Get Started
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
Bench fits a shop that needs monthly bookkeeping and reconciliation handled reliably while project revenue recognition gets sorted out separately.
BILL fits a shop paying a mix of W-2 staff and 1099 contractors, or vendors in multiple countries, and wanting approval workflow and audit tracking on every payment.
Frequently Asked Questions
Can one person do both the fractional CFO and controller jobs for a small dev shop?
Below roughly ten people running one or two projects at a time, a single experienced fractional finance hire can often cover both. Once the firm runs several concurrent contracts with different billing models, the monthly reconciliation work alone usually needs a dedicated controller or bookkeeper.
How does unbilled work in progress affect a software shop's cash flow planning?
Work in progress is revenue the team has earned but not yet invoiced, so it looks fine on the income statement while cash stays tight until the invoice goes out and gets paid. A cash forecast that ignores the gap between earning and billing will consistently overstate near-term cash.
Does a controller replace the need for a bookkeeper at a development shop?
No. A bookkeeper handles day-to-day transaction entry and reconciliation, while a controller owns the accuracy of the full close, including work in progress, contractor payables and revenue recognition across different contract types. Smaller shops sometimes combine the roles, but the responsibilities are distinct.
Sources
Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.
- Annual wage, Accountants and Auditors (SOC 13-2011), US all industries. BLS OEWS May 2025, 2025.
- Bank prime loan rate (WSJ prime equivalent). Federal Reserve H.15 Selected Interest Rates, 2026.
Related Guides
Board Software for a Custom Software Shop's Advisory Board
Custom software and product engineering shops rarely answer to a venture board. How to choose between Diligent and BoardPro for an advisory or owner board.
Cap Table Software for Custom Software Shops: Pulley vs Carta
How a custom software and product engineering shop should weigh Pulley against Carta for equity grants, partner buy-ins, and dilution.
Optery or DeleteMe for a Custom Software Shop
How principals at custom software and product engineering firms should weigh Optery's automated removal against DeleteMe's human-run service.
Fractional CFO vs Controller vs Bookkeeper: Strategic Finance Guide
Understand the differences between a fractional CFO, controller, and bookkeeper: financial strategy, cash runway, audit readiness, and hiring timing.
Vouch vs Embroker for Custom Software and Product Engineering Shops
A step-by-step look at how a custom software or product engineering company should evaluate Vouch and Embroker for tech E&O and cyber coverage.
PEO Choices for a Custom Software Shop
Why a product engineering and custom software firm should evaluate Justworks and TriNet differently than a SaaS company, with IP and staffing tradeoffs.