$0.02 (9.89%)
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 |
|---|---|---|---|---|
| revenue | 173.61M | 205.42M | 193.54M | 174.16M |
| costOfRevenue | 46.32M | 49.37M | 56.24M | 59.33M |
| grossProfit | 127.28M | 156.05M | 137.3M | 114.83M |
| researchAndDevelopmentExpenses | - | - | - | - |
| generalAndAdministrativeExpenses | 59.8M | 70.69M | 66.24M | 93.48M |
| sellingAndMarketingExpenses | - | - | - | - |
| sellingGeneralAndAdministrativeExpenses | 59.8M | 70.69M | 66.24M | 93.48M |
| otherExpenses | - | 15.06M | 409.03K | 1.23M |
| operatingExpenses | 59.8M | 85.75M | 66.64M | 94.72M |
| costAndExpenses | 106.12M | 135.11M | 122.88M | 154.04M |
| netInterestIncome | 37732 | -8357 | 41456 | 440.94K |
| interestIncome | 198.32K | 19943 | 86748 | 472.38K |
| interestExpense | 160.58K | 28300 | 45292 | 31441 |
| depreciationAndAmortization | 2.68M | 3.8M | 12.25M | 5.93M |
| ebitda | 84.91M | 77.28M | 85.87M | 29.64M |
| ebit | 82.23M | 73.48M | 73.62M | 23.71M |
| nonOperatingIncomeExcludingInterest | -14.74M | -3.18M | -2.96M | -3.59M |
| operatingIncome | 67.49M | 70.3M | 70.66M | 20.12M |
| totalOtherIncomeExpensesNet | 14.58M | 3.15M | 2.92M | 3.56M |
| incomeBeforeTax | 82.07M | 73.46M | 73.58M | 23.68M |
| incomeTaxExpense | 31.02M | 26.77M | 35.02M | 18.12M |
| netIncomeFromContinuingOperations | 51.05M | 46.69M | 38.56M | 5.55M |
| netIncomeFromDiscontinuedOperations | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - |
| netIncome | 50.99M | 46.61M | 39.37M | 6.32M |
| netIncomeDeductions | - | - | - | - |
| bottomLineNetIncome | 50.99M | 46.61M | 39.37M | 552.81K |
| eps | 0.5 | 0.48 | 0.42 | 0.04 |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 |
|---|---|---|---|---|
| cashAndCashEquivalents | 163.77M | 125.04M | 103.02M | 51.74M |
| shortTermInvestments | 319.19K | - | - | 1.91M |
| cashAndShortTermInvestments | 164.09M | 125.04M | 103.02M | 53.64M |
| netReceivables | 53.1M | 48.19M | 53.13M | 43.65M |
| accountsReceivables | 29.9M | 30.26M | 36.11M | 13.09M |
| otherReceivables | 23.2M | 17.93M | 17.02M | 30.55M |
| inventory | 2.79M | 1.49M | 3.09M | 1.35M |
| prepaids | 11.11M | 9.69M | 6.5M | 14.27M |
| otherCurrentAssets | 127.18K | 25536 | 162.12K | 37228 |
| totalCurrentAssets | 231.22M | 184.45M | 165.91M | 112.95M |
| propertyPlantEquipmentNet | 16.36M | 14.04M | 19.5M | 21.51M |
| goodwill | 15.43M | 4.61M | 3.59M | 3.87M |
| intangibleAssets | 47.74M | 1.59M | 19.74M | 7.27M |
| goodwillAndIntangibleAssets | 63.17M | 6.2M | 23.33M | 11.14M |
| longTermInvestments | 58.02M | 20.87M | 20.66M | 916.03K |
| taxAssets | 4.01M | 9.8M | - | 5.27M |
| otherNonCurrentAssets | 7.66M | 30.72M | 29.41M | 73.7M |
| totalNonCurrentAssets | 149.22M | 81.63M | 92.9M | 112.53M |
| otherAssets | - | - | - | - |
| totalAssets | 380.45M | 266.08M | 258.81M | 225.48M |
| totalPayables | 26.46M | 43.94M | 59.07M | 37.37M |
| accountPayables | 17.64M | 14.53M | 26.53M | 15.32M |
| otherPayables | 8.82M | 29.4M | 32.54M | 22.05M |
| accruedExpenses | - | - | - | - |
| shortTermDebt | 9.1M | 123.08K | 3.53M | 4.76M |
| capitalLeaseObligationsCurrent | 4.55M | 4.34M | 3.89M | 3.48M |
| taxPayables | - | 23.41M | 22.69M | 11.54M |
| deferredRevenue | 9.47M | 12.56M | 25.13M | 30.44M |
| otherCurrentLiabilities | 11.54M | 227.89K | 832.52K | 25.2M |
| totalCurrentLiabilities | 61.12M | 61.19M | 92.45M | 101.25M |
| longTermDebt | 33.73M | 6.51M | 13.01M | 5.53M |
| capitalLeaseObligationsNonCurrent | 4.25M | 1.24M | 2.44M | 2.36M |
| deferredRevenueNonCurrent | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | 16.37M | 926.02K | 6.01M | 7.34M |
| otherNonCurrentLiabilities | 1.66M | 1.19M | 1.07M | 1.15M |
| totalNonCurrentLiabilities | 56.02M | 9.87M | 22.54M | 16.38M |
| otherLiabilities | - | - | - | - |
| capitalLeaseObligations | 8.8M | 5.58M | 6.33M | 5.84M |
| totalLiabilities | 117.14M | 71.06M | 115M | 117.63M |
| treasuryStock | -7.75M | -2.7M | - | - |
| preferredStock | - | - | - | - |
| commonStock | 10388 | 10302 | 9419 | 118.71M |
| retainedEarnings | 240.45M | 189.46M | 142.85M | 103.48M |
| additionalPaidInCapital | 72.87M | 62.51M | 36.88M | 26.62M |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 |
|---|---|---|---|---|
| netIncome | 50.99M | 46.61M | 38.56M | 5.55M |
| depreciationAndAmortization | 2.68M | 3.8M | 12.25M | 5.93M |
| deferredIncomeTax | 5.33M | -14.42M | 4.11M | -3.9M |
| stockBasedCompensation | - | - | - | - |
| changeInWorkingCapital | -12.28M | -12.13M | -7.65M | -10.59M |
| accountsReceivables | 4.47M | 13.1M | -6.01M | -9.6M |
| inventory | -170.17K | 1.12M | -1.83M | -666.64K |
| accountsPayables | 2.67M | -8.91M | 12.2M | 172.61K |
| otherWorkingCapital | -19.24M | -17.45M | -12.02M | -493.08K |
| otherNonCashItems | -7.79M | 31.47M | 3.4M | 2.96M |
| netCashProvidedByOperatingActivities | 38.92M | 55.34M | 50.67M | -47369 |
| investmentsInPropertyPlantAndEquipment | -2.79M | -3.41M | -9.52M | -24.95M |
| acquisitionsNet | -15.46M | -5.07M | 722.55K | -6.49M |
| purchasesOfInvestments | -21.05M | -331.5K | -2.13M | -2.65M |
| salesMaturitiesOfInvestments | - | - | 4.13M | - |
| otherInvestingActivities | 18.34M | -1.29M | 8.6M | 1.43M |
| netCashProvidedByInvestingActivities | -20.97M | -10.1M | 1.79M | -32.65M |
| netDebtIssuance | 18.83M | -23.53M | 3.58M | -5.08M |
| longTermNetDebtIssuance | 33.08M | 11.23M | 3.58M | -5.08M |
| shortTermNetDebtIssuance | -14.25M | -34.76M | - | - |
| netStockIssuance | -5M | 31374 | 10 | - |
| netCommonStockIssuance | -5M | 31374 | 10 | - |
| commonStockIssuance | - | 31374 | 10 | - |
| commonStockRepurchased | -5M | - | - | - |
| netPreferredStockIssuance | - | - | - | - |
| netDividendsPaid | - | - | - | - |
| commonDividendsPaid | - | - | - | - |
| preferredDividendsPaid | - | - | - | - |
| otherFinancingActivities | 10.21M | 11.71M | 2.56M | -2.89M |
| netCashProvidedByFinancingActivities | 24.04M | -11.79M | 6.14M | -7.98M |
| 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 | 43.06M | 39.57M | 43.35M | 43.36M | 47.33M | 44.42M | 53.08M | 53.1M | 54.81M | 62.35M |
| costOfRevenue | 12.71M | 10.64M | 12.74M | 13.35M | 9.6M | 10.55M | 9.85M | 13.68M | 15.29M | 18.98M |
| grossProfit | 30.35M | 28.93M | 30.61M | 30.01M | 37.73M | 33.87M | 43.24M | 39.42M | 39.52M | 43.37M |
| researchAndDevelopmentExpenses | - | - | - | - | - | - | - | - | - | - |
| generalAndAdministrativeExpenses | 11.67M | 20.59M | 13.65M | 13.42M | 12.14M | 14.1M | 29.4M | 11.5M | 13.28M | 19.35M |
| sellingAndMarketingExpenses | 567.35K | -1.96M | 300.68K | 973.93K | 682.17K | - | - | 223.09K | 711.63K | - |
| sellingGeneralAndAdministrativeExpenses | 12.23M | 18.63M | 13.95M | 14.39M | 12.82M | 14.1M | 29.4M | 11.72M | 13.99M | 19.35M |
| otherExpenses | 392.9K | -2.55M | 781.19K | 1.06M | 706.87K | 15.06M | 836.54K | 407.93K | 1.07M | 28264 |
| operatingExpenses | 12.63M | 16.08M | 14.73M | 15.46M | 13.53M | 29.16M | 29.4M | 12.13M | 15.06M | 19.38M |
| costAndExpenses | 25.34M | 26.72M | 27.47M | 28.8M | 23.13M | 39.7M | 39.25M | 25.81M | 30.35M | 38.36M |
| netInterestIncome | 6563 | -56374 | 71749 | -26769 | 49126 | -12402 | 2484 | 4220 | 14681 | -7509 |
| interestIncome | 121.37K | -284 | 120.38K | 22882 | 55333 | - | 7950 | 11644 | 17689 | 403 |
| interestExpense | 114.81K | 56090 | 48635 | 49651 | 6207 | 12402 | 5466 | 7424 | 3008 | 7912 |
| depreciationAndAmortization | 670.43K | 673.68K | 746.21K | 636.1K | 628.3K | 931.6K | 1.02M | 830.94K | 1.02M | 2.56M |
| ebitda | 19.64M | 19.3M | 19.3M | 14.23M | 32.09M | 7M | 14.13M | 27.92M | 28.22M | 26.13M |
| ebit | 18.97M | 18.62M | 18.56M | 13.59M | 31.46M | 6.07M | 13.11M | 27.09M | 27.21M | 23.57M |
| nonOperatingIncomeExcludingInterest | -1.25M | -5.77M | -2.67M | 964.18K | -7.26M | -1.35M | 721.29K | 196.7K | -2.74M | 416.27K |
| operatingIncome | 17.72M | 12.85M | 15.88M | 14.55M | 24.2M | 4.72M | 13.84M | 27.29M | 24.46M | 23.99M |
| totalOtherIncomeExpensesNet | 1.14M | 5.72M | 2.63M | -1.01M | 7.25M | 1.34M | -727K | -204.12K | 2.74M | -424.18K |
| incomeBeforeTax | 18.86M | 18.57M | 18.51M | 13.54M | 31.45M | 6.06M | 13.11M | 27.09M | 27.2M | 23.57M |
| incomeTaxExpense | 7.53M | 4.29M | 5.67M | 11.1M | 9.96M | -489K | 10.27M | 8.53M | 8.45M | 9.34M |
| netIncomeFromContinuingOperations | 11.33M | 14.28M | 12.83M | 2.44M | 21.49M | 6.55M | 2.83M | 18.56M | 18.75M | 14.23M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 11.31M | 14.2M | 12.82M | 2.46M | 21.5M | 6.54M | 2.83M | 18.48M | 18.76M | 14.34M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 11.31M | 14.2M | 12.82M | 2.46M | 21.5M | 6.54M | 2.83M | 18.48M | 18.76M | 14.34M |
| eps | 0.11 | 0.14 | 0.12 | 0.02 | 0.21 | 0.06 | 0.03 | 0.44 | -0.05 | -0.04 |
| 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 | 167.31M | 163.77M | 127.43M | 152.74M | 132.06M | 125.04M | 137.39M | 1.38M | 1.66M | 103.02M |
| shortTermInvestments | 313.86K | 319.19K | - | - | - | - | - | - | - | - |
| cashAndShortTermInvestments | 167.31M | 164.09M | 127.43M | 152.74M | 132.06M | 125.04M | 137.39M | 1.38M | 1.66M | 103.02M |
| netReceivables | 58.36M | 53.1M | 83.83M | 73.2M | 67.02M | 48.19M | 55.43M | - | - | 53.13M |
| accountsReceivables | 36.76M | 29.9M | 61.19M | 51.27M | 32.19M | 30.26M | 29.78M | - | - | 36.11M |
| otherReceivables | 21.59M | 23.2M | 22.64M | 21.93M | 34.83M | 17.93M | 25.65M | - | - | 17.02M |
| inventory | 2.32M | 2.79M | 1.68M | 1.71M | 1.69M | 1.49M | 1.99M | - | - | 3.09M |
| prepaids | 10.05M | 11.11M | 13.77M | 13.44M | 13.9M | 9.69M | 6.97M | 59253 | 109.65K | 6.5M |
| otherCurrentAssets | 746.44K | 127.18K | 498.52K | 249.51K | 428.73K | 25536 | 323.27K | - | - | 162.12K |
| totalCurrentAssets | 238.78M | 231.22M | 227.2M | 241.34M | 215.1M | 184.45M | 202.1M | 1.44M | 1.77M | 165.91M |
| propertyPlantEquipmentNet | 18.76M | 16.36M | 12.36M | 13.16M | 14.2M | 14.04M | 18.45M | - | - | 19.5M |
| goodwill | 15.4M | 15.43M | 4.92M | 5.01M | 4.78M | 4.61M | 3.55M | - | - | 3.59M |
| intangibleAssets | 47.15M | 47.74M | 23.87M | 2.12M | 1.54M | 1.59M | 16.22M | - | - | 19.74M |
| goodwillAndIntangibleAssets | 62.55M | 63.17M | 28.8M | 7.13M | 6.32M | 6.2M | 19.76M | - | - | 23.33M |
| longTermInvestments | 55.54M | 39.45M | 23.48M | 22.97M | 22.4M | 20.87M | 24.47M | 18.08M | 17.98M | 20.66M |
| taxAssets | 4.98M | 4.01M | 607.73K | 2.34M | 2.51M | 9.8M | 624.56K | - | - | - |
| otherNonCurrentAssets | 7.41M | 26.23M | 28.92M | 28.35M | 24.08M | 30.72M | 31.08M | - | - | 29.41M |
| totalNonCurrentAssets | 149.24M | 149.22M | 94.16M | 73.96M | 69.51M | 81.63M | 94.38M | 18.08M | 17.98M | 92.9M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 388.02M | 380.45M | 321.36M | 315.3M | 284.61M | 266.08M | 296.48M | 19.53M | 19.75M | 258.81M |
| totalPayables | 28.9M | 35.27M | 28.13M | 42.61M | 31.94M | 43.94M | 37.68M | 2039 | 56532 | 59.07M |
| accountPayables | 19.7M | 17.64M | 20.1M | 19.54M | 19M | 14.53M | 14.87M | - | - | 26.53M |
| otherPayables | 9.21M | 17.63M | 8.03M | 23.07M | 12.94M | 29.4M | 22.81M | 2039 | 56532 | 32.54M |
| accruedExpenses | - | - | - | - | - | - | - | - | - | - |
| shortTermDebt | 14.63M | 9.1M | 4.68M | 3.34M | 1.49M | 123.08K | 10.34M | 2.7M | 2.7M | 3.53M |
| capitalLeaseObligationsCurrent | - | 4.55M | 3.69M | 3.79M | 4.29M | 4.34M | 4.06M | - | - | 3.89M |
| taxPayables | 1.17M | - | - | 16.25M | - | 23.41M | 15.91M | - | - | 22.69M |
| deferredRevenue | 1.01M | 6.77M | 7.99M | 10.85M | 10.68M | 12.56M | 19.56M | - | - | 25.13M |
| otherCurrentLiabilities | 18.03M | 5.43M | 91771 | 101.27K | 71065 | 227.89K | 778.13K | 1.78M | 1.64M | 832.52K |
| totalCurrentLiabilities | 62.57M | 61.12M | 44.58M | 60.68M | 48.47M | 61.19M | 72.42M | 4.48M | 4.4M | 92.45M |
| longTermDebt | 31.45M | 33.73M | 18.08M | 7.03M | 6.81M | 6.51M | 12.35M | - | - | 13.01M |
| capitalLeaseObligationsNonCurrent | 5.83M | 4.25M | 1.7M | 1.37M | 1.51M | 1.24M | 1.53M | - | - | 2.44M |
| deferredRevenueNonCurrent | - | - | - | - | - | - | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | 16.22M | 16.37M | 7.77M | 353.52K | 346.43K | 926.02K | 3.52M | - | - | 6.01M |
| otherNonCurrentLiabilities | 1.58M | 1.66M | 1.17M | 1.21M | 1.15M | 1.19M | 1.15M | 4.02M | 4.02M | 1.07M |
| totalNonCurrentLiabilities | 55.07M | 56.02M | 28.72M | 9.97M | 9.82M | 9.87M | 18.54M | 4.02M | 4.02M | 22.54M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 5.83M | 8.8M | 5.39M | 5.16M | 5.8M | 5.58M | 5.59M | - | - | 6.33M |
| totalLiabilities | 117.64M | 117.14M | 73.3M | 70.65M | 58.28M | 71.06M | 90.96M | 8.51M | 8.43M | 115M |
| treasuryStock | -7.75M | -7.75M | -7.75M | -5.12M | -2.7M | -2.7M | -2.7M | - | - | - |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 10388 | 10388 | 10388 | 10388 | 10388 | 10302 | 10302 | 2.19M | 2.31M | 9419 |
| retainedEarnings | 251.76M | 240.45M | 226.25M | 213.42M | 210.97M | 189.46M | 182.92M | -6.6M | -6.29M | 142.85M |
| additionalPaidInCapital | 72.87M | 72.87M | 72.2M | 72.2M | 62.51M | 62.51M | 60.83M | 15.43M | 15.31M | 36.88M |
| 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 | 11.31M | 14.2M | 12.82M | 2.46M | 21.5M | 6.55M | 2.83M | 18.56M | 18.75M | 14.23M |
| depreciationAndAmortization | 670.43K | 673.68K | 714.75K | 605.23K | 618.25K | 931.6K | 1.02M | 830.94K | 1.02M | 2.56M |
| deferredIncomeTax | -1.09M | -3.78M | 1.65M | 436.76K | 7.02M | -12.26M | -2.15M | -2.96M | -360.58K | 5.49M |
| stockBasedCompensation | - | - | - | - | - | 215.24K | - | - | - | - |
| changeInWorkingCapital | -3.15M | 56.61M | -35.84M | -13.45M | -19.6M | -20.27M | -12.78M | 1.88M | -14.06M | 4.65M |
| accountsReceivables | -3.91M | 30.66M | -9.96M | -17.51M | 1.28M | -494.83K | - | 3.75M | 6.44M | -2.35M |
| inventory | 442.64K | -435.23K | 983.02K | -593.69K | -124.28K | 361.73K | - | 596.72K | -34802 | 2.21M |
| accountsPayables | 2.37M | -2.03M | 1.07M | -55416 | 3.68M | 1.61M | - | -23121 | -8.94M | 5.49M |
| otherWorkingCapital | -2.05M | 28.41M | -27.94M | 4.71M | -24.43M | -21.75M | -12.78M | -2.44M | -11.52M | -707.07K |
| otherNonCashItems | 1.49M | -1.49M | -233.36K | 1.61M | -7.61M | 17.54M | 53.89M | 888.14K | -1.67M | 961.42K |
| netCashProvidedByOperatingActivities | 9.23M | 66.22M | -20.88M | -8.34M | 1.93M | -7.3M | 42.81M | 19.19M | 3.68M | 27.89M |
| investmentsInPropertyPlantAndEquipment | -548.86K | -1.35M | -176.27K | -510.8K | -754.98K | -590.36K | -2.82M | -863.05K | -702.28K | -6.81M |
| acquisitionsNet | - | -3.36M | -13.83M | 1.4M | 323.42K | -4.25M | -813.85K | 1971 | -815.82K | - |
| purchasesOfInvestments | - | -19.97M | -1515 | -441.66K | -635.14K | - | -331.5K | - | - | 26780 |
| salesMaturitiesOfInvestments | - | - | - | - | - | - | -3.26M | - | - | 1448 |
| otherInvestingActivities | 20840 | 470.59K | 1.85M | 15.92M | 87897 | 294.59K | -1.59M | -5.15M | -1.88M | -58493 |
| netCashProvidedByInvestingActivities | -528.02K | -24.21M | -12.16M | 16.38M | -978.81K | -4.55M | -8.81M | -6.01M | -3.39M | -6.84M |
| netDebtIssuance | -1.82M | 4.7M | 14.2M | -17330 | -56926 | 12.06M | -15.88M | -28863 | -30354 | -39480 |
| longTermNetDebtIssuance | -1.82M | 18.95M | 14.2M | -17330 | -56926 | 12.06M | -154.75K | -28863 | -30354 | -39480 |
| shortTermNetDebtIssuance | - | -14.25M | - | - | - | - | -15.73M | - | - | - |
| netStockIssuance | - | - | -2.58M | -2.42M | - | - | 31374 | - | - | - |
| netCommonStockIssuance | - | - | -2.58M | -2.42M | - | - | 31374 | - | - | - |
| commonStockIssuance | - | - | - | - | - | - | 31374 | - | - | - |
| commonStockRepurchased | - | - | -2.58M | -2.42M | - | - | - | - | - | - |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | - | - |
| netDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| commonDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | -22657 | 867.78K | -51345 | 9.61M | -223.45K | -674.11K | 14.67M | -40251 | -9873 | -87741 |
| netCashProvidedByFinancingActivities | -1.84M | 5.57M | 11.57M | 7.18M | -280.38K | 11.38M | -1.18M | -69114 | -40227 | -127.22K |