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,
2023202220232022
Rail Products and Global Friction Management$81,926 $70,416 $137,974 $122,067 
Technology Services and Solutions9,690 11,381 18,026 23,440 
Rail, Technologies, and Services91,616 81,797 156,000 145,507 
Precast Concrete Buildings19,325 15,811 30,211 25,781 
Precast Infrastructure Products14,540 7,800 27,942 12,840 
Precast Concrete Products33,865 23,611 58,153 38,621 
Fabricated Steel Products14,854 17,967 25,371 30,571 
Coatings and Measurement7,699 8,140 23,998 15,610 
Steel Products and Measurement22,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 ServicesPrecast Concrete ProductsSteel Products and MeasurementTotal
Point in time$75,923 $14,540 $20,407 $110,870 
Over time15,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 ServicesPrecast Concrete ProductsSteel Products and MeasurementTotal
Point in time$65,872 $8,577 $20,964 $95,413 
Over time15,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 ServicesPrecast Concrete ProductsSteel Products and MeasurementTotal
Point in time$129,757 $27,942 $36,133 $193,832 
Over time26,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 ServicesPrecast Concrete ProductsSteel Products and MeasurementTotal
Point in time$115,038 $12,840 $36,026 $163,904 
Over time30,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,
2023202220232022
Over time input method$15,724 $20,089 10.6 %15.3 %
Over time output method21,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,
2023202220232022
Over time input method$31,935 $39,411 12.1 %17.1 %
Over time output method37,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 assets4,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.