XML 24 R12.htm IDEA: XBRL DOCUMENT
v3.25.2

CONTRACT ASSETS AND LIABILITIES | 6 Months Ended
--- | ---
Jun. 30, 2025
Contractors [Abstract] |
CONTRACT ASSETS AND LIABILITIES | CONTRACT ASSETS AND LIABILITIES Under our customized pump production and water and wastewater project contracts, amounts are billed as work progresses in accordance with agreed-upon contractual terms, upon various measures of performance, including achievement of certain milestones, completion of specified units, or completion of a contract. Generally, billing occurs subsequent to revenue recognition, resulting in contract assets presented as "Costs and estimated profits in excess of billings". However, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities that are presented as "Billings in excess of costs and estimated profits" on our unaudited condensed consolidated balance sheets. Costs and estimated profits on uncompleted contracts and related amounts billed were as follows (in thousands):
| June 30, 2025 |  | December 31, 2024
Costs incurred on uncompleted contracts | $ | 136,025 |  |  | $ | 122,951 |
Estimated profits, thereon | 64,324 |  |  | 58,373 |
Total costs and estimated profits on uncompleted contracts | 200,349 |  |  | 181,324 |
Less: billings to date | 165,995 |  |  | 143,251 |
Net | $ | 34,354 |  |  | $ | 38,073 |
Such amounts were included in the accompanying unaudited condensed consolidated balance sheets for June 30, 2025 and December 31, 2024 under the following captions (in thousands):
| June 30, 2025 |  | December 31, 2024
Costs and estimated profits in excess of billings | $ | 57,260 |  |  | $ | 50,735 |
Billings in excess of costs and estimated profits | (22,906) |  |  | (12,662) |
Net | $ | 34,354 |  |  | $ | 38,073 |
During the six months ended June 30, 2025 and 2024, $3.1 million and $2.9 million of the balances that were previously classified as contract liabilities at the beginning of the period were recognized in revenues, respectively. Contract asset and liability changes were primarily due to normal activity and timing differences between our performance and customer payments. REVENUE The Company disaggregates revenue based upon our geography and our reportable segments - Service Centers, Innovative Pumping Solutions and Supply Chain Services. Each of our geographic and reportable business segments are impacted and influenced by varying factors, including the macroeconomic environment, maintenance and capital spending and commodity prices and exploration and production activity. As such, we believe this information is important in depicting the nature, timing and uncertainty of our contracts with customers. The following Geographical Information and Note 11 - Segment Reporting present our revenue disaggregated by source. Geographical Information Revenues are presented in geographic area based on location of the facility shipping products or providing services. The Company’s revenues by geographical location are as follows:
|  | Three Months Ended June 30, |  | Six Months Ended June 30,
(in thousands) |  | 2025 |  | 2024 |  | 2025 |  | 2024
Revenues |  |  |  |  |  |  |  |
United States |  | $ | 478,864 |  |  | $ | 423,621 |  |  | $ | 936,104 |  |  | $ | 818,500 |
Canada |  | 19,369 |  |  | 21,144 |  |  | 38,357 |  |  | 38,219 |
Other |  | 449 |  |  | 791 |  |  | 790 |  |  | 1,472 |
Total |  | $ | 498,682 |  |  | $ | 445,556 |  |  | $ | 975,251 |  |  | $ | 858,191 |
Recent Acquisitions We define and calculate organic sales to include locations and acquisitions under our ownership for at least twelve months. "Acquisition Sales" are sales from acquisitions that have been under our ownership for less than twelve months and are excluded in our calculation of Organic Sales. The following tables sets forth the disaggregation of revenue from sales associated with recent acquisitions for the three and six months ended June 30, 2025 and 2024 (in thousands):
|  | Sales |  | Acquisition Sales |  | Organic Sales
Three Months Ended June 30, 2025 |  |  |  |  |  |
Service Centers |  | $ | 339,731 |  |  | $ | 15,555 |  |  | $ | 324,176 |
Innovative Pumping Solutions |  | 93,540 |  |  | 9,050 |  |  | 84,490 |
Supply Chain Services |  | 65,411 |  |  | — |  |  | 65,411 |
Total Sales |  | $ | 498,682 |  |  | $ | 24,605 |  |  | $ | 474,077 |
Three Months Ended June 30, 2024 |  |  |  |  |  |
Service Centers |  | $ | 306,516 |  |  | $ | 8,708 |  |  | $ | 297,808 |
Innovative Pumping Solutions |  | 73,377 |  |  | 14,695 |  |  | 58,682 |
Supply Chain Services |  | 65,663 |  |  | — |  |  | 65,663 |
Total Sales |  | $ | 445,556 |  |  | $ | 23,403 |  |  | $ | 422,153 |
$ Change |  |  |  |  |  |
Service Centers |  | $ | 33,215 |  |  | $ | 6,847 |  |  | $ | 26,368 |
Innovative Pumping Solutions |  | 20,163 |  |  | (5,645) |  |  | 25,808 |
Supply Chain Services |  | (252) |  |  | — |  |  | (252) |
Total $ Change |  | $ | 53,126 |  |  | $ | 1,202 |  |  | $ | 51,924 |
% Change |  |  |  |  |  |
Service Centers |  | 10.8 | % |  | 78.6 | % |  | 8.9 | %
Innovative Pumping Solutions |  | 27.5 | % |  | (38.4) | % |  | 44.0 | %
Supply Chain Services |  | (0.4) | % |  | N/A |  | (0.4) | %
Total % Change |  | 11.9 | % |  | 5.1 | % |  | 12.3 | %
|  | Sales |  | Acquisition Sales |  | Organic Sales
Six Months Ended June 30, 2025 |  |  |  |  |  |
Service Centers |  | $ | 666,806 |  |  | $ | 33,496 |  |  | $ | 633,310 |
Innovative Pumping Solutions |  | 179,722 |  |  | 22,221 |  |  | 157,501 |
Supply Chain Services |  | 128,723 |  |  | — |  |  | 128,723 |
Total Sales |  | $ | 975,251 |  |  | $ | 55,717 |  |  | $ | 919,534 |
Six Months Ended June 30, 2024 |  |  |  |  |  |
Service Centers |  | $ | 594,952 |  |  | $ | 10,219 |  |  | $ | 584,733 |
Innovative Pumping Solutions |  | 135,592 |  |  | 24,959 |  |  | 110,633 |
Supply Chain Services |  | 127,647 |  |  | — |  |  | 127,647 |
Total Sales |  | $ | 858,191 |  |  | $ | 35,178 |  |  | $ | 823,013 |
$ Change |  |  |  |  |  |
Service Centers |  | $ | 71,854 |  |  | $ | 23,277 |  |  | $ | 48,577 |
Innovative Pumping Solutions |  | 44,130 |  |  | (2,738) |  |  | 46,868 |
Supply Chain Services |  | 1,076 |  |  | — |  |  | 1,076 |
Total $ Change |  | $ | 117,060 |  |  | $ | 20,539 |  |  | $ | 96,521 |
% Change |  |  |  |  |  |
Service Centers |  | 12.1 | % |  | 227.8 | % |  | 8.3 | %
Innovative Pumping Solutions |  | 32.5 | % |  | (11.0) | % |  | 42.4 | %
Supply Chain Services |  | 0.8 | % |  | N/A |  | 0.8 | %
Total % Change |  | 13.6 | % |  | 58.4 | % |  | 11.7 | %

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