XML 20 R10.htm IDEA: XBRL DOCUMENT
v3.25.3

Revenue Recognition | 9 Months Ended
--- | ---
Sep. 30, 2025
Revenue from Contract with Customer [Abstract] |
Revenue Recognition | Revenue Recognition The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC 606 which include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance. The Company recognizes revenue from engineering services, which are primarily product development services, as the services are performed or as otherwise determined based on the substance of the agreement. The Company recognizes revenue from bill-and-hold transactions at the time the specified goods are complete and available to the customer. Standard payment terms are net 30 days unless contract terms state otherwise. When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. We do not assess whether a significant financing component exists if the period between when we perform our obligations under the contract and when the customer pays is one year or less. In the ordinary course of business, the Company accepts sales returns from customers for defective goods, such amounts being immaterial. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale not as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company’s promise to transfer the goods and are expensed when revenue is recognized. Variable consideration to be included in the transaction price is estimated using either the expected value method or the most likely method based on facts and circumstances. Variable consideration is included in the transaction price if it is probable that a significant future reversal of cumulative revenue under the contract will not occur. The Company has elected to not disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as the Company’s contracts have an original expected duration of one year or less, or revenue has been recognized at the amount for which the Company has the right to invoice for engineering services performed. Disaggregated 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 |
Contract Balances The timing of revenue recognition may differ from the time of invoicing to customers. When invoicing occurs prior to revenue recognition, the Company has contract liabilities included within “deferred revenue” on the condensed consolidated balance sheet. 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 |
Revenue recognized during the nine months ended September 30, 2025 and 2024 from amounts included in deferred revenue at the beginning of the period were approximately $2.2 million and $3.4 million, respectively. When invoicing occurs after revenue recognition, the Company has contract assets, which are included within “receivables, net” on the condensed consolidated balance sheets. 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
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration