XML 33 R11.htm IDEA: XBRL DOCUMENT v3.24.1
REVENUE RECOGNITION
12 Months Ended
Jan. 31, 2024
Revenue from Contract with Customer [Abstract]  
REVENUE RECOGNITION REVENUE RECOGNITION
Revenue is recognized when a customer obtains control of promised goods or services in an amount that reflects the consideration we expect to be entitled to in exchange for such goods or services. When an arrangement contains multiple performance obligations, we account for individual performance obligations separately if they are distinct. We recognize revenue through the application of the following five steps:

1) Identify the contract(s) with a customer
A contract with a customer exists when (i) we enter into an enforceable contract with the customer that defines each party’s rights regarding the goods or services to be transferred and identifies the payment terms related to these goods or services, (ii) the contract has commercial substance, and (iii) we determine that collection of substantially all consideration for goods or services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. We apply judgment in determining the customer’s ability and intention to pay, which is based on a variety of factors including the customer’s historical payment experience or in the case of a new customer, published credit and financial information pertaining to the customer. Our customary business practice is to enter into legally enforceable written contracts with our customers. The majority of our contracts are governed by a master agreement between us and the customer, which sets forth the general terms and conditions of any individual contract between the parties, which is then supplemented by a customer purchase order to specify the different goods and services, the associated prices, and any additional terms for an individual contract. Multiple contracts with a single counterparty entered into within a close timeframe are evaluated to determine if the contracts should be combined and accounted for as a single contract.

2) Identify the performance obligations in the contract
Performance obligations promised in a contract are identified based on the goods or services that will be transferred to the customer that are both capable of being distinct, whereby the customer can benefit from the goods or services either on its own or together with other resources that are readily available from third parties or from us, and are distinct in the context of the contract, whereby the transfer of the goods or services is separately identifiable from other promises in the contract. To the extent a contract includes multiple promised goods or services, we must apply judgment to determine whether promised goods or services are capable of being distinct and are distinct in the context of the contract. If these criteria are not met the promised goods or services are accounted for as a combined performance obligation. Generally, our contracts do not include non-distinct goods or services.

3) Determine the transaction price
The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring goods or services to the customer. We assess the timing of the transfer of goods and services to the customer as compared to the timing of payments to determine whether a significant financing component exists. As a practical expedient, we do not assess the existence of a significant financing component when the difference between payment and transfer of deliverables is a year or less, which is the case in the majority of our customer contracts. The primary purpose of our invoicing terms is not to receive or provide financing from or to customers. To the extent the transaction price includes variable consideration, we estimate the amount of variable consideration that should be included in the transaction price utilizing either the expected value method or the most likely amount method depending on the nature of the variable consideration. Variable consideration is included in the transaction price, if we assessed that it is probable that a significant future reversal of cumulative revenue under the contract will not occur.
Typically, our contracts do not provide our customers with any right of return or refund, and we do not constrain the contract price as it is probable that there will not be a significant revenue reversal due to a return or refund.

4) Allocate the transaction price to the performance obligations in the contract
If the contract contains a single performance obligation, the entire transaction price is allocated to the single performance obligation. However, if a series of distinct goods or services that are substantially the same qualifies as a single performance obligation in a contract with variable consideration, we must determine if the variable consideration is attributable to the entire contract or to a specific part of the contract. We allocate the variable amount to one or more distinct performance obligations but not all or to one or more distinct services that form a part of a single performance obligation, when the payment terms of the variable amount relate solely to our efforts to satisfy that distinct performance obligation and it results in an allocation that is consistent with the overall allocation objective of the revenue standard. Contracts that contain multiple performance obligations require an allocation of the transaction price to each performance obligation based on a relative standalone selling price basis unless the transaction price is variable and meets the criteria to be allocated entirely to a performance obligation or to a distinct good or service that forms part of a single performance obligation. We determine standalone selling price (“SSP”) based on the price at which the performance obligation is sold separately. If the SSP is not observable through past transactions, we estimate the SSP taking into account available information such as market conditions, including geographic or regional specific factors, competitive positioning, internal costs, profit objectives, and internally approved pricing guidelines related to the performance obligation. In addition, variable consideration attributable to sales- or usage-based royalties in exchange for a license of our IP are excluded from the transaction price in accordance with the revenue guidance.

