v3.26.1
Revenue Recognition
6 Months Ended
Jun. 30, 2026
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,
2026202520262025
System solutions$114,175 $84,412 $224,992 $141,806 
Components49,197 26,429 78,937 49,396 
Total revenue$163,372 $110,841 $303,929 $191,202 

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,
2026
December 31, 2025
Billed accounts receivableAccounts receivable, net$119,876 $119,521 
RetainageAccounts receivable, net$14,946 $9,272 
Contract liabilitiesAccrued expenses and other$6,361 $1,811 
Unbilled receivablesUnbilled receivables$22,526 $22,133 
Deferred revenueDeferred revenue$55,245 $37,031 
Accrued rebatesAccrued expenses and other$7,701 $4,851 

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, 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, 2026, $7.3 million and $25.1 million of deferred
revenue recorded as of December 31, 2025 was recognized in revenue. 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.
Accrued rebates are recorded based on sales volumes from agreed upon rebate terms. Rebates are typically paid after project completion and following the payment of all retainage.