Revenue recognition is the single most scrutinized area of financial reporting for software companies. Get it wrong, and your financial statements lose credibility with investors, auditors, and potential acquirers. Get it right, and you build a foundation of trust that supports everything from fundraising to M&A due diligence.

IFRS 15 "Revenue from Contracts with Customers" replaced multiple legacy standards with a single, comprehensive framework. For Ukrainian software companies - operating in an outsourcing market valued at $1.2 billion in 2025 and growing at a CAGR of 9.68% - understanding this standard is not optional. It is the language that international stakeholders expect your financial statements to speak.

The five-step model

IFRS 15 establishes a five-step model that applies to all contracts with customers, regardless of the industry or type of transaction. Each step requires careful analysis and judgment.

Step 1: Identify the contract

A contract exists when the parties have approved it, each party's rights and payment terms are identifiable, the contract has commercial substance, and it is probable that the entity will collect the consideration. For software companies, this seems straightforward - but complications arise with verbal agreements, unsigned statements of work, or framework agreements where individual project orders constitute separate contracts.

A common pitfall for Ukrainian outsourcing companies: a master services agreement with a US client is not itself a contract under IFRS 15. Each individual statement of work or project order issued under the MSA is typically the unit of account.

Step 2: Identify performance obligations

A performance obligation is a promise to transfer a distinct good or service to the customer. A good or service is distinct if the customer can benefit from it on its own (or together with readily available resources) and it is separately identifiable from other promises in the contract.

This step is where software contracts become genuinely complex. Consider a contract that includes a software license, customization services, data migration, training, and two years of technical support. Are these five performance obligations, or fewer? The answer depends on whether each element is distinct. If the customization significantly modifies the software, the license and customization may be a single performance obligation. If the training is generic and available separately, it is likely a distinct obligation.

Step 3: Determine the transaction price

The transaction price is the amount of consideration the entity expects to receive in exchange for transferring goods or services. This includes fixed amounts, variable consideration (bonuses, penalties, discounts), significant financing components, and non-cash consideration.

Step 4: Allocate the transaction price

When a contract contains multiple performance obligations, the transaction price must be allocated to each obligation based on relative standalone selling prices. If an observable standalone selling price exists (because the entity sells the component separately), that price is used. Otherwise, the entity must estimate using adjusted market assessment, expected cost plus margin, or residual approaches.

Step 5: Recognize revenue

Revenue is recognized when (or as) a performance obligation is satisfied - that is, when control of the promised good or service transfers to the customer. Transfer can occur at a point in time or over time.

SaaS subscriptions and implementation fees

Software-as-a-Service is one of the fastest-growing business models among Ukrainian tech companies. Under IFRS 15, a SaaS arrangement where the customer accesses software hosted by the provider is generally a service, not a license. The customer does not obtain control of the software - they receive access to it.

Revenue from SaaS subscriptions is typically recognized over time, as the customer simultaneously receives and consumes the benefits. For a $120,000 annual subscription, this means recognizing $10,000 per month on a straight-line basis (assuming the service is delivered evenly over the period).

Implementation and setup fees present a separate question. If the implementation service is not distinct from the ongoing SaaS service - because the customer cannot benefit from setup without the subscription - then the implementation fee is combined with the subscription and recognized over the full contract period, including renewal periods if renewal is reasonably expected. This can significantly defer revenue that companies previously recognized upfront.

For a SaaS company charging a $50,000 implementation fee and $10,000 per month in subscription fees on a three-year contract, the implementation fee may need to be spread across the entire 36-month period rather than recognized upon completion of the setup work. The total monthly revenue recognition would be approximately $11,389 ($410,000 divided by 36 months) rather than a $50,000 lump followed by $10,000 monthly.

Time-and-material vs fixed-price outsourcing

Ukrainian IT outsourcing companies predominantly operate on two models, and IFRS 15 treats them quite differently.

