Identifying Performance Obligations in the Software Industry

Revenue Recognition Under ASC 606 – An Industry Supplement To a BDO Blueprint

BY ACCESSING THE FASB DOCUMENTS ON THIS SITE, YOU ACCEPT AND AGREE TO THESE FASB TERMS AND THE WEBSITE TERMS AS APPLIED TO YOUR USE OF THIS SITE OR ANY FASB LICENSED DOCUMENTS.

A software entity applies the industry-agnostic revenue recognition guidance in ASC 606, Revenue from Contracts with Customers, to determine the amount and timing of revenue to be recognized from a contract with a customer. Software entities face unique revenue recognition related challenges because of the judgments inherent in applying the guidance, unique nature of software products, and the continuous evolution of the software industry in terms of software products or pricing practices. 

To correctly recognize revenue from a contract with a customer, a software entity must appropriately identify the performance obligations in Step 2. A performance obligation is a separate unit of account for determining when and how much revenue to recognize.

Rev Rec for Software Chart


This industry supplement discusses the considerations specific to the software industry when identifying the performance obligations in a contract with a customer (or Step 2 of the five-step revenue recognition model). However, throughout this publication we refer to guidance included in Step 1 or Steps 3-5 to provide better context or explain the effects of the conclusions reached in Step 2. We encourage you to read the interpretations and examples in this publication with our Blueprint, Revenue Recognition Under ASC 606, which includes a detailed discussion of the five-step revenue recognition model and certain other key concepts included in ASC 606. 


Overview

A software entity may generate revenue by selling software licenses or making a software’s functionality available to customers as software-as-a-service (SaaS). Additionally, software entities often sell hardware or services, such as post-contract support for software licenses and professional services such as implementation, training, or customization.

A software license establishes a customer’s rights over the intellectual property of a software entity. A software license can be for a specified term (referred to as an on-premise term license or a term license) or in perpetuity. In recent years, the software industry has generally shifted away from on-premise license models to SaaS offerings and new product offerings, such as hybrid products that include the elements of both an on-premise software license and SaaS, which allow a customer the flexibility to choose between the on-premise software license and SaaS. Additionally, as the software industry has evolved, pricing models have also evolved, with more emphasis on usage-based pricing. 

Given the assortment of product offerings and pricing models in the software industry, identifying performance obligations for revenue recognition is often complex. Nuanced differences in the facts and circumstances of each arrangement could lead to different conclusions for arrangements that may appear similar on the surface. A software entity must consider the requirements in Step 2 of the five-step revenue recognition model and the licensing guidance, if applicable, to appropriately identify its separate performance obligations in a contract with a customer. 

Revenue recognition for contracts with customers varies based on the facts and circumstances of each contract and, therefore, may differ from the examples and insights in these publications. Identifying performance conditions requires the application of professional judgment, based on the facts and circumstances.