{
  "ticker": "VIRC",
  "name": "VIRCO MFG CORPORATION",
  "cik": "0000751365",
  "sic": "2531",
  "sic_description": "Public Bldg & Related Furniture",
  "source": "SEC XBRL companyfacts",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000751365.json",
  "as_of": "2026-04-08",
  "note": "Verified SEC companyfacts-derived facts; derived metrics (margins, ratios, free cash flow) are computed from those facts. Descriptive data, not investment advice.",
  "annual": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 200716000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 193001000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 152795000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": 184828000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 231064000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 269117000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 266240000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 199652000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 22760000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": -3209000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": -1614000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 2382000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": -2232000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -15136000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 16547000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 21910000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 21644000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 2568000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "operating_income",
      "label": "Operating income",
      "concept": "OperatingIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 5944000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 5140000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 2331000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 5915000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 735000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -336000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 10644000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 31877000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 27859000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 3659000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "gross_profit",
      "label": "Gross profit",
      "concept": "GrossProfit",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:GrossProfit"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 62543000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 65471000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 67081000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 71675000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 54925000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": 60929000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 85341000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 116058000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 114694000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 81239000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "derived": false,
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 1.49,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": -0.21,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": -0.1,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 0.15,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": -0.14,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -0.95,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 1.02,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 1.34,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 1.32,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 0.16,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "operating_cash_flow",
      "label": "Operating cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 5862000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 1682000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 2363000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 9759000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 7799000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -401000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": -3788000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 26960000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 33128000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": -841000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "capex",
      "label": "Capital expenditures",
      "concept": "PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 4408000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 6208000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 5395000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 4216000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 2154000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": 2995000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 3332000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 5248000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 6295000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 5854000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "dividends_paid",
      "label": "Dividends paid",
      "concept": "PaymentsOfDividends",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsOfDividends"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 0.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 930000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 0.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 0.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 327000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 1463000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 1576000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "share_buybacks",
      "label": "Share buybacks",
      "concept": "PaymentsForRepurchaseOfCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsForRepurchaseOfCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 264000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 339000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 265000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 246000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 156000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": 176000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 213000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 0.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 3810000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 4000000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "assets",
      "label": "Assets",
      "concept": "Assets",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 108187000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 116623000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 123113000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 138992000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 125036000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": 126445000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 150126000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 146445000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 191946000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 174179000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "equity",
      "label": "Stockholders' equity",
      "concept": "StockholdersEquity",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 59354000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 58712000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 57027000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 54818000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 54187000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": 47446000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 68061000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 91179000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 109265000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 105931000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "cash",
      "label": "Cash and cash equivalents",
      "concept": "CashAndCashEquivalentsAtCarryingValue",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:CashAndCashEquivalentsAtCarryingValue"
      ],
      "points": [
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 5300000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 14400000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "free_cash_flow",
      "label": "Free cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities - PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities",
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 1454000.0,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": -4526000.0,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": -3032000.0,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 5543000.0,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 5645000.0,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -3396000.0,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": -7120000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 21712000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 26833000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": -6695000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "net_margin",
      "label": "Net margin",
      "concept": "NetIncomeLoss / RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": -0.8041212459395365,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 1.2341904964222983,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": -1.4607807847115417,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -8.189235397234185,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 7.161219402416647,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 8.141440340075135,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 8.129507211538462,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 1.286238054214333,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "operating_margin",
      "label": "Operating margin",
      "concept": "OperatingIncomeLoss / RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 1.1613423942286614,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 3.0647509598395866,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 0.4810366831375372,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -0.18179063778215424,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 4.606515943634664,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 11.845033944343909,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 10.4638671875,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 1.8326888786488489,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "roe",
      "label": "Return on equity",
      "concept": "NetIncomeLoss / StockholdersEquity",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 38.34619402230683,
          "filed": "2019-05-01",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": -5.465662896852432,
          "filed": "2020-04-30",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": -2.830238308169814,
          "filed": "2021-04-28",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 4.345288044073115,
          "filed": "2022-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": -4.119069149426984,
          "filed": "2023-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -31.901530160603635,
          "filed": "2024-04-12",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 24.312014222535666,
          "filed": "2025-04-14",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 24.029655951480056,
          "filed": "2026-04-08",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 19.808721914611265,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 2.4242195391339645,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "roa",
      "label": "Return on assets",
      "concept": "NetIncomeLoss / Assets",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 21.037647776535074,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": -2.751601313634532,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": -1.3109907158464174,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 1.7137676988603663,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": -1.7850858952621644,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": -11.970421922575031,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 11.022074790509304,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 14.961248250196318,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 11.276088066435351,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 1.4743453573622538,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    },
    {
      "metric_id": "current_ratio",
      "label": "Current ratio",
      "concept": "AssetsCurrent / LiabilitiesCurrent",
      "unit": "Ratio",
      "derived": true,
      "source_concepts": [
        "us-gaap:AssetsCurrent",
        "us-gaap:LiabilitiesCurrent"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-01-31",
          "value": 2.246606439657169,
          "filed": "2018-04-27",
          "accession": "0001628280-18-005275"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-01-31",
          "value": 2.0096309923168487,
          "filed": "2019-05-01",
          "accession": "0001628280-19-005502"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-01-31",
          "value": 1.9645447470817121,
          "filed": "2020-04-30",
          "accession": "0001628280-20-005961"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-01-31",
          "value": 2.3227167768134405,
          "filed": "2021-04-28",
          "accession": "0001628280-21-007933"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-01-31",
          "value": 2.305573147561748,
          "filed": "2022-04-28",
          "accession": "0001628280-22-011185"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-01-31",
          "value": 1.8974479109249256,
          "filed": "2023-04-28",
          "accession": "0001628280-23-014114"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-01-31",
          "value": 1.8355074703760947,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-01-31",
          "value": 2.3104432679331466,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-01-31",
          "value": 2.980977388767323,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        },
        {
          "fiscal_year": 2026,
          "period_end": "2026-01-31",
          "value": 3.0870176974548182,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204"
        }
      ]
    }
  ],
  "quarterly": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2023-07-31",
          "value": 107321000.0,
          "filed": "2023-09-11",
          "accession": "0001628280-23-031959",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2023-10-31",
          "value": 84252000.0,
          "filed": "2023-12-08",
          "accession": "0001628280-23-041138",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-01-31",
          "value": 42601000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2024-04-30",
          "value": 46735000.0,
          "filed": "2024-06-07",
          "accession": "0001628280-24-027218",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2024-07-31",
          "value": 108419000.0,
          "filed": "2024-09-09",
          "accession": "0001628280-24-039826",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2024-10-31",
          "value": 82620000.0,
          "filed": "2024-12-09",
          "accession": "0001628280-24-050392",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-01-31",
          "value": 28466000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2025-04-30",
          "value": 33754000.0,
          "filed": "2025-06-06",
          "accession": "0001628280-25-029914",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 2,
          "period_label": "2026-Q2",
          "period_end": "2025-07-31",
          "value": 92086000.0,
          "filed": "2025-09-05",
          "accession": "0001628280-25-041710",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 3,
          "period_label": "2026-Q3",
          "period_end": "2025-10-31",
          "value": 47636000.0,
          "filed": "2025-12-08",
          "accession": "0001628280-25-055846",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 4,
          "period_label": "2026-Q4",
          "period_end": "2026-01-31",
          "value": 26176000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204",
          "derived": true
        },
        {
          "fiscal_year": 2027,
          "fiscal_quarter": 1,
          "period_label": "2027-Q1",
          "period_end": "2026-04-30",
          "value": 30692000.0,
          "filed": "2026-06-03",
          "accession": "0001628280-26-040125",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2023-07-31",
          "value": 15534000.0,
          "filed": "2023-09-11",
          "accession": "0001628280-23-031959",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2023-10-31",
          "value": 10160000.0,
          "filed": "2023-12-08",
          "accession": "0001628280-23-041138",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-01-31",
          "value": -2342000.0,
          "filed": "2024-04-12",
          "accession": "0001628280-24-016004",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2024-04-30",
          "value": 2140000.0,
          "filed": "2024-06-07",
          "accession": "0001628280-24-027218",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2024-07-31",
          "value": 16833000.0,
          "filed": "2024-09-09",
          "accession": "0001628280-24-039826",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2024-10-31",
          "value": 8401000.0,
          "filed": "2024-12-09",
          "accession": "0001628280-24-050392",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-01-31",
          "value": -5730000.0,
          "filed": "2025-04-14",
          "accession": "0001628280-25-017640",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2025-04-30",
          "value": 732000.0,
          "filed": "2025-06-06",
          "accession": "0001628280-25-029914",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 2,
          "period_label": "2026-Q2",
          "period_end": "2025-07-31",
          "value": 10186000.0,
          "filed": "2025-09-05",
          "accession": "0001628280-25-041710",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 3,
          "period_label": "2026-Q3",
          "period_end": "2025-10-31",
          "value": -1325000.0,
          "filed": "2025-12-08",
          "accession": "0001628280-25-055846",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 4,
          "period_label": "2026-Q4",
          "period_end": "2026-01-31",
          "value": -7024000.0,
          "filed": "2026-04-08",
          "accession": "0001628280-26-024204",
          "derived": true
        },
        {
          "fiscal_year": 2027,
          "fiscal_quarter": 1,
          "period_label": "2027-Q1",
          "period_end": "2026-04-30",
          "value": -2777000.0,
          "filed": "2026-06-03",
          "accession": "0001628280-26-040125",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2022-07-31",
          "value": 0.6,
          "filed": "2022-09-13",
          "accession": "0001628280-22-024826",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2022-10-31",
          "value": 0.48,
          "filed": "2022-12-12",
          "accession": "0001628280-22-031709",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2023-04-30",
          "value": -0.09,
          "filed": "2023-06-12",
          "accession": "0001628280-23-021822",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2023-07-31",
          "value": 0.95,
          "filed": "2023-09-11",
          "accession": "0001628280-23-031959",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2023-10-31",
          "value": 0.62,
          "filed": "2023-12-08",
          "accession": "0001628280-23-041138",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2024-04-30",
          "value": 0.13,
          "filed": "2024-06-07",
          "accession": "0001628280-24-027218",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2024-07-31",
          "value": 1.04,
          "filed": "2024-09-09",
          "accession": "0001628280-24-039826",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2024-10-31",
          "value": 0.52,
          "filed": "2024-12-09",
          "accession": "0001628280-24-050392",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2025-04-30",
          "value": 0.05,
          "filed": "2025-06-06",
          "accession": "0001628280-25-029914",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 2,
          "period_label": "2026-Q2",
          "period_end": "2025-07-31",
          "value": 0.65,
          "filed": "2025-09-05",
          "accession": "0001628280-25-041710",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 3,
          "period_label": "2026-Q3",
          "period_end": "2025-10-31",
          "value": -0.08,
          "filed": "2025-12-08",
          "accession": "0001628280-25-055846",
          "derived": false
        },
        {
          "fiscal_year": 2027,
          "fiscal_quarter": 1,
          "period_label": "2027-Q1",
          "period_end": "2026-04-30",
          "value": -0.18,
          "filed": "2026-06-03",
          "accession": "0001628280-26-040125",
          "derived": false
        }
      ]
    }
  ]
}
