XML 39 R28.htm IDEA: XBRL DOCUMENT v3.26.1
Revenue Recognition (Tables)
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregation of Revenue
The following table presents the Company’s revenue disaggregated by the major types of goods and services sold to the Company’s customers (in thousands) (See Note 13 for further information regarding net sales by market):
Three Months EndedSix Months Ended
June 30,June 30,
Net sales of:2026202520262025
Products$172,505 $149,332 $324,334 $294,432 
Tooling and Machinery448 302 1,428 1,800 
Engineering services1,011 1,542 2,404 3,092 
Total net sales$173,964 $151,176 $328,166 $299,324 
Schedule of Contract Liabilities and Contract Assets
The following table presents opening and closing balances of contract liabilities for the six-month periods ended June 30, 2026 and 2025 (in thousands):
Contract Liabilities
Six-Month Period Ended
June 30,
20262025
Deferred revenue - beginning of period$4,240 $4,667 
Increases due to consideration received from customers3,185 3,129 
Revenue recognized(2,623)(3,187)
Deferred revenue - end of period$4,802 0$4,609 
The following table presents opening and closing balances of contract assets for the six-month periods ended June 30, 2026 and 2025 (in thousands):
Contract Assets
Six-Month Period Ended
June 30,
20262025
Unbilled Receivables - beginning of period$391 $192 
Increases due to revenue recognized, not invoiced to customers1,559 2,091 
Decreases due to customer invoicing(1,600)(1,939)
Unbilled Receivables - end of period$350 $344