XML 43 R33.htm IDEA: XBRL DOCUMENT
v3.24.1.1.u2

Note 12 - Stock-based Compensation (Tables) | 9 Months Ended
--- | ---
Apr. 30, 2024
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 |
Granted |  |  | 10,000 |  |  |  | 7.63 |
Exercised |  |  | (878,503 | ) |  |  | 1.45 |
Balance, January 31, 2024 |  |  | 6,649,539 |  |  |  | 2.01 |
Granted |  |  | 40,143 |  |  |  | 6.70 |
Exercised |  |  | (406,411 | ) |  |  | 1.61 |
Cancelled/Forfeited |  |  | (8,600 | ) |  |  | 3.45 |
Expired |  |  | (25,000 | ) |  |  | 1.44 |
Balance, April 30, 2024 |  |  | 6,249,671 |  |  |  | 2.07 |
Cash Proceeds Received and Tax Benefit from Share-Based Payment Awards [Table Text Block] |
|  | Three Months Ended April 30, |  |  | Nine Months Ended April 30, |
|  | 2024 |  |  | 2023 |  |  | 2024 |  |  | 2023 |
Number of Options Exercised on Cash Basis |  |  | 202,437 |  |  |  | - |  |  |  | 492,112 |  |  |  | 138,537 |
Number of Options Exercised on Forfeiture Basis |  |  | 203,974 |  |  |  | 337,500 |  |  |  | 1,400,984 |  |  |  | 2,727,295 |
Total Number of Options Exercised |  |  | 406,411 |  |  |  | 337,500 |  |  |  | 1,893,096 |  |  |  | 2,865,832 |
Number of Shares Issued on Cash Exercise |  |  | 202,437 |  |  |  | - |  |  |  | 492,112 |  |  |  | 138,537 |
Number of Shares Issued on Forfeiture Basis |  |  | 142,640 |  |  |  | 204,693 |  |  |  | 968,825 |  |  |  | 1,565,059 |
Total Number of Shares Issued Upon Exercise of Options |  |  | 345,077 |  |  |  | 204,693 |  |  |  | 1,460,937 |  |  |  | 1,703,596 |
Cash Received from Exercise of Stock Options |  | $ | 281 |  |  | $ | - |  |  | $ | 681 |  |  | $ | 206 |
Total Intrinsic Value of Options Exercised |  | $ | 2,431 |  |  | $ | 858 |  |  | $ | 9,022 |  |  | $ | 6,834 |
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, 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
Granted |  | 10,000 |  |  | 5.05
Vested |  | (429,513 | ) |  | 2.39
Balance, January 31, 2024 |  | 1,255,890 |  |  | 2.28
Granted |  | 40,143 |  |  | 4.45
Cancelled/Forfeited |  | (8,600 | ) |  | 2.27
Vested |  | (29,687 | ) |  | 2.29
Balance, April 30, 2024 |  | 1,257,746 |  |  | 2.35
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] |
Exercise Price | 4.722 to7.6363
Expected Risk Free Interest Rate | 3.99% to 4.67%
Expected Volatility | 79.30% to 79.57%
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, 2024 |  |  | Exercise Price |  |  | Term (Years) |  |  | April 30, 2024 |  |  | Exercise Price |  |  | Term (Years) |
$0.91 to $0.99 |  |  | 2,140,500 |  |  | $ | 0.92 |  |  |  | 5.83 |  |  |  | 2,140,500 |  |  | $ | 0.92 |  |  |  | 5.83 |
$1.00 to $1.99 |  |  | 1,325,000 |  |  |  | 1.10 |  |  |  | 6.21 |  |  |  | 1,325,000 |  |  |  | 1.10 |  |  |  | 6.21 |
$2.00 to $2.99 |  |  | 537,149 |  |  |  | 2.26 |  |  |  | 7.18 |  |  |  | 537,149 |  |  |  | 2.26 |  |  |  | 7.18 |
$3.00 to $3.99 |  |  | 2,176,879 |  |  |  | 3.61 |  |  |  | 8.43 |  |  |  | 982,401 |  |  |  | 3.71 |  |  |  | 8.02 |
$4.00 to $4.99 |  |  | 7,500 |  |  |  | 4.56 |  |  |  | 9.06 |  |  |  | 2,500 |  |  |  | 4.48 |  |  |  | 8.92 |
$5.00 to $5.99 |  |  | 12,500 |  |  |  | 5.16 |  |  |  | 9.42 |  |  |  | 3,125 |  |  |  | 5.16 |  |  |  | 9.42 |
$6.00 to $6.99 |  |  | 40,143 |  |  |  | 6.70 |  |  |  | 9.89 |  |  |  | - |  |  |  |  |  |  |  |  |
$7.00 to $7.63 |  |  | 10,000 |  |  |  | 7.63 |  |  |  | 9.73 |  |  |  | 1,250 |  |  |  | 7.63 |  |  |  | 9.73 |
|  |  | 6,249,671 |  |  | $ | 2.07 |  |  |  | 6.98 |  |  |  | 4,991,925 |  |  | $ | 1.67 |  |  |  | 6.51 |
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.31 |  |  |  | 917 |
May 1, 2022 |  |  | 39,216 |  |  |  | 4.25 |  |  |  | 1.09 |  |  |  | 265 |
July 29, 2022 |  |  | 184,023 |  |  |  | 3.98 |  |  |  | 1.33 |  |  |  | 1,242 |
July 31, 2023 |  |  | 620,386 |  |  |  | 3.32 |  |  |  | 2.34 |  |  |  | 4,188 |
January 2, 2024 |  |  | 1,166 |  |  |  | 6.44 |  |  |  | 2.76 |  |  |  | 8 |
January 22, 2024 |  |  | 8,919 |  |  |  | 7.63 |  |  |  | 0.82 |  |  |  | 60 |
March 13, 2024 |  |  | 2,288 |  |  |  | 6.49 |  |  |  | 0.95 |  |  |  | 15 |
April 1, 2024 |  |  | 20,000 |  |  |  | 7.07 |  |  |  | 3.00 |  |  |  | 135 |
|  |  | 1,011,873 |  |  | $ | 3.44 |  |  |  | 1.83 |  |  | $ | 6,830 |
Share-Based Payment Arrangement, Cost by Plan [Table Text Block] |
|  | Three Months Ended |  |  | Nine Months Ended |
|  | April 30, |  |  | April 30, |
|  | 2024 |  |  | 2023 |  |  | 2024 |  |  | 2023 |
Stock-Based Compensation for Consultants |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Common stock issued to consultants |  | $ | - |  |  | $ | 107 |  |  | $ | - |  |  | $ | 382 |
Amortization of stock option expenses |  |  | 87 |  |  |  | 95 |  |  |  | 302 |  |  |  | 467 |
|  |  | 87 |  |  |  | 202 |  |  |  | 302 |  |  |  | 849 |
Stock-Based Compensation for Management |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Amortization of stock option expenses |  |  | 120 |  |  |  | 95 |  |  |  | 488 |  |  |  | 323 |
Amortization of RSU and PRSU expenses |  |  | 585 |  |  |  | 346 |  |  |  | 1,774 |  |  |  | 1,053 |
|  |  | 705 |  |  |  | 441 |  |  |  | 2,262 |  |  |  | 1,376 |
Stock-Based Compensation for Employees |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Common stock issued to employees |  |  | - |  |  |  | 188 |  |  |  | - |  |  |  | 675 |
Amortization of stock option expenses |  |  | 285 |  |  |  | 314 |  |  |  | 1,362 |  |  |  | 1,441 |
Amortization of RSU expenses |  |  | 26 |  |  |  | 37 |  |  |  | 61 |  |  |  | 114 |
|  |  | 311 |  |  |  | 539 |  |  |  | 1,423 |  |  |  | 2,230 |
|  | $ | 1,103 |  |  | $ | 1,182 |  |  | $ | 3,987 |  |  | $ | 4,455 |

X
- Definition Tabular disclosure of cash received from exercise of stock options and similar instruments granted under share-based payment arrangements and tax benefit from exercise of stock options. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2A -Subparagraph (a) -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2A + Details
Name: | us-gaap_CashProceedsReceivedAndTaxBenefitFromShareBasedPaymentAwardsTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 1 -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-1 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the changes in outstanding nonvested restricted stock units. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d) -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (e) -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 718 -SubTopic 10 -Subparagraph (f)(2) -Name Accounting Standards Codification -Paragraph 2 -Section 50 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_TableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration