XML 35 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Note 4 - Revenue Recognition (Tables)
9 Months Ended
Oct. 31, 2023
Notes Tables  
Disaggregation of Revenue [Table Text Block]
  

Three Months Ended October 31,

  

Nine Months Ended October 31,

 
  

2023

  

2022

  

2023

  

2022

 
  

Sales

  

% of Total

  

Sales

  

% of Total

  

Sales

  

% of Total

  

Sales

  

% of Total

 

Products

 $2,553   5% $4,363   12% $7,541   7% $11,144   10%
                                 

Specialty Piping Systems and Coating

                                

Revenue recognized under input method

  18,641   41%  12,593   33%  41,779   38%  35,918   34%

Revenue recognized under output method

  24,496   54%  20,947   55%  61,169   55%  59,066   56%

Total

 $45,690   100% $37,903   100% $110,489   100% $106,128   100%
Schedule of Assumptions for Long-Duration Contracts by Product and Guarantee [Table Text Block]
  

October 31, 2023

  

January 31, 2023

 

Costs incurred on uncompleted contracts

 $22,560  $18,342 

Estimated earnings

  11,916   9,370 

Earned revenue

  34,476   27,712 

Less billings to date

  32,918   26,329 

Costs in excess of billings, net

 $1,558  $1,383 

Balance sheet classification

        

Contract assets: Costs and estimated earnings in excess of billings on uncompleted contracts

 $2,462  $3,126 

Contract liabilities: Billings in excess of costs and estimated earnings on uncompleted contracts

  (904)  (1,743)

Costs in excess of billings, net

 $1,558  $1,383