5) Recognize revenue when (or as) the entity satisfies a performance obligation
We satisfy performance obligations either over time or at a point in time depending on the nature of the underlying promise. Revenue is recognized at the time the related performance obligation is satisfied by transferring a promised good or service to a customer. In the case of contracts that include customer acceptance criteria, revenue is not recognized until we can objectively conclude that the product or service meets the agreed-upon specifications in the contract. Revenue related to sales- or usage-based royalties are recognized when the associated sales occur, and relevant thresholds are met. For royalty arrangements that include fixed considerations related to a minimum guarantee from a customer, the fixed consideration allocated to the license is recognized when the control of the license passes to the customer.

We only apply the five-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to our customers. Revenue is measured based on consideration specified in a contract with a customer, and excludes taxes assessed by a governmental authority that are both imposed on and concurrent with a specific revenue-producing transaction, that are collected by us from a customer.

Shipping and handling activities that are billed to the customer and occur after control over a product has transferred to a customer are accounted for as fulfillment costs and are included in cost of revenue. Historically, these expenses have not been material.

Nature of Goods and Services

We derive and report our revenue in two categories: (a) recurring revenue, which includes bundled SaaS, unbundled SaaS, hosting services, optional managed services, initial and renewal support revenue, and product warranties, and (b) nonrecurring revenue, which primarily consists of perpetual licenses, hardware, installation services, business advisory consulting and training services, and patent license royalties.

Our bundled SaaS contracts are typically comprised of a right to access our software, maintenance, hosting fees and standard managed services. We do not provide the customer with the contractual right to take possession of the software at any time during the hosting period under these contracts. The customer can only benefit from the SaaS license, maintenance and standard managed services when combined with the hosting service as the hosting service is the only way for the customer to access the software and benefit from the maintenance and managed services. Accordingly, each of the license, maintenance, hosting and standard managed services is not considered a distinct performance obligation in the context of the contract, and are combined into a single performance obligation (“bundled SaaS services”) and recognized ratably over the contract period. Our bundled SaaS customer contracts can consist of fixed, variable, and usage-based fees. Typically, we invoice fees on an annual basis at the outset of the contract, though quarterly or monthly billing terms are included in certain contracts. Certain bundled SaaS contracts include a nonrefundable upfront fee for setup services, which are not distinct from the bundled SaaS services. Non-distinct setup services represent an advanced payment for future bundled SaaS services, and are recognized as revenue when
those bundled SaaS services are satisfied, unless the nonrefundable fee is considered to be a material right, in which case the nonrefundable fee is recognized over the expected benefit period, which includes anticipated renewals. We determine SSP for our bundled SaaS services based on the price at which the performance obligation is sold separately, which is observable through past renewal transactions. We satisfy our bundled SaaS services by providing access to our software over time and processing transactions for usage-based contracts. For non-usage based fees, the period of time over which we perform is commensurate with the contract term because that is the period during which we have an obligation to provide the service. The performance obligation is recognized on a time elapsed basis, by day for which the services are provided.

Our software licenses either provide our customers a perpetual right to use our software or, in the case of unbundled SaaS, the right to use our software for only a fixed term, in most cases between a one- and three-year time frame. Generally, our contracts do not provide significant services of integration and customization and installation services are not required to be purchased directly from us. The software is delivered before related services are provided and is functional without professional services, updates and technical support. We have concluded that the software license is distinct as the customer can benefit from the software on its own. Software revenue is typically recognized when the software is delivered or made available for download to the customer. We rarely sell our software licenses on a standalone basis and as a result SSP is not directly observable and must be estimated. We apply the adjusted market assessment approach, considering both market conditions and entity specific factors such as assessment of historical data of sales of software licenses in combination with other promised goods and services in order to maximize the use of observable inputs. Software SSP is established based on an appropriate discount from our established list price, taking into consideration whether there are certain stratifications of the population with different pricing practices. Revenue for hardware is recognized at a point in time, generally upon shipment or delivery.

