A profitable IT shop can still miss payroll. The cause is timing: the cash arrives weeks after the work does. You deliver $40,000 of work in May on net-60 terms. Your P&L books the profit in May. The cash lands in July.
Meanwhile salaries run twice a month in hryvnia, the quarterly tax is due, and the foreign client is still inside their payment window. Profit tells you the work made money. Only a cash forecast tells you whether payroll clears before the client pays.
Take a company we see often, the same one from the financial reports every IT services CEO should actually read: about 20 people, $60,000 in monthly revenue, $90,000 in unpaid invoices, and a 35% gross margin that looks healthy until you set it against an all-in cost base near $61,000, which leaves the bottom line close to break-even. By the two numbers most founders watch, money in the bank today and taxes filed, it looks fine. It is one late wire from a scramble. The currency mismatch sits underneath: revenue lands in dollars, payroll runs in hryvnia, and the two clocks rarely align on their own.
Why a profitable shop runs out of cash
The mechanism is an asymmetry. Revenue is lumpy and timing-dependent: a handful of foreign clients, large invoices, net-30 or net-60 terms, payment whenever their accounts-payable cycle gets to you. Cost is fixed and unforgiving. The team is paid in hryvnia on a fixed rhythm, and salary is not a date you get to choose.
The Labour Code requires wages “не рідше двох разів на місяць через проміжок часу, що не перевищує шістнадцяти календарних днів, та не пізніше семи днів після закінчення періоду”: at least twice a month, no more than 16 days apart, within seven days of the period worked. If a payday lands on a weekend or holiday, you pay the day before. So payroll is two fixed cash dates a month, and revenue is whenever. The two only line up if you make them.
This is why a receivable is not runway. The $90,000 in outstanding invoices is a claim on clients, not money you can spend. Ukrainian books are kept on accrual: under the accounting law, income and expense are recorded “в момент їх виникнення, незалежно від дати надходження або сплати грошових коштів”, at the moment they arise, regardless of when cash moves. The P&L and the bank account run on different clocks. A founder who counts unpaid invoices as available cash will be short the week payroll is due.
The fix is the shift from monitoring to managing. Monitoring is checking the balance and reacting to what it shows. Managing is knowing eight to ten weeks out where the low point will be, while you still have choices. A shortfall you see in week one of a quarter is a problem you can solve by collecting faster, converting earlier, or deferring a draw. The same shortfall discovered the week before payroll has no good answers left. Running out of cash is how a company dies, but the cause is almost always upstream: a timing gap, slow collections, or work that was mispriced.
The 13-week cash forecast, built and run
The tool that turns the bank balance into an early-warning system is a rolling 13-week forecast. It is a weekly grid covering one quarter: opening cash, then expected receipts, then everything going out, ending in a projected closing balance that rolls forward to next week’s opening. Thirteen weeks is long enough to capture the full cash cycle, monthly invoicing, twice-monthly payroll, the quarterly single tax, and net-30/60 client terms, and short enough that the numbers are grounded in real invoices rather than hope. It is a direct-method model: actual cash in and out, not accrual entries. You can build it in a spreadsheet. You do not need treasury software to start.
Begin with the real cash position: what is confirmed and available across every account today, by currency and by entity, not the bookkeeping balance. For a shop with a USD account, a UAH account, and maybe a foreign company, that is several numbers, not one.
Build the receipts from what you can actually defend, in order of certainty:
- Issued invoices, dated by when each client actually pays, not the term printed on the invoice. A client on net-30 who has paid on day 45 for six months is a day-45 client.
- Delivered or accepted work not yet invoiced, by expected invoice date plus its term.
- Milestones likely to invoice inside the quarter, weighted down for approval lag.
- Recurring retainers, but only from clients with a clean payment history.
Keep pipeline out of the base case. An unsigned deal is an upside scenario, not cash. And model the settlement lag: a foreign client who “pays” still takes one to five business days to land and clear, so the cash week is later than the payment date.
Forecast outflows by their due date, not as a monthly average, because averaging hides the exact week that breaks you. The rows for an IT shop: net salaries in hryvnia, sole-trader (ФОП) contractor invoices, the quarterly єдиний податок (5% of income, or 3% if VAT-registered) plus the 1% військовий збір that has been mandatory on group 3 since 1 January 2025, foreign SaaS in dollars, rent, subcontractors, owner draws. The lumpy ones catch people out. Group 3 files within 40 calendar days after the quarter and pays within 10 days of that deadline, so the tax can land in the same week as a payroll run. Reserve for it weekly, the moment revenue is collected, rather than finding it due.
A quarterly update gives you a budget. The forecast earns its keep on the weekly cycle. Each Monday, enter last week’s actuals, compare them to what you projected, and roll a fresh week 14 onto the end. The variance teaches you how your clients pay, and the rolling horizon means you always see the next 13 weeks rather than the back half of a stale plan. The financial reports guide covers the rolling 12-month forecast for strategy; this weekly grid is for survival.
When the forecast shows a red week
If the model shows the low point dropping below a safe balance inside the next 30 days, work the problem in order. Panicking in the wrong sequence wastes the days you have.
- Freeze owner distributions and any non-essential spend.
- Pull actual bank balances by entity and currency, not bookkeeping figures.
- Build a tight four-week view before refining the full quarter.
- Mark which payments are genuinely immovable: payroll first.
- Call the largest near-due receivables yourself, starting with the one invoice that fixes the lowest week.
- Issue every late invoice and unbilled milestone the same day.
- Convert enough currency for the next payroll run before the payroll week, not on the day.
- Negotiate payment plans only once the forecast shows the exact gap, date, and amount.
- Reach for financing last, and only against a receivable you can actually see arriving.
Shorten the cash cycle without losing clients
The single number for how long your cash sits in someone else’s account is Days Sales Outstanding: receivables divided by revenue, times the days in the period. The composite company, with $90,000 owed on $60,000 of monthly billings, runs a DSO of about 45 days, a month and a half of revenue parked outside the account at all times. An aging report, who owes you and how overdue, turns that one number into a worklist.
For calibration, the SPI Research and Workday 2025 Professional Services Maturity Benchmark put average DSO across professional-services firms at 43.3 days in 2024, with IT consulting near 38.8 days and software-focused services near 47.2. So a small shop billing abroad should expect something in the low-to-mid 40s. Past 60 days you are slow by the standards of your peers. Treat the benchmark as a sanity check rather than a target. The number that matters is client-specific: one enterprise client drifting from 35 to 65 days can break payroll while the blended figure still looks calm. Watch DSO by client and aging by invoice, never just the average.
Late payment is a normal feature of B2B trade. The Atradius Payment Practices Barometer for Western Europe in 2025 reported terms “ranging between 31 and 60 days from invoicing” and 47% of B2B invoices overdue; its North America report put average terms around 43 days. So a net-30 on paper often cashes at 40 to 45. Treat credit terms as an underwriting decision, especially for a large or first-time client, and forecast the client’s real behaviour rather than the term in the contract.
The levers that shorten the cycle, lowest friction first:
| Lever | What it does |
|---|---|
| Invoice on the trigger, same day | Removes self-inflicted delay between delivery and the clock starting |
| Net-30 as the default | Net-45 or net-60 only for strong margin or enterprise that absorbs the float |
| Deposit of 25 to 50% | Converts a receivable into cash in hand and de-risks the first cycle |
| Milestone billing, not an end balloon | Cash arrives through the project, alongside the payroll it funds |
| Deemed acceptance after 5 to 10 business days | Stops a silent client from parking an invoice indefinitely |
| Capped retainer rollover | Unused hours expire instead of becoming a permanent liability |
| Pay account owners on cash collected | Aligns the people who manage clients with getting paid, not just billing |
Deposits and milestones are standard practice in services. A 30% deposit on a $400,000 project is $120,000 in hand and cuts the receivable exposure by nearly a third before work starts. The client who walks over a normal deposit was a cash-flow problem waiting to happen. “Without losing clients” means offering a trade rather than a demand: a discount for prepayment, a smaller scope for the same budget, a retainer instead of a milestone balloon. A client who only works with you because you finance their working capital is a margin problem dressed as a relationship.
Put the terms in the contract before work starts, because Ukrainian defaults are not an operating plan: the Civil Code lets a creditor demand performance and gives the debtor seven days, which is no way to run collections. Name the invoice trigger, the payment date, the acceptance window, late interest, and the right to suspend work. For long retainers, add a rate-review or indexation clause up front: the Civil Code allows a price change after signing “лише у випадках і на умовах, встановлених договором або законом”, only where the contract or law provides for it, so without the clause you have no right to adjust later. For US or EU master agreements, the governing law controls, so rely on the contract’s own remedies, not Ukrainian defaults.
Runway you can actually bank
For an established services shop, the startup question “how many months until we run out” is the wrong one, because in a normal month you are not burning down. The honest question is the cash buffer: if every client went silent tomorrow, how many payroll runs could you cover from cash actually in the bank? Bank cash divided by your fixed weekly outflows, payroll first.
The discipline is to count only money in the account. Honest runway excludes unpaid invoices, signed work not yet invoiced, promised investment, founder loans not transferred, cash stuck in an entity you cannot move it out of in time, and tax money that is about to leave. The classic blow-up is a founder who believes they have eight months by counting expected receivables and an anticipated investment, when cash on hand over actual burn is one.
Size the buffer against your own fixed base, not an imported month-count. For the composite, the cost base is roughly $61,000 a month, of which about $56,500 is people and the rest tools and office. That gives a clean number to sanity-check tonight:
- Floor, never breach: one full month of payroll plus the quarterly tax accrued to date, roughly $60,000 to $65,000. Below this, one late wire misses salaries.
- Target for a sub-30 shop with concentrated foreign clients: two to three months of the fixed, payroll-dominated base, roughly $120,000 to $180,000. The concentration argues for the upper end: a single client paying six weeks late should never threaten payroll.
The formula a founder can run is monthly payroll plus fixed team cost, times two or three. Anchor it to payroll rather than total expenses, since variable costs flex and payroll does not. General small-business advice, from sources like Wells Fargo, puts reserves at three to six months of expenses, more for seasonal or volatile businesses. Reality runs far thinner: the JPMorgan Chase Institute found the median small business holds a buffer of about 27 days, under one month, and half hold less than a month of outflows. That gap is exactly why the payroll squeeze keeps happening.
Make the buffer a rule the company follows. Hold owner draws when the 13-week low point falls below it. Do not hire ahead of signed work unless the stress case still leaves one payroll plus overhead. Require a deposit on any fixed-price project that would burn more than two weeks of payroll before the next invoice.
Earning in USD/EUR, paying in UAH
Two myths about the currency side cost owners real money.
First, you control conversion timing. The requirement to sell a share of foreign-currency proceeds was abolished from 20 June 2019 and was not brought back during the war. You are free to hold dollars and euros and convert to hryvnia on your own schedule, which is a real cash-management lever: hold a hard-currency reserve and convert only what each payroll run needs, instead of dumping every receipt at the day’s rate.
Second, the export settlement deadline does not bite ordinary IT services. English-language and accounting blogs repeat 180-day or 365-day settlement limits with a 0.3%-per-day penalty as if they apply to you. They are a goods topic. The current NBU rules on settlement deadlines exclude “послуги, роботи (крім транспортних послуг та/або робіт), права інтелектуальної власності”, exported services and works other than transport, as amended in January 2026. So for a non-transport software exporter, the settlement deadline does not apply.
The penalty exists, capped at the unreceived sum, but it applies where deadlines apply: goods and transport, not your service invoices. The real constraint on a late-paying client is commercial: payroll timing and whether the bank has credited the funds, not a currency-control violation.
The rate you budget against is not the official one
What you actually budget against is the rate you can transact at, which is not the official rate. The NBU official rate, around 44.88 to the dollar and 51.10 to the euro in late June 2026, is an accounting reference the bank has no obligation to give you. When you sell export dollars for hryvnia to make payroll, you get the bank’s buy rate, a little below official, with a retail spread of roughly half a hryvnia. On real monthly volume that margin is negotiable. Two things follow. Budget payroll at a conservative rate, slightly weaker than today’s, so a normal conversion never breaks the forecast. And negotiate the conversion margin with your bank rather than taking the screen rate.
Do not budget on the long-term drift. Ukraine has run a managed-flexibility regime since October 2023, and the hryvnia has moved from about 41.2 to the dollar then to about 44.8 now, a slow, mostly one-directional depreciation the NBU smooths with interventions. That drift gives a USD-earning, UAH-paying shop a small margin tailwind over time, but it is offset by rising local costs: the NBU’s April 2026 inflation report expects real wages to grow 11.6% in 2026, and competition for engineers forces raises regardless of the rate. The tail risk is a step-devaluation, as in mid-2022. Plan for the trend, reserve against the tail, and never assume depreciation will rescue a thin margin.
Match the reserve to the obligation
Two operating rules hold the currency side together. Match the currency of the reserve to the currency of the obligation it backs: the payroll buffer in hryvnia, the foreign-tool and dividend buffer in dollars. And forecast cash by entity, not as a group total. Money in a foreign company is not hryvnia in the payroll account. Moving it in is regulated, and moving profit out is capped, currently at the equivalent of one million euros a month for dividends, so a consolidated cash figure can hide the fact that the entity which owes payroll is short.
Borrowing to paper over a recurring squeeze is the expensive answer: with the NBU policy rate at 15%, commercial hryvnia credit runs well above it, and an overdraft is a backstop for a genuine one-off, not a substitute for fixing terms and collections. The state 5-7-9 programme is cheaper but purpose-bound and not instant.
The weekly and monthly routine, and when to bring in finance
None of this works as a one-off. It works as a rhythm, and the rhythm is light once the forecast exists.
Weekly, about 30 minutes on Monday. Update the 13-week with last week’s actuals and roll a new week 14 on. Work the aging report oldest first, send reminders, escalate anything past 60 days. Convert only the currency the coming weeks need. Confirm the next payroll is covered.
Monthly. Recompute DSO by client and the cash buffer in weeks of fixed cost. Check your collection-rate assumptions against what actually arrived. Confirm the quarterly-tax reserve is on track. Review margin against payment reliability as well as profitability, because a profitable client who always pays late is still a cash problem.
Quarterly. Renegotiate terms with chronic late payers. Revisit the deposit and milestone structure on new contracts. Reset the reserve target and its currency split.
The founder can run this directly at 10 to 20 people while invoices are simple and clients pay reliably. It becomes a reason to bring in a finance function, fractional before full-time, when the load outgrows one person:
- The founder is the only one who understands the cash position, and is the bottleneck.
- The forecast keeps getting abandoned in busy weeks because no one owns it.
- Multiple entities and currencies make month-end consolidation an ordeal.
- One client is more than a quarter of revenue, or receivables exceed a month of it, and nobody owns collections.
- The founder spends more time chasing payments than selling or running delivery.
That first hire is rarely a full-time CFO. It is usually disciplined bookkeeping plus a named owner for collections, then a finance manager, then fractional CFO support when pricing, structure, or cash decisions need to sit at owner level. We build and run this for IT services companies as CFO-as-a-Service, but you can start it yourself, in a spreadsheet, this Monday. The forecast you run every week is what turns a payroll scare into a number you saw coming.
Frequently asked questions
Why can a profitable IT company still run out of cash?
Timing, not margin. A P&L books profit when you earn the revenue; cash shows up only when the client pays. A net-60 invoice raised in May is profit in May and money in July, yet payroll runs twice a month in hryvnia and the quarterly tax does not wait. So a healthy gross margin can sit next to a week with nothing in the account. Profit says the work made money; only a cash forecast says whether the next payroll clears.
What is a 13-week cash flow forecast?
A rolling weekly grid covering one quarter: opening cash, expected receipts, every outflow, and a closing balance that rolls into next week's opening. It uses the direct method, actual cash in and out, dated by when clients really pay rather than the term on the invoice. Update it each Monday with last week's actuals and roll a fresh week 14 onto the end. A spreadsheet is enough to start.
How much cash buffer should a small IT company hold?
Size it against your own fixed, payroll-dominated base, not an imported month-count. The floor is one full payroll plus the quarterly tax accrued to date. The target for a sub-30 shop with concentrated foreign clients is two to three months of fixed cost. The formula a founder can run is monthly payroll plus fixed team cost, times two or three. Count only money actually in the bank.
Does the 180-day currency settlement deadline apply to IT services?
No, not for ordinary software services. The current NBU rules exclude exported services and works other than transport, as amended in January 2026, so for a non-transport software exporter the settlement deadline does not apply. The penalty for breach applies to goods and transport. The real limit on a late-paying client is commercial: payroll timing and whether the bank has credited the funds.
When should an IT founder bring in a finance function?
When the load outgrows one person: the founder is the only one who understands the cash position, the forecast keeps getting abandoned in busy weeks, multiple entities and currencies make month-end an ordeal, one client is more than a quarter of revenue or receivables exceed a month of it, or the founder spends more time chasing payments than selling. That first hire is rarely a full-time CFO.