XML 28 R12.htm IDEA: XBRL DOCUMENT
v3.26.1

Revenue from Contracts with Customers | 12 Months Ended
--- | ---
Mar. 31, 2026
Revenue from Contract with Customer [Abstract] |
Revenue from Contracts with Customers | Revenue from Contracts with Customers Please refer to Note 1, "Organization and Summary of Significant Accounting Policies" for more information regarding our revenue recognition policy. Performance Obligations A performance obligation is a promise to provide the customer with a good or service. At contract inception, the Company will assess the goods or services promised in the contract with a customer and shall identify, as a performance obligation, each promise to transfer to the customer either: (i) a good or service (or a bundle of goods or services) or (ii) a series of distinct goods or services that are substantially the same and that have the same pattern of transfer to the customer. For contracts with multiple performance obligations, standalone selling price is generally readily observable. Revenue from products transferred to customers at a point in time is recognized when obligations under the terms of the contract with the customer are satisfied; generally this occurs with the transfer of control upon shipment. Revenue from products transferred to customers at a point in time accounted for approximately 70.0%, 70.9% and 60.8% of total revenue for the fiscal year ended March 31, 2026, 2025, and 2024, respectively. Our revenues that are recognized over time include generally (i) products and services which are billed on a time and materials basis, and (ii) fixed fee contracts for complex engineered solutions. Revenue from products and services transferred to customers over time accounted for approximately 30.0%, 29.1% and 39.2% of total revenue for the fiscal years ended March 31, 2026, 2025, and 2024, respectively. For our time and materials service contracts, we recognize revenues as the products and services are provided over the term of the contract. Our engineered solutions, or fixed fee projects, offer our customers a comprehensive solution that can include engineering, design, installation, commissioning, and/or acceptance testing. Engineered solutions may also include project planning, product supply, system integration, and ongoing maintenance. Engineered solutions containing multiple deliverables are considered a combined performance obligation as they provide a comprehensive solution to the customer. Revenue is recognized over-time as work progresses for engineered solutions constructed at a customer’s site that create or enhance an asset controlled by the customer. For engineered solutions constructed at the Company’s facilities, revenue is recognized over-time when an asset is created without an alternative use and the contract contains an enforceable right to payment for work completed to date. When engineered solutions create an asset with an alternative use or the Company does not have an enforceable right to payment, revenue is recognized at a point-in-time when control of the asset is transferred to the customer. For revenue recognized over-time under fixed fee contracts, we measure the costs incurred that contribute towards the satisfaction of our performance obligation as a percentage of the total cost of production (the “cost-to-cost method”), and we recognize a proportionate amount of contract revenue, as the cost-to-cost method appropriately depicts performance towards satisfaction of the performance obligation. Changes to the original cost amount may be required during the life of the contract and such estimates are reviewed on a regular basis. Sales and gross profits are adjusted using the cumulative catch-up method for revisions in estimated contract costs. Reviews of estimates have not generally resulted in significant adjustments to our results of operations. We have elected the practical expedient to disclose only the value of remaining performance obligations for contracts with an original expected length of one year or more. At March 31, 2026, our open performance obligations with original expected duration of one year or more totaled $28,368. We expect to recognize the remaining revenues associated with unsatisfied or partially satisfied performance obligations within twelve months. Pricing and Sales Incentives Pricing is established at or prior to the time of sale with our customers and we record sales at the agreed-upon net selling price. Generally, we do not enter into sales contracts with customers that offer sales discounts or incentives. Optional Exemptions, Practical Expedients and Policy Elections We expense the incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The Company has elected to treat shipping and handling activities as a cost of fulfillment rather than a separate performance obligation. The Company has elected to use the practical expedient to not adjust the promised amount of consideration for the effects of a significant financing component if it is expected, at contract inception, that the period between when the Company transfers a promised good or service to a customer, and when the customer pays for that good or service, will be one year or less. Thus, the Company may not consider an advance payment to be a significant financing component, if it is received less than one year before product completion. The Company has elected to exclude all sales and other similar taxes from the transaction price. Accordingly, the Company presents all collections from customers for sales and other similar taxes on a net basis, rather than having to assess whether the Company is acting as an agent or a principal in each taxing jurisdiction. The Company has elected the "right to invoice" practical expedient for our time and materials service contracts. This practical expedient allows an entity that recognizes revenue over time to recognize revenue as invoiced if the entity’s right to payment is for an amount that corresponds directly with the value to the customer of the entity’s performance to date. Contract Assets and Liabilities Contract assets and liabilities are presented on our consolidated balance sheets. Contract assets consist of unbilled amounts resulting from sales under long-term contracts when the cost-to-cost method of revenue recognition is utilized and revenue recognized exceeds the amount billed to the customer. In addition, contract assets contain labor and material costs incurred under our time and material service contracts that have not been billed to the customer. Contract liabilities represent deferred revenue from advanced customer payments or billings in excess of costs incurred or revenue earned. The Company invoices customers pursuant to the terms of their related contract. Invoiced amounts are applied to individual contracts and an associated amount is either classified as a contract asset or contract liability depending on whether the revenue associated with the amounts billed had been earned (contract asset) or not (contract liability). As of March 31, 2026 and 2025, contract assets were $26,737 and $19,188, respectively. There were no credit losses recognized on our contract assets for the year ended March 31, 2026, 2025, or 2024. As of March 31, 2026 and 2025, contract liabilities were $19,471 and $19,604, respectively. Substantially all contract liabilities at March 31, 2025 were recognized in revenue as of March 31, 2026. Disaggregation of Revenue We disaggregate our revenue from contracts with customers by geographic location as well as revenue recognized at a point-in-time and revenues recognized over time, as we believe these best depict the nature of our sales and the regions in which those sales are earned and managed. Revenue recognized at a point-in-time occurs based on when control transfers to the customer and is generally related to our product sales. Revenue recognized over time occurs on our projects where engineering, manufactured materials, or installation services, or a combination of the three, are required. We recognize revenue related to such projects in a systematic way that reflects the transfer of service to the customer. Disaggregation of revenues from contracts with customers for fiscal 2026, 2025 and 2024 are as follows:
|  | Fiscal Year Ended March 31, 2026 |  |
|  | Revenues recognized at point-in-time |  | Revenues recognized over time |  | Total |  |  |  |  |  |
United States and Latin America |  | $ | 195,977 |  |  | $ | 67,311 |  |  | $ | 263,288 |  |  |  |  |  |  |
Canada |  | 110,913 |  |  | 52,925 |  |  | 163,838 |  |  |  |  |  |  |
Europe, Middle East and Africa |  | 47,685 |  |  | 23,871 |  |  | 71,556 |  |  |  |  |  |  |
Asia-Pacific |  | 20,977 |  |  | 16,604 |  |  | 37,581 |  |  |  |  |  |  |
Total revenues |  | $ | 375,552 |  |  | $ | 160,711 |  |  | $ | 536,263 |  |  |  |  |  |  |
|  | Fiscal Year Ended March 31, 2025
|  | Revenues recognized at point-in-time |  | Revenues recognized over time |  | Total
United States and Latin America |  | $ | 192,062 |  |  | $ | 63,944 |  |  | $ | 256,006 |
Canada |  | 110,124 |  |  | 48,845 |  |  | 158,969 |
Europe, Middle East and Africa |  | 26,559 |  |  | 18,761 |  |  | 45,320 |
Asia-Pacific |  | 24,327 |  |  | 13,585 |  |  | 37,912 |
Total revenues |  | $ | 353,072 |  |  | $ | 145,135 |  |  | $ | 498,207 |
|  | Fiscal Year Ended March 31, 2024
|  | Revenues recognized at point-in-time |  | Revenues recognized over time |  | Total
United States and Latin America |  | $ | 146,967 |  |  | $ | 109,326 |  |  | $ | 256,293 |
Canada |  | 101,351 |  |  | 53,968 |  |  | 155,319 |
Europe, Middle East and Africa |  | 26,581 |  |  | 18,720 |  |  | 45,301 |
Asia-Pacific |  | 25,707 |  |  | 12,009 |  |  | 37,716 |
Total revenues |  | $ | 300,606 |  |  | $ | 194,023 |  |  | $ | 494,629 |

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 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