v3.25.1
REVENUE RECOGNITION (Tables)
12 Months Ended
Mar. 31, 2025
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregation of Revenue
Disaggregation of revenues reconciled to our reportable segments is as follows (in thousands):
Year Ended March 31, 2025
Contractor SolutionsSpecialized Reliability SolutionsEngineered Building SolutionsTotal
Build-to-order$— $— $106,562 $106,562 
Book-and-ship609,706 147,476 14,557 771,739 
Net revenues$609,706 $147,476 $121,119 $878,301 

Year Ended March 31, 2024
Contractor SolutionsSpecialized Reliability SolutionsEngineered Building SolutionsTotal
Build-to-order$— $— $99,760 $99,760 
Book-and-ship528,641 149,458 14,981 693,080 
Net revenues$528,641 $149,458 $114,741 $792,840 

Year Ended March 31, 2023
Contractor SolutionsSpecialized Reliability SolutionsEngineered Building SolutionsTotal
Build-to-order$— $— $89,964 $89,964 
Book-and-ship506,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, 2025March 31, 2024
Balance at beginning of the year:$908 $1,365 
Reserve1,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, 2025March 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