Time-and-material contracts. Under T&M arrangements, the customer pays for hours worked at agreed rates. The entity has a right to payment for performance completed to date, and the customer receives benefits as the work is performed. Revenue is recognized over time, typically using an input method (hours incurred multiplied by the billing rate). IFRS 15 includes a practical expedient: if the entity has a right to invoice the customer for an amount that corresponds directly with the value delivered, it may recognize revenue at the invoiced amount. This simplifies accounting for T&M contracts considerably.

Fixed-price contracts. These require more careful analysis. The entity must determine whether it satisfies the performance obligation over time by meeting at least one of three criteria: (1) the customer simultaneously receives and consumes the benefits, (2) the entity's performance creates or enhances an asset controlled by the customer, or (3) the entity's performance does not create an asset with alternative use, and the entity has an enforceable right to payment for performance completed to date.

For custom software development, criterion (2) often applies - the customer typically controls the work product as it is developed (the code is written for them, on their repository, to their specifications). Revenue is then recognized over time using either an input method (cost-to-cost) or an output method (milestones, deliverables) that best depicts the transfer of value.

Software licensing and support bundles

Companies that sell on-premise software licenses bundled with maintenance and support face the classic multi-element arrangement challenge. Under IFRS 15, the critical question is whether the license provides "right to access" (recognized over time) or "right to use" (recognized at a point in time).

A software license is a right to access if the entity's ongoing activities significantly affect the software (through updates that change functionality) and the customer is contractually or practically required to use the updated version. Otherwise, it is a right to use, recognized at the point when the customer can first use and benefit from the license.

For a Ukrainian software company selling an enterprise license for $500,000 with annual support of $100,000:

  • If the license is a "right to use" and support is distinct, the company recognizes $500,000 at delivery and $100,000 over the support period.
  • If the license is a "right to access" because the vendor continuously updates the core product, the license revenue is recognized over the access period alongside support revenue.

The allocation between license and support must reflect standalone selling prices. If the company never sells the license without support, it must estimate standalone prices using one of the permitted methods.

Variable consideration

Many IT contracts include variable consideration: performance bonuses for early delivery, penalties for missed SLAs, volume discounts, or success fees tied to project outcomes. IFRS 15 requires entities to estimate variable consideration and include it in the transaction price, but only to the extent that it is "highly probable" that a significant reversal of revenue will not occur.

Two estimation methods are available: the expected value (probability-weighted average of possible outcomes) and the most likely amount. The entity should use whichever method better predicts the actual consideration.

For an outsourcing company with an SLA that imposes a 5% penalty if uptime falls below 99.9%, the company must estimate the probability of the penalty being triggered and reduce the transaction price accordingly. If historical data shows the company has met the SLA in 95% of quarters, the expected penalty might be calculated as 5% of quarterly fees multiplied by the 5% probability of breach - reducing revenue by 0.25% each quarter.

Contract modifications in agile projects

Agile development methodologies, widely adopted by Ukrainian IT companies, create frequent contract modifications. Sprints are re-scoped, features are added or dropped, and timelines shift. Under IFRS 15, each modification must be evaluated to determine whether it should be treated as a separate contract, as a termination of the existing contract and creation of a new one, or as a cumulative catch-up adjustment.

A modification is treated as a separate contract if two conditions are met: the scope increases because of additional distinct goods or services, and the price increases by an amount that reflects the standalone selling prices of those additional goods or services. In practice, scope changes in agile projects often meet the first condition but not the second (clients negotiate discounts for add-on work), requiring the modification to be accounted for as a change to the existing contract.

For companies managing dozens of concurrent projects with frequent change requests, the administrative burden is real. Building systematic processes for tracking modifications, assessing their accounting treatment, and updating revenue calculations is essential. Without these processes, the risk of material misstatement accumulates with every sprint review.

Getting it right

IFRS 15 demands a level of analysis and documentation that goes well beyond what most Ukrainian IT companies maintain under P(S)BO. But the payoff is financial statements that international stakeholders can trust and compare. In a market where tech M&A activity reached $496 million in 2024 and the Ukrainian Fund of Funds has deployed $300 million to support the ecosystem, that credibility translates directly into enterprise value.