XML 38 R28.htm IDEA: XBRL DOCUMENT
v3.25.3

Revenue Recognition (Tables) | 9 Months Ended
--- | ---
Sep. 30, 2025
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 Ended |  | Nine Months Ended
| September 30, |  | September 30,
Net sales of: | 2025 |  | 2024 |  | 2025 |  | 2024
Products | $ | 151,833 |  |  | $ | 142,877 |  |  | $ | 446,265 |  |  | $ | 351,395 |
Tooling and Machinery | 712 |  |  | 1,420 |  |  | 2,512 |  |  | 5,977 |
Engineering services | 2,013 |  |  | 868 |  |  | 5,105 |  |  | 2,979 |
Total net sales | $ | 154,558 |  |  | $ | 145,165 |  |  | $ | 453,882 |  |  | $ | 360,351 |
Schedule of Contract Liabilities and Contract Assets | The following table presents opening and closing balances of contract liabilities for the nine months ended September 30, 2025 and 2024 (in thousands):
| Contract Liabilities
| Nine Months Ended September 30,
| 2025 |  | 2024
Deferred revenue - beginning of period | $ | 4,667 |  |  | $ | 6,616 |
Increases due to customers invoiced before revenue recognized | 4,232 |  |  | 3,302 |
Revenue recognized | (4,727) |  |  | (4,128) |
Deferred revenue acquired in TPI acquisition | 661 |  |  | — |
Deferred revenue acquired in Welch acquisition | — |  |  | 8 |
Deferred revenue - end of period | 4,833 |  |  | 5,798 |
The following table presents opening and closing balances of contract assets for the nine months ended September 30, 2025 and 2024 (in thousands):
| Contract Assets
| Nine Months Ended September 30,
| 2025 |  | 2024
Unbilled Receivables - beginning of period | $ | 192 |  |  | $ | 114 |
Increases due to revenue recognized, not invoiced to customers | 2,937 |  |  | 1,620 |
Decreases due to customer invoicing | (2,771) |  |  | (1,532) |
Unbilled Receivables - end of period | $ | 358 |  |  | $ | 202 |

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration