XML 30 R13.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Revenue | 12 Months Ended
--- | ---
Dec. 31, 2024
Revenue from Contract with Customer [Abstract] |
Revenue | Revenue The Company’s revenues are comprised of product and service sales, including products and services provided under long-term agreements with its customers. All revenue is recognized when the Company satisfies its performance obligations under the contract, either implicit or explicit, by transferring the promised product or rendering a service to its customer either when its customer obtains control of the product or as the service is rendered. A performance obligation is a promise in a contract to transfer a distinct product or render a specific service to a customer. A contract’s transaction price is allocated to each distinct performance obligation. The majority of the Company’s contracts have a single performance obligation, as the promise to transfer products or render services is not separately identifiable from other promises in the contract and, therefore, not distinct. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or providing services. Revenue is recorded net of returns, allowances, and customer discounts. Sales, value added, and other taxes collected from customers and remitted to governmental authorities are accounted for on a net (excluded from revenues) basis. Shipping and handling costs are included in cost of goods sold. The Company’s performance obligations under long-term agreements with its customers are generally satisfied over time. Over time revenue is primarily comprised of transit infrastructure and technology services and solutions projects within the Rail segment, precast concrete buildings within the Precast Concrete Products division in the Infrastructure segment, and long-term bridge projects and custom precision metering systems within the Steel Products division in the Infrastructure segment. Revenue under these long-term agreements is generally recognized over time, either 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 the Company’s performance to date under the terms of the contract, or an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements. The Company records contract liabilities in “Deferred revenue” within the Consolidated Balance Sheets. Deferred revenue of $10,205 and $12,479 as of December 31, 2024 and 2023, respectively, consisted of customer billings or payments received for which the revenue recognition criteria had not yet been met as well as contract liabilities (billings in excess of costs) on over time revenue projects. For the years ended December 31, 2024 and 2023, revenue recognized over time was as follows:
|  | Year Ended December 31, |  | Percentage of Total Net Sales Year Ended December 31,
|  | 2024 |  | 2023 |  | 2024 |  | 2023
Over time input method |  | $ | 52,706 |  |  | $ | 59,864 |  |  | 10.0 | % |  | 11.1 | %
Over time output method |  | 92,548 |  |  | 88,856 |  |  | 17.4 |  |  | 16.3 |
Total over time sales |  | $ | 145,254 |  |  | $ | 148,720 |  |  | 27.4 | % |  | 27.4 | %
Accounting for these long-term agreements involves the use of various techniques to estimate total revenues and costs. The Company estimates profit on these long-term agreements as the difference between total estimated revenues and expected costs to complete a contract and recognizes that profit over the life of the contract. Contract estimates are based on various assumptions to project the outcome of future events that may span several years. These assumptions include, among other things, labor productivity, cost and availability of materials, and timing of funding by customers. The nature of these long-term agreements may give rise to several types of variable consideration, such as claims and awards. Contract estimates may include additional revenue for submitted contract modifications, including at times unapproved change orders, if there exists an enforceable right to the modification, the amount can be reasonably estimated, and its realization is probable. These estimates are based on historical collection experience, anticipated performance, and the Company’s best judgment at that time. These amounts are generally included in the contract’s transaction price and are allocated over the remaining performance obligations. As a result of management's reviews of contract-related estimates, the Company makes adjustments to contract estimates that impact our revenue and profit totals. Changes in estimates are primarily attributed to updated considerations, including economic conditions and historic contract patterns, resulting in changes to anticipated revenue from existing contracts. In the event that a contract loss becomes known, the entire amount of the estimated loss is recognized in the Consolidated Statements of Operations. The majority of the Company’s revenue is from products transferred and services rendered to customers at a point in time, which is inherent in all major product and service categories. Point in time revenue accounted for 72.6% of revenue for each of the years ended December 31, 2024 and 2023. The Company recognizes revenue at the point in time in which the customer obtains control of the product or service, which is generally when product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer upon shipment and revenue is not recognized until the customer has received the products at a designated physical location. For the years ended December 31, 2024 and 2023, net sales by the timing of the transfer of goods and services were as follows:
Year Ended December 31, 2024 |  | Rail, Technologies, and Services |  | Infrastructure Solutions |  | Total
Point in time |  | $ | 263,432 |  |  | $ | 122,079 |  |  | $ | 385,511 |
Over time |  | 63,437 |  |  | 81,817 |  |  | 145,254 |
Total net sales |  | $ | 326,869 |  |  | $ | 203,896 |  |  | $ | 530,765 |
Year Ended December 31, 2023 |  | Rail, Technologies, and Services |  | Infrastructure Solutions |  | Total
Point in time |  | $ | 254,345 |  |  | $ | 140,679 |  |  | $ | 395,024 |
Over time |  | 57,815 |  |  | 90,905 |  |  | 148,720 |
Total net sales |  | $ | 312,160 |  |  | $ | 231,584 |  |  | $ | 543,744 |
The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (contract assets), and billings in excess of costs (contract liabilities), included in deferred revenue on the Consolidated Balance Sheets. The following table sets forth the Company’s contract assets:
|  | Contract Assets
Contract asset balance as of December 31, 2023 |  | $ | 29,489 |
Net additions to contract assets |  | 7,490 |
Transfers from contract asset balance to accounts receivable |  | (20,259) |
Contract asset balance as of December 31, 2024 |  | $ | 16,720 |
The following table sets forth the Company’s contract liabilities:
|  | Contract Liabilities
Contract liability balance as of December 31, 2023 |  | $ | 2,189 |
Revenue recognized from contract liabilities |  | (1,410) |
Increase in billings in excess of costs, excluding revenue recognized |  | 1,529 |
Other adjustments |  | (317) |
Balance as of December 31, 2024 |  | $ | 1,991 |
The Company has established policies regarding allowance for credit losses associated with contract assets, which includes standalone reserve assessments for its long-term, complex contracts as needed as well as detailed regular review and updates to contract margins, progress, and value. A standard reserve threshold is applied to contract assets related to short-term, less complex contracts. Management also regularly reviews collection patterns and future expected collections and makes necessary revisions to allowance for credit losses related to contract assets. During 2024, the Company recorded $2,593 in reductions to net sales stemming from changes in actual and expected values of certain commercial contracts. Such adjustments were $8,718 in 2023, including $2,987 associated with the Bridge Exit and other settled contracts. See Note 2 for additional information for the Company’s net sales by major product and service category. As of December 31, 2024, the Company had approximately $185,909 of remaining performance obligations, which is also referred to as backlog. Approximately 14.2% of the backlog as of December 31, 2024 was related to projects that are anticipated to extend beyond December 31, 2025.

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