$0.03 (0.25%)
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 76.09M | 69.35M | 63.56M | 57.87M | 43.82M | 31.82M | 42.55M | 41.84M | 38.99M | 35.69M |
| costOfRevenue | 40.47M | 44.98M | 46.92M | 44.67M | 29.6M | 22.87M | 27.76M | 27.11M | 25.51M | 23.12M |
| grossProfit | 35.62M | 24.37M | 16.64M | 13.21M | 14.22M | 8.95M | 14.79M | 14.73M | 13.48M | 12.57M |
| researchAndDevelopmentExpenses | 556.36K | 549.34K | 363.39K | 467.35K | 25446 | 11322 | 9775 | 9663 | 3089 | 10412 |
| generalAndAdministrativeExpenses | 10.58M | 11.25M | 9.78M | 7.45M | 6.2M | 5.77M | 5.31M | 5.43M | 5.12M | 5.05M |
| sellingAndMarketingExpenses | - | 1M | -4.63M | - | - | - | 1.32M | 1.27M | 1.26M | 1.15M |
| sellingGeneralAndAdministrativeExpenses | 10.58M | 5.6M | 5.15M | 3.89M | 6.2M | 5.77M | 6.63M | 6.7M | 6.37M | 6.21M |
| otherExpenses | 664.6K | - | - | - | 890.94K | 873.73K | -9775 | - | - | - |
| operatingExpenses | 11.8M | 6.15M | 5.51M | 4.35M | 7.12M | 6.66M | 6.63M | 6.7M | 6.37M | 6.21M |
| costAndExpenses | 52.27M | -51.13M | 52.43M | 49.02M | 36.72M | 29.52M | 34.39M | 33.81M | 31.89M | 29.33M |
| netInterestIncome | 987.54K | 1.14M | 543.87K | 14065 | 111.52K | 15504 | 17947 | 98427 | 138.52K | 140.52K |
| interestIncome | 987.54K | 1.14M | 543.87K | 14065 | 123.58K | 94176 | 142.05K | 211.29K | 167.96K | 148.3K |
| interestExpense | - | - | - | - | 12065 | 78672 | 124.1K | 112.86K | 29443 | 7780 |
| depreciationAndAmortization | 1.31M | 622.14K | 641.74K | 761.54K | 640.95K | 643.22K | 939.29K | 555.81K | 365.6K | 374.02K |
| ebitda | 25.13M | 19.99M | 11.77M | 9.63M | 7.87M | 3.03M | 9.24M | 8.79M | 7.64M | 6.92M |
| ebit | 23.82M | 19.37M | 11.13M | 8.87M | 7.23M | 2.39M | 8.31M | 8.24M | 7.27M | 6.54M |
| nonOperatingIncomeExcludingInterest | - | -1.14M | -543.87K | -14065 | -123.58K | -94176 | -142.05K | -211.29K | -162.28K | -173.2K |
| operatingIncome | 23.82M | 18.22M | 11.13M | 8.85M | 7.11M | 2.3M | 8.16M | 8.03M | 7.11M | 6.37M |
| totalOtherIncomeExpensesNet | 987.54K | 1.14M | 543.87K | 14065 | 111.52K | 15504 | 17947 | 98427 | 132.84K | 165.42K |
| incomeBeforeTax | 24.81M | 19.37M | 11.67M | 8.87M | 7.22M | 2.31M | 8.18M | 8.13M | 7.24M | 6.53M |
| incomeTaxExpense | 6.01M | 4.76M | 2.92M | 2.26M | 1.49M | 288.58K | 1.7M | 1.86M | 2.15M | 2.31M |
| netIncomeFromContinuingOperations | 18.8M | 14.61M | 8.76M | 6.6M | 5.73M | 2.02M | 6.48M | 6.27M | 5.09M | 4.23M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 18.8M | 14.61M | 8.76M | 6.6M | 5.73M | 2.02M | 6.48M | 6.27M | 5.09M | 4.23M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 18.8M | 14.61M | 8.76M | 6.6M | 5.73M | 2.02M | 6.48M | 6.27M | 5.09M | 4.23M |
| eps | 0.6 | 0.46 | 0.27 | 0.21 | 0.18 | 0.06 | 0.2 | 0.2 | 0.16 | 0.13 |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 29.53M | 28.16M | 22.18M | 5.31M | 11.19M | 9.74M | 8.1M | 6.37M | 4.58M | 3.7M |
| shortTermInvestments | - | - | - | 5.2M | 655.14K | 301.64K | 709.31K | 1.14M | 1.15M | 871.79K |
| cashAndShortTermInvestments | 29.53M | 28.16M | 22.18M | 10.5M | 11.85M | 10.05M | 8.81M | 7.51M | 5.72M | 4.57M |
| netReceivables | 11.83M | 8.58M | 8.07M | 7.19M | 8.62M | 4.98M | 6.45M | 6.25M | 5.88M | 4.55M |
| accountsReceivables | 11.83M | 8.58M | 8.07M | 7.19M | 8.62M | 4.98M | 6.45M | 6.25M | 5.88M | 4.55M |
| otherReceivables | - | - | - | - | - | - | - | - | - | - |
| inventory | 4.67M | 4.37M | 4.68M | 12.41M | 5.15M | 3.35M | 5.12M | 4.14M | 4.14M | 3.44M |
| prepaids | 652.09K | 920.86K | 719.93K | 575.15K | 665.07K | 1.2M | 1.2M | 1.15M | 1.11M | 367.32K |
| otherCurrentAssets | - | - | - | - | - | - | - | - | - | - |
| totalCurrentAssets | 46.68M | 42.03M | 35.65M | 30.68M | 26.28M | 19.58M | 21.58M | 19.06M | 16.85M | 13.04M |
| propertyPlantEquipmentNet | 9.34M | 9.29M | 7.67M | 8.04M | 8.32M | 6.28M | 6.5M | 5.78M | 4.97M | 1.64M |
| goodwill | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K |
| intangibleAssets | 75576 | 75576 | 75576 | 75576 | 74502 | 74502 | 74502 | 72742 | 72742 | 72570 |
| goodwillAndIntangibleAssets | 451.01K | 451.01K | 451.01K | 451.01K | 449.94K | 449.94K | 449.94K | 448.18K | 448.18K | 448.01K |
| longTermInvestments | - | - | 75576 | - | 438.28K | - | - | - | - | - |
| taxAssets | - | 1.06M | 343.82K | - | - | - | - | - | - | - |
| otherNonCurrentAssets | 112.39K | 19999 | -55576 | 95577 | 20000 | 20000 | 20000 | 20000 | 20000 | 20000 |
| totalNonCurrentAssets | 9.9M | 10.82M | 8.49M | 8.52M | 9.23M | 6.75M | 6.97M | 6.24M | 5.43M | 2.11M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 56.58M | 52.85M | 44.13M | 39.19M | 35.51M | 26.33M | 28.54M | 25.3M | 22.29M | 15.15M |
| totalPayables | 6.25M | 4.15M | 2.34M | 8.62M | 3.06M | 602.09K | 2.06M | 1.76M | 1.89M | 1.3M |
| accountPayables | 4.7M | 2.01M | 2.11M | 6.99M | 2.18M | 40945 | 2.06M | 1.76M | 1.89M | 1.3M |
| otherPayables | 1.55M | 2.14M | 228.67K | 1.63M | 881.8K | 561.15K | - | - | - | - |
| accruedExpenses | 1.4M | 1.83M | 2.91M | 1.65M | 1.34M | 633.06K | 541.05K | 711.25K | 509.35K | 701.33K |
| shortTermDebt | - | 649.74K | 649.74K | 591.43K | 494.82K | - | 736.15K | 731.29K | 726.64K | 89949 |
| capitalLeaseObligationsCurrent | 705.48K | - | - | 591.43K | 494.82K | 352.51K | 331.18K | - | - | - |
| taxPayables | - | - | 228.67K | 672.91K | - | - | - | - | - | - |
| deferredRevenue | 2.27M | 4.4M | 5.21M | 4.34M | 3.39M | -352.51K | - | - | - | 1.34M |
| otherCurrentLiabilities | 2.17M | 4.82M | 1.06M | -4.93M | 386.99K | 2.22M | 801.64K | 721.48K | 641.31K | 641.49K |
| totalCurrentLiabilities | 12.8M | 15.86M | 12.16M | 10.86M | 9.17M | 3.45M | 4.47M | 3.92M | 3.77M | 2.74M |
| longTermDebt | - | - | - | - | - | 681.98K | 1.44M | 2.18M | 2.91M | - |
| capitalLeaseObligationsNonCurrent | 61515 | 810.58K | 1.46M | 2.12M | 2.22M | - | 352.51K | - | - | - |
| deferredRevenueNonCurrent | - | - | - | - | - | - | - | -1017.95 | -807.19 | - |
| deferredTaxLiabilitiesNonCurrent | 572.68K | - | - | 235.64K | 902.06K | 983.36K | 868.47K | 1.02M | 807.19K | 132.61K |
| otherNonCurrentLiabilities | - | - | - | - | - | 352.51K | - | - | - | -109.36K |
| totalNonCurrentLiabilities | 634.2K | 810.58K | 1.46M | 2.35M | 3.12M | 2.02M | 2.67M | 3.2M | 3.72M | 132.61K |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 767K | 810.58K | 1.46M | 2.71M | 2.72M | 352.51K | 683.69K | - | - | - |
| totalLiabilities | 13.44M | 16.67M | 13.62M | 13.21M | 12.29M | 5.47M | 7.14M | 7.12M | 7.49M | 2.87M |
| treasuryStock | -7.55M | -1.07M | - | - | - | - | - | - | - | - |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M |
| retainedEarnings | 47.61M | 34.43M | 27.68M | 23.16M | 20.4M | 18.04M | 18.58M | 15.36M | 11.98M | 9.46M |
| additionalPaidInCapital | 306.88K | 48202 | 48202 | 48202 | 48202 | 48202 | 48202 | 48202 | 48202 | 48202 |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 18.8M | 14.61M | 8.76M | 6.6M | 5.73M | 2.02M | 6.48M | 6.27M | 5.09M | 4.23M |
| depreciationAndAmortization | 1.31M | 622.14K | 641.74K | 761.54K | 640.95K | 643.22K | 626.74K | 555.81K | 365.6K | 374.02K |
| deferredIncomeTax | 1.64M | -720.12K | -579.45K | -666.42K | -81301 | 114.89K | -149.49K | 210.76K | 783.87K | -52960 |
| stockBasedCompensation | 258.68K | - | - | - | - | - | - | - | - | - |
| changeInWorkingCapital | -6.92M | 3.23M | 7.86M | -4.15M | -13930 | 3.51M | -1.01M | -348.31K | -2.38M | -1.3M |
| accountsReceivables | -3.25M | -511.43K | -873.5K | 1.43M | -3.64M | 1.46M | -191.93K | -373.75K | -1.33M | -47202 |
| inventory | -300.84K | 314.54K | 7.73M | -7.26M | -1.8M | 1.77M | -980.86K | -7360 | -697.95K | -1.03M |
| accountsPayables | 2.69M | -96973 | 1.59M | 846.08K | 5M | -41781 | -145.5K | -177.96K | -1.14M | -167.2K |
| otherWorkingCapital | -6.05M | 3.52M | -581.24K | 833.74K | 421.74K | 312.54K | 312.54K | 210.76K | 783.87K | -52960 |
| otherNonCashItems | - | -14.4M | -8.8M | - | - | - | - | 1.41M | 27003 | -24908 |
| netCashProvidedByOperatingActivities | 15.09M | 17.74M | 16.68M | 2.55M | 6.28M | 6.29M | 5.96M | 6.68M | 3.88M | 3.22M |
| investmentsInPropertyPlantAndEquipment | -2.03M | -2.92M | -873.91K | -561.12K | -310.98K | -743.32K | -722.62K | -1.37M | -3.71M | -337.64K |
| acquisitionsNet | - | - | - | - | - | - | - | - | - | 38000 |
| purchasesOfInvestments | - | - | - | -4.76M | -791.78K | - | - | - | -274.11K | - |
| salesMaturitiesOfInvestments | - | - | 438.28K | - | - | 407.67K | 426.38K | 10208 | - | 147.32K |
| otherInvestingActivities | - | - | - | 655.02K | - | - | - | 10208 | -274.11K | 185.32K |
| netCashProvidedByInvestingActivities | -2.03M | -2.92M | -435.63K | -4.66M | -1.1M | -335.65K | -296.24K | -1.36M | -3.99M | -152.32K |
| netDebtIssuance | - | - | - | - | -681.98K | -1.5M | -731.29K | -726.64K | 3.55M | -303.42K |
| longTermNetDebtIssuance | - | - | - | - | -681.98K | -1.5M | -731.29K | -726.64K | 3.55M | -303.42K |
| shortTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| netStockIssuance | -6.48M | -1.07M | - | - | - | - | - | - | - | - |
| netCommonStockIssuance | -6.48M | -1.07M | - | - | - | - | - | - | - | - |
| commonStockIssuance | - | - | - | - | - | - | - | - | - | - |
| commonStockRepurchased | -6.48M | -1.07M | - | - | - | - | - | - | - | - |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | - | - |
| netDividendsPaid | -5.23M | -7.76M | -4.14M | -3.77M | -3.05M | -2.81M | -3.21M | -2.81M | -2.57M | -2.5M |
| commonDividendsPaid | -5.23M | -7.76M | -4.14M | -3.77M | -3.05M | -2.81M | -3.21M | -2.81M | -2.57M | -2.5M |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | - | - | - | - | - | - | - | - | - | -0.0 |
| netCashProvidedByFinancingActivities | -11.7M | -8.83M | -4.14M | -3.77M | -3.73M | -4.3M | -3.94M | -3.53M | 983.22K | -2.8M |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 18.39M | 19.49M | 19.65M | 19.97M | 18.47M | 18.5M | 17.67M | 17.48M | 15.72M | 16.09M |
| costOfRevenue | 10.49M | 11.45M | 10.8M | 10.86M | 10.13M | 11.3M | 11.26M | 11.19M | 11.22M | 11.33M |
| grossProfit | 7.91M | 8.04M | 8.85M | 9.11M | 8.34M | 7.2M | 6.41M | 6.29M | 4.5M | 4.76M |
| researchAndDevelopmentExpenses | - | 357.12K | - | 62433 | 133.43K | 141.86K | 167.27K | 133.6K | 106.62K | -69028 |
| generalAndAdministrativeExpenses | 2.73M | 2.65M | 3.2M | 2.4M | 2.36M | 5.11M | 2.43M | 2.15M | 2.56M | 2.8M |
| sellingAndMarketingExpenses | - | - | - | 398.44K | 320.51K | 300K | 253.3K | 292.16K | - | - |
| sellingGeneralAndAdministrativeExpenses | 2.73M | 2.65M | 2.68M | 2.79M | 2.68M | 1.76M | 1.02M | 1.27M | 1.56M | 1.64M |
| otherExpenses | -937.26K | -1.3M | - | - | -133.43K | - | - | - | - | 69028 |
| operatingExpenses | 1.79M | 1.71M | 2.68M | 2.79M | 2.68M | 1.9M | 1.19M | 1.4M | 1.66M | 1.64M |
| costAndExpenses | 12.28M | 13.16M | 13.49M | 13.66M | 12.81M | -13.2M | 12.44M | 12.65M | 12.89M | 12.97M |
| netInterestIncome | 263.57K | 201.5K | 252.87K | 251.34K | 281.84K | 300K | 290.08K | 277.54K | 283.43K | 237.46K |
| interestIncome | 263.57K | 201.5K | 252.87K | 251.34K | 281.84K | 300K | 290.08K | 277.54K | 283.43K | 237.46K |
| interestExpense | - | - | - | - | - | - | - | - | - | - |
| depreciationAndAmortization | 405.85K | 392.5K | 532.62K | 202K | 186.82K | 152.11K | 105.33K | 205.52K | 159.18K | 156.41K |
| ebitda | 6.52M | 6.73M | 6.42M | 6.51M | 5.85M | 5.75M | 5.62M | 5.34M | 3.28M | 3.51M |
| ebit | 6.12M | 6.33M | 6.42M | 6.31M | 5.66M | 5.6M | 5.51M | 5.11M | 3.12M | 3.36M |
| nonOperatingIncomeExcludingInterest | - | - | -252.87K | -251.34K | -281.84K | -300K | -290.08K | -277.58K | -283.42K | -237.46K |
| operatingIncome | 6.12M | 6.33M | 6.16M | 6.31M | 5.66M | 5.3M | 5.22M | 4.84M | 2.83M | 3.12M |
| totalOtherIncomeExpensesNet | 263.57K | 201.5K | 252.87K | 251.34K | 266.59K | 300K | 290.08K | 277.58K | 283.42K | 237.46K |
| incomeBeforeTax | 6.38M | 6.54M | 6.42M | 6.56M | 5.93M | 5.6M | 5.51M | 5.11M | 3.12M | 3.36M |
| incomeTaxExpense | 1.64M | 1.3M | 1.64M | 1.71M | 1.53M | 1.4M | 1.41M | 1.31M | 797.82K | 786.55K |
| netIncomeFromContinuingOperations | 4.74M | 5.24M | 4.77M | 4.85M | 4.39M | 4.2M | 4.1M | 3.8M | 2.32M | 2.57M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 4.74M | 5.24M | 4.77M | 4.85M | 4.39M | 4.2M | 4.1M | 3.8M | 2.32M | 2.57M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 4.74M | 5.24M | 4.77M | 4.85M | 4.39M | 4.2M | 4.1M | 3.8M | 2.32M | 2.57M |
| eps | 0.15 | 0.17 | 0.15 | 0.15 | 0.14 | 0.13 | 0.13 | 0.12 | 0.07 | 0.08 |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 30.89M | 29.53M | 24.65M | 23.01M | 23.84M | 28.16M | 24.3M | 21.39M | 22.45M | 22.18M |
| shortTermInvestments | - | - | - | - | - | - | - | - | - | - |
| cashAndShortTermInvestments | 30.89M | 29.53M | 24.65M | 23.01M | 23.84M | 28.16M | 24.3M | 21.39M | 22.45M | 22.18M |
| netReceivables | 10.49M | 11.83M | 10.98M | 10.32M | 11.02M | 8.58M | 9.42M | 8.45M | 9.09M | 8.07M |
| accountsReceivables | 10.49M | 11.83M | 10.98M | 10.32M | 11.02M | 8.58M | 9.42M | 8.45M | 9.09M | 8.07M |
| otherReceivables | - | - | - | - | - | - | - | - | - | - |
| inventory | 6.32M | 4.67M | 6.9M | 7.62M | 5.53M | 4.37M | 5.27M | 5.62M | 4.61M | 4.68M |
| prepaids | 474.41K | 652.09K | 1.02M | 848.56K | 733.14K | 920.86K | 423.62K | 966.79K | 699.82K | 719.93K |
| otherCurrentAssets | - | - | - | - | - | - | - | - | - | - |
| totalCurrentAssets | 48.18M | 46.68M | 43.54M | 41.79M | 41.12M | 42.03M | 39.42M | 36.43M | 36.85M | 35.65M |
| propertyPlantEquipmentNet | 8.84M | 9.34M | 9.3M | 9.39M | 9.24M | 9.29M | 8.86M | 8.47M | 7.92M | 7.67M |
| goodwill | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K | 375.44K |
| intangibleAssets | 75576 | 75576 | 75576 | 75576 | 75576 | 75576 | 75576 | 75576 | 75576 | 75576 |
| goodwillAndIntangibleAssets | 451.01K | 451.01K | 451.01K | 451.01K | 451.01K | 451.01K | 451.01K | 451.01K | 375.44K | 451.01K |
| longTermInvestments | - | - | - | - | - | - | - | - | 75576 | 75576 |
| taxAssets | - | - | 1.06M | 1.06M | 1.06M | 1.06M | 343.82K | 343.82K | 343.82K | 343.82K |
| otherNonCurrentAssets | 112.39K | 112.39K | 19999 | 20000 | 19999 | 19999 | 19999 | 20000 | 20000 | -55576 |
| totalNonCurrentAssets | 9.4M | 9.9M | 10.84M | 10.93M | 10.78M | 10.82M | 9.68M | 9.29M | 8.74M | 8.49M |
| otherAssets | - | - | - | - | - | - | - | 144 | - | - |
| totalAssets | 57.58M | 56.58M | 54.38M | 52.72M | 51.9M | 52.85M | 49.1M | 45.71M | 45.59M | 44.13M |
| totalPayables | 4.44M | 6.25M | 5.89M | 6.85M | 6.52M | 4.15M | 3.55M | 3.29M | 2.29M | 2.34M |
| accountPayables | 3.86M | 4.7M | 4.99M | 6.69M | 3.86M | 2.01M | 3.37M | 3.29M | 2.29M | 2.11M |
| otherPayables | 582.25K | 1.55M | 901.16K | 159.23K | 2.66M | 2.14M | 179.94K | - | - | 228.67K |
| accruedExpenses | 591.33K | 1.4M | 1.1M | 1.16M | 789.13K | 1.83M | 3.56M | 2.97M | 3.12M | 2.91M |
| shortTermDebt | 535.43K | - | 692.11K | 678.96K | 682.49K | 649.74K | 649.74K | 649.74K | 649.74K | 649.74K |
| capitalLeaseObligationsCurrent | - | 705.48K | - | - | - | - | - | - | - | - |
| taxPayables | - | - | - | - | - | - | - | - | - | 228.67K |
| deferredRevenue | 1.77M | 2.27M | 3.14M | 4.06M | 4.4M | 4.4M | 5.55M | 5.42M | 5.41M | 5.21M |
| otherCurrentLiabilities | 2.88M | 2.17M | 3.99M | 3.33M | 3.22M | 4.82M | 1.16M | 1.16M | 7.49M | 1.06M |
| totalCurrentLiabilities | 10.22M | 12.8M | 14.81M | 16.08M | 15.61M | 15.86M | 14.47M | 13.48M | 15.84M | 12.16M |
| longTermDebt | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligationsNonCurrent | 5897 | 61515 | 242.08K | 419.2K | 608.84K | 810.58K | 975.18K | 1.14M | 1.3M | 1.46M |
| deferredRevenueNonCurrent | - | - | - | - | - | - | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | 786.65K | 572.68K | - | - | - | - | - | - | - | - |
| otherNonCurrentLiabilities | - | - | - | - | - | - | - | - | - | - |
| totalNonCurrentLiabilities | 792.55K | 634.2K | 242.08K | 419.19K | 608.84K | 810.58K | 975.18K | 1.14M | 1.3M | 1.46M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 5897 | 767K | 242.08K | 419.2K | 608.84K | 810.58K | 975.18K | 1.14M | 1.3M | 1.46M |
| totalLiabilities | 11.01M | 13.44M | 15.05M | 16.5M | 16.22M | 16.67M | 15.45M | 14.62M | 17.13M | 13.62M |
| treasuryStock | -7.55M | -7.55M | -7.55M | - | -4.25M | -1.07M | -382.85K | - | - | - |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M | 2.77M |
| retainedEarnings | 50.79M | 47.61M | 43.92M | 40.71M | 37.11M | 34.43M | 31.21M | 28.27M | 25.63M | 27.68M |
| additionalPaidInCapital | 545.65K | 306.88K | 180.2K | 88525 | 48202 | 48202 | 48202 | 48202 | 48202 | 48202 |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 4.74M | 5.24M | 4.77M | 4.85M | 4.39M | 4.2M | 4.1M | 3.8M | 2.32M | 2.57M |
| depreciationAndAmortization | 405.85K | 392.5K | 532.62K | 202K | 186.82K | 152.11K | 105.33K | 157.21K | 159.18K | 156.41K |
| deferredIncomeTax | 213.97K | - | - | - | - | -720.12K | - | - | - | -579.45K |
| stockBasedCompensation | - | 126.68K | 91677 | - | - | - | - | - | - | - |
| changeInWorkingCapital | -2.58M | 131.53K | -1.87M | -1.38M | -3.8M | 2.69M | 902.52K | 214.33K | -575.15K | 6.62M |
| accountsReceivables | 1.34M | -848.66K | -666.98K | 706.35K | -2.44M | 845.2K | -978.72K | 644.38K | -1.02M | -545.73K |
| inventory | -1.66M | 2.23M | 721.01K | -2.09M | -1.16M | 904K | 351.29K | -1.01M | 72498 | 5M |
| accountsPayables | -837.62K | -295.86K | -1.7M | 2.83M | 1.85M | -2.35M | 810.47K | 853.78K | 586.82K | 848.24K |
| otherWorkingCapital | -1.43M | -956.12K | -218.12K | -2.83M | -2.05M | 3.28M | 719.49K | -270.58K | -212.18K | 1.32M |
| otherNonCashItems | 238.77K | 1.14M | 153.78K | -4.85M | -270.48K | 180.4K | 47805 | 506 | -3.06M | -579.45K |
| netCashProvidedByOperatingActivities | 3.02M | 7.02M | 3.68M | 4.06M | 323.09K | 6.5M | 5.16M | 4.18M | 1.9M | 8.77M |
| investmentsInPropertyPlantAndEquipment | -101.48K | -583.97K | -595.72K | -536.81K | -309.38K | -783.42K | -702.16K | -866.39K | -567.83K | -197.81K |
| acquisitionsNet | - | - | - | - | - | - | - | - | - | - |
| purchasesOfInvestments | - | - | - | - | - | - | - | - | - | 173.12K |
| salesMaturitiesOfInvestments | - | - | - | - | - | - | - | - | - | - |
| otherInvestingActivities | - | -3500 | - | - | - | - | - | -3 | - | 438.28K |
| netCashProvidedByInvestingActivities | -101.48K | -587.47K | -595.72K | -533.31K | -309.38K | -783.42K | -702.16K | -866.4K | -567.83K | 413.59K |
| netDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| longTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| shortTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| netStockIssuance | - | - | -198.71K | - | -3.18M | -689.18K | -382.85K | - | - | - |
| netCommonStockIssuance | - | - | -198.71K | - | -3.18M | -689.18K | -382.85K | - | - | - |
| commonStockIssuance | - | - | - | - | - | - | - | - | - | - |
| commonStockRepurchased | - | - | -198.71K | - | -3.18M | -689.18K | -382.85K | - | - | - |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | - | - |
| netDividendsPaid | -1.55M | -1.56M | -1.25M | -1.26M | -1.16M | -1.16M | -1.16M | -4.37M | -1.06M | -1.06M |
| commonDividendsPaid | -1.55M | -1.56M | -1.25M | -1.26M | -1.16M | -1.16M | -1.16M | -4.37M | -1.06M | -1.06M |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | - | - | - | - | - | - | - | - | - | - |
| netCashProvidedByFinancingActivities | -1.55M | -1.56M | -1.45M | -4.36M | -4.34M | -1.85M | -1.55M | -4.37M | -1.06M | -1.06M |