The Importance of Revenue Recognition for Software Companies

Software companies typically offers various products and services to their customers. To recognize and measure revenue from customers, a written contract must be in the place where both parties have agreed to perform their respective obligations and the contract is legally enforceable.

These are the types of services provided by Software companies:

1. Fixed price maintenance contract

If the performance of a service involves repetitive actions over a specified period, revenue should be recognized on a straight-line basis.

In the case of maintenance contracts, where the performance of services is not repetitive but discrete, revenue should be recognized based on percentage completion. This is because the efforts and costs involved are not evenly distributed. To accurately and promptly identify the costs or efforts incurred, a company must have a reliable system in place.

To determine the percentage of completion, the actual costs incurred are compared to the estimated total cost. The estimated cost to complete the contract should be regularly reviewed and adjusted based on available information through  “true up” or “true down.”

Recognizing revenue in a maintenance contract depends on the promises made in the contract and the type of deliverables, requiring the use of judgment.

2. Revenue from on-time-and-material contract

Revenue is to be recognized as and when related services are performed.

a) Revenue from a license

When the customer has the right to use the license, revenue should be recognized at the time when the license becomes available to the customer. On the other hand, if the customer has the right to access the license, revenue should be recognized over a period starting from when the customer gains access to the license.

An arrangement with a customer has three elements

  1. License
  2. Implementation
  3. Annual technical service

There are three distinct performance obligations to consider. If the license requires significant customization, then the sale of the license and its implementation is considered a single performance obligation. Because implementation is closely linked to the sale of the license, the percentage of completion method should be used to recognize revenue for both the license and implementation.

Revenue from annual technical services is to be recognized on a straight-line basis over a period. Revenue from training to customers is to be recognized when training is given.

b) Third-Party Purchases / Sales

When making an arrangement with customers that involves multiple products and services, each element should be assessed separately to determine the nature of the performance. The element may include subcontracting services, third-party vendor equipment, or software in certain integrated service arrangements. In such cases, revenue should be recognized net of cost since the company’s performance is acting as an agent between the buyer and seller. Gross revenue and gross costs should not be recognized.

If a Software company is acting as a principal, gross revenue should be recognized. The company must consider who has the primary responsibility to fulfill the contract, who is bearing the inventory risk, who decides the price, and whether it controls the goods or services to determine whether it is acting as a principal or agent. If the company is acting as an agent, revenue should be recognized net of cost.

c) Advance from customer

Software companies should disclose non-monetary liabilities separately from financial liabilities. If a Software company expects that it will be unable to fulfill a contract, it should disclose an advance payment as a “refund liability”. This liability must be periodically reviewed to determine whether it should continue as a refund liability or be converted into an advance from the customer. If the advance is received in a foreign currency, revenue should be recognized in the functional currency at the rate at which the advance was received, and not at the rate on the date of revenue recognition.

d) Provision for post-sales support

Software companies offer their customers a fixed period of post-sales support as part of their fixed-price contracts. Costs related to these support services are incurred at the time the related revenue is recorded in the profit and loss account. The cost amount should be estimated based on historical experience, and it should be reviewed periodically for any significant changes in assumptions or the probability of its occurrence.

e) Onerous contract

If the expected benefit from a contract is less than the unavoidable cost of meeting a future obligation under the same contract, a provision for an onerous contract should be made in the same period. This provision should be measured at the present value of the lower amount between the expected cost of terminating the contract and the expected net cost of continuing with the contract.


Recognizing revenue in Software companies requires critical accounting estimates and judgment, as well as a system to accurately and promptly determine the amount of incurred costs.

If you’re considering outsourcing your accounting functions, your search for a reliable partner ends here. Ease Up can help you. We are the leading Accountants for Tech companies & Tech startups in India. We have provided services to multiple Tech companies and helped them in their accounting and bookkeeping operations.

We at Ease Up are a full suite Financial Management service provider for Technology and Digital Companies like Software Companies, Information Technology Outsourcing Companies, IT Enabled Service Providers, SAAS-based companies, etc.

Streamline your finances and scale your Tech company with Ease Up today.