XML 32 R21.htm IDEA: XBRL DOCUMENT v3.25.2
Revenue Recognition
6 Months Ended
Jun. 30, 2025
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
Disaggregation of revenue
Based on ASC Topic 606 provisions, the Company disaggregates its revenue from contracts with customers based on product type. Revenue by product type is disaggregated between system solutions and components. System solutions are contracts under which the Company provides multiple products typically in connection with the design and specification of an entire EBOS system. Components represents sales of individual components.
The following table presents the Company’s revenue disaggregated by product type (in thousands):
Three Months Ended June 30,Six Months Ended June 30,
2025202420252024
System solutions$84,412 $79,292 $141,806 $144,350 
Components26,429 19,957 49,396 45,706 
Total revenue$110,841 $99,249 $191,202 $190,056 

Contract Balances
The timing of revenue recognition, billings and cash collections results in billed accounts receivable, unbilled receivables, retainage, and deferred revenue on the condensed consolidated balance sheets, recorded on a contract-by-contract basis at the end of each reporting period.
The Company’s contract balances consist of the following (in thousands):
Location on the Condensed Consolidated Balance SheetsJune 30,
2025
December 31, 2024
Billed accounts receivableAccounts receivable, net$94,979 $70,882 
RetainageAccounts receivable, net$8,453 $7,299 
Contract assetsOther assets$1,591 $4,251 
Unbilled receivablesUnbilled receivables$9,861 $20,834 
Deferred revenueDeferred revenue$20,075 $18,737 
Accrued rebatesAccrued expenses and other$3,618 $3,058 

The majority of the Company’s contract amounts are billed as work progresses in accordance with agreed-upon contractual terms, which generally coincide with the shipment of one or more phases of the project. Billing sometimes occurs subsequent to revenue recognition, resulting in unbilled receivables. The changes in unbilled receivables relate to fluctuations in the timing of billings for the Company’s revenue recognized over time.
Certain contracts contain retainage provisions. Retainage represents a contract asset for the portion of the contract price earned by the Company for work performed but held for payment by the customer as a form of security until the Company obtains specified milestones. The Company typically bills retainage amounts as work is performed. Retainage provisions are not considered a significant financing component because they are intended to protect the customer in the event that some or all of the obligations under the contract are not completed. The changes in retainage relate to fluctuations in the timing of retainage billings and achievement of specified milestones.
For certain contracts, we provide customers with incentives upon entering into multi-year agreements or volume specific commitments. Any up-front incentives to customers that are not made in exchange for distinct goods and services are capitalized as a contract asset within other assets, which are subsequently recognized as a reduction to revenue over the term of the customer arrangements.
The Company also receives deferred revenue in the form of customer deposits. The customer deposits are short term as the related performance obligations are typically fulfilled within 12 months. The changes in deferred revenue relate to fluctuations in the timing of customer deposits and completion of performance obligations. During the three and six months ended June 30, 2025, $1.8 million and $12.1 million of deferred revenue recorded as of December 31, 2024 was recognized in revenue. As of December 31, 2023, deferred revenue was $22.2 million and during the three and six months ended June 30, 2024, $6.1 million and $16.0 million, respectively, of deferred revenue recorded as of December 31, 2023 was recognized in revenue.
Accrued rebates are recorded based on sales volumes from agreed upon rebate terms. Rebates are typically paid within three to four months.