Revenue Recognition
Disaggregation of revenue
Based on 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):
Year Ended December 31,
202520242023
System solutions$374,189 $306,145 $398,384 
Components101,142 93,063 90,555 
Total revenue$475,331 $399,208 $488,939 

Contract Balances
The timing of revenue recognition, billings and cash collections results in billed accounts receivable, unbilled receivables, retainage, and deferred revenue on the 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):
December 31,
Location on the Consolidated Balance Sheets20252024
Billed accounts receivableAccounts receivable, net$119,521 $70,882 
RetainageAccounts receivable, net$9,272 $7,299 
Contract assetsOther assets$— $4,251 
Contract liabilitiesAccrued expenses and other$1,811 $— 
Unbilled receivablesUnbilled receivables$22,133 $20,834 
Deferred revenueDeferred revenue$37,031 $18,737 
Accrued rebatesAccrued expenses and other$4,851 $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 year ended December 31, 2025, $13.5 million, or 72% of deferred revenue recorded as of December 31, 2024, was recognized in revenue. During the year ended December 31, 2024, $20.6 million, or 93% 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.

Historical Timeline

Fiscal YearFiled
2025Feb 24, 2026Showing above
2024Feb 25, 2025
2023Feb 28, 2024
2022Feb 28, 2023
2021Mar 11, 2022

About Revenue Disclosures

Revenue disclosures under ASC 606 explain how a company identifies performance obligations, allocates transaction prices, and determines when revenue is recognized. This section is essential for understanding whether reported revenue reflects genuine economic activity or aggressive accounting choices. Analysts examine the mix of point-in-time versus over-time recognition, which directly affects revenue timing and comparability.

Key signals: rising contract liabilities (deferred revenue) suggest strong future revenue visibility, while declining contract assets may indicate slowing project milestones. Watch for variable consideration estimates — rebates, returns, and performance bonuses that require management judgment. Significant changes in disaggregated revenue by geography or product line can reveal shifting business mix before it appears in headline numbers. Compare revenue growth against contract liability growth to assess sustainability, and scrutinize any changes in the timing of recognition that coincide with earnings pressure.