XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Note 12 - Stock-based Compensation (Tables)
3 Months Ended
Oct. 31, 2023
Notes Tables  
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Number of Stock

  

Weighted Average

 
  

Options

  

Exercise Price

 

Balance, July 31, 2023

  8,326,983  $1.92 

Granted

  17,500   5.04 

Exercised

  (608,182)  1.69 

Cancelled/Forfeited

  (191,259)  1.59 

Expired

  (27,000)  3.69 

Balance, October 31, 2023

  7,518,042   1.94 
Cash Proceeds Received and Tax Benefit from Share-Based Payment Awards [Table Text Block]
  

Three Months Ended October 31,

 
  

2023

  

2022

 

Number of Options Exercised on Cash Basis

  189,250   138,537 

Number of Options Exercised on Forfeiture Basis

  418,932   2,192,685 

Total Number of Options Exercised

  608,182   2,331,222 

Number of Shares Issued on Cash Exercise

  189,250   138,537 

Number of Shares Issued on Forfeiture Basis

  256,611   1,266,064 

Total Number of Shares Issued Upon Exercise of Options

  445,861   1,404,601 

Cash Received from Exercise of Stock Options

 $264  $206 

Total Intrinsic Value of Options Exercised

 $2,030  $5,595 
Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block]
  

Number of Unvested

  

Weighted Average

 
  

Stock Options

  

Grant-Date Fair Value

 

Balance, July 31, 2023

  1,803,265  $2.28 

Granted

  17,500   3.36 

Cancelled/Forfeited

  (12,300)  2.37 

Vested

  (133,062)  2.18 

Balance, October 31, 2023

  1,675,403   2.29 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]

Exercise Price

4.722 to5.2020

Expected Risk Free Interest Rate

4.39% to 4.67%

Expected Volatility

79.42% to 79.53%

Expected Life in Years

5

Expected Dividend Yield

0.00%

Share-Based Payment Arrangement, Option, Exercise Price Range [Table Text Block]
  

Options Outstanding

  

Options Exercisable

 
          

Weighted

          

Weighted

 
          

Average

          

Average

 

Range of

     

Weighted

  

Remaining

      

Weighted

  

Remaining

 

Exercise

 

Outstanding at

  

Average

  

Contractual

  

Exercisable at

  

Average

  

Contractual

 

Prices

 

October 31, 2023

  

Exercise Price

  

Term (Years)

  

October 31, 2023

  

Exercise Price

  

Term (Years)

 

$0.80 to $0.99

  3,013,687  $0.92   6.23   3,013,687  $0.92   6.23 

$1.00 to $1.99

  1,390,500   1.11   6.47   1,390,500   1.11   6.47 

$2.00 to $2.99

  715,344   2.24   7.57   715,344   2.24   7.57 

$3.00 to $3.99

  2,376,011   3.60   8.84   720,608   3.70   8.27 

$4.00 to $4.23

  10,000   4.48   9.42   2,500   4.23   8.98 

$5.00 to $5.20

  12,500   5.16   9.91   -   -   - 
   7,518,042  $1.94   7.23   5,842,639  $1.47   6.70 
Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]
  

Number of

             
  

Restricted Stock

  

Grant Date

  

Remaining Life

  

Aggregate

 

Grant Date

 

Units

  

Fair Value

  

(Years)

  

Intrinsic Value

 

July 21, 2021

  135,875   2.15   0.72   808 

May 1, 2022

  39,216   4.25   1.50   233 

July 29, 2022

  184,023   3.98   1.75   1,095 

July 31, 2023

  620,386   3.32   2.75   3,691 
   979,500  $3.32   2.23  $5,827 
Share-Based Payment Arrangement, Cost by Plan [Table Text Block]
  

Three Months Ended

 
  

October 31,

 
  

2023

  

2022

 

Stock-Based Compensation for Consultants

        

Common stock issued to consultants

 $-  $148 

Amortization of stock option expenses

  121   228 
   121   376 

Stock-Based Compensation for Management

        

Amortization of stock option expenses

  208   133 

Amortization of RSU and PRSU expenses

  594   354 
   802   487 

Stock-Based Compensation for Employees

        

Common stock issued to employees

  -   247 

Amortization of stock option expenses

  632   673 

Amortization of RSU expenses

  17   38 
   649   958 
  $1,572  $1,821