Quarterly report [Sections 13 or 15(d)]

Condensed Consolidated Statements of Changes in Stockholders' Equity (Unaudited)

v3.25.2
Condensed Consolidated Statements of Changes in Stockholders' Equity (Unaudited) - USD ($)
Common Stock [Member]
Additional Paid-in Capital [Member]
Treasury Stock, Common [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balance (in shares) at Nov. 30, 2023 24,168,014          
Balance at Nov. 30, 2023 $ 24,000 $ 130,426,000 $ (17,500,000) $ (69,575,000) $ (1,056,000) $ 42,319,000
Balance (in shares) at Nov. 30, 2023     (2,165,987)      
Stock-based compensation $ 0 1,796,000 $ 0 0 0 1,796,000
Issuance of common stock pursuant to exercise of stock options (in shares) 207,432   0      
Issuance of common stock pursuant to exercise of stock options $ 0 128,000 $ 0 0 0 128,000
Issuance of common stock pursuant to vesting of restricted stock units (in shares) 589,341   0      
Issuance of common stock pursuant to vesting of restricted stock units $ 0 (800,000) $ 0 0 0 (800,000)
Repurchase of common stock (in shares) 0   (21,905)      
Repurchase of common stock $ 0 0 $ (253,000) 0 0 (253,000)
Net income for the period 0 0 0 2,094,000 0 2,094,000
Foreign exchange translation adjustment $ 0 0 0 0 29,000 29,000
Balance (in shares) at May. 31, 2024 24,964,787          
Balance at May. 31, 2024 $ 24,000 131,550,000 $ (17,753,000) (67,481,000) (1,027,000) 45,313,000
Balance (in shares) at May. 31, 2024     (2,187,892)      
Balance (in shares) at Feb. 29, 2024 24,375,754          
Balance at Feb. 29, 2024 $ 24,000 131,374,000 $ (17,500,000) (69,558,000) (1,171,000) 43,169,000
Balance (in shares) at Feb. 29, 2024     (2,165,987)      
Stock-based compensation $ 0 858,000 $ 0 0 0 858,000
Issuance of common stock pursuant to exercise of stock options (in shares) 39,465   0      
Issuance of common stock pursuant to exercise of stock options $ 0 118,000 $ 0 0 0 118,000
Issuance of common stock pursuant to vesting of restricted stock units (in shares) 549,568   0      
Issuance of common stock pursuant to vesting of restricted stock units $ 0 (800,000) $ 0 0 0 (800,000)
Repurchase of common stock (in shares) 0   (21,905)      
Repurchase of common stock $ 0 0 $ (253,000) 0 0 (253,000)
Net income for the period 0 0 0 2,077,000 0 2,077,000
Foreign exchange translation adjustment $ 0 0 0 0 144,000 144,000
Balance (in shares) at May. 31, 2024 24,964,787          
Balance at May. 31, 2024 $ 24,000 131,550,000 $ (17,753,000) (67,481,000) (1,027,000) 45,313,000
Balance (in shares) at May. 31, 2024     (2,187,892)      
Balance (in shares) at Feb. 29, 2024 24,375,754          
Balance at Feb. 29, 2024 $ 24,000 131,374,000 $ (17,500,000) (69,558,000) (1,171,000) $ 43,169,000
Balance (in shares) at Feb. 29, 2024     (2,165,987)      
Repurchase of common stock (in shares)           (353,157)
Repurchase of common stock           $ (3,807,931)
Balance (in shares) at May. 31, 2025 25,197,613          
Balance at May. 31, 2025 $ 25,000 134,739,000 $ (21,308,000) (52,694,000) (626,000) 60,136,000
Balance (in shares) at May. 31, 2025     (2,519,144)      
Balance (in shares) at Nov. 30, 2024 25,010,976          
Balance at Nov. 30, 2024 $ 25,000 133,029,000 $ (21,253,000) (56,783,000) (649,000) $ 54,369,000
Balance (in shares) at Nov. 30, 2024     (2,515,217)     (2,515,217)
Stock-based compensation $ 0 1,562,000 $ 0 0 0 $ 1,562,000
Issuance of common stock pursuant to exercise of stock options (in shares) 87,271   0     115,050
Issuance of common stock pursuant to exercise of stock options $ 0 234,000 $ 0 0 0 $ 234,000
Issuance of common stock pursuant to vesting of restricted stock units (in shares) 99,366   0      
Issuance of common stock pursuant to vesting of restricted stock units $ 0 (86,000) $ 0 0 0 (86,000)
Repurchase of common stock (in shares) 0   (3,927)      
Repurchase of common stock $ 0 0 $ (55,000) 0 0 (55,000)
Net income for the period 0 0 0 4,089,000 0 4,089,000
Unrealized gain on marketable securities 0 0 0 0 77,000 77,000
Foreign exchange translation adjustment $ 0 0 0 0 (54,000) (54,000)
Balance (in shares) at May. 31, 2025 25,197,613          
Balance at May. 31, 2025 $ 25,000 134,739,000 $ (21,308,000) (52,694,000) (626,000) 60,136,000
Balance (in shares) at May. 31, 2025     (2,519,144)      
Balance (in shares) at Feb. 28, 2025 25,182,452          
Balance at Feb. 28, 2025 $ 25,000 133,895,000 $ (21,253,000) (55,121,000) (719,000) $ 56,827,000
Balance (in shares) at Feb. 28, 2025     (2,515,217)      
Repurchase of common stock (in shares)           (3,927)
Repurchase of common stock           $ (54,940)
Balance at Mar. 31, 2025           $ 60,136,000
Balance (in shares) at Mar. 31, 2025           (2,519,144)
Balance (in shares) at Feb. 28, 2025 25,182,452          
Balance at Feb. 28, 2025 $ 25,000 133,895,000 $ (21,253,000) (55,121,000) (719,000) $ 56,827,000
Balance (in shares) at Feb. 28, 2025     (2,515,217)      
Stock-based compensation $ 0 722,000 $ 0 0 0 722,000
Issuance of common stock pursuant to exercise of stock options (in shares) 12,720   0      
Issuance of common stock pursuant to exercise of stock options $ 0 141,000 $ 0 0 0 141,000
Issuance of common stock pursuant to vesting of restricted stock units (in shares) 2,441   0      
Issuance of common stock pursuant to vesting of restricted stock units $ 0 (19,000) $ 0 0 0 (19,000)
Repurchase of common stock (in shares) 0   (3,927)      
Repurchase of common stock $ 0 0 $ (55,000) 0 0 (55,000)
Net income for the period 0 0 0 2,427,000 0 2,427,000
Unrealized gain on marketable securities 0 0 0 0 17,000 17,000
Foreign exchange translation adjustment $ 0 0 0 0 76,000 76,000
Balance (in shares) at May. 31, 2025 25,197,613          
Balance at May. 31, 2025 $ 25,000 $ 134,739,000 $ (21,308,000) $ (52,694,000) $ (626,000) $ 60,136,000
Balance (in shares) at May. 31, 2025     (2,519,144)