Note 13 - Stock-based Compensation (Tables)
|
9 Months Ended |
Apr. 30, 2025 |
Notes Tables |
|
Share-Based Payment Arrangement, Option, Activity [Table Text Block] |
| | Number of Stock | | | Weighted Average | |
| | Options | | | Exercise Price | |
Balance, July 31, 2024 | | | 5,103,339 | | | $ | 2.66 | |
Granted | | | 24,415 | | | | 6.21 | |
Exercised | | | (173,375 | ) | | | 2.85 | |
Cancelled/Forfeited | | | (12,062 | ) | | | 4.32 | |
Balance, October 31, 2024 | | | 4,942,317 | | | $ | 2.67 | |
Granted | | | 1,289 | | | | 8.28 | |
Exercised | | | (63,852 | ) | | | 3.34 | |
Cancelled/Forfeited | | | (22,524 | ) | | | 4.37 | |
Balance, January 31, 2025 | | | 4,857,230 | | | $ | 2.66 | |
Granted | | | 10,000 | | | | 4.22 | |
Exercised | | | (29,750 | ) | | | 3.50 | |
Cancelled/Forfeited | | | (17,988 | ) | | | 4.73 | |
Balance, April 30, 2025 | | | 4,819,492 | | | $ | 2.65 | |
|
Cash Proceeds Received and Tax Benefit from Share-Based Payment Awards [Table Text Block] |
| | Three Months Ended April 30, | | | Nine Months Ended April 30, | |
| | 2025 | | | 2024 | | | 2025 | | | 2024 | |
Number of Options Exercised on a Cash Basis | | | 1,250 | | | | 202,437 | | | | 49,963 | | | | 492,112 | |
Number of Options Exercised on a Non-Cash Basis | | | 28,500 | | | | 203,974 | | | | 217,014 | | | | 1,400,984 | |
Total Number of Options Exercised | | | 29,750 | | | | 406,411 | | | | 266,977 | | | | 1,893,096 | |
| | | | | | | | | | | | | | | | |
Number of Shares Issued on a Cash Basis | | | 1,250 | | | | 202,437 | | | | 49,963 | | | | 492,112 | |
Number of Shares Issued on a Non-Cash Basis | | | 14,178 | | | | 142,640 | | | | 124,567 | | | | 968,825 | |
Total Number of Shares Issued Upon Exercise of Options | | | 15,428 | | | | 345,077 | | | | 174,530 | | | | 1,460,937 | |
| | | | | | | | | | | | | | | | |
Cash Received from Exercise of Stock Options | | $ | 5 | | | $ | 281 | | | $ | 134 | | | $ | 681 | |
Total Intrinsic Value of Options Exercised | | $ | 101 | | | $ | 2,431 | | | $ | 1,211 | | | $ | 9,022 | |
|
Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block] |
| | Number of Unvested Stock Options | | | Weighted Average Grant-Date Fair Value | |
Balance, July 31, 2024 | | | 1,086,988 | | | $ | 2.83 | |
Granted | | | 24,415 | | | | 4.09 | |
Cancelled/Forfeited | | | (12,062 | ) | | | 2.85 | |
Vested | | | (87,325 | ) | | | 3.19 | |
Balance, October 31, 2024 | | | 1,012,016 | | | $ | 2.83 | |
Granted | | | 1,289 | | | | 5.53 | |
Cancelled/Forfeited | | | (22,449 | ) | | | 2.89 | |
Vested | | | (280,059 | ) | | | 2.50 | |
Balance, January 31, 2025 | | | 710,797 | | | $ | 2.97 | |
Granted | | | 10,000 | | | | 2.67 | |
Cancelled/Forfeited | | | (15,125 | ) | | | 3.20 | |
Vested | | | (42,462 | ) | | | 2.89 | |
Balance, April 30, 2025 | | | 663,210 | | | $ | 2.96 | |
|
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] |
Exercise Price | | $ | 5.73 | |
Expected Risk Free Interest Rate | | | 3.59 | % |
Expected Volatility | | | 78.28 | % |
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 | | April 30, 2025 | | | Exercise Price | | | Term (Years) | | | April 30, 2025 | | | Exercise Price | | | Term (Years) | |
$0.91 to $0.99 | | | 1,392,750 | | | $ | 0.92 | | | | 5.02 | | | | 1,392,750 | | | $ | 0.92 | | | | 5.02 | |
$1.00 to $1.99 | | | 475,000 | | | | 1.10 | | | | 5.21 | | | | 475,000 | | | | 1.10 | | | | 5.21 | |
$2.00 to $2.99 | | | 522,149 | | | | 2.26 | | | | 6.18 | | | | 522,149 | | | | 2.26 | | | | 6.18 | |
$3.00 to $3.99 | | | 1,943,929 | | | | 3.62 | | | | 7.42 | | | | 1,627,102 | | | | 3.64 | | | | 7.25 | |
$4.00 to $4.99 | | | 15,000 | | | | 4.39 | | | | 9.41 | | | | 3,750 | | | | 4.72 | | | | 8.35 | |
$5.00 to $5.99 | | | 394,817 | | | | 5.48 | | | | 9.21 | | | | 104,355 | | | | 5.46 | | | | 9.16 | |
$6.00 to $6.99 | | | 64,558 | | | | 6.51 | | | | 9.09 | | | | 26,176 | | | | 6.58 | | | | 9.01 | |
$7.00 to $7.99 | | | 10,000 | | | | 7.63 | | | | 8.73 | | | | 5,000 | | | | 7.63 | | | | 8.73 | |
$8.00 to $8.28 | | | 1,289 | | | | 8.28 | | | | 9.55 | | | | - | | | | 8.28 | | | | 9.55 | |
| | | 4,819,492 | | | $ | 2.65 | | | | 6.55 | | | | 4,156,282 | | | $ | 2.33 | | | | 6.20 | |
|
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 | |
May 1, 2022 | | | 19,608 | | | $ | 4.25 | | | | 0.09 | | | $ | 103 | |
July 29, 2022 | | | 92,015 | | | | 3.98 | | | | 0.33 | | | | 483 | |
July 31, 2023 | | | 413,593 | | | | 3.32 | | | | 1.34 | | | | 2,171 | |
January 2, 2024 | | | 778 | | | | 6.44 | | | | 1.76 | | | | 4 | |
April 1, 2024 | | | 13,334 | | | | 7.07 | | | | 2.00 | | | | 70 | |
July 26, 2024 | | | 610,091 | | | | 5.49 | | | | 2.32 | | | | 3,203 | |
September 1, 2024 | | | 709 | | | | 5.23 | | | | 0.42 | | | | 4 | |
October 1, 2024 | | | 16,103 | | | | 6.21 | | | | 2.50 | | | | 85 | |
November 5, 2024 | | | 2,230 | | | | 7.12 | | | | 1.60 | | | | 12 | |
November 5, 2024 | | | 14,344 | | | | 7.12 | | | | 2.60 | | | | 75 | |
November 18, 2024 | | | 323 | | | | 8.28 | | | | 0.64 | | | | 2 | |
January 6, 2025 | | | 5,874 | | | | 7.06 | | | | 2.77 | | | | 31 | |
January 27, 2025 | | | 2,122 | | | | 7.07 | | | | 2.83 | | | | 11 | |
| | | 1,191,124 | | | $ | 4.66 | | | | 1.79 | | | $ | 6,254 | |
|
Share-Based Payment Arrangement, Cost by Plan [Table Text Block] |
| | Three Months Ended | | | Nine Months Ended | |
| | April 30, | | | April 30, | |
| | 2025 | | | 2024 | | | 2025 | | | 2024 | |
Stock-Based Compensation for Consultants | | | | | | | | | | | | | | | | |
Common stock issued to consultants | | $ | 18 | | | $ | - | | | $ | 106 | | | $ | - | |
Amortization of stock option expenses | | | 24 | | | | 87 | | | | 121 | | | | 302 | |
Amortization of RSU expenses | | | 1 | | | | - | | | | 33 | | | | - | |
| | | 43 | | | | 87 | | | | 260 | | | | 302 | |
Stock-Based Compensation for Management | | | | | | | | | | | | | | | | |
Amortization of stock option expenses | | | 115 | | | | 120 | | | | 494 | | | | 488 | |
Amortization of RSU and PRSU expenses | | | 957 | | | | 585 | | | | 2,902 | | | | 1,774 | |
| | | 1,072 | | | | 705 | | | | 3,396 | | | | 2,262 | |
Stock-Based Compensation for Employees | | | | | | | | | | | | | | | | |
Amortization of stock option expenses | | | 151 | | | | 285 | | | | 858 | | | | 1,362 | |
Amortization of RSU expenses | | | 72 | | | | 26 | | | | 199 | | | | 61 | |
| | | 223 | | | | 311 | | | | 1,057 | | | | 1,423 | |
| | $ | 1,338 | | | $ | 1,103 | | | $ | 4,713 | | | $ | 3,987 | |
|