XML 41 R27.htm IDEA: XBRL DOCUMENT v3.21.1
Note 1 - Summary of Business and Significant Accounting Policies (Tables)
12 Months Ended
Jan. 31, 2021
Notes Tables  
Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]
  

2021

  

2020

 
  

(in thousands)

 

Accounts receivable

 $85,949  $83,908 

Less allowance for:

        

Doubtful accounts

  (1,101

)

  (543

)

Sales adjustments

  (2,239

)

  (2,397

)

Accounts receivable, net

 $82,609  $80,968 
Property, Plant and Equipment [Table Text Block]
  

2021

  

2020

 
  

(in thousands)

 

Buildings and building improvements

 $29,562  $29,902 

Computer equipment and software

  18,858   18,345 

Furniture and office equipment

  8,174   8,004 

Leasehold improvements

  7,685   7,382 

Land

  3,850   3,850 

Automobiles

  65   65 
   68,194   67,548 

Less accumulated depreciation and amortization

  (42,596)  (38,861

)

  $25,598  $28,687 
Changes in Property and Equipment [Table Text Block]
  

2021

  

2020

 
  

(in thousands)

 

Cost

        

Balance at February 1

 

$

67,548

  

$

68,794

 

Additions

  

1,933

   

5,671

 

Adjustments (1)

  

196

   

(2,234

)

Disposals

  

(2,062

)

  

(4,286

)

Impact of foreign currency translation

  

579

   

(397

)

Balance at January 31

  

68,194

   

67,548

 
         

Accumulated depreciation

        

Balance at February 1

  

(38,861

)  

(39,173

)

Depreciation

  

(5,011

)

  

(5,034

)

Adjustments (1)

  

(71

)

  

880

 

Disposals

  

1,744

   

4,207

 

Impact of foreign currency translation

  

(397

)

  

259

 

Balance at January 31

  

(42,596)

   

(38,861

)

Property and equipment, net at January 31

 

$

25,598

  

$

28,687

 
Schedule of Capitalized Software Costs [Table Text Block]
  

2021

  

2020

 
  

(in thousands)

 

Capitalized software costs:

        

Capitalized software development costs

 $3,655  $3,356 

Acquired software technology

  6,191   135 
   9,846   3,491 

Less accumulated amortization

  (1,866)  (1,569

)

Capitalized software costs, net

 $7,980  $1,922 
Schedule of Capitalized Software Costs Amortization Expense [Table Text Block]

Fiscal Years

 

(in thousands)

 

2022

 $2,276 

2023

  1,913 

2024

  1,469 

2025

  1,212 

Thereafter

  1,110 
  $7,980 
Schedule of Other Nonoperating Expense, by Component [Table Text Block]
  

Years Ended January 31,

 
  

2021

  

2020

  

2019

 
  

(in thousands)

 

Interest income

 $(923

)

 $(2,782

)

 $(2,600

)

Interest expense

  591   630   643 

Foreign exchange losses (gains)

  2,018   (50

)

  (229

)

Change in fair value of interest rate swap

  93   368   51 

Other expense (income), net

  98   (250

)

  (209

)

Total other expense (income), net

 $1,877  $(2,084

)

 $(2,344

)

Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
  

Years Ended January 31,

 
  

2021

  

2020

  

2019

 
  

(in thousands, except per share data)

 

Net income (loss)

 $11,065  $(15,949

)

 $10,428 

Less: dividends declared

  (5,780

)

  (5,617

)

  (5,479

)

Undistributed net income (loss)

 $5,285  $(21,566) $4,949 
             

Net income (loss) per share Class A Common Stock

            

Dividends declared

 $4,982  $4,827  $4,696 

Allocation of undistributed net income (loss)

  4,559   (18,519

)

  4,243 

Net income (loss) attributable to Class A common stock

 $9,541  $(13,692

)

 $8,939 
             

Weighted average shares of Class A common stock outstanding—basic

  17,274   16,709   16,267 

Weighted average potential shares of Class A common stock

  748      1,585 

Weighted average shares of Class A common stock and potential common shares outstanding—diluted

  18,022   16,709   17,852 
             

Basic net income (loss) per Class A common share

 $0.55  $(0.82

)

 $0.55 

Diluted net income (loss) per Class A common share

 $0.53  $(0.82

)

 $0.50 
             

Net income (loss) per share Class B Common Stock

            

Dividends declared

 $798  $790  $783 

Allocation of undistributed net income (loss)

  726   (3,047

)

  706 

Net income (loss) attributable to Class B common stock

 $1,524  $(2,257

)

 $1,489 
             

Weighted average shares of Class B common stock outstanding—basic

  3,326   3,289   3,256 

Weighted average potential shares of Class B common stock

  67      166 

Weighted average shares of Class B common stock and potential common shares outstanding—diluted

  3,393   3,289   3,422 
             

Basic net income (loss) per Class B common share

 $0.46  $(0.69

)

 $0.46 

Diluted net income (loss) per Class B common share

 $0.45  $(0.69

)

 $0.44 
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]
  

Years Ended January 31,

 
  

2021

  

2020

  

2019

 
  

(in thousands)

 

Class A

  190   2,473   325 

Class B

     221