Our patent license royalty agreements grant customers the right to use our intellectual property in their products for resale. Royalties are recognized as revenue in the period when the products containing our intellectual property are sold by the licensees to their customers. Differences between actual results and estimated amounts are adjusted in the following period as such sales are typically reported by the customer a month or quarter in arrears.

Professional services revenues primarily consist of fees for deployment and optimization services, as well as training, and are generally recognized over time as the customer simultaneously receives and consumes the benefits of the professional services as the services are performed. Professional services that are billed on a time and materials basis are recognized over time as the services are performed. For contracts billed on a fixed price basis, revenue is recognized over time using an input method based on labor hours expended to date relative to the total labor hours expected to be required to satisfy the related performance obligation. We determine SSP for our professional services based on the price at which the performance obligation is sold separately, which is observable through past transactions.

Customer support revenue is derived from providing remote technical support services, bug fixes and unspecified software updates and upgrades to customers on a when-and-if-available basis. Each of these performance obligations provide benefit to the customer on a standalone basis and are distinct in the context of the contract. Each of these distinct performance obligations represent a stand ready obligation to provide service to a customer, which is concurrently delivered and has the same pattern of transfer to the customer, which is why we account for these support services as a single performance obligation. We recognize support services ratably over the contractual term, which typically is one year for perpetual licenses and one to three years for unbundled SaaS arrangements. SSP for support services for perpetual licenses is developed based on standalone renewal contracts. SSP for support services included in unbundled SaaS arrangements is not directly observable and is estimated using information that may include market conditions and other observable inputs.

Our solutions are generally sold with a warranty of one year to three years for hardware and 90 days for software. These warranties do not represent an additional performance obligation as services beyond assuring that the software license and hardware comply with agreed-upon specifications are not provided.

Disaggregation of Revenue

The following table provides a disaggregation of our recurring and nonrecurring revenue. Recurring revenue is the portion of our revenue that we believe is likely to be renewed in the future. The recurrence of these revenue streams in future periods depends on a number of factors including contractual periods and customers' renewal decisions.

Recurring revenue primarily consists of:
Software as a service (“SaaS”) revenue, which consists predominately of bundled SaaS (software access rights with standard managed services) and unbundled SaaS (software licensing rights accounted for as term-based licenses whereby customers have a license to our software with related support for a specific period).
Bundled SaaS revenue is recognized over time.
Unbundled SaaS revenue is recognized at a point in time, except for the related support which is recognized over time. Unbundled SaaS contracts are eligible for renewal after the initial fixed term, which in most cases is between a one- and three-year time frame. Unbundled SaaS can be deployed in the cloud, either by us or a cloud partner.
Optional managed services revenue.
Support revenue, which consists of initial and renewal support on our perpetual licenses.
Nonrecurring revenue primarily consists of our perpetual licenses, hardware, installation services, business advisory consulting and training services, and patent license royalties.

Year Ended January 31,
(in thousands)202420232022
Recurring revenue:
Bundled SaaS revenue$250,526 $222,560 $183,035 
Unbundled SaaS revenue264,302 221,645 139,729 
Total SaaS revenue514,828 444,205 322,764 
Optional managed services revenue47,718 61,388 65,648 
Support revenue136,702 179,944 244,717 
Total recurring revenue699,248 685,537 633,129 
Nonrecurring revenue:
Perpetual revenue99,853 116,611 138,078 
Professional services and other revenue111,286 100,097 103,302 
Total nonrecurring revenue211,139 216,708 241,380 
Total revenue$910,387 $902,245 $874,509 

Contract Balances

The following table provides information about accounts receivable, contract assets, and contract liabilities from contracts with customers:
January 31,
(in thousands)20242023
Accounts receivable, net$190,461 $188,414 
Contract assets, net$66,913 $60,444 
Long-term contract assets, net (included in other assets)$31,379 $37,950 
Contract liabilities$254,437 $271,476 
Long-term contract liabilities$10,581 $18,047 

