CVGI · XBRL financial data
Commercial Vehicle Group 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 (CVGI'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 from contracts with customers | 717,699 | 971,578 | 981,553 | 994,679 | 723,355 | 649,002 |
| Cost of revenue | 643,623 | 852,591 | 895,048 | 860,956 | 650,236 | 580,617 |
| Gross profit | 74,076 | 118,987 | 86,505 | 133,723 | 73,119 | 68,385 |
| Selling, general and administrative | 64,794 | 69,406 | 66,361 | 85,663 | 73,877 | 69,041 |
| Operating income (loss) | (23,169) | 49,581 | 20,144 | 48,060 | (758) | (656) |
| Interest expense | 20,603 | 11,179 | 9,827 | 10,691 | 9,174 | 13,028 |
| Other income (expense) | (728) | 878 | (10,463) | (1,195) | 2,200 | (1,593) |
| Income tax expense (benefit) | (7,451) | 8,393 | 20,904 | (13,237) | 27,493 | 4,740 |
| Net income (loss) | (37,049) | 23,732 | (21,971) | 49,411 | (27,867) | (22,781) |
| Earnings per share, basic USD per share | (1.20) | 0.75 | (0.68) | 1.50 | — | — |
| Earnings per share, diluted USD per share | (1.20) | 0.72 | (0.68) | 1.47 | — | — |
| Weighted average shares, basic thousands of shares | 30,943 | 31,501 | 32,334 | 33,040 | 33,418 | 33,836 |
| Weighted average shares, diluted thousands of shares | 30,943 | 32,790 | 32,334 | 33,581 | 33,418 | 33,836 |
Balance sheet
CSVFiscal years (CVGI's year ends in late December)
Cash flows
CSVFiscal years (CVGI'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) | (37,049) | 23,732 | (21,971) | 49,411 | (27,867) | (22,781) |
| Stock-based compensation | 3,460 | 6,254 | 5,805 | 3,846 | 3,900 | 3,786 |
| Depreciation and amortization | 18,493 | 18,495 | 18,181 | 17,630 | 17,384 | 14,737 |
| Net cash from operating activities | 34,372 | (29,832) | 68,947 | 38,276 | (33,452) | 44,643 |
| Purchases of property and equipment | 7,142 | 17,653 | 19,710 | 19,696 | 18,520 | 10,651 |
| Net cash from investing activities | (6,420) | (17,566) | (19,710) | (19,696) | 30,896 | (10,606) |
| Proceeds from long-term debt | — | — | — | 0 | 0 | 95,000 |
| Repayments of long-term debt | — | — | — | 0 | 0 | 475 |
| Net cash from financing activities | (19,262) | 31,011 | (50,091) | (12,729) | (7,122) | (29,233) |
| Net change in cash | 10,992 | (15,545) | (3,133) | 6,023 | (11,218) | 6,652 |
Compare with peers
SIC 3714 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 3714 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-K, the year less the first three quarters; 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 |
|---|---|---|---|---|---|---|
| Commercial Vehicle Group | 39,777 | 208,091 | 1,562* | 40.6M | — | 10-QSep 30, 2026 |
| Superior Industries International | 60,619 | 178,200 | (78,101)* | 37.3M | 0.8 quarters | 10-QSep 30, 2025 |
| Securetech Innovations | 312 | 2,773* | not reported | 17.1M | — | 10-QJun 30, 2026 |
| Cenntro | 4,332 | 6,222 | (2,714)* | 2.5M | 1.6 quarters | 10-QJun 30, 2026 |
| Gentherm | 252,098 | 405,102 | 33,735* | 52.5M | — | 10-QSep 30, 2026 |
| Holley | 69,020 | 172,007 | 47,111* | 121.2M | — | 10-QJun 28, 2026 |
| CXJ Group | 56 | 223 | (108) | 102.4M | — | 10-QAug 31, 2026 |
| Luminar Technologies | 20,259 | 12,745* | (50,522)* | not reported | 0.5 quarters | 10-KDec 31, 2025 |
| Fly-E Group | 60 | 2,748 | (190) | 1.6M | 0.3 quarters | 10-QJun 30, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.