| Consolidated Statements of Changes in Stockholders' Equity (Unaudited) - USD ($)
 | Common Stock [Member] | Additional Paid-in Capital [Member] | AOCI Attributable to Parent [Member] | Retained Earnings [Member] | Total | 
| Beginning balance, value at Oct. 31, 2019 | $ 10,723 | $ 59,521,665 | $ (2,135,408) | $ (26,769,207) | $ 30,627,773 | 
| Balance, shares at Oct. 31, 2019 | 10,721,881 |  |  |  |  | 
| Foreign currency translation adjustment |  |  | 84,751 |  | 84,751 | 
| Net Income |  |  |  | 1,346,773 | 1,346,773 | 
| Ending balance, value at Jan. 31, 2020 | $ 10,723 | 59,521,665 | (2,050,657) | (25,422,434) | 32,059,297 | 
| Balance, shares at Jan. 31, 2020 | 10,721,881 |  |  |  |  | 
| Beginning balance, value at Oct. 31, 2019 | $ 10,723 | 59,521,665 | (2,135,408) | (26,769,207) | 30,627,773 | 
| Balance, shares at Oct. 31, 2019 | 10,721,881 |  |  |  |  | 
| Foreign currency translation adjustment |  |  |  |  | 205,645 | 
| Net Income |  |  |  |  | 2,104,446 | 
| Ending balance, value at Jul. 31, 2020 | $ 10,753 | 59,954,600 | (1,929,763) | (24,664,761) | 33,370,829 | 
| Balance, shares at Jul. 31, 2020 | 10,751,881 |  |  |  |  | 
| Beginning balance, value at Jan. 31, 2020 | $ 10,723 | 59,521,665 | (2,050,657) | (25,422,434) | 32,059,297 | 
| Balance, shares at Jan. 31, 2020 | 10,721,881 |  |  |  |  | 
| Stock based compensation |  | 88,299 |  |  | 88,299 | 
| Foreign currency translation adjustment |  |  | (553,985) |  | (553,985) | 
| Net Income |  |  |  | (265,080) | (265,080) | 
| Ending balance, value at Apr. 30, 2020 | $ 10,723 | 59,609,964 | (2,604,642) | (25,687,514) | 31,328,531 | 
| Balance, shares at Apr. 30, 2020 | 10,721,881 |  |  |  |  | 
| Stock based compensation |  | 175,166 |  |  | 175,166 | 
| Consultant stock based compensation | $ 30 | 169,470 |  |  | 169,500 | 
| Consultant stock based compensation, shares | 30,000 |  |  |  |  | 
| Foreign currency translation adjustment |  |  | 674,879 |  | 674,879 | 
| Net Income |  |  |  | 1,022,753 | 1,022,753 | 
| Ending balance, value at Jul. 31, 2020 | $ 10,753 | 59,954,600 | (1,929,763) | (24,664,761) | 33,370,829 | 
| Balance, shares at Jul. 31, 2020 | 10,751,881 |  |  |  |  | 
| Beginning balance, value at Oct. 31, 2020 | $ 10,753 | 60,132,415 | (2,321,278) | (23,425,622) | 34,396,268 | 
| Balance, shares at Oct. 31, 2020 | 10,751,881 |  |  |  |  | 
| Employee stock based compensation |  | 174,447 |  |  | 174,447 | 
| Foreign currency translation adjustment |  |  | 925,613 |  | 925,613 | 
| Net Income |  |  |  | 1,128,844 | 1,128,844 | 
| Ending balance, value at Jan. 31, 2021 | $ 10,753 | 60,306,862 | (1,395,665) | (22,296,778) | 36,625,172 | 
| Balance, shares at Jan. 31, 2021 | 10,751,881 |  |  |  |  | 
| Beginning balance, value at Oct. 31, 2020 | $ 10,753 | 60,132,415 | (2,321,278) | (23,425,622) | 34,396,268 | 
| Balance, shares at Oct. 31, 2020 | 10,751,881 |  |  |  |  | 
| Foreign currency translation adjustment |  |  |  |  | 963,644 | 
| Net Income |  |  |  |  | 4,857,863 | 
| Ending balance, value at Jul. 31, 2021 | $ 10,858 | 60,893,543 | (1,357,634) | (18,567,759) | 40,979,008 | 
| Balance, shares at Jul. 31, 2021 | 10,857,195 |  |  |  |  | 
| Beginning balance, value at Jan. 31, 2021 | $ 10,753 | 60,306,862 | (1,395,665) | (22,296,778) | 36,625,172 | 
| Balance, shares at Jan. 31, 2021 | 10,751,881 |  |  |  |  | 
| Employee stock based compensation |  | 135,157 |  |  | 135,157 | 
| Stock issued for options exercised | $ 65 | (65) |  |  |  | 
| Stock issued for options exercised, shares | 65,161 |  |  |  |  | 
| Foreign currency translation adjustment |  |  | 298,712 |  | 298,712 | 
| Net Income |  |  |  | 2,207,933 | 2,207,933 | 
| Ending balance, value at Apr. 30, 2021 | $ 10,818 | 60,441,954 | (1,096,953) | (20,088,845) | 39,266,974 | 
| Balance, shares at Apr. 30, 2021 | 10,817,042 |  |  |  |  | 
| Employee stock based compensation |  | 230,879 |  |  | 230,879 | 
| Stock issued for options exercised | $ 15 | (15) |  |  |  | 
| Stock issued for options exercised, shares | 15,153 |  |  |  |  | 
| Consultant stock based compensation | $ 25 | 220,725 |  |  | 220,750 | 
| Consultant stock based compensation, shares | 25,000 |  |  |  |  | 
| Foreign currency translation adjustment |  |  | (260,681) |  | (260,681) | 
| Net Income |  |  |  | 1,521,086 | 1,521,086 | 
| Ending balance, value at Jul. 31, 2021 | $ 10,858 | $ 60,893,543 | $ (1,357,634) | $ (18,567,759) | $ 40,979,008 | 
| Balance, shares at Jul. 31, 2021 | 10,857,195 |  |  |  |  |