Organization record
TUNGRAY TECHNOLOGIES INC
All evidence-backed facts for this organization, identity resolved across official registers.
Facts on record
Newest first; every row links to its evidence page.
| Fact | Value | Period | Source |
|---|---|---|---|
| accounts_payable | {"amount": 1857160, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_payable | {"amount": 1359244, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_payable | {"amount": 1048271, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_payable | {"amount": 1100647, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 319589, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_receivable | {"amount": 104743, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| capex | {"amount": 799279, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2025-12-31 | sec_edgar |
| capex | {"amount": 450637, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2024-12-31 | sec_edgar |
| capex | {"amount": 43254, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2023-12-31 | sec_edgar |
| capex | {"amount": 145699, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-12-31 | sec_edgar |
| capex | {"amount": 206345, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 6624600, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 8968814, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 10802405, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6643729, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2025-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 9472358, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2024-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 10802405, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2023-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 13130296, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2022-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 11336548, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2021-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6096358, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2020-12-31 | sec_edgar |
| cashflow_financing | {"amount": 1307862, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2025-12-31 | sec_edgar |
| cashflow_financing | {"amount": 2792522, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2024-12-31 | sec_edgar |
| cashflow_financing | {"amount": -2805308, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2023-12-31 | sec_edgar |
| cashflow_financing | {"amount": -1397286, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2022-12-31 | sec_edgar |
| cashflow_financing | {"amount": -13421, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2021-12-31 | sec_edgar |
| cashflow_investing | {"amount": -1643466, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2025-12-31 | sec_edgar |
| cashflow_investing | {"amount": -2784052, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2024-12-31 | sec_edgar |
| cashflow_investing | {"amount": -81745, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2023-12-31 | sec_edgar |
| cashflow_investing | {"amount": -104120, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2022-12-31 | sec_edgar |
| cashflow_investing | {"amount": -1013595, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2021-12-31 | sec_edgar |
| cashflow_operating | {"amount": -3046678, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2025-12-31 | sec_edgar |
| cashflow_operating | {"amount": -811889, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2024-12-31 | sec_edgar |
| cashflow_operating | {"amount": 451021, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2023-12-31 | sec_edgar |
| cashflow_operating | {"amount": 3638067, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2022-12-31 | sec_edgar |
| cashflow_operating | {"amount": 5986326, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2021-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 8450553, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2025-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 7212706, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2024-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 7651593, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2023-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 7067421, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2022-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 8209516, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2021-12-31 | sec_edgar |
| current_assets | {"amount": 18699634, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| current_assets | {"amount": 19770427, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| current_assets | {"amount": 18528704, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| current_assets | {"amount": 17859585, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| current_liabilities | {"amount": 9646816, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| current_liabilities | {"amount": 10603371, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| current_liabilities | {"amount": 9034462, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| current_liabilities | {"amount": 8326001, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.06, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2023-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.19, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2022-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.29, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2021-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.06, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2023-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.19, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2022-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.29, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2021-12-31 | sec_edgar |
| gross_profit | {"amount": 7173155, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2025-12-31 | sec_edgar |
| gross_profit | {"amount": 5597543, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2024-12-31 | sec_edgar |
| gross_profit | {"amount": 6710909, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2023-12-31 | sec_edgar |
| gross_profit | {"amount": 9266979, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2022-12-31 | sec_edgar |
| gross_profit | {"amount": 9258600, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2021-12-31 | sec_edgar |
| income_tax_expense | {"amount": 131119, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2025-12-31 | sec_edgar |
| income_tax_expense | {"amount": 278082, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2024-12-31 | sec_edgar |
| income_tax_expense | {"amount": -537881, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2023-12-31 | sec_edgar |
| income_tax_expense | {"amount": -628534, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2022-12-31 | sec_edgar |
| income_tax_expense | {"amount": 709029, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2021-12-31 | sec_edgar |
| industry_sic | {"code": "3530", "scheme": "SIC", "description": "Construction, Mining & Materials Handlin | sec_edgar | |
| intangible_assets | {"amount": 241831, "concept": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "currency": | 2025-12-31 | sec_edgar |
| intangible_assets | {"amount": 59148, "concept": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "currency": " | 2024-12-31 | sec_edgar |
| intangible_assets | {"amount": 0, "concept": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "currency": "USD" | 2023-12-31 | sec_edgar |
| intangible_assets | {"amount": 33944, "concept": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "currency": " | 2022-12-31 | sec_edgar |
| inventory | {"amount": 3350016, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2025-12-31 | sec_edgar |
| inventory | {"amount": 2206329, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2024-12-31 | sec_edgar |
| inventory | {"amount": 2283809, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2023-12-31 | sec_edgar |
| inventory | {"amount": 1404669, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2022-12-31 | sec_edgar |
| net_income | {"amount": -170277, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2025-12-31 | sec_edgar |
| net_income | {"amount": -571717, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2024-12-31 | sec_edgar |
| net_income | {"amount": 756761, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2023-12-31 | sec_edgar |
| net_income | {"amount": 2851467, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2022-12-31 | sec_edgar |
| net_income | {"amount": 4297846, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2021-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 10812609, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 10137476, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 8521640, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| operating_expenses | {"amount": 7414963, "concept": "us-gaap:OperatingExpenses", "currency": "USD"} | 2025-12-31 | sec_edgar |
| operating_expenses | {"amount": 6253643, "concept": "us-gaap:OperatingExpenses", "currency": "USD"} | 2024-12-31 | sec_edgar |
| operating_expenses | {"amount": 5611234, "concept": "us-gaap:OperatingExpenses", "currency": "USD"} | 2023-12-31 | sec_edgar |
| operating_expenses | {"amount": 5984031, "concept": "us-gaap:OperatingExpenses", "currency": "USD"} | 2022-12-31 | sec_edgar |
| operating_expenses | {"amount": 4378376, "concept": "us-gaap:OperatingExpenses", "currency": "USD"} | 2021-12-31 | sec_edgar |
| operating_income | {"amount": -241808, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2025-12-31 | sec_edgar |
| operating_income | {"amount": -656100, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2024-12-31 | sec_edgar |
| operating_income | {"amount": 1099675, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2023-12-31 | sec_edgar |
| operating_income | {"amount": 3282948, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2022-12-31 | sec_edgar |
| operating_income | {"amount": 4880224, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2021-12-31 | sec_edgar |
| operating_lease_liability | {"amount": 927128, "concept": "us-gaap:OperatingLeaseLiability", "currency": "USD"} | 2025-12-31 | sec_edgar |
| operating_lease_liability | {"amount": 1359595, "concept": "us-gaap:OperatingLeaseLiability", "currency": "USD"} | 2024-12-31 | sec_edgar |
| ppe_net | {"amount": 7133587, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2025-12-31 | sec_edgar |
| ppe_net | {"amount": 6173176, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2024-12-31 | sec_edgar |
| ppe_net | {"amount": 6326369, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2023-12-31 | sec_edgar |
| ppe_net | {"amount": 6450104, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2022-12-31 | sec_edgar |
| pretax_income | {"amount": -39158, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxes | 2025-12-31 | sec_edgar |
| pretax_income | {"amount": -293635, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2024-12-31 | sec_edgar |
| pretax_income | {"amount": 1294642, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2023-12-31 | sec_edgar |
| pretax_income | {"amount": 3469668, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2022-12-31 | sec_edgar |
| pretax_income | {"amount": 5005596, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2021-12-31 | sec_edgar |
| profit_loss | {"amount": -170277, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2025-12-31 | sec_edgar |
| profit_loss | {"amount": -571717, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2024-12-31 | sec_edgar |
| profit_loss | {"amount": 756761, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2023-12-31 | sec_edgar |
| profit_loss | {"amount": 2841134, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2022-12-31 | sec_edgar |
| profit_loss | {"amount": 4296567, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2021-12-31 | sec_edgar |
| retained_earnings | {"amount": 15037127, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": | 2025-12-31 | sec_edgar |
| retained_earnings | {"amount": 15050543, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": | 2024-12-31 | sec_edgar |
| retained_earnings | {"amount": 15530562, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": | 2023-12-31 | sec_edgar |
| retained_earnings | {"amount": 14682363, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": | 2022-12-31 | sec_edgar |
| revenue | {"amount": 15623708, "concept": "us-gaap:Revenues", "currency": "USD"} | 2025-12-31 | sec_edgar |
| revenue | {"amount": 12810249, "concept": "us-gaap:Revenues", "currency": "USD"} | 2024-12-31 | sec_edgar |
| revenue | {"amount": 14362502, "concept": "us-gaap:Revenues", "currency": "USD"} | 2023-12-31 | sec_edgar |
| revenue | {"amount": 16334400, "concept": "us-gaap:Revenues", "currency": "USD"} | 2022-12-31 | sec_edgar |
| revenue | {"amount": 17468116, "concept": "us-gaap:Revenues", "currency": "USD"} | 2021-12-31 | sec_edgar |
| rnd_expense | {"amount": 975055, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2025-12-31 | sec_edgar |
| rnd_expense | {"amount": 1063210, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2024-12-31 | sec_edgar |
| rnd_expense | {"amount": 791762, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2023-12-31 | sec_edgar |
| rnd_expense | {"amount": 829211, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2022-12-31 | sec_edgar |
| rnd_expense | {"amount": 669358, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2021-12-31 | sec_edgar |
| sga_expense | {"amount": 5482336, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2025-12-31 | sec_edgar |
| sga_expense | {"amount": 4594438, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2024-12-31 | sec_edgar |
| sga_expense | {"amount": 4397603, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2023-12-31 | sec_edgar |
| sga_expense | {"amount": 4540771, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2022-12-31 | sec_edgar |
| sga_expense | {"amount": 3318365, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2021-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 15000000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2023-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 15000000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2022-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 15000000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2021-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 15000000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2023-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 15000000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2022-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 15000000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2021-12-31 | sec_edgar |
| stockholders_equity | {"amount": 18034522, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2025-12-31 | sec_edgar |
| stockholders_equity | {"amount": 17260277, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2024-12-31 | sec_edgar |
| stockholders_equity | {"amount": 15714440, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2023-12-31 | sec_edgar |
| stockholders_equity | {"amount": 14843680, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2022-12-31 | sec_edgar |
| total_assets | {"amount": 29512243, "concept": "us-gaap:Assets", "currency": "USD"} | 2025-12-31 | sec_edgar |
| total_assets | {"amount": 29907903, "concept": "us-gaap:Assets", "currency": "USD"} | 2024-12-31 | sec_edgar |
| total_assets | {"amount": 27050344, "concept": "us-gaap:Assets", "currency": "USD"} | 2023-12-31 | sec_edgar |
| total_assets | {"amount": 26032830, "concept": "us-gaap:Assets", "currency": "USD"} | 2022-12-31 | sec_edgar |
| total_equity | {"amount": 18369305, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2025-12-31 | sec_edgar |
| total_equity | {"amount": 17423876, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2024-12-31 | sec_edgar |
| total_equity | {"amount": 15714440, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2023-12-31 | sec_edgar |
| total_equity | {"amount": 14843680, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2022-12-31 | sec_edgar |
| total_equity | {"amount": 12222952, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2021-12-31 | sec_edgar |
| total_equity | {"amount": 7731166, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToNo | 2020-12-31 | sec_edgar |
| total_liabilities | {"amount": 11477721, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2025-12-31 | sec_edgar |
| total_liabilities | {"amount": 12647626, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2024-12-31 | sec_edgar |
| total_liabilities | {"amount": 11335904, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2023-12-31 | sec_edgar |
| total_liabilities | {"amount": 11189150, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2022-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 29512243, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2025-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 29907903, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2024-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 27050344, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2023-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 26032830, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2022-12-31 | sec_edgar |
| xbrl:AccountsAndFinancingReceivableAllowanceForCreditLoss | {"amount": 548827, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsAndFinancingReceivableAllowanceForCreditLoss | {"amount": 534562, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsAndFinancingReceivableAllowanceForCreditLoss | {"amount": 472293, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsAndFinancingReceivableAllowanceForCreditLoss | {"amount": 303311, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccountsAndFinancingReceivableAllowanceForCreditLoss | {"amount": 310968, "currency": "USD"} | 2021-12-31 | sec_edgar |
| xbrl:AccountsAndFinancingReceivableAllowanceForCreditLoss | {"amount": 190777, "currency": "USD"} | 2020-12-31 | sec_edgar |
| xbrl:AccountsAndNotesReceivableNet | {"amount": 3482173, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsAndNotesReceivableNet | {"amount": 2393902, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsAndNotesReceivableNet | {"amount": 3574739, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsAndOtherReceivablesNetCurrent | {"amount": 82483, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsAndOtherReceivablesNetCurrent | {"amount": 327556, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsAndOtherReceivablesNetCurrent | {"amount": 319589, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsNotesAndLoansReceivableNetCurrent | {"amount": 3482173, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsNotesAndLoansReceivableNetCurrent | {"amount": 2393902, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsNotesAndLoansReceivableNetCurrent | {"amount": 3574739, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsNotesAndLoansReceivableNetCurrent | {"amount": 2420150, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrent | {"amount": 1911266, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrent | {"amount": 1450005, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrent | {"amount": 1289941, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrent | {"amount": 993036, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccountsPayableCurrent | {"amount": 1857160, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsPayableCurrent | {"amount": 1359244, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsPayableCurrent | {"amount": 1048271, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsPayableCurrent | {"amount": 1100647, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccountsReceivableGrossCurrent | {"amount": 3699045, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsReceivableGrossCurrent | {"amount": 2605556, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsReceivableGrossCurrent | {"amount": 3960409, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsReceivableGrossCurrent | {"amount": 2423055, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccountsReceivableNetCurrent | {"amount": 319589, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsReceivableNetCurrent | {"amount": 104743, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccrualForTaxesOtherThanIncomeTaxesCurrent | {"amount": 55168, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccrualForTaxesOtherThanIncomeTaxesCurrent | {"amount": 40634, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccrualForTaxesOtherThanIncomeTaxesCurrent | {"amount": 32333, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccrualForTaxesOtherThanIncomeTaxesCurrent | {"amount": 49917, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccruedIncomeTaxesCurrent | {"amount": 475584, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccruedIncomeTaxesCurrent | {"amount": 509009, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccruedIncomeTaxesCurrent | {"amount": 991161, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccruedIncomeTaxesCurrent | {"amount": 1188322, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccruedLiabilitiesCurrent | {"amount": 1911266, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccruedLiabilitiesCurrent | {"amount": 1450005, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccruedLiabilitiesCurrent | {"amount": 1289941, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccruedLiabilitiesCurrent | {"amount": 993036, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment | {"amount": 2985971, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment | {"amount": 2609056, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment | {"amount": 2396125, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment | {"amount": 2141898, "currency": "USD"} | 2022-12-31 | sec_edgar |