Schedule of Disaggregation of Revenue |
Disaggregation of revenues reconciled to our reportable segments is as follows (in thousands): | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Year Ended March 31, 2025 | | | Contractor Solutions | | Specialized Reliability Solutions | | Engineered Building Solutions | | Total | Build-to-order | | $ | — | | | $ | — | | | $ | 106,562 | | | $ | 106,562 | | Book-and-ship | | 609,706 | | | 147,476 | | | 14,557 | | | 771,739 | | Net revenues | | $ | 609,706 | | | $ | 147,476 | | | $ | 121,119 | | | $ | 878,301 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Year Ended March 31, 2024 | | | Contractor Solutions | | Specialized Reliability Solutions | | Engineered Building Solutions | | Total | Build-to-order | | $ | — | | | $ | — | | | $ | 99,760 | | | $ | 99,760 | | Book-and-ship | | 528,641 | | | 149,458 | | | 14,981 | | | 693,080 | | Net revenues | | $ | 528,641 | | | $ | 149,458 | | | $ | 114,741 | | | $ | 792,840 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Year Ended March 31, 2023 | | | Contractor Solutions | | Specialized Reliability Solutions | | Engineered Building Solutions | | Total | Build-to-order | | $ | — | | | $ | — | | | $ | 89,964 | | | $ | 89,964 | | Book-and-ship | | 506,634 | | | 147,301 | | | 14,005 | | | 667,940 | | Net revenues | | $ | 506,634 | | | $ | 147,301 | | | $ | 103,969 | | | $ | 757,904 | |
|
Schedule of Accounts Receivable, Allowance for Credit Loss |
The following table summarizes the activity in the allowance for credit losses (in thousands): | | | | | | | | | | | | | | | | | March 31, 2025 | | March 31, 2024 | Balance at beginning of the year: | | $ | 908 | | | $ | 1,365 | | Reserve | | 1,408 | | | 814 | | Write offs, net of recoveries | | (1,166) | | | (1,336) | | Currency translation | | (13) | | | 65 | | Ending balance | | $ | 1,137 | | | $ | 908 | |
|
Schedule of Contract Liabilities |
We receive payment from customers based on a contractual billing schedule and specific performance requirements as established in our contracts. We record billings as accounts receivable when an unconditional right to consideration exists. Contract liability represents our contractual billings in advance of revenue recognized for a contract and is included in accrued and other current liabilities in our consolidated balance sheets were as follows (in thousands): | | | | | | | | | | | | | | | | | March 31, 2025 | | March 31, 2024 | Balance at beginning of the year: | | $ | 548 | | | $ | 637 | | Revenue recognized | | (436) | | | (607) | | | | | | | New contracts and revenue added to existing contracts | | 820 | | | 518 | | Ending balance | | $ | 932 | | | $ | 548 | |
|