CTW Cayman
CIK 0002047148 · QID Q135187635
Industry: Services-Computer Processing & Data Preparation
Time series: Revenue by fiscal year · Net Income by fiscal year
| Fact | Value | Period | Source |
|---|---|---|---|
| accounts_payable | {"amount": 2377279, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| accounts_payable | {"amount": 3321614, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| accounts_receivable | {"amount": 1410083, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| accounts_receivable | {"amount": 1379288, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| capex | {"amount": 584668, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2025-07-31 | sec_edgar |
| capex | {"amount": 710457, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2024-07-31 | sec_edgar |
| capex | {"amount": 134788, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2023-07-31 | sec_edgar |
| cash_and_equivalents | {"amount": 12208630, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-07-31 | sec_edgar |
| cash_and_equivalents | {"amount": 14461251, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-07-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 12369250, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2024-07-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 14594265, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2023-07-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 14992852, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2022-07-31 | sec_edgar |
| cashflow_financing | {"amount": -1112336, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2025-07-31 | sec_edgar |
| cashflow_investing | {"amount": -1180037, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2025-07-31 | sec_edgar |
| cashflow_investing | {"amount": -1173730, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2024-07-31 | sec_edgar |
| cashflow_investing | {"amount": -485236, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2023-07-31 | sec_edgar |
| cashflow_operating | {"amount": 111375, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2025-07-31 | sec_edgar |
| cashflow_operating | {"amount": 1587647, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2024-07-31 | sec_edgar |
| cashflow_operating | {"amount": 2559151, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2023-07-31 | sec_edgar |
| cost_of_revenue | {"amount": 22040054, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2025-07-31 | sec_edgar |
| cost_of_revenue | {"amount": 16211779, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2024-07-31 | sec_edgar |
| cost_of_revenue | {"amount": 17049167, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2023-07-31 | sec_edgar |
| current_assets | {"amount": 18075099, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| current_assets | {"amount": 18158229, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| current_liabilities | {"amount": 8423949, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| current_liabilities | {"amount": 12012879, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.06, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2025-07-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.1, "concept": "us-gaap:EarningsPerShareBasic", "currency": " | 2024-07-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.06, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2023-07-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.06, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2025-07-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.1, "concept": "us-gaap:EarningsPerShareDiluted", "currency": | 2024-07-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.06, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2023-07-31 | sec_edgar |
| income_tax_expense | {"amount": 576766, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2025-07-31 | sec_edgar |
| income_tax_expense | {"amount": 2218588, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2024-07-31 | sec_edgar |
| income_tax_expense | {"amount": 1838174, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2023-07-31 | sec_edgar |
| industry_sic | {"code": "7374", "scheme": "SIC", "description": "Services-Computer Processing & Data Prep | sec_edgar | |
| net_income | {"amount": 3828563, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2025-07-31 | sec_edgar |
| net_income | {"amount": 5977639, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2024-07-31 | sec_edgar |
| net_income | {"amount": 3398384, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2023-07-31 | sec_edgar |
| noncurrent_assets | {"amount": 28427157, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| noncurrent_assets | {"amount": 25784278, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| noncurrent_liabilities | {"amount": 10430250, "concept": "us-gaap:LiabilitiesNoncurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| noncurrent_liabilities | {"amount": 8090174, "concept": "us-gaap:LiabilitiesNoncurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| observed_web_domain | {"via": "wikidata:P856", "domain": "ctw.inc"} | robots_obs | |
| operating_expenses | {"amount": 91435917, "concept": "us-gaap:CostsAndExpenses", "currency": "USD"} | 2025-07-31 | sec_edgar |
| operating_expenses | {"amount": 61768295, "concept": "us-gaap:CostsAndExpenses", "currency": "USD"} | 2024-07-31 | sec_edgar |
| operating_expenses | {"amount": 57355741, "concept": "us-gaap:CostsAndExpenses", "currency": "USD"} | 2023-07-31 | sec_edgar |
| operating_income | {"amount": -1065124, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2025-07-31 | sec_edgar |
| operating_income | {"amount": 6656282, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2024-07-31 | sec_edgar |
| operating_income | {"amount": 5588332, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2023-07-31 | sec_edgar |
| operating_lease_liability | {"amount": 6950415, "concept": "us-gaap:OperatingLeaseLiability", "currency": "USD"} | 2025-07-31 | sec_edgar |
| operating_lease_liability | {"amount": 4547244, "concept": "us-gaap:OperatingLeaseLiability", "currency": "USD"} | 2024-07-31 | sec_edgar |
| ppe_net | {"amount": 1098679, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2025-07-31 | sec_edgar |
| ppe_net | {"amount": 935247, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2024-07-31 | sec_edgar |
| pretax_income | {"amount": 4405329, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2025-07-31 | sec_edgar |
| pretax_income | {"amount": 8196227, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2024-07-31 | sec_edgar |
| pretax_income | {"amount": 5236558, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2023-07-31 | sec_edgar |
| retained_earnings | {"amount": 31862339, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": | 2025-07-31 | sec_edgar |
| retained_earnings | {"amount": 28036036, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": | 2024-07-31 | sec_edgar |
| revenue | {"amount": 90370792, "concept": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedT | 2025-07-31 | sec_edgar |
| revenue | {"amount": 68424577, "concept": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedT | 2024-07-31 | sec_edgar |
| revenue | {"amount": 62944073, "concept": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedT | 2023-07-31 | sec_edgar |
| rnd_expense | {"amount": 5528733, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2025-07-31 | sec_edgar |
| rnd_expense | {"amount": 952440, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2024-07-31 | sec_edgar |
| rnd_expense | {"amount": 2913436, "concept": "us-gaap:ResearchAndDevelopmentExpense", "currency": "USD"} | 2023-07-31 | sec_edgar |
| sga_expense | {"amount": 8479853, "concept": "us-gaap:SellingGeneralAndAdministrativeExpense", "currency | 2025-07-31 | sec_edgar |
| sga_expense | {"amount": 5177570, "concept": "us-gaap:SellingGeneralAndAdministrativeExpense", "currency | 2024-07-31 | sec_edgar |
| sga_expense | {"amount": 4473647, "concept": "us-gaap:SellingGeneralAndAdministrativeExpense", "currency | 2023-07-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 60000000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2025-07-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 60000000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2024-07-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 60000000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2023-07-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 60000000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2025-07-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 60000000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2024-07-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 60000000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2023-07-31 | sec_edgar |
| stockholders_equity | {"amount": 27648057, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2025-07-31 | sec_edgar |
| stockholders_equity | {"amount": 23839454, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2024-07-31 | sec_edgar |
| stockholders_equity | {"amount": 18883327, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2023-07-31 | sec_edgar |
| stockholders_equity | {"amount": 16636785, "concept": "us-gaap:StockholdersEquity", "currency": "USD"} | 2022-07-31 | sec_edgar |
| total_assets | {"amount": 46502256, "concept": "us-gaap:Assets", "currency": "USD"} | 2025-07-31 | sec_edgar |
| total_assets | {"amount": 43942507, "concept": "us-gaap:Assets", "currency": "USD"} | 2024-07-31 | sec_edgar |
| total_liabilities | {"amount": 18854199, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2025-07-31 | sec_edgar |
| total_liabilities | {"amount": 20103053, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2024-07-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 46502256, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2025-07-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 43942507, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2024-07-31 | sec_edgar |
| website | {"qid": "Q135187635", "url": "https://ctw.inc/", "via": "wikidata"} | wikidata | |
| xbrl:AccountsPayableCurrent | {"amount": 2377279, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccountsPayableCurrent | {"amount": 3321614, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AccountsReceivableGrossCurrent | {"amount": 1410083, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccountsReceivableGrossCurrent | {"amount": 1379288, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AccountsReceivableNetCurrent | {"amount": 1410083, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccountsReceivableNetCurrent | {"amount": 1379288, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AccruedLiabilitiesAndOtherLiabilities | {"amount": 2549763, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccruedLiabilitiesAndOtherLiabilities | {"amount": 2062560, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AccruedLiabilitiesCurrent | {"amount": 475099, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccruedLiabilitiesCurrent | {"amount": 3696323, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AccruedPayrollTaxesCurrent | {"amount": 1379766, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccruedPayrollTaxesCurrent | {"amount": 808841, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AccruedProfessionalFeesCurrentAndNoncurrent | {"amount": 309672, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment | {"amount": 1275598, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment | {"amount": 902280, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AccumulatedOtherComprehensiveIncomeLossNetOfTax | {"amount": -5769013, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AccumulatedOtherComprehensiveIncomeLossNetOfTax | {"amount": -5726586, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AdditionalPaidInCapitalCommonStock | {"amount": 872315, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AdditionalPaidInCapitalCommonStock | {"amount": 849848, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AdditionsToOtherAssetsAmount | {"amount": 3157669, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AdditionsToOtherAssetsAmount | {"amount": 523723, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AdjustmentForAmortization | {"amount": 483700, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AdjustmentForAmortization | {"amount": 226014, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AdjustmentsToAdditionalPaidInCapitalOther | {"amount": 22467, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AdvertisingExpense | {"amount": 52396511, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AdvertisingExpense | {"amount": 37309197, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AdvertisingExpense | {"amount": 31080465, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:AllowanceForDoubtfulAccountsReceivable | {"amount": 8115468, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AllowanceForDoubtfulAccountsReceivable | {"amount": 7967665, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AllowanceForDoubtfulAccountsReceivable | {"amount": 7411099, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:AllowanceForDoubtfulAccountsReceivableWriteOffs | {"amount": 3375786, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AllowanceForDoubtfulOtherReceivablesCurrent | {"amount": 8115468, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AllowanceForDoubtfulOtherReceivablesCurrent | {"amount": 7967665, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AmortizationOfIntangibleAssets | {"amount": 3433290, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AmortizationOfIntangibleAssets | {"amount": 2477840, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount | {"unit": "shares", "value": 0} | 2025-07-31 | sec_edgar |
| xbrl:AssetImpairmentCharges | {"amount": -46453, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:Assets | {"amount": 46502256, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:Assets | {"amount": 43942507, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AssetsCurrent | {"amount": 18075099, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AssetsCurrent | {"amount": 18158229, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AssetsNet | {"amount": 1554731, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AssetsNet | {"amount": 1530004, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:AssetsNoncurrent | {"amount": 28427157, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:AssetsNoncurrent | {"amount": 25784278, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CashAndCashEquivalentsAtCarryingValue | {"amount": 12208630, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CashAndCashEquivalentsAtCarryingValue | {"amount": 14461251, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CashAndCashEquivalentsAtCarryingValueIncludingDiscontinuedOperations | {"amount": 12208630, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CashAndCashEquivalentsAtCarryingValueIncludingDiscontinuedOperations | {"amount": 14461251, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CashAndCashEquivalentsAtCarryingValueIncludingDiscontinuedOperations | {"amount": 14852170, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents | {"amount": 12369250, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents | {"amount": 14594265, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents | {"amount": 14992852, "currency": "USD"} | 2022-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations | {"amount": 12369250, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations | {"amount": 14594265, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations | {"amount": 14992852, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations | {"amount": 13917075, "currency": "USD"} | 2022-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect | {"amount": -2225015, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect | {"amount": -398587, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect | {"amount": 1075777, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:CommonStockParOrStatedValuePerShare | {"per": "shares", "amount": 0.0001, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CommonStockParOrStatedValuePerShare | {"per": "shares", "amount": 0.0001, "currency": "USD"} | 2025-05-15 | sec_edgar |
| xbrl:CommonStockSharesAuthorized | {"unit": "shares", "value": 500000000} | 2025-07-31 | sec_edgar |
| xbrl:CommonStockSharesAuthorized | {"unit": "shares", "value": 280000000} | 2025-05-15 | sec_edgar |
| xbrl:ComprehensiveIncomeNetOfTax | {"amount": 3786136, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:ComprehensiveIncomeNetOfTax | {"amount": 4956127, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:ComprehensiveIncomeNetOfTax | {"amount": 2246542, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:ConstructionInProgressGross | {"amount": 177909, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:ContractWithCustomerLiabilityCurrent | {"amount": 145000, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CostOfRevenue | {"amount": 22040054, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CostOfRevenue | {"amount": 16211779, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CostOfRevenue | {"amount": 17049167, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:CostsAndExpenses | {"amount": 91435917, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CostsAndExpenses | {"amount": 61768295, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CostsAndExpenses | {"amount": 57355741, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:CurrentIncomeTaxExpenseBenefit | {"amount": 69732, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:CurrentIncomeTaxExpenseBenefit | {"amount": 483823, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:CurrentIncomeTaxExpenseBenefit | {"amount": 26708, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxAssetsNet | {"amount": 49067, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxAssetsNet | {"amount": 5946, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxExpenseBenefit | {"amount": 507034, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxExpenseBenefit | {"amount": 1734765, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxExpenseBenefit | {"amount": 1811466, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxLiabilities | {"amount": 8381318, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxLiabilities | {"amount": 7554366, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxLiabilitiesNet | {"amount": 6208161, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredIncomeTaxLiabilitiesNet | {"amount": 5664596, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredOfferingCosts | {"amount": 1429523, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredPolicyAcquisitionCostsAdditions | {"amount": 10000, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsGross | {"amount": 2272133, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsGross | {"amount": 1952627, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsLiabilitiesNet | {"amount": 49067, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsLiabilitiesNet | {"amount": 5946, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsNet | {"amount": 2222224, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsNet | {"amount": 1895716, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsOperatingLossCarryforwards | {"amount": 357947, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsOperatingLossCarryforwards | {"amount": 396100, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsPropertyPlantAndEquipment | {"amount": 165146, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsTaxDeferredExpense | {"amount": 9416, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAssetRetirementObligations | {"amount": 56735, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAssetRetirementObligations | {"amount": 46299, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsValuationAllowance | {"amount": 49909, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxAssetsValuationAllowance | {"amount": 56911, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxLiabilities | {"amount": 6208161, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxLiabilities | {"amount": 5664596, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxLiabilitiesPrepaidExpenses | {"amount": 1373710, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DeferredTaxLiabilitiesPrepaidExpenses | {"amount": 1456466, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:DeferredTaxLiabilitiesUnrealizedGainsOnTradingSecurities | {"amount": 1607769, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DepositsAssetsNoncurrent | {"amount": 1830420, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DepositsAssetsNoncurrent | {"amount": 1746493, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:Depreciation | {"amount": 410012, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:Depreciation | {"amount": 518057, "currency": "USD"} | 2024-07-31 | sec_edgar |
| xbrl:Depreciation | {"amount": 250149, "currency": "USD"} | 2023-07-31 | sec_edgar |
| xbrl:DepreciationAndAmortization | {"amount": 2673255, "currency": "USD"} | 2025-07-31 | sec_edgar |
| xbrl:DepreciationAndAmortization | {"amount": 2067706, "currency": "USD"} | 2024-07-31 | sec_edgar |
Cite as: FACTANKER, https://factanker.com/entity/53137ac9-8bb5-4801-9eea-b696e72b3f31