XML 44 R27.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Note 16 - Revenue | 12 Months Ended
--- | ---
Dec. 31, 2024
Notes to Financial Statements |
Revenue from Contract with Customer [Text Block] |
16. | REVENUE:
Net sales by geographic region, based on the location of the customer, were as follows (in thousands):
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |  |  | 2022 |
Net sales by geographic region: |  |  |  |  |  |  |  |  |  |  |  |
United States |  | $ | 475,105 |  |  | $ | 420,925 |  |  | $ | 423,961 |
Canada |  |  | 17,443 |  |  |  | 23,430 |  |  |  | 33,704 |
Total |  | $ | 492,548 |  |  | $ | 444,355 |  |  | $ | 457,665 |
No SPP customer accounted for more than 10% of total net sales for the year ended December 31, 2024. One SPP customer accounted for 10% and 12% of total net sales for the years ended December 31, 2023 and 2022, respectively. No Precast customer accounted for more than 10% of total net sales for the years ended December 31, 2024, 2023, and 2022. Net revisions in contract estimates resulted in an increase (decrease) in SPP net sales of $4.5 million, ($1.1) million, and ($0.6) million for the years ended December 31, 2024, 2023, and 2022, respectively. Disaggregation of Revenue The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |  |  | 2022 |
Over time |  | $ | 337,945 |  |  | $ | 296,381 |  |  | $ | 307,572 |
Point in time |  |  | 154,603 |  |  |  | 147,974 |  |  |  | 150,093 |
Net sales |  | $ | 492,548 |  |  | $ | 444,355 |  |  | $ | 457,665 |
Contract Assets and Contract Liabilities The difference between the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and billings. Certain amounts in the prior year summaries of changes below have been reclassified to conform to the current year presentation, with no impacts to beginning and ending balances. These reclassifications had no effect on the Company’s financial position, results of operations, or cash flows. The following is a summary of the changes in contract assets and contract liabilities (in thousands):
|  | Contract Assets |  |  | Contract Liabilities |  |  | Net Contract Assets |
Year Ended December 31, 2024 |  |  |  |  |  |  |  |  |  |  |  |
Balance, beginning of year |  | $ | 120,516 |  |  | $ | (21,450 | ) |  | $ | 99,066 |
Revenue recognized |  |  | 281,400 |  |  |  | 56,545 |  |  |  | 337,945 |
Billings |  |  | (297,122 | ) |  |  | (46,292 | ) |  |  | (343,414 | )
Other |  |  | (1,372 | ) |  |  | - |  |  |  | (1,372 | )
Balance, end of year |  | $ | 103,422 |  |  | $ | (11,197 | ) |  | $ | 92,225 |
Year Ended December 31, 2023 |  |  |  |  |  |  |  |  |  |  |  |
Balance, beginning of year |  | $ | 121,778 |  |  | $ | (17,456 | ) |  | $ | 104,322 |
Revenue recognized |  |  | 257,164 |  |  |  | 39,217 |  |  |  | 296,381 |
Billings |  |  | (255,873 | ) |  |  | (43,211 | ) |  |  | (299,084 | )
Other |  |  | (2,553 | ) |  |  | - |  |  |  | (2,553 | )
Balance, end of year |  | $ | 120,516 |  |  | $ | (21,450 | ) |  | $ | 99,066 |
The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $20.6 million, $17.0 million, and $2.7 million during the years ended December 31, 2024, 2023, and 2022, respectively. Backlog Backlog represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time. As of December 31, 2024, backlog was $213 million. The Company expects to recognize approximately 79% of the remaining performance obligations in 2025, 20% in 2026, and the balance thereafter.

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
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