TWIN · XBRL financial data
Twin Disc financial statements, every fiscal year
The same tables from 6 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 (TWIN's year ends in late June)
| In thousands of dollars | Jun 30, 2021 | Jun 30, 2022 | Jun 30, 2023 | Jun 30, 2024 | Jun 30, 2025 | Jun 30, 2026 |
|---|---|---|---|---|---|---|
| Revenue | — | — | — | 295,127 | 340,738 | 381,270 |
| Cost of goods and services sold | 167,724 | 174,101 | 202,628 | 211,808 | 248,012 | 278,710 |
| Gross profit | 50,857 | 68,812 | 74,332 | 83,319 | 92,726 | 102,560 |
| Research and development | 1,867 | 1,576 | 2,458 | 2,629 | 2,699 | 2,856 |
| Selling, general and administrative | 55,750 | 60,085 | 62,243 | 71,622 | 82,431 | 84,455 |
| Other operating income (expense) | 0 | 3,282 | 4,148 | 0 | 0 | 221 |
| Operating income (loss) | (12,270) | 11,036 | 16,060 | 11,479 | 9,887 | 17,960 |
| Interest income | 19 | 28 | 33 | 64 | 67 | 33 |
| Interest expense | 2,358 | 2,128 | 2,253 | 1,443 | 2,646 | 3,078 |
| Other income (expense) | (3,411) | 1,321 | 658 | 1,607 | (5,472) | (1,286) |
| Income tax expense (benefit) | 19,680 | 1,823 | 3,788 | 4,121 | 3,368 | (13,974) |
| Net income (loss) | (29,719) | 8,095 | 10,380 | 10,988 | (1,894) | 27,077 |
| Earnings per share, basic USD per share | (2.24) | 0.61 | 0.77 | 0.80 | (0.14) | 1.92 |
| Earnings per share, diluted USD per share | (2.24) | 0.60 | 0.75 | 0.79 | (0.14) | 1.86 |
| Weighted average shares, basic thousands of shares | 13,247 | 13,353 | 13,468 | 13,683 | 13,856 | 14,119 |
| Weighted average shares, diluted thousands of shares | 13,247 | 13,382 | 13,811 | 13,877 | 13,856 | 14,586 |
Balance sheet
CSVFiscal years (TWIN's year ends in late June)
Cash flows
CSVFiscal years (TWIN's year ends in late June)
| In thousands of dollars | Jun 30, 2021 | Jun 30, 2022 | Jun 30, 2023 | Jun 30, 2024 | Jun 30, 2025 | Jun 30, 2026 |
|---|---|---|---|---|---|---|
| Net income (loss) | (29,719) | 8,095 | 10,380 | 10,988 | (1,894) | 27,077 |
| Depreciation and amortization | 11,243 | 9,547 | 9,359 | 9,981 | 14,899 | 13,746 |
| Net cash from operating activities | 6,528 | (8,312) | 22,898 | 33,716 | 23,979 | 22,899 |
| Purchases of property and equipment | 4,464 | 4,729 | 7,918 | 8,707 | 15,157 | 13,713 |
| Net cash from investing activities | (2,742) | 5,901 | (408) | (32,069) | (32,899) | (14,149) |
| Dividends paid | — | — | 0 | 1,695 | 2,284 | 2,285 |
| Net cash from financing activities | (4,317) | 4,054 | (19,511) | 2,754 | (965) | (6,589) |
| Net change in cash | 1,652 | 181 | 742 | 6,807 | (3,961) | (80) |
Compare with peers
SIC 3560 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 3560 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.
- A cell reading “not reported” means the filings give no figure for that quarter alone.
| Company | Cash ($K) | Revenue, quarter ($K) | Operating cash flow, quarter ($K) | Shares outstanding | Runway | Quarter |
|---|---|---|---|---|---|---|
| Twin Disc | 26,728 | 88,745 | 11,532 | 14.5M | — | 10-QSep 25, 2026 |
| Perma-Pipe International Holdings | 31,778 | 59,567 | 7,237* | 8.2M | — | 10-QJul 31, 2026 |
| Taylor Devices | 3,600 | 7,300 | 7,787 | not reported | — | 10-QAug 31, 2026 |
| Churchill Capital Corp XI | 1,253 | not reported | (158)* | not reported | 7.9 quarters | 10-QJun 30, 2026 |
| Fuel Tech | 6,830 | 8,676 | (1,669)* | 31.2M | 13.7 quarters | 10-QSep 30, 2026 |
| Graham | 26,953 | 71,342 | (12,650) | 11.7M | 2.1 quarters | 10-QJun 30, 2026 |
| Serve Robotics | 79,112 | 3,238 | (43,316)* | 86.7M | 5.4 quarters | 10-QJun 30, 2026 |
| Gorman Rupp | 59,302 | 193,254 | 52,448* | 26.4M | — | 10-QSep 30, 2026 |
| CECO Environmental | 61,066 | 0* | (19,326)* | 58.6M | 3.2 quarters | 10-QJun 30, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.