We receive payments from customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract assets are rights to consideration in exchange for goods or services that we have transferred to a customer when that right is conditional on something other than the passage of time. The majority of our contract assets represent unbilled amounts related to multi-year unbundled SaaS contracts and arrangements where our right to consideration is subject to the contractually agreed upon billing schedule. We expect billing and collection of a majority of our contract assets to occur within the next twelve months and asset impairment charges related to contract assets were immaterial for each of the years ended January 31, 2024, 2023, and 2022. We had two partners, both authorized global resellers of our solutions, that accounted for more than 10% of our aggregated accounts receivable and contract assets in recent years. Partner A accounted for approximately 14% and 15% of our aggregated accounts receivable and contract assets as of January 31, 2024 and 2023, respectively, and Partner B accounted for approximately 14% and 15% of our aggregated accounts receivable and contract assets as of January 31, 2024 and 2023, respectively. Credit losses related to these partners have historically been immaterial. During the years ended January 31, 2024 and 2023, we transferred $56.0 million and $43.2 million, respectively, to accounts receivable from contract assets recognized at the beginning of each period, as a result of the right to the transaction consideration becoming unconditional. We recognized $52.9 million and $69.9 million of contract assets during the years ended January 31, 2024 and 2023, respectively. Contract assets recognized during each year primarily related to multi-year unbundled SaaS contracts that are invoiced annually with license revenue recognized upfront.

Contract liabilities represent consideration received or consideration which is unconditionally due from customers prior to transferring goods or services to the customer under the terms of the contract. Revenue recognized during the years ended
January 31, 2024 and 2023 from amounts included in contract liabilities at the beginning of each period was $252.7 million and $242.4 million, respectively.

Remaining Performance Obligations

Transaction price allocated to remaining performance obligations represents contracted revenue that has not yet been recognized, which includes contract liabilities and non-cancelable amounts that will be invoiced and recognized as revenue in future periods. The majority of our arrangements are for periods of one to three years, although the contract term can extend up to five years.

We elected to exclude amounts of variable consideration attributable to sales- or usage-based royalties in exchange for a license of our IP from the remaining performance obligations. The timing and amount of revenue recognition for our remaining
performance obligations are influenced by several factors, including seasonality, the timing of renewals, the timing of
delivery of software licenses, the average length of the contract terms, and foreign currency exchange rates.

The following table provides information about when we expect to recognize our remaining performance obligations:

January 31,
(in thousands)20242023
Remaining performance obligations:
Expected to be recognized within 1 year$464,600 $464,346 
Expected to be recognized in more than 1 year279,702 262,695 
Total remaining performance obligations
$744,302 $727,041 

Costs to Obtain and Fulfill Contracts

Total capitalized costs to obtain contracts were $57.8 million as of January 31, 2024, of which $2.7 million is included in prepaid expenses and other current assets and $55.1 million is included in other assets on our consolidated balance sheet. Total capitalized costs to obtain contracts were $58.6 million as of January 31, 2023, of which $3.7 million is included in prepaid expenses and other current assets and $54.9 million is included in other assets on our consolidated balance sheet. During the years ended January 31, 2024, 2023, and 2022, we expensed $34.2 million, $33.1 million and $33.1 million, respectively, of sales and agent commissions, which are included in selling, general and administrative expenses and there were no impairment losses recognized for these capitalized costs.

Total capitalized costs to fulfill contracts were $3.2 million as of January 31, 2024, of which $0.2 million is included in prepaid expenses and other current assets and $3.0 million is included in other assets on our consolidated balance sheet. Total capitalized costs to fulfill contracts were $5.1 million as of January 31, 2023, of which $0.2 million is included in prepaid expenses and other current assets and $4.9 million is included in other assets on our consolidated balance sheet. During each of the years ended January 31, 2024 and 2023, we amortized $3.0 million of contract fulfillment costs, and during the year ended January 31, 2022, we amortized $3.2 million of contract fulfillment costs.