REVENUE RECOGNITION |
6 Months Ended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jun. 30, 2025 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REVENUE RECOGNITION | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REVENUE RECOGNITION | (12) REVENUE RECOGNITION The Company derives revenue from two primary sources: products and services. Product revenue includes: 1) the Company’s proprietary hardware and software that function together to deliver the products’ essential functionality and 2) the Company’s software only solutions that can be used on either the Company’s hardware or third-party hardware. Both proprietary hardware and software only solutions are also sold on a standalone basis. Services include customer support (software updates, upgrades and technical support), consulting, design services, installation services and training. Generally, contracts with customers contain multiple performance obligations, consisting of products and services. For these contracts, the Company accounts for individual performance obligations separately if they are considered distinct. When an arrangement contains more than one performance obligation, the Company will allocate the transaction price to each performance obligation on a relative standalone selling price basis. The Company utilizes the observable price of goods and services, including when they are sold separately to similar customers, in order to estimate standalone selling price (“SSP”). The Company’s software licenses typically provide a perpetual right to use the Company’s software. However, the Company also sells term-based software licenses that expire and Software-as-a-Service (“SaaS”)-based software which are referred to as subscription arrangements. The Company does not customize its software nor are installation services required, as the customer has a right to utilize internal resources or a third-party service company. The software and hardware are delivered before related services are provided and are functional without professional services or customer support. The Company has concluded that its software licenses are functional intellectual property that are distinct, as the user can benefit from the software on its own. Product revenue from sales of the Company’s perpetual and term-based software licenses is typically recognized when the software is made available for download, as this is the point the user of the software can direct the use of and obtain substantially all of the remaining benefits from the functional intellectual property. The Company begins to recognize software revenue related to the renewal of term-based software licenses at the start of the renewal period. Revenue related to sales of SaaS-based software is recognized ratably over the service period as the customer does not take possession of the software or have the ability to take possession of the software. The Company offers warranties on its products. Certain of the Company’s warranties are considered to be assurance-type in nature, ensuring the product is functioning as intended. Assurance-type warranties do not represent separate performance obligations. The Company also sells separately-priced maintenance service contracts which qualify as service-type warranties and represent separate performance obligations. The Company does not allow and has no history of accepting product returns. Service revenue includes revenue from customer support and other professional services. Customer support includes software updates on a when-and-if-available basis, telephone support, integrated web-based support and bug fixes or patches. The Company sells its customer support contracts at a percentage of list or net product price. Customer support revenue is recognized ratably over the term of the customer support agreement, which is typically one year. The Company’s professional services include consulting, technical support, resident engineer services, design services and installation services. Because control transfers over time, revenue is recognized based on progress toward completion of the performance obligation. The method to measure progress toward completion requires judgment and is based on the nature of the products or services to be provided. The Company generally uses the input method to measure progress for its contracts and to recognize revenue because it believes such method, in general, best depicts the transfer of assets to its customers. The input method measures costs the Company has incurred in the period for its contracts. In some infrequent instances, the Company may engage a third-party to perform services on its behalf and in those cases the output method is used to recognize revenue because it best depicts the transfer of assets to its customers. Under the output method, there is a cost-to-cost measure of progress. The progress toward completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. When the measure of progress is based upon expended labor, progress toward completion is measured as the ratio of labor time expended to date versus the total estimated labor time required to complete the performance obligation. Revenue is recorded proportionally as costs are incurred or as labor is expended. Costs to fulfill these obligations can include internal labor as well as subcontractor costs. Customer training includes courses offered by the Company. The related revenue is typically recognized as the training services are performed, typically over a period of to five days.Payment terms for the Company’s contracts with its customers typically range from 30 to 60 days from the invoice date. In certain cases, the Company may offer extended payment terms, which are assessed on a case-by-case basis. The Company does not generally offer significant financing components in its contracts with customers. However, if a contract includes a significant financing component, the transaction price is adjusted for the time value of money. For the three and six months ended June 30, 2025, the impact of financing components was immaterial. Amounts billed to customers for sales and other taxes are excluded from the transaction price. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to government authorities. The Company’s typical performance obligations include the following:
Significant Judgments The Company’s contracts with customers often include promises to transfer multiple products and services to the customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Judgment is required to determine the SSP for each distinct performance obligation. The Company typically has more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, the Company may use information such as the size of the customer and geographic region in determining the SSP. Deferred Revenue Deferred revenue is a contract liability representing amounts collected from or invoiced to customers in excess of revenue recognized. This results primarily from the billing of annual customer support agreements where the revenue is recognized over the term of the agreement. The value of deferred revenue will increase or decrease based on the timing of invoices and recognition of revenue. Disaggregation of Revenue The Company disaggregates its revenue from contracts with customers based on the nature of the products and services and the geographic regions in which each customer is domiciled. The Company’s total revenue for three and six months ended June 30, 2025 and 2024 was disaggregated geographically as follows:
The Company’s product revenue from its direct sales program and from indirect sales through its channel partner program for the three and six months ended June 30, 2025 and 2024 was as follows (in thousands):
The Company’s product revenue from sales to enterprise customers and from sales to service provider customers for the three and six months ended June 30, 2025 and 2024 was as follows (in thousands):
The Company’s product revenue and service revenue components by segment for the three and six months ended June 30, 2025 and 2024 were as follows (in thousands):
Revenue Contract Balances The timing of revenue recognition, billings and cash collections results in billed accounts receivable, unbilled receivables, which are contract assets, and customer advances and deposits, which are contract liabilities, in the Company’s condensed consolidated balance sheets. Amounts are billed as work progresses in accordance with agreed-upon contractual terms, either at periodic intervals or upon achievement of contractual milestones. Billing may occur subsequent to revenue recognition, resulting in contract assets. The Company may receive advances or deposits from its customers before revenue is recognized, resulting in contract liabilities which are classified as deferred revenue. These assets and liabilities are reported in the Company’s condensed consolidated balance sheets on a contract-by-contract basis as of the end of each reporting period. Changes in the contract asset and liability balances during the six months ended June 30, 2025 were not materially impacted by any factors other than billing and revenue recognition. Nearly all of the Company’s deferred revenue balance is related to services revenue, primarily customer support contracts. Unbilled receivables stem primarily from engagements where services have been performed; however, billing cannot occur until services are completed. In some arrangements, the Company allows customers to pay for term-based software licenses and products over the term of the software license. The Company also sells SaaS-based software under subscription arrangements, with payment terms over the term of the SaaS agreement. Amounts recognized as revenue in excess of amounts billed are recorded as unbilled receivables. Unbilled receivables that are anticipated to be invoiced in the next twelve months are included in Accounts receivable on the Company’s condensed consolidated balance sheets. The changes in the Company’s accounts receivable, unbilled receivables and deferred revenue balances for the six months ended June 30, 2025 were as follows (in thousands):
The Company recognized approximately $75 million of revenue in the six months ended June 30, 2025 that was recorded as deferred revenue at December 31, 2024 and approximately $78 million of revenue in the six months ended June 30, 2024 that was recorded as deferred revenue at December 31, 2023. Of the Company’s deferred revenue reported as long-term in its condensed consolidated balance sheet at June 30, 2025, the Company expects that approximately $10 million will be recognized as revenue in , approximately $9 million will be recognized as revenue in and approximately $13 million will be recognized as revenue in and beyond.The Company applies the optional exemption of not disclosing the transaction price allocated to the remaining performance obligation for its contracts with an original duration of less than one year. In 2024, the Company entered into a contract with an existing customer that has revenue allocated to remaining performance obligations, which includes unearned revenue and amounts that will be invoiced and recognized as revenue in future periods of approximately $235 million and $285 million as of June 30, 2025 and December 31, 2024, respectively. At this time, the Company expects to recognize the majority of the revenue related to this contract in the years 2025 through 2028. All freight-related customer invoicing is recorded as revenue, while the shipping and handling costs that occur after control of the promised goods or services transfer to the customer are reported as fulfillment costs, a component of Cost of revenue - product in the Company’s condensed consolidated statements of operations. Deferred Commissions Cost Sales commissions earned by the Company’s employees are considered incremental and recoverable costs of obtaining a contract with a customer. These costs have been deferred on our condensed consolidated balance sheet and are being amortized over the expected life of the customer contract, which is generally five years. At June 30, 2025 and December 31, 2024, the Company had $2.2 million and $2.8 million of deferred sales commissions capitalized, respectively. |