TSSI · XBRL financial data
TSS 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 (TSSI's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Revenue | — | — | — | 54,399 | 148,144 | 245,719 |
| Revenue from contracts with customers | 45,062 | 27,410 | 30,637 | 54,399 | 148,144 | 245,719 |
| Cost of revenue | 38,259 | 21,049 | 21,657 | 43,398 | 125,793 | 213,337 |
| Gross profit | 6,803 | 6,361 | 8,980 | 11,001 | 22,351 | 32,382 |
| Selling, general and administrative | 6,674 | 6,656 | 7,683 | 8,931 | 13,240 | 20,650 |
| Total operating expenses | — | — | — | 11,222 | 13,848 | 26,060 |
| Operating income (loss) | (400) | (831) | 914 | 1,750 | 8,503 | 6,322 |
| Interest expense | 367 | 430 | 964 | 1,616 | 2,737 | — |
| Other income (expense) | 896 | — | — | 0 | 194 | — |
| Income tax expense (benefit) | 50 | 65 | 56 | 60 | 158 | (7,592) |
| Net income (loss) | 79 | (1,297) | (73) | 74 | 5,976 | 15,125 |
| Earnings per share, basic USD per share | 0.00 | (0.07) | 0.00 | 0.00 | 0.27 | 0.61 |
| Earnings per share, diluted USD per share | 0.00 | (0.07) | 0.00 | 0.00 | 0.24 | 0.56 |
| Weighted average shares, basic thousands of shares | 17,820 | 18,363 | 20,061 | 21,602 | — | — |
| Weighted average shares, diluted thousands of shares | 20,988 | 18,363 | 20,061 | 22,021 | 25,075 | 27,222 |
Balance sheet
CSVFiscal years (TSSI's year ends in late December)
Cash flows
CSVFiscal years (TSSI's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | 79 | (1,297) | (73) | 74 | 5,976 | 15,125 |
| Stock-based compensation | 392 | 469 | 530 | 581 | 1,235 | 3,956 |
| Depreciation and amortization | 529 | 536 | 383 | 320 | — | — |
| Net cash from operating activities | 9,997 | (10,452) | 14,712 | (8,269) | 15,296 | 34,863 |
| Net cash from investing activities | (396) | (64) | (536) | (257) | (8,483) | (32,743) |
| Proceeds from issuing common stock | 2 | 45 | 41 | 0 | — | — |
| Share repurchases | 174 | 197 | 134 | 40 | 4,485 | 4,904 |
| Proceeds from long-term debt | 890 | — | — | 0 | 8,200 | 16,334 |
| Repayments of long-term debt | — | 352 | 2,045 | 0 | 0 | 6,582 |
| Net cash from financing activities | 733 | (504) | (1,771) | (40) | 4,578 | 60,168 |
| Net change in cash | 10,334 | (11,020) | 12,405 | (8,566) | — | — |
Compare with peers
SIC 8742 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 8742 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.
- Runway shows only for companies burning cash with under $10B of public float.
- * marks a quarter worked out from the filing totals: for a 10-Q, the year-to-date total less the earlier one.
| Company | Cash ($K) | Revenue, quarter ($K) | Operating cash flow, quarter ($K) | Shares outstanding | Runway | Quarter |
|---|---|---|---|---|---|---|
| TSS | 67,679 | 35,141 | 7,633* | 28.2M | — | 10-Q/AJun 30, 2026 |
| V2X | 265,070 | 1,271,463 | 67,319* | 31.4M | — | 10-QOct 2, 2026 |
| Onterris | 12,724 | 186,661 | 6,156* | 35.1M | — | 10-QJun 30, 2026 |
| Hackett Group | 14,162 | 69,328 | 15,160* | 24.9M | — | 10-QJun 26, 2026 |
| Bowman Consulting Group | 10,486 | 146,125 | (7,873)* | 17.3M | 1.3 quarters | 10-QJun 30, 2026 |
| Franklin Covey | 11,972 | 67,807 | 1,125* | 11.3M | — | 10-QMay 31, 2026 |
| Astrana Health | 400,792 | 972,520 | 32,748* | 55.7M | — | 10-QJun 30, 2026 |
| Evolent Health | 115,703 | 652,520 | (9,312)* | 113.1M | 12.4 quarters | 10-QJun 30, 2026 |
| RMR Group | 58,203 | 153,514 | 23,368* | not reported | — | 10-QJun 30, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.