XML 23 R12.htm IDEA: XBRL DOCUMENT
v3.23.2

Revenue | 6 Months Ended
--- | ---
Jun. 30, 2023
Revenue from Contract with Customer [Abstract] |
Revenue | Revenue The following table summarizes the Company’s net sales by major product and service category for the periods presented:
|  | Three Months Ended June 30, |  | Six Months Ended June 30,
|  | 2023 |  | 2022 |  | 2023 |  | 2022
Rail Products and Global Friction Management |  | $ | 81,926 |  |  | $ | 70,416 |  |  | $ | 137,974 |  |  | $ | 122,067 |
Technology Services and Solutions |  | 9,690 |  |  | 11,381 |  |  | 18,026 |  |  | 23,440 |
Rail, Technologies, and Services |  | 91,616 |  |  | 81,797 |  |  | 156,000 |  |  | 145,507 |
Precast Concrete Buildings |  | 19,325 |  |  | 15,811 |  |  | 30,211 |  |  | 25,781 |
Precast Infrastructure Products |  | 14,540 |  |  | 7,800 |  |  | 27,942 |  |  | 12,840 |
Precast Concrete Products |  | 33,865 |  |  | 23,611 |  |  | 58,153 |  |  | 38,621 |
Fabricated Steel Products |  | 14,854 |  |  | 17,967 |  |  | 25,371 |  |  | 30,571 |
Coatings and Measurement |  | 7,699 |  |  | 8,140 |  |  | 23,998 |  |  | 15,610 |
Steel Products and Measurement |  | 22,553 |  |  | 26,107 |  |  | 49,369 |  |  | 46,181 |
Total net sales |  | $ | 148,034 |  |  | $ | 131,515 |  |  | $ | 263,522 |  |  | $ | 230,309 |
The majority of the Company’s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location. Net sales by the timing of the transfer of goods and services was as follows for the periods presented:
|  | Three Months Ended June 30, 2023
|  | Rail, Technologies, and Services |  | Precast Concrete Products |  | Steel Products and Measurement |  | Total
Point in time |  | $ | 75,923 |  |  | $ | 14,540 |  |  | $ | 20,407 |  |  | $ | 110,870 |
Over time |  | 15,693 |  |  | 19,325 |  |  | 2,146 |  |  | 37,164 |
Total net sales |  | $ | 91,616 |  |  | $ | 33,865 |  |  | $ | 22,553 |  |  | $ | 148,034 |
|  | Three Months Ended June 30, 2022
|  | Rail, Technologies, and Services |  | Precast Concrete Products |  | Steel Products and Measurement |  | Total
Point in time |  | $ | 65,872 |  |  | $ | 8,577 |  |  | $ | 20,964 |  |  | $ | 95,413 |
Over time |  | 15,925 |  |  | 15,034 |  |  | 5,143 |  |  | 36,102 |
Total net sales |  | $ | 81,797 |  |  | $ | 23,611 |  |  | $ | 26,107 |  |  | $ | 131,515 |
|  | Six Months Ended June 30, 2023
|  | Rail, Technologies, and Services |  | Precast Concrete Products |  | Steel Products and Measurement |  | Total
Point in time |  | $ | 129,757 |  |  | $ | 27,942 |  |  | $ | 36,133 |  |  | $ | 193,832 |
Over time |  | 26,243 |  |  | 30,211 |  |  | 13,236 |  |  | 69,690 |
Total net sales |  | $ | 156,000 |  |  | $ | 58,153 |  |  | $ | 49,369 |  |  | $ | 263,522 |
|  | Six Months Ended June 30, 2022
|  | Rail, Technologies, and Services |  | Precast Concrete Products |  | Steel Products and Measurement |  | Total
Point in time |  | $ | 115,038 |  |  | $ | 12,840 |  |  | $ | 36,026 |  |  | $ | 163,904 |
Over time |  | 30,469 |  |  | 25,781 |  |  | 10,155 |  |  | 66,405 |
Total net sales |  | $ | 145,507 |  |  | $ | 38,621 |  |  | $ | 46,181 |  |  | $ | 230,309 |
The Company’s performance obligations under long-term agreements with its customers are generally satisfied over time. Revenue under long-term agreements is at times recognized using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending upon which measure the Company believes best depicts its performance to date under the terms of the contract. The Company’s revenue recognized over time under long-term agreements is also at times recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The use of an input or an output measure to recognize revenue is determined based on what is most appropriate given the nature of the work performed and terms of the associated agreement. Revenue recognized over time was as follows for the periods presented:
|  | Three Months Ended June 30, |  | Percentage of Total Net Sales Three Months Ended June 30,
|  | 2023 |  | 2022 |  | 2023 |  | 2022
Over time input method |  | $ | 15,724 |  |  | $ | 20,089 |  |  | 10.6 | % |  | 15.3 | %
Over time output method |  | 21,440 |  |  | 16,013 |  |  | 14.5 |  |  | 12.2 |
Total over time sales |  | $ | 37,164 |  |  | $ | 36,102 |  |  | 25.1 | % |  | 27.5 | %
|  | Six Months Ended June 30, |  | Percentage of Total Net Sales Six Months Ended June 30,
|  | 2023 |  | 2022 |  | 2023 |  | 2022
Over time input method |  | $ | 31,935 |  |  | $ | 39,411 |  |  | 12.1 | % |  | 17.1 | %
Over time output method |  | 37,755 |  |  | 26,994 |  |  | 14.3 |  |  | 11.7 |
Total over time sales |  | $ | 69,690 |  |  | $ | 66,405 |  |  | 26.4 | % |  | 28.8 | %
The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in “Contract assets”), and billings in excess of costs (contract liabilities), included in “Deferred revenue” within the Condensed Consolidated Balance Sheets. The following table sets forth the Company’s contract assets:
|  | Contract Assets
Balance as of December 31, 2022 |  | $ | 33,613 |
Net additions to contract assets |  | 4,797 |
Transfers from contract asset balance to accounts receivable |  | (4,399) |
Balance as of June 30, 2023 |  | $ | 34,011 |
The following table sets forth the Company’s contract liabilities:
|  | Contract Liabilities
Balance as of December 31, 2022 |  | $ | 6,781 |
Revenue recognized from contract liabilities |  | (4,049) |
Increase in billings in excess of cost, excluding revenue recognized |  | 3,525 |
Other adjustments, including business divestiture |  | (1,938) |
Balance as of June 30, 2023 |  | $ | 4,319 |
The Company records provisions related to the allowance for credit losses associated with contract assets. Provisions are recorded based upon a specific review of individual contracts as necessary, and a standard provision over any remaining contract assets pooled together based on similar risk of credit loss. The development of these provisions is based on historical collection trends, accuracy of estimates within contract margin reporting, as well as the expectation that collection patterns and margin reporting will continue to adhere to patterns observed in recent years. These expectations are formed based on trends observed, as well as current and expected future conditions. As of June 30, 2023, the Company had approximately $290,076 of obligations under new contracts and remaining performance obligations, which is also referred to as backlog. Approximately 12.0% of the June 30, 2023 backlog was related to projects that are anticipated to extend beyond June 30, 2024.

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 9 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9 Reference 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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