Harha & Co.

← Back to blog

From bookkeeping to a finance system, and when you need a CFO

When a Ukrainian IT company should move from bookkeeping to a management-accounting system, the signals a CFO function pays for itself, and what CFO-as-a-Service costs, current to 2026.

Vitaliy Harha

Vitaliy Harha

13 min read

  • management accounting
  • finance
  • CFO
  • fractional CFO
  • Diia City

You have a bookkeeper. The taxes get filed on time, the returns reconcile, and you still cannot say which clients made money last month, or whether next month’s payroll is safe. That gap has nothing to do with how good your bookkeeper is. Statutory books exist to keep you compliant; they were never meant to tell you what your business is actually doing.

Most Ukrainian IT shops under 100 people do not need a full-time CFO. They need two things the bookkeeper does not provide: a management-accounting system that produces the same numbers every month, and senior judgment on pricing, cash, and structure a few days a month. You can buy that judgment fractionally and defer the full-time hire for years. The test of whether you bought a CFO or just more expensive bookkeeping is one question: does the engagement change your decisions?

Why compliant books leave you blind

Statutory accounting answers one question: are we compliant? It records what happened in the format the tax authority and the standards require, so the state can check it. It is built for an external reader. It was never built to tell you whether a given client, project, or team is profitable.

Ukrainian law actually names the other kind of accounting. The accounting law (Law 996-XIV) defines управлінський облік as “система збору, обробки та підготовки інформації про діяльність підприємства для внутрішніх користувачів”, internal information for internal decisions, and then leaves the design to you: a company “самостійно визначає за погодженням з власником … облікову політику підприємства”. The law recognises management accounting and hands you the job of building it.

That combination is why it rarely gets built. Nobody fines you for skipping it, and the tax office never asks for it. So the busy founder skips it, and the generic bookkeeper, paid to keep you compliant, never volunteers it.

Two structural facts make the statutory books unusable for steering. They are kept on the accrual basis, where income and expense are recorded “в момент їх виникнення”, when they arise, not when cash moves. Profit on paper and cash in the bank run on different clocks. And the statements are built “на підставі даних бухгалтерського обліку”, in hryvnia, for the state. A shop earning in dollars and spending in hryvnia sees neither its true margin by client nor its currency exposure in those books.

Diia.City residents carry a higher compliance bar and the same blindness. You file an annual compliance report with an independent conclusion, an assurance report rather than a full audit, by 1 June of the following year, and it still tells you nothing about which project made money. Those reports, and how to read each one, are covered in the financial reports every IT services CEO should actually read. Producing them reliably every month is a separate job, and it starts with who owns the numbers.

The finance ladder: where you actually sit

Finance is four jobs, stacked, each depending on the one below.

  • A bookkeeper records transactions and keeps you compliant.
  • An accountant verifies the records and prepares the statutory filings.
  • A controller owns the monthly close, the reconciliations, and the reliability of the numbers.
  • A CFO turns reliable numbers into decisions: pricing, hiring, cash, structure, risk.

Most IT shops under 100 people have the first rung, sometimes the second, and nothing above. The bookkeeper answers “is it recorded and compliant?” Nobody answers “is it worth it, and what do we do next?”

For a Ukrainian services company, the CFO-level work a bookkeeper structurally cannot do is specific. Pricing and margin: the rate floor, the walk-away, which clients to fire. Cash early-warning: the buffer and the 13-week view that tells you payroll is safe before it is late. Structure and tax: ФОП versus employment versus a Diia.City gig, when to open a second entity, and the CFC/КІК consequences for you personally. A bookkeeper never touches structure.

The cost of leaving the top two rungs empty is rarely the fee you saved. Take the worked example from the reports article: a 20-person shop at $60,000 a month sat at 35% gross margin and roughly break-even, losing about $1,500 a month. Tightening only the levers the reports exposed, utilization, realization, and rate, moved gross margin to 50%, monthly gross profit from $21,000 to $30,000, and EBITDA to roughly +$8,000, with zero new clients. One idle engineer on the bench at around $3,000 a month in loaded cost burns about $36,000 a year against no revenue, and stays invisible without the system. None of that surfaces in compliant books.

Here is the same ladder with what each rung costs in the Ukrainian market. Treat the figures as market signals, not fixed prices; the outsourced-CFO numbers in particular are quotes from the firms selling the service.

LayerWhat it doesRough UA monthly cost
Bookkeeper / accountantRecords, reconciles, fileslow; the cheap rung
Controller / finance managerOwns the close, reporting, controlssenior finance-manager salary, roughly $2,000-7,000 gross
Fractional / outsourced CFOSenior judgment, a few days a month€1,500-8,000 (providers’ quotes)
Full-time CFOA full-time finance executive$5,000-12,000+ gross, plus employer costs

When you cross into the next layer

No revenue number tells you when to add a layer. The trigger is operational pain, and each pain points at a specific rung.

  • The close slips. The monthly pack is late, looks different every month, or you reconstruct numbers by hand. You need controller-level close discipline.
  • You cannot say which clients or projects make money in under a day. The chart of accounts and time tracking are missing.
  • A second entity appears: a foreign company, a new ТОВ, a Diia.City resident beside your LLC. Consolidation, inter-company flows, and the group view now need an owner. That is CFO-level judgment.
  • A decision with real money rides on a guess: a price reset, a fixed-price mega-bid, a structure change, opening abroad, a first raise, a buyer sniffing around. This is the CFO call, and it is often the first thing a fractional CFO is hired for.
  • One client is more than a quarter of revenue, or receivables run past a month of billings with nobody owning collection. You need a cash owner.

US sources hang thresholds on revenue: a controller from about $1M, a full-time CFO somewhere past $10M. A Ukrainian practitioner quoted by Laba puts the full-CFO turnover at “оборот $10-50 млн/рік”. Useful as a sanity check, wrong as a rule for this reader. A $1.5M shop with three entities, net-60 clients, and a mix of ФОП, employees, and gig specialists needs finance judgment earlier than a $4M single-entity shop on predictable retainers. Read the pains, not the revenue line.

The system that produces the numbers

The management layer is not software. It is five pieces working together, and most of the work is design, not tooling.

ComponentWhat it isWhy it matters
Management chart of accountsRevenue by service line; delivery cost split from overheadMargin stays invisible until cost is split
Time trackingHours logged against project codesUtilization, realization, and project margin all depend on it
The monthly closeA repeatable process with named owners and a fixed dateProduces the same pack every month, not “whenever”
The management packP&L, cash, forecast, dashboardThe output you steer by
Tooling and data flowA ledger plus a management layer, reconciledStays light; no enterprise software needed

The chart of accounts is the decision everything else rests on. Generic bookkeeping lumps all salaries into one line, which is exactly why margin disappears. The fix is structural: revenue broken out by service line, and cost split into delivery (the people on billable work), indirect project support (PM, QA, management), and general overhead (office, admin, founders). Every transaction is tagged by client and project, so income and cost roll up per engagement.

Ukraine adds a wrinkle the US guides never mention. Most of your delivery team are ФОП contractors invoicing the company, not payroll employees. “Cost of delivery” is therefore a stack of contractor invoices, and the management system has to map each invoice back to a project and a person to recover utilization and per-project margin. The contractor’s own books will never do that for you.

Without hours logged against those same project codes, utilization, realization, effective rate, and project margin are all guesses. If the team is not tracking time, that is where the build starts.

The monthly close is the heartbeat, and the most underrated piece. Cadence matters more than a fast close: the same pack, on the same date, every month. A close that happens “whenever the bookkeeper gets to it” and looks different each month is the symptom that there is no system.

Set expectations from the benchmarks. Across roughly 2,300 organisations, APQC’s benchmark puts the median close at “6.4 calendar days” from period-end, and smaller companies run slower. A realistic target for a 20-to-80-person shop is books closed by working day seven to ten, with the first cleaned-up close taking longer.

The tooling stays light. The usual Ukrainian reality is two systems: the statutory books in a local package, run for the tax authority, and a separate management layer (a spreadsheet, or QuickBooks/Xero-style software) that consolidates across entities and currencies into one reporting currency. The design work is making the two reconcile. You do not need treasury software to start; you need stable definitions and someone who owns the data.

CFO-as-a-Service: what it is and what it competes with

A fractional or outsourced CFO is an experienced finance executive on retainer for part of their time, ongoing, rather than a full-time hire. International providers describe the format as ten to forty hours a month. To make it concrete: at the €80-200 hourly rates Ukrainian providers quote, a €3,000 monthly retainer buys roughly fifteen to thirty-seven hours, call it two to four days a month of senior attention. Enough for the judgment layer, the monthly review and the pricing, cash, and structure calls. Not enough to run daily execution, which is why the bookkeeper or controller underneath stays non-negotiable.

US blogs frame the choice as fractional versus full-time CFO, because their reader will hire a full-time CFO eventually. You have already ruled that out, so your real choice is three-way: keep the status quo (a bookkeeper, spreadsheets, and you doing the CFO job badly in the evenings), hire a controller or finance manager (execution, not strategy), or buy fractional CFO judgment. The full-time CFO is the thing the fractional model lets you defer.

What a full-time CFO would cost in Ukraine is worth knowing, if only to see what you are deferring. Job boards understate it: work.ua reports that on average “«CFO» в Україні заробляє 80000 грн” a month, drawn from 111 vacancies, but that median mixes in local SME finance-manager roles and advertised, not paid, numbers. For a CFO who can run an English-speaking, cross-border, 30-to-100-person shop, the Kyiv tech recruiter MindHunt puts 2026 compensation at “$5,000-$12,000+” a month gross, with a four-to-six-month search. If you employ that person, add employer ЄСВ on top, though it is capped: the 2026 maximum base is ₴172,940 a month and the maximum contribution is “38046,80 гривень на місяць”, about $10,000 a year at late-June rates.

The Ukrainian all-in is far lighter than the US picture, where Robert Half’s 2026 survey alone puts CFO pay between roughly $195,500 and $321,750 before bonus and equity. It is still a six-figure dollar commitment and a half-year hunt to fill a seat that is not yet a full-time job.

Is it worth it, and how to buy it without getting burned

Before any of this is worth paying for, the books underneath have to be clean. A fractional CFO reads and acts on the numbers; it does not invent them. If your books are messy, your AR unreconciled, or your time tracking absent, the first deliverable will be cleanup and controller discipline before any strategy. That is the foundation, not a failure. A provider who skips it and sells “strategy” on top of unreconciled data is selling you a dashboard fed by guesses.

Is it worth it? Sellers advertise returns of “3-10x” and similar. Ignore the multiples; they are marketing. The honest case rests on where the return actually comes from for a services shop, and you can size it from figures already on the table.

  • Margin and pricing. That 35%-to-50% gross-margin swing is worth roughly $108,000 a year on a $60,000-a-month shop, with no new clients. Surfacing and fixing it is a fractional CFO’s first job. Against a €3,000-8,000 monthly retainer, one such correction pays for years.
  • Cash. One avoided blow-up, a missed payroll or a forced fire-sale of a receivable, is a step-change loss the 13-week forecast exists to prevent.
  • Structure. The return a US ROI blog never mentions. A Diia.City versus default ТОВ decision, the gig or ФОП labour-tax choice, or CFC/КІК planning can move your personal tax by more than the annual retainer in a single correct call.

Be honest about the floor. Below roughly $500,000 in revenue, or if your books are already clean and your margins already healthy, the math may not work yet, and a good provider will tell you so. The reports do not create the money. They show you where it leaks, and you still have to act.

Three objections come up in the first call, and they deserve straight answers.

  • “Can a part-timer really know my business?” For judgment, yes, provided one person inside owns the data. The fractional CFO sets direction and reads the numbers; someone internal keeps the inputs flowing. The model fails when nobody inside owns the inputs.
  • “I am handing an outsider my financials and bank access.” Reasonable. Insist on an NDA, scoped or read-only access where the work allows, and a provider independent of the bookkeeping they review.
  • “What does the fee actually buy?” The two-to-four days a month: a monthly review with written commentary, the pricing and cash and structure calls, and a board-ready pack.

The real risk is paying CFO prices for discounted hours. Signs you are buying reporting, not a CFO:

  • A price quoted before anyone has looked at your books.
  • No scope for cleanup, and no requirement for time tracking in a services business.
  • “Unlimited CFO access” with no named deliverables or cadence.
  • Reports handed over with no written commentary.
  • A junior doing the work while a partner attends the sales call.
  • A provider who cannot talk fluently about utilization, realization, and per-project margin, or about ФОП, Diia.City, and CFC. A generalist who only produces tidier reports is a controller for hire wearing a CFO label.

From mess to a monthly cadence

The transition is not painless, and any promise that it is should make you suspicious. You build on top of the live statutory books rather than replacing them, and you parallel-run the new close before retiring the old habit, which keeps operations steady. But the cleanup itself has a cost, and the first clean month tends to surface uncomfortable things: a loss-making client, a pile of unbilled work, tax money sitting in the operating account. You want those out in the open, where you can act on them.

A workable sequence for a 20-to-80-person shop:

  1. Stabilise the statutory base. Do not rebuild anything until the compliance books are clean and current; the management layer sits on top of correct source data.
  2. Design the chart of accounts on paper first. Settle the billable and non-billable split, the direct, indirect, and G&A bands, and the client and project dimensions before touching any tool.
  3. Turn on time tracking against those project codes. Do it early; the metrics need history.
  4. Reconcile opening balances and receivables. Bad AR data ruins both the cash forecast and the revenue picture.
  5. Run the first close in parallel. Keep the old process going and produce the new pack alongside it for a month or two until they reconcile. No big-bang cutover.
  6. Set the reporting date and work backward into a close checklist with named owners and deadlines. Aim for books closed by working day seven to ten, the same pack each month.
  7. Move toward a continuous close, reconciling through the month so month-end is a final check rather than a sprint.
  8. Layer the judgment on top. Once the pack is reliable, add the CFO cadence: a monthly review with commentary, and a quarterly re-forecast, re-price, and fix-or-fire.

What good looks like

Three months in, a working finance function looks dull, which is the point. The monthly pack arrives on a fixed date, not whenever. You know your cash low point for the next quarter before you approve a hire or a distribution. Client and project margins are visible, so you can see which engagements to reprice or exit. Tax reserves sit apart from operating cash. Every month produces decisions on the record, not just slides.

That is the function, whether you build it in-house or buy it. At Harha we install and run it for Ukrainian IT companies as CFO-as-a-Service, with the services-margin and UA-structure expertise that separates a finance function from a tidier set of reports.

Frequently asked questions

What is the difference between bookkeeping and a management-accounting finance system?

Statutory bookkeeping answers one question: are we compliant? It records what happened in the format the tax authority requires, in hryvnia, for an external reader. It cannot tell you whether a client, project, or team is profitable. A management-accounting system, which Ukrainian law (996-XIV) recognises but leaves you to build, splits revenue by service line and cost into delivery and overhead, tags every transaction by client and project, and produces a repeatable monthly pack you steer by.

When does a Ukrainian IT company need a CFO function?

Operational pain, not a revenue number, is the trigger. The monthly close slips or looks different every time. You cannot say which clients make money in under a day. A second entity appears and needs consolidation. A real-money decision rides on a guess: a price reset, a structure change, a first raise. One client is over a quarter of revenue, or receivables run past a month with nobody owning collection. Each pain points at a specific rung: controller, then CFO.

What does CFO-as-a-Service cost versus a full-time CFO in Ukraine?

Fractional CFO retainers in Ukraine run roughly €1,500-8,000 a month (providers' quotes) for two to four days of senior attention. A full-time CFO who can run an English-speaking, cross-border, 30-to-100-person shop costs $5,000-12,000+ a month gross plus capped employer ЄСВ, and a four-to-six-month search. The fractional model buys the judgment layer and lets you defer that full-time hire for years.

How do you move from a messy setup to a clean monthly close?

Build on top of the live statutory books, do not replace them. Stabilise the compliance base, design the management chart of accounts on paper, turn on time tracking against project codes, reconcile receivables, then run the first new close in parallel for a month or two before retiring the old one. Set a fixed reporting date and aim for books closed by working day seven to ten, the same pack every month. Layer CFO judgment on once the pack is reliable.



Need a finance partner?

If this topic mirrors your situation, let's talk. First consultation is on us.