VSEC · XBRL financial data
Vse financial statements, every fiscal year
The same tables from 7 filings, lined up. Matched by XBRL tag: renamed lines keep their history.
How these numbers work
- Every number comes from the company's XBRL financial data filed with the SEC, and each one links to its filing.
- Lines are matched by XBRL tag, so a line renamed between filings keeps its history.
- * marks a quarter worked out from the filing totals: the 10-K year minus the first three quarters, or a year-to-date total minus the earlier one. Fourth-quarter earnings per share is fourth-quarter net income over the fourth-quarter weighted shares.
- 0 means a filing states zero; a dash (—) means no filing states that number.
- “year only” means the 10-K gives the full year but not the quarters needed to work out the fourth. A worked-out quarter of revenue, cost of revenue or operating cash flow more than twice the company's largest quarter of the two years before is shown this way too.
- Gross profit is shown as the company reports it; a worked-out quarter must equal revenue less cost of revenue for that quarter, or it is a dash.
- Operating income can be above gross profit when the company books other operating income between the two, shown on its own line.
- Shares outstanding come from each filing's cover page, as of the date printed there.
- Quarters are fiscal: Q2 FY27 is the second quarter of the company's fiscal 2027.
Income statement
CSVFiscal years (VSEC's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Revenue from contracts with customers | 662 | 751 | 950 | 860 | 1,080 | 1,112 |
| Selling, general and administrative | 3 | 4 | 5 | 8 | 15 | 13 |
| Operating income (loss) | 14 | 22 | 55 | 88 | 81 | 90 |
| Interest expense | — | — | — | 31 | 35 | 21 |
| Income tax expense (benefit) | 6 | 1 | 9 | 14 | 10 | 16 |
| Net income (loss) | (5) | 8 | 28 | 39 | 15 | 12 |
| Earnings per share, basic USD per share | (0.47) | 0.63 | 2.20 | 2.77 | 0.86 | 0.55 |
| Earnings per share, diluted USD per share | (0.47) | 0.63 | 2.19 | 2.76 | 0.85 | 0.55 |
| Weighted average shares, basic millions of shares | 11 | 13 | 13 | 14 | 18 | 21 |
| Weighted average shares, diluted millions of shares | 11 | 13 | 13 | 14 | 18 | 21 |
Balance sheet
CSVFiscal years (VSEC's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Cash and cash equivalents | 0 | 1 | 0 | 8 | 29 | 69 |
| Accounts receivable | 55 | 77 | 103 | 128 | 198 | 191 |
| Prepaid and other current assets | — | — | — | 36 | 42 | 38 |
| Total current assets | 355 | 464 | 549 | 774 | 875 | 893 |
| Property and equipment, net | 36 | 42 | 48 | 58 | 86 | 91 |
| Right-of-use asset | 21 | 27 | 34 | 29 | 53 | 50 |
| Goodwill | 238 | 249 | 249 | 352 | 491 | 641 |
| Total assets | 780 | 919 | 1,000 | 1,350 | 1,735 | 2,029 |
| Accounts payable | 73 | 115 | 160 | 173 | 188 | 155 |
| Accrued liabilities | — | — | — | — | — | 73 |
| Current portion of long-term debt | 20 | 14 | 10 | 23 | 30 | 8 |
| Total current liabilities | 139 | 180 | 225 | 287 | 282 | 238 |
| Long-term debt | 231 | 270 | 276 | 407 | 400 | 285 |
| Lease liability, non-current | 23 | 27 | 32 | 25 | 48 | 44 |
| Total liabilities | 424 | 501 | 550 | 734 | 746 | 590 |
| Retained earnings | 325 | 328 | 351 | 385 | 392 | 396 |
| Total stockholders' equity | 356 | 417 | 450 | 617 | 988 | 1,439 |
| Total liabilities and equity | 780 | 919 | 1,000 | 1,350 | 1,735 | 2,029 |
| Common shares outstanding (cover page) millions of shares | 13 | 13 | 13 | 16 | 21 | 28 |
Cash flows
CSVFiscal years (VSEC's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | (5) | 8 | 28 | 39 | 15 | 12 |
| Stock-based compensation | 3 | 4 | 4 | 8 | 8 | 13 |
| Depreciation and amortization | 24 | 26 | 26 | 23 | 29 | 40 |
| Net cash from operating activities | 36 | (18) | 8 | (22) | (31) | 27 |
| Purchases of property and equipment | 4 | 11 | 11 | 19 | 21 | 21 |
| Net cash from investing activities | 20 | (62) | (2) | (236) | (264) | (276) |
| Proceeds from issuing common stock | 0 | 52 | 1 | 130 | 326 | 442 |
| Dividends paid | 4 | 4 | 5 | 5 | 7 | 8 |
| Proceeds from long-term debt | 433 | 492 | 520 | 844 | 739 | 667 |
| Repayments of long-term debt | 452 | 458 | 518 | 700 | 740 | 804 |
| Net cash from financing activities | (56) | 79 | (6) | 265 | 316 | 290 |
| Net change in cash | (0) | 0 | (0) | 7 | 21 | 40 |
Compare with peers
SIC 8711 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 8711 and related industry codes with public float (or, where float is missing, quarterly revenue) between 0.2x and 5x the company's.
- Each row is the latest quarter the company has reported, named in the Quarter column; when that filing is a 10-K, it is the fourth quarter, never the full year.
- * marks a quarter worked out from the filing totals: for a 10-Q, the year-to-date total less the earlier one.
- A cell reading “not reported” means the filings give no figure for that quarter alone.
| Company | Cash ($M) | Revenue, quarter ($M) | Operating cash flow, quarter ($M) | Shares outstanding | Quarter |
|---|---|---|---|---|---|
| Vse | 75 | 449 | 28* | 28.1M | 10-QJun 30, 2026 |
| Willdan Group | 35 | 231 | 44* | 15.2M | 10-QJul 3, 2026 |
| Tetra Tech | 231 | 1,309 | 229* | 256.0M | 10-QJun 28, 2026 |
| Aecom | 1,013 | 3,586 | not reported | 128.7M | 10-QJul 3, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.
