-$0.05 (-0.28%)
| date | 2026-04-30 | 2025-04-30 | 2024-04-30 | 2023-04-30 | 2022-04-30 | 2021-04-30 | 2020-04-30 | 2019-04-30 | 2018-04-30 | 2017-04-30 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 515.78M | 501.62M | 514.62M | 454.58M | 441.02M | 342.89M | 436.59M | 443.56M | 402.83M | 384.43M |
| costOfRevenue | 209.79M | 203.12M | 212.17M | 186.32M | 185.7M | 143.46M | 188.22M | 190.2M | 179.93M | 166.29M |
| grossProfit | 305.99M | 298.5M | 302.44M | 268.26M | 255.32M | 199.42M | 248.38M | 253.36M | 222.9M | 218.14M |
| researchAndDevelopmentExpenses | 153.44M | 151.23M | 139.42M | 121.25M | 106.52M | 80.19M | 95.66M | 85.82M | 80.8M | 73.7M |
| generalAndAdministrativeExpenses | 41.16M | 41.56M | 72.82M | 538K | 941K | 50.61M | 67.72M | 72.32M | 70.09M | 67.34M |
| sellingAndMarketingExpenses | 36.48M | 34.79M | - | 61.52M | 60.88M | - | - | - | - | - |
| sellingGeneralAndAdministrativeExpenses | 77.64M | 76.36M | 72.82M | 62.06M | 61.82M | 50.61M | 67.72M | 72.32M | 70.09M | 67.34M |
| otherExpenses | -12.84M | -10.38M | -10.04M | 888K | 338K | -588K | 169K | 1.08M | 1.96M | -141K |
| operatingExpenses | 218.24M | 217.21M | 202.2M | 174.6M | 160.58M | 126.58M | 159.3M | 153.4M | 147.49M | 135.42M |
| costAndExpenses | 428.04M | 420.33M | 429.08M | 360.92M | 346.28M | 270.04M | 347.52M | 343.6M | 327.42M | 301.71M |
| netInterestIncome | 1.26M | 1.21M | 308K | -3.34M | -2.14M | -1.02M | -768K | 642K | 326K | 1.08M |
| interestIncome | 2.76M | 2.78M | 1.66M | 376K | 309K | 687K | 1.08M | 1.39M | 781K | 1.32M |
| interestExpense | 1.51M | 1.57M | 1.35M | 3.72M | 2.44M | 1.71M | 1.84M | 752K | 455K | 242K |
| depreciationAndAmortization | 14.83M | 16.09M | 15.41M | 16.8M | 17.58M | 17.6M | 16.27M | 11.16M | 10.5M | 10.96M |
| ebitda | 104.57M | 99.56M | 114.12M | 100.28M | 107.1M | 62.65M | 110.07M | 117M | 85.92M | 93.68M |
| ebit | 89.74M | 83.47M | 98.71M | 91.53M | 100.36M | 57.55M | 93.8M | 105.84M | 73.42M | 93.79M |
| nonOperatingIncomeExcludingInterest | -2M | -2.18M | -13.18M | -11.28M | -17.96M | 2.25M | -4.73M | -5.88M | 1.99M | -11.07M |
| operatingIncome | 87.74M | 81.29M | 85.53M | 93.66M | 94.74M | 72.85M | 89.07M | 100.15M | 75.41M | 82.72M |
| totalOtherIncomeExpensesNet | 493K | 610K | 11.82M | 7.56M | 15.51M | -3.96M | 2.88M | 5.13M | -2.44M | 10.82M |
| incomeBeforeTax | 88.24M | 81.9M | 97.36M | 87.81M | 97.91M | 55.84M | 91.96M | 105.09M | 72.97M | 93.55M |
| incomeTaxExpense | 23.82M | 22.14M | 26.33M | 23.26M | 25.24M | 13.88M | 22.79M | 26.58M | 19.42M | 23.77M |
| netIncomeFromContinuingOperations | 64.42M | 59.77M | 71.03M | 69.92M | 74.17M | 42.49M | 69.17M | 78.5M | 53.55M | 69.77M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | -5.36M | -1.49M | -531K | - | - | - | - |
| netIncome | 63.97M | 59.39M | 70.17M | 64.03M | 71.74M | 41.76M | 68.61M | 77.88M | 53.09M | 69.16M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 63.97M | 59.39M | 70.17M | 64.03M | 71.74M | 41.76M | 68.61M | 77.88M | 53.09M | 69.16M |
| eps | 0.85 | 0.78 | 0.92 | 0.84 | 0.94 | 0.55 | 0.9 | 1.02 | 0.7 | 0.92 |
| date | 2026-04-30 | 2025-04-30 | 2024-04-30 | 2023-04-30 | 2022-04-30 | 2021-04-30 | 2020-04-30 | 2019-04-30 | 2018-04-30 | 2017-04-30 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 19.12M | 111.66M | 86.32M | 12.47M | 33.9M | 108.77M | 75.02M | 104.58M | 94.18M | 54.27M |
| shortTermInvestments | - | - | - | - | - | - | - | 4.02M | - | - |
| cashAndShortTermInvestments | 19.12M | 111.66M | 86.32M | 12.47M | 33.9M | 108.77M | 75.02M | 108.61M | 94.18M | 54.27M |
| netReceivables | 108.1M | 88.96M | 96.9M | 117.9M | 106.42M | 79.61M | 98.5M | 104.55M | 86.07M | 111.66M |
| accountsReceivables | 78.32M | 69.15M | 81.74M | 105.69M | 96.97M | 72.53M | 90.63M | 101.61M | 62.42M | 111.66M |
| otherReceivables | 29.78M | 19.81M | 15.16M | 12.21M | 9.45M | 7.08M | 7.86M | 2.94M | 23.65M | - |
| inventory | 200.21M | 181.01M | 206.15M | 202.48M | 177.27M | 152.7M | 161.98M | 171.27M | 168.07M | 178.21M |
| prepaids | 14.97M | 9.68M | 11.18M | 10.32M | 5.93M | 6.56M | 9M | 9.04M | 5.51M | 4.08M |
| otherCurrentAssets | - | - | - | - | - | - | - | - | - | - |
| totalCurrentAssets | 342.4M | 391.31M | 400.56M | 343.17M | 323.52M | 347.64M | 344.51M | 393.48M | 353.83M | 348.22M |
| propertyPlantEquipmentNet | 52.44M | 48.03M | 54.82M | 55.13M | 62.51M | 68.37M | 76.62M | 48.89M | 47.92M | 44.15M |
| goodwill | 19.99M | 20M | 21.35M | 21.33M | 21.03M | 21.14M | 20.77M | 20.72M | 18.17M | 18.2M |
| intangibleAssets | - | 346K | 1.1M | 2.12M | 3.32M | 4.48M | 1.57M | 1.95M | - | - |
| goodwillAndIntangibleAssets | 19.99M | 20.35M | 22.45M | 23.46M | 24.35M | 25.62M | 22.34M | 22.67M | 18.17M | 18.2M |
| longTermInvestments | - | - | - | 8.16M | 5.47M | 6.87M | 98.96M | - | -1.2M | - |
| taxAssets | 10.16M | 9.8M | 6.89M | 6.74M | 5.12M | 3.3M | 204K | 1.57M | 1.2M | - |
| otherNonCurrentAssets | - | - | - | - | - | - | -98.96M | - | 1.2M | - |
| totalNonCurrentAssets | 82.59M | 78.17M | 84.16M | 93.48M | 97.46M | 104.16M | 99.16M | 73.12M | 67.28M | 62.35M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 424.99M | 469.48M | 484.72M | 436.65M | 420.98M | 451.79M | 443.67M | 466.6M | 421.12M | 410.57M |
| totalPayables | 95.32M | 67.98M | 66.48M | 74.74M | 62.76M | 59.19M | 56.84M | 56.25M | 48.84M | 46.64M |
| accountPayables | 95.32M | 67.98M | 63.1M | 67.15M | 55.75M | 59.04M | 53.03M | 56.25M | 48.77M | 45.7M |
| otherPayables | - | - | 3.38M | 7.59M | 7.01M | 155K | 3.81M | - | 74000 | 945K |
| accruedExpenses | - | - | 154K | 8.37M | - | - | 9.2M | - | - | - |
| shortTermDebt | - | - | -154K | 5.93M | - | - | 238K | 294K | 383K | 280K |
| capitalLeaseObligationsCurrent | 5.29M | 5.09M | 4.3M | 4.06M | 4.09M | 4.12M | 4.4M | - | - | - |
| taxPayables | - | - | 3.23M | 7.59M | 7.01M | 155K | 3.81M | - | 74000 | 945K |
| deferredRevenue | 99.67M | 101.04M | 119.6M | 69.83M | 74.27M | 58.05M | 45.08M | 42.84M | 28.5M | 28.27M |
| otherCurrentLiabilities | 10.37M | 9.07M | 8.6M | 17.18M | 23.46M | 11.76M | 14.23M | 11.57M | 11.59M | 8.44M |
| totalCurrentLiabilities | 210.65M | 183.18M | 199.12M | 171.74M | 164.57M | 133.12M | 120.79M | 110.96M | 89.32M | 83.64M |
| longTermDebt | - | - | - | - | - | - | - | 239K | 515K | 733K |
| capitalLeaseObligationsNonCurrent | 8.45M | 13.78M | 18.92M | 18.83M | 22.76M | 21.24M | 25.46M | - | - | - |
| deferredRevenueNonCurrent | 4.61M | 1.24M | - | - | - | - | - | - | - | -4.43M |
| deferredTaxLiabilitiesNonCurrent | - | - | - | - | - | - | - | - | - | 4.43M |
| otherNonCurrentLiabilities | - | - | - | - | - | 2.52M | - | - | - | - |
| totalNonCurrentLiabilities | 13.06M | 15.02M | 18.92M | 18.83M | 22.76M | 23.77M | 25.46M | 239K | 515K | 5.16M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 13.74M | 18.87M | 23.22M | 22.89M | 26.85M | 25.37M | 29.86M | - | - | - |
| totalLiabilities | 223.71M | 198.19M | 218.04M | 190.57M | 187.33M | 156.89M | 146.25M | 111.19M | 89.83M | 88.8M |
| treasuryStock | - | - | - | - | - | - | - | - | - | - |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 146.59M | 144.98M | 145.72M | 143.34M | 143.5M | 143.6M | 143.92M | 139.86M | 138.68M | 124.7M |
| retainedEarnings | 16.24M | 92.38M | 97.1M | 87.46M | 80.64M | 140.68M | 141.79M | 203.28M | 180.52M | 182.3M |
| additionalPaidInCapital | - | - | - | - | - | - | - | 139.86M | - | - |
| date | 2026-04-30 | 2025-04-30 | 2024-04-30 | 2023-04-30 | 2022-04-30 | 2021-04-30 | 2020-04-30 | 2019-04-30 | 2018-04-30 | 2017-04-30 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 64.42M | 59.77M | 70.17M | 64.56M | 72.68M | 41.96M | 69.17M | 78.5M | 53.55M | 69.77M |
| depreciationAndAmortization | 14.83M | 16.09M | 15.41M | 16.8M | 17.58M | 17.6M | 16.27M | 11.16M | 10.5M | 10.96M |
| deferredIncomeTax | 6.8M | 6.51M | 287K | 9.49M | 12.9M | 843K | 15.19M | 18.42M | 12.68M | 14.41M |
| stockBasedCompensation | 5.99M | 4.95M | 4.81M | 4.66M | 5.03M | 6.42M | 4.96M | 4.5M | 4.56M | 5.21M |
| changeInWorkingCapital | -4.27M | 24.07M | 53.43M | -36.72M | -30.06M | 44.42M | 17.9M | -389K | 41.78M | -21.86M |
| accountsReceivables | -9.81M | 9.69M | 20.49M | -3.48M | -25.88M | 12.52M | -8.52M | -10.92M | 26.39M | -13.23M |
| inventory | -19.2M | 25.14M | -3.82M | -23.9M | -25.49M | 8.92M | 9.35M | -459K | 10.49M | -21.92M |
| accountsPayables | - | 4.73M | -13.63M | -2.64M | 1.77M | 10.98M | 13.99M | 1.49M | 5.99M | 938K |
| otherWorkingCapital | 24.74M | -10.77M | 50.39M | -6.72M | 19.53M | 12.01M | 3.09M | 9.51M | 31.29M | 63000 |
| otherNonCashItems | -11.52M | -11.77M | 575K | -4.12M | -5.8M | -5.07M | -9.67M | -19.76M | -20.83M | -10.54M |
| netCashProvidedByOperatingActivities | 76.25M | 99.62M | 144.67M | 53.81M | 68.67M | 101M | 109.29M | 88.47M | 98.38M | 64.51M |
| investmentsInPropertyPlantAndEquipment | -18.69M | -7.94M | -9.56M | -6.57M | -5.48M | -9.58M | -10.05M | -11.65M | -18.17M | -11.27M |
| acquisitionsNet | - | 200K | - | 60000 | 515K | -9.09M | 257K | -9.21M | -1.69M | 90000 |
| purchasesOfInvestments | - | - | - | -10.61M | - | -7.8M | -257K | -17.71M | - | - |
| salesMaturitiesOfInvestments | - | - | 7.18M | -60000 | - | 7.8M | 4.06M | 14.87M | - | - |
| otherInvestingActivities | 863K | 1.02M | 114K | 60000 | 515K | 26000 | 257K | 181K | 6.55M | 90000 |
| netCashProvidedByInvestingActivities | -17.83M | -6.73M | -2.26M | -17.12M | -4.96M | -18.64M | -5.74M | -23.51M | -13.31M | -11.18M |
| netDebtIssuance | -4.5M | -4.82M | -10.25M | 1.64M | -4.32M | -4.66M | -4.41M | -340K | -155K | -149K |
| longTermNetDebtIssuance | -4.5M | -4.82M | -4.33M | 1.64M | -4.32M | -4.66M | -4.41M | -340K | -155K | -149K |
| shortTermNetDebtIssuance | - | - | -5.93M | 5.93M | - | - | - | - | - | - |
| netStockIssuance | -3.9M | -4.81M | 186K | -974K | -691K | -1.95M | -2.12M | 1.02M | 11.07M | 18.7M |
| netCommonStockIssuance | -3.9M | -4.81M | 186K | -974K | -691K | -1.95M | -2.12M | 1.02M | 11.07M | 18.7M |
| commonStockIssuance | 193K | 49000 | 2.46M | - | - | - | 4.37M | 1.02M | 11.07M | 18.7M |
| commonStockRepurchased | -4.09M | -4.86M | -2.27M | -974K | -691K | -1.95M | -6.49M | - | - | - |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | - | - |
| netDividendsPaid | -136.68M | -60.05M | -58.6M | -56.39M | -131.2M | -41.22M | -124.33M | -55.09M | -54.93M | -137.18M |
| commonDividendsPaid | -136.68M | -60.05M | -58.6M | -56.39M | -131.2M | -41.22M | -124.33M | -55.09M | -54.93M | -137.18M |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | -2.06M | -1.75M | -1.55M | -2.3M | -1.3M | -1.54M | -1.8M | -424K | -527K | -382K |
| netCashProvidedByFinancingActivities | -147.13M | -71.43M | -70.21M | -58.02M | -137.52M | -49.38M | -132.66M | -54.83M | -44.54M | -119.01M |
| date | 2026-04-30 | 2026-01-31 | 2025-10-31 | 2025-07-31 | 2025-04-30 | 2025-01-31 | 2024-10-31 | 2024-07-31 | 2024-04-30 | 2024-01-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 131.57M | 139.33M | 132.74M | 112.14M | 127.8M | 136.92M | 125.26M | 111.64M | 122.77M | 135.28M |
| costOfRevenue | 53.5M | 59.64M | 56.96M | 43.3M | 48.92M | 57.82M | 51M | 45.38M | 52.33M | 57.54M |
| grossProfit | 78.07M | 79.69M | 75.77M | 68.84M | 78.88M | 79.1M | 74.26M | 66.26M | 70.44M | 77.73M |
| researchAndDevelopmentExpenses | 39.06M | 37.55M | 36.67M | 37.94M | 37.62M | 37.77M | 37.42M | 38.43M | 36.91M | 34.09M |
| generalAndAdministrativeExpenses | 22.16M | 9.79M | 9.1M | 107K | 41.18M | 19.33M | 18.5M | 17.72M | 20.24M | 129K |
| sellingAndMarketingExpenses | -1.22M | 8.98M | 10.09M | 18.62M | -20.38M | - | - | - | - | 18.26M |
| sellingGeneralAndAdministrativeExpenses | 20.95M | 18.77M | 19.19M | 18.73M | 20.8M | 19.33M | 18.5M | 17.72M | 20.24M | 18.39M |
| otherExpenses | -69.26M | - | -3.08M | -2.08M | -3.4M | -2.21M | 18.34M | -2.48M | -238K | -2.93M |
| operatingExpenses | -9.25M | 56.32M | 55.86M | 54.59M | 55.02M | 54.88M | 74.26M | 53.67M | 57.15M | 52.48M |
| costAndExpenses | 44.25M | 115.96M | 112.82M | 97.9M | 103.94M | 116.23M | 108.22M | 102.82M | 109.48M | 110.03M |
| netInterestIncome | -200K | 309K | 22000 | 537K | 243K | 110K | 463K | 396K | 266K | 90000 |
| interestIncome | 167K | 590K | 642K | 775K | 706K | 531K | 837K | 705K | 1.66M | 90000 |
| interestExpense | 367K | 281K | 620K | 238K | 463K | 421K | 374K | 309K | 1.4M | 457K |
| depreciationAndAmortization | 3.48M | 3.53M | 3.98M | 3.84M | 3.95M | 4M | 3.97M | 4.17M | 3.94M | 3.76M |
| ebitda | 32.07M | 26.9M | 25.49M | 20.1M | 22.99M | 32.58M | 26.3M | 17.69M | 19.82M | 33M |
| ebit | 16.54M | 23.38M | 21.52M | 16.26M | 19.04M | 28.58M | 22.33M | 13.52M | 15.88M | 29.24M |
| nonOperatingIncomeExcludingInterest | - | - | -1.61M | -2.01M | 4.82M | -4.36M | -22.33M | -936K | -2.58M | -3.99M |
| operatingIncome | 16.54M | 23.38M | 19.91M | 14.25M | 23.86M | 24.21M | 20.63M | 12.59M | 13.29M | 25.25M |
| totalOtherIncomeExpensesNet | 74000 | -2.34M | 986K | 1.77M | -5.28M | 3.94M | 1.32M | 627K | 6.28M | 711K |
| incomeBeforeTax | 21.18M | 21.04M | 20.9M | 16.02M | 18.58M | 28.16M | 21.96M | 13.22M | 15.46M | 21.98M |
| incomeTaxExpense | 5.93M | 2.37M | 2.28M | 4.13M | 5.54M | 7.08M | 6.02M | 3.5M | 1.6M | 2.95M |
| netIncomeFromContinuingOperations | 15.25M | 18.66M | 18.62M | 11.89M | 13.04M | 21.08M | 15.94M | 9.71M | 13.86M | 19.02M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 15.14M | 18.46M | 18.53M | 11.84M | 13M | 20.92M | 15.8M | 9.67M | 13.76M | 18.72M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 15.14M | 18.46M | 18.53M | 11.84M | 13M | 20.92M | 15.8M | 9.67M | 13.76M | 18.72M |
| eps | 0.2 | 0.24 | 0.25 | 0.16 | 0.17 | 0.28 | 0.21 | 0.13 | 0.18 | 0.25 |
| date | 2026-04-30 | 2026-01-31 | 2025-10-31 | 2025-07-31 | 2025-04-30 | 2025-01-31 | 2024-10-31 | 2024-07-31 | 2024-04-30 | 2024-01-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 19.12M | 24.79M | 96.7M | 124.31M | 111.66M | 96.28M | 61.73M | 91.02M | 86.32M | 69.71M |
| shortTermInvestments | - | - | - | - | - | - | - | - | - | - |
| cashAndShortTermInvestments | 19.12M | 24.79M | 96.7M | 124.31M | 111.66M | 96.28M | 61.73M | 91.02M | 86.32M | 69.71M |
| netReceivables | 108.1M | 102.59M | 99.45M | 95.12M | 88.96M | 91.86M | 89.68M | 80.68M | 96.9M | 102.67M |
| accountsReceivables | 78.32M | 88.83M | 86.1M | 73.73M | 69.15M | 74.73M | 70.85M | 64.1M | 81.74M | 91.73M |
| otherReceivables | 29.78M | 13.75M | 13.34M | 21.39M | 19.81M | 17.14M | 18.83M | 16.59M | 15.16M | 10.94M |
| inventory | 200.21M | 195.42M | 182.7M | 182.49M | 181.01M | 195.56M | 206.6M | 212.24M | 206.15M | 207.05M |
| prepaids | 14.97M | 14.03M | 11.29M | 11.3M | 9.68M | 8.6M | 11.01M | 11.91M | 11.18M | 10.7M |
| otherCurrentAssets | - | - | - | - | - | - | - | - | - | - |
| totalCurrentAssets | 342.4M | 336.82M | 390.13M | 413.22M | 391.31M | 392.3M | 369.02M | 395.85M | 400.56M | 390.13M |
| propertyPlantEquipmentNet | 52.44M | 52.02M | 48.52M | 45.48M | 48.03M | 48.85M | 51.05M | 53.48M | 54.82M | 54.48M |
| goodwill | 19.99M | 20M | 20.02M | 19.98M | 20M | 22.16M | 22.12M | 22.05M | 21.35M | 21.3M |
| intangibleAssets | - | - | - | 173K | 346K | 519K | 693K | 895K | 1.1M | 1.31M |
| goodwillAndIntangibleAssets | 19.99M | 20M | 20.02M | 20.15M | 20.35M | 22.68M | 22.81M | 22.94M | 22.45M | 22.6M |
| longTermInvestments | - | - | - | - | - | - | - | - | -1.1M | - |
| taxAssets | 10.16M | 8.19M | 8.03M | 9.46M | 9.8M | 8.38M | 8.29M | 8.75M | 6.89M | 5.55M |
| otherNonCurrentAssets | - | - | - | - | - | - | - | - | 1.1M | - |
| totalNonCurrentAssets | 82.59M | 80.21M | 76.56M | 75.1M | 78.17M | 79.91M | 82.14M | 85.17M | 84.16M | 82.64M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 424.99M | 417.04M | 466.69M | 488.32M | 469.48M | 472.21M | 451.16M | 481.02M | 484.72M | 472.77M |
| totalPayables | 95.32M | 77.97M | 64.96M | 83.2M | 67.98M | 67.25M | 58.28M | 79.98M | 63.1M | 64.92M |
| accountPayables | 95.32M | 77.97M | 64.96M | 83.2M | 67.98M | 65.28M | 56.08M | 77.05M | 63.1M | 64.92M |
| otherPayables | - | - | - | - | - | 1.97M | 2.2M | 2.93M | 3.23M | 5.56M |
| accruedExpenses | - | - | - | - | - | - | - | 144K | - | - |
| shortTermDebt | - | - | - | 5.31M | - | - | - | - | - | - |
| capitalLeaseObligationsCurrent | 5.29M | 5.18M | 5.25M | 5.31M | 5.09M | 5.01M | 4.84M | 4.6M | 4.3M | 3.96M |
| taxPayables | - | - | - | - | - | 1.97M | 2.2M | 2.93M | 3.23M | 5.56M |
| deferredRevenue | 99.67M | 110.15M | 102.67M | 110.8M | 101.04M | 102.96M | 97.16M | 104.51M | 119.6M | 106.8M |
| otherCurrentLiabilities | 10.37M | 10.34M | 9.53M | 3.94M | 9.07M | 9.14M | 8.94M | 8.9M | 12.14M | 14.88M |
| totalCurrentLiabilities | 210.65M | 203.64M | 182.41M | 208.57M | 183.18M | 184.36M | 169.22M | 198.14M | 199.12M | 190.55M |
| longTermDebt | - | - | 11.19M | - | - | - | - | - | - | - |
| capitalLeaseObligationsNonCurrent | 8.45M | 9.88M | 11.19M | 12.4M | 13.78M | 15.2M | 16.4M | 17.71M | 18.92M | 18.77M |
| deferredRevenueNonCurrent | 4.61M | 3.97M | 2.04M | 2.04M | 1.24M | - | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | - | - | - | - | - | - | - | - | - | - |
| otherNonCurrentLiabilities | - | - | -11.19M | - | - | - | - | - | - | - |
| totalNonCurrentLiabilities | 13.06M | 13.85M | 13.24M | 14.44M | 15.02M | 15.2M | 16.4M | 17.71M | 18.92M | 18.77M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 13.74M | 15.06M | 16.44M | 17.71M | 18.87M | 20.21M | 21.24M | 22.32M | 23.22M | 22.73M |
| totalLiabilities | 223.71M | 217.49M | 195.64M | 223.01M | 198.19M | 199.56M | 185.62M | 215.86M | 218.04M | 209.32M |
| treasuryStock | - | - | - | - | - | - | - | - | - | - |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 146.59M | 145.96M | 145.32M | 144.37M | 144.98M | 145.34M | 145.35M | 145.63M | 145.72M | 144.2M |
| retainedEarnings | 16.24M | 16.58M | 89.14M | 85.96M | 92.38M | 96.22M | 90.81M | 91.37M | 97.1M | 98.27M |
| additionalPaidInCapital | - | - | - | - | - | - | - | - | - | - |
| date | 2026-04-30 | 2026-01-31 | 2025-10-31 | 2025-07-31 | 2025-04-30 | 2025-01-31 | 2024-10-31 | 2024-07-31 | 2024-04-30 | 2024-01-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 15.25M | 18.66M | 18.62M | 11.89M | 13.04M | 20.92M | 15.94M | 9.67M | 13.76M | 18.72M |
| depreciationAndAmortization | 3.48M | 3.53M | 3.98M | 3.84M | 3.95M | 4M | 3.97M | 4.17M | 3.94M | 3.76M |
| deferredIncomeTax | -342K | 503K | 2.32M | 578K | 742K | 3.58M | 2.2M | -1.91M | 336K | 703K |
| stockBasedCompensation | 2.27M | 1.74M | 914K | 1.07M | 1.2M | 1.32M | 1.26M | 1.17M | 1.23M | 1.2M |
| changeInWorkingCapital | 853K | 3.66M | -26.33M | 17.54M | 20.92M | 24.79M | -31.12M | 9.47M | 23.91M | 4.26M |
| accountsReceivables | -5.62M | -1.07M | 1.64M | -4.76M | 3.81M | -1.86M | -8.8M | 16.55M | 6.05M | -15.21M |
| inventory | -4.8M | -12.72M | -202K | -1.48M | 14.11M | 11.04M | 5.79M | -5.79M | 1.06M | -2.83M |
| accountsPayables | - | 10.2M | -19.93M | 14.66M | 3.9M | 7.36M | -21.79M | - | 3.46M | 12.13M |
| otherWorkingCapital | 11.26M | 7.25M | -7.84M | 9.13M | 3.01M | 15.62M | -28.11M | -7.07M | 13.35M | 10.17M |
| otherNonCashItems | -3.07M | 977K | -5.1M | -1.44M | -5.84M | -1.63M | -1.89M | -306K | -10.73M | 1.26M |
| netCashProvidedByOperatingActivities | 18.44M | 29.07M | -5.6M | 33.48M | 34.02M | 52.98M | -9.64M | 22.27M | 33.91M | 29.83M |
| investmentsInPropertyPlantAndEquipment | -3.93M | -7.01M | -6.38M | -1.37M | -3.26M | -1.18M | -1.45M | -2.05M | -3.4M | -630K |
| acquisitionsNet | - | - | - | - | - | - | - | - | 93000 | -1000 |
| purchasesOfInvestments | - | - | - | - | - | - | - | - | - | - |
| salesMaturitiesOfInvestments | - | - | - | - | - | - | - | - | - | - |
| otherInvestingActivities | -10000 | - | 13000 | 860K | 1.13M | 24000 | 11000 | 54000 | 93000 | 1000 |
| netCashProvidedByInvestingActivities | -3.94M | -7.01M | -6.37M | -508K | -2.13M | -1.15M | -1.44M | -2M | -3.31M | -631K |
| netDebtIssuance | -1.17M | -1.12M | -1.11M | -1.09M | -1.28M | -1.23M | -1.23M | -1.08M | -1.13M | -1.14M |
| longTermNetDebtIssuance | -1.17M | -1.12M | -1.11M | -1.09M | -1.28M | -1.23M | -1.23M | -1.08M | -1.13M | -1.14M |
| shortTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| netStockIssuance | - | 193K | -308K | -3.78M | -2.02M | -337K | -1.8M | -651K | -99000 | 229K |
| netCommonStockIssuance | - | 193K | -308K | -3.78M | -2.02M | -337K | -1.8M | -651K | 1.22M | 229K |
| commonStockIssuance | - | 193K | - | - | - | 49000 | - | - | 1.32M | 580K |
| commonStockRepurchased | - | - | -308K | -3.78M | -2.02M | -386K | -1.8M | -651K | -99000 | -351K |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | -1.32M | - |
| netDividendsPaid | -15.48M | -91.24M | -15.42M | -15.09M | -15.19M | -15.19M | -14.83M | -14.85M | -14.85M | -14.82M |
| commonDividendsPaid | -15.48M | -91.24M | -15.42M | -15.09M | -15.19M | -15.19M | -14.83M | -14.85M | -14.85M | -14.82M |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | -428K | - | 1000 | -222K | -239K | -416K | -854K | -238K | 1.32M | -394K |
| netCashProvidedByFinancingActivities | -17.09M | -92.16M | -16.84M | -20.19M | -18.72M | -17.17M | -18.72M | -16.82M | -14.76M | -15.74M |