Organization record
VIRCO MFG. CORPORATION
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": 20034000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-07-31 | sec_edgar |
| accounts_payable | {"amount": 12275000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-04-30 | sec_edgar |
| accounts_payable | {"amount": 7393000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-01-31 | sec_edgar |
| accounts_payable | {"amount": 5715000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-10-31 | sec_edgar |
| accounts_payable | {"amount": 17069000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| accounts_payable | {"amount": 15706000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-04-30 | sec_edgar |
| accounts_payable | {"amount": 11593000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-01-31 | sec_edgar |
| accounts_payable | {"amount": 15381000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-10-31 | sec_edgar |
| accounts_payable | {"amount": 26085000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| accounts_payable | {"amount": 19202000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-04-30 | sec_edgar |
| accounts_payable | {"amount": 12945000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-01-31 | sec_edgar |
| accounts_payable | {"amount": 14351000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-10-31 | sec_edgar |
| accounts_payable | {"amount": 27854000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-07-31 | sec_edgar |
| accounts_payable | {"amount": 23628000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-04-30 | sec_edgar |
| accounts_payable | {"amount": 19448000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-01-31 | sec_edgar |
| accounts_payable | {"amount": 18926000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-10-31 | sec_edgar |
| accounts_payable | {"amount": 27290000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-07-31 | sec_edgar |
| accounts_payable | {"amount": 19437000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-04-30 | sec_edgar |
| accounts_payable | {"amount": 19785000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-01-31 | sec_edgar |
| accounts_payable | {"amount": 15786000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-10-31 | sec_edgar |
| accounts_payable | {"amount": 18821000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-07-31 | sec_edgar |
| accounts_payable | {"amount": 12976000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-04-30 | sec_edgar |
| accounts_payable | {"amount": 8421000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-01-31 | sec_edgar |
| accounts_payable | {"amount": 11509000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-10-31 | sec_edgar |
| accounts_payable | {"amount": 16764000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-07-31 | sec_edgar |
| accounts_payable | {"amount": 16656000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-04-30 | sec_edgar |
| accounts_payable | {"amount": 10587000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-01-31 | sec_edgar |
| accounts_payable | {"amount": 10914000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-10-31 | sec_edgar |
| accounts_payable | {"amount": 18634000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-07-31 | sec_edgar |
| accounts_payable | {"amount": 16354000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-04-30 | sec_edgar |
| accounts_payable | {"amount": 17760000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-01-31 | sec_edgar |
| accounts_payable | {"amount": 18052000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-10-31 | sec_edgar |
| accounts_payable | {"amount": 23072000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-07-31 | sec_edgar |
| accounts_payable | {"amount": 17631000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-04-30 | sec_edgar |
| accounts_payable | {"amount": 14106000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-01-31 | sec_edgar |
| accounts_payable | {"amount": 13623000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-10-31 | sec_edgar |
| accounts_payable | {"amount": 20945000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-07-31 | sec_edgar |
| accounts_payable | {"amount": 16169000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-04-30 | sec_edgar |
| accounts_payable | {"amount": 12388000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-01-31 | sec_edgar |
| accounts_payable | {"amount": 10587000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-10-31 | sec_edgar |
| accounts_payable | {"amount": 18014000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-07-31 | sec_edgar |
| accounts_payable | {"amount": 16894000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-04-30 | sec_edgar |
| accounts_payable | {"amount": 12982000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-01-31 | sec_edgar |
| accounts_payable | {"amount": 13189000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-10-31 | sec_edgar |
| accounts_payable | {"amount": 19240000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-07-31 | sec_edgar |
| accounts_payable | {"amount": 15931000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-04-30 | sec_edgar |
| accounts_payable | {"amount": 9901000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-01-31 | sec_edgar |
| accounts_payable | {"amount": 12248000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-10-31 | sec_edgar |
| accounts_payable | {"amount": 20382000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-07-31 | sec_edgar |
| accounts_payable | {"amount": 16640000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-04-30 | sec_edgar |
| accounts_payable | {"amount": 12355000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-01-31 | sec_edgar |
| accounts_payable | {"amount": 12771000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-10-31 | sec_edgar |
| accounts_payable | {"amount": 17282000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-07-31 | sec_edgar |
| accounts_payable | {"amount": 13087000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-04-30 | sec_edgar |
| accounts_payable | {"amount": 11864000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-01-31 | sec_edgar |
| accounts_payable | {"amount": 11614000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-10-31 | sec_edgar |
| accounts_payable | {"amount": 18596000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-07-31 | sec_edgar |
| accounts_payable | {"amount": 15345000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-04-30 | sec_edgar |
| accounts_payable | {"amount": 11684000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-01-31 | sec_edgar |
| accounts_payable | {"amount": 10372000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-10-31 | sec_edgar |
| accounts_payable | {"amount": 18565000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-07-31 | sec_edgar |
| accounts_payable | {"amount": 15549000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-04-30 | sec_edgar |
| accounts_payable | {"amount": 9536000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-01-31 | sec_edgar |
| accounts_payable | {"amount": 12349000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2010-10-31 | sec_edgar |
| accounts_payable | {"amount": 20220000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2010-07-31 | sec_edgar |
| accounts_receivable | {"amount": 45560000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-07-31 | sec_edgar |
| accounts_receivable | {"amount": 15028000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-04-30 | sec_edgar |
| accounts_receivable | {"amount": 13590000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-01-31 | sec_edgar |
| accounts_receivable | {"amount": 13799000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-10-31 | sec_edgar |
| accounts_receivable | {"amount": 46817000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-07-31 | sec_edgar |
| accounts_receivable | {"amount": 12279000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-04-30 | sec_edgar |
| accounts_receivable | {"amount": 13004000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-01-31 | sec_edgar |
| accounts_receivable | {"amount": 28168000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-10-31 | sec_edgar |
| accounts_receivable | {"amount": 56065000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-07-31 | sec_edgar |
| accounts_receivable | {"amount": 19772000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-04-30 | sec_edgar |
| accounts_receivable | {"amount": 23161000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-01-31 | sec_edgar |
| accounts_receivable | {"amount": 33029000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-10-31 | sec_edgar |
| accounts_receivable | {"amount": 68592000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-07-31 | sec_edgar |
| accounts_receivable | {"amount": 15524000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-04-30 | sec_edgar |
| accounts_receivable | {"amount": 18435000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-01-31 | sec_edgar |
| accounts_receivable | {"amount": 28028000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-10-31 | sec_edgar |
| accounts_receivable | {"amount": 44286000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-07-31 | sec_edgar |
| accounts_receivable | {"amount": 13326000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-04-30 | sec_edgar |
| accounts_receivable | {"amount": 17769000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-01-31 | sec_edgar |
| accounts_receivable | {"amount": 24824000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-10-31 | sec_edgar |
| accounts_receivable | {"amount": 34400000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-07-31 | sec_edgar |
| accounts_receivable | {"amount": 14334000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-04-30 | sec_edgar |
| accounts_receivable | {"amount": 9759000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-01-31 | sec_edgar |
| accounts_receivable | {"amount": 16877000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-10-31 | sec_edgar |
| accounts_receivable | {"amount": 32688000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-07-31 | sec_edgar |
| accounts_receivable | {"amount": 7564000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-04-30 | sec_edgar |
| accounts_receivable | {"amount": 11762000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-01-31 | sec_edgar |
| accounts_receivable | {"amount": 17697000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-10-31 | sec_edgar |
| accounts_receivable | {"amount": 41105000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-07-31 | sec_edgar |
| accounts_receivable | {"amount": 12375000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-04-30 | sec_edgar |
| accounts_receivable | {"amount": 13253000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-01-31 | sec_edgar |
| accounts_receivable | {"amount": 24281000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-10-31 | sec_edgar |
| accounts_receivable | {"amount": 44109000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-07-31 | sec_edgar |
| accounts_receivable | {"amount": 8983000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-04-30 | sec_edgar |
| accounts_receivable | {"amount": 11385000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-01-31 | sec_edgar |
| accounts_receivable | {"amount": 21120000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-10-31 | sec_edgar |
| accounts_receivable | {"amount": 40201000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-07-31 | sec_edgar |
| accounts_receivable | {"amount": 9964000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-04-30 | sec_edgar |
| accounts_receivable | {"amount": 9915000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-01-31 | sec_edgar |
| accounts_receivable | {"amount": 18932000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-10-31 | sec_edgar |
| accounts_receivable | {"amount": 33835000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-07-31 | sec_edgar |
| accounts_receivable | {"amount": 8882000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-04-30 | sec_edgar |
| accounts_receivable | {"amount": 9929000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-01-31 | sec_edgar |
| accounts_receivable | {"amount": 20369000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-10-31 | sec_edgar |
| accounts_receivable | {"amount": 33883000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-07-31 | sec_edgar |
| accounts_receivable | {"amount": 9798000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-04-30 | sec_edgar |
| accounts_receivable | {"amount": 10614000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-01-31 | sec_edgar |
| accounts_receivable | {"amount": 14776000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-10-31 | sec_edgar |
| accounts_receivable | {"amount": 29414000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-07-31 | sec_edgar |
| accounts_receivable | {"amount": 8914000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-04-30 | sec_edgar |
| accounts_receivable | {"amount": 8468000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-01-31 | sec_edgar |
| accounts_receivable | {"amount": 17542000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-10-31 | sec_edgar |
| accounts_receivable | {"amount": 32088000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-07-31 | sec_edgar |
| accounts_receivable | {"amount": 7966000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-04-30 | sec_edgar |
| accounts_receivable | {"amount": 8835000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-01-31 | sec_edgar |
| accounts_receivable | {"amount": 14497000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-10-31 | sec_edgar |
| accounts_receivable | {"amount": 32670000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-07-31 | sec_edgar |
| accounts_receivable | {"amount": 9108000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-04-30 | sec_edgar |
| accounts_receivable | {"amount": 12743000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-01-31 | sec_edgar |
| accounts_receivable | {"amount": 13655000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-10-31 | sec_edgar |
| accounts_receivable | {"amount": 34781000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-07-31 | sec_edgar |
| accounts_receivable | {"amount": 10038000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-04-30 | sec_edgar |
| accounts_receivable | {"amount": 10462000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-01-31 | sec_edgar |
| accounts_receivable | {"amount": 19411000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-10-31 | sec_edgar |
| accounts_receivable | {"amount": 40808000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-07-31 | sec_edgar |
| capex | {"amount": 1301000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-07-31 | sec_edgar |
| capex | {"amount": 699000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2026-04-30 | sec_edgar |
| capex | {"amount": 5854000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-01-31 | sec_edgar |
| capex | {"amount": 5086000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-10-31 | sec_edgar |
| capex | {"amount": 3816000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-07-31 | sec_edgar |
| capex | {"amount": 2444000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-04-30 | sec_edgar |
| capex | {"amount": 6295000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-01-31 | sec_edgar |
| capex | {"amount": 5365000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-10-31 | sec_edgar |
| capex | {"amount": 2886000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-07-31 | sec_edgar |
| capex | {"amount": 1088000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-04-30 | sec_edgar |
| capex | {"amount": 5248000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-01-31 | sec_edgar |
| capex | {"amount": 4605000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-10-31 | sec_edgar |
| capex | {"amount": 2795000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-07-31 | sec_edgar |
| capex | {"amount": 1533000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-04-30 | sec_edgar |
| capex | {"amount": 3332000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-01-31 | sec_edgar |
| capex | {"amount": 2614000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-10-31 | sec_edgar |
| capex | {"amount": 1524000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-07-31 | sec_edgar |
| capex | {"amount": 609000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-04-30 | sec_edgar |
| capex | {"amount": 2995000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-01-31 | sec_edgar |
| capex | {"amount": 2280000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-10-31 | sec_edgar |
| capex | {"amount": 963000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-07-31 | sec_edgar |
| capex | {"amount": 233000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-04-30 | sec_edgar |
| capex | {"amount": 2154000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-01-31 | sec_edgar |
| capex | {"amount": 1900000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-10-31 | sec_edgar |
| capex | {"amount": 1359000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-07-31 | sec_edgar |
| capex | {"amount": 488000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-04-30 | sec_edgar |
| capex | {"amount": 4216000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-01-31 | sec_edgar |
| capex | {"amount": 2963000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-10-31 | sec_edgar |
| capex | {"amount": 2309000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-07-31 | sec_edgar |
| capex | {"amount": 1219000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-04-30 | sec_edgar |
| capex | {"amount": 5395000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-01-31 | sec_edgar |
| capex | {"amount": 3319000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-10-31 | sec_edgar |
| capex | {"amount": 1686000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-07-31 | sec_edgar |
| capex | {"amount": 1144000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-04-30 | sec_edgar |
| capex | {"amount": 6208000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-01-31 | sec_edgar |
| capex | {"amount": 12521000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2017-10-31 | sec_edgar |
| capex | {"amount": 3891000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-07-31 | sec_edgar |
| capex | {"amount": 1896000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-04-30 | sec_edgar |
| capex | {"amount": 4408000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-01-31 | sec_edgar |
| capex | {"amount": 3239000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-10-31 | sec_edgar |
| capex | {"amount": 1935000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-07-31 | sec_edgar |
| capex | {"amount": 1097000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-04-30 | sec_edgar |
| capex | {"amount": 4261000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-01-31 | sec_edgar |
| capex | {"amount": 3583000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-10-31 | sec_edgar |
| capex | {"amount": 2375000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-07-31 | sec_edgar |
| capex | {"amount": 1200000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-04-30 | sec_edgar |
| capex | {"amount": 3314000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-01-31 | sec_edgar |
| capex | {"amount": 2584000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-10-31 | sec_edgar |
| capex | {"amount": 1904000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-07-31 | sec_edgar |
| capex | {"amount": 667000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2014-04-30 | sec_edgar |
| capex | {"amount": 3632000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-01-31 | sec_edgar |
| capex | {"amount": 2740000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-10-31 | sec_edgar |
| capex | {"amount": 1861000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-07-31 | sec_edgar |
| capex | {"amount": 800000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2013-04-30 | sec_edgar |
| capex | {"amount": 2050000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-01-31 | sec_edgar |
| capex | {"amount": 1486000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-10-31 | sec_edgar |
| capex | {"amount": 902000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2012-07-31 | sec_edgar |
| capex | {"amount": 325000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2012-04-30 | sec_edgar |
| capex | {"amount": 2159000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-01-31 | sec_edgar |
| capex | {"amount": 1689000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-10-31 | sec_edgar |
| capex | {"amount": 1340000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-07-31 | sec_edgar |
| capex | {"amount": 803000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2011-04-30 | sec_edgar |
| capex | {"amount": 3002000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-01-31 | sec_edgar |
| capex | {"amount": 1878000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-10-31 | sec_edgar |
| capex | {"amount": 1254000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-07-31 | sec_edgar |
| capex | {"amount": 5345000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-01-31 | sec_edgar |
| cash_and_equivalents | {"amount": 14400000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-01-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5300000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2024-01-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 9212000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2026-07-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 3734000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2026-04-30 | sec_edgar |