PLOW · XBRL financial data

Douglas Dynamics 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

CSV

Fiscal years (PLOW's year ends in late December)

In millions of dollarsDec 31, 2020Dec 31, 2021Dec 31, 2022Dec 31, 2023Dec 31, 2024Dec 31, 2025
Revenue from contracts with customers480541616568569656
Cost of goods and services sold352400465434422481
Gross profit128142151134147175
Research and development710121088
Selling, general and administrative657982799295
Operating income (loss)(75)5159458974
Interest expense120000
Other income (expense)00(0)000
Income tax expense (benefit)(12)4961815
Net income (loss)(87)3139245647
Earnings per share, basic USD per share(3.81)1.311.651.012.391.99
Earnings per share, diluted USD per share(3.81)1.291.630.982.361.96
Weighted average shares, basic millions of shares22,84622,95523232323
Weighted average shares, diluted millions of shares22,84622,96523232424

Balance sheet

CSV

Fiscal years (PLOW's year ends in late December)

In millions of dollarsDec 31, 2020Dec 31, 2021Dec 31, 2022Dec 31, 2023Dec 31, 2024Dec 31, 2025
Cash and cash equivalents4137212458
Accounts receivable837187848798
Inventory79104137140137150
Prepaid and other current assets558765
Total current assets217220253262238266
Property and equipment, net646769674145
Right-of-use asset211817187169
Goodwill113113113113113117
Total assets579572597593590627
Accounts payable162749313239
Accrued liabilities313630262633
Current portion of long-term debt21111707
Total current liabilities66821001197096
Long-term debt237—————
Lease liability, non-current171514146560
Retained earnings4852636088107
Total stockholders' equity200215237232264281
Total liabilities and equity579572597593590627
Common shares outstanding (cover page) millions of shares232323232323

Cash flows

CSV

Fiscal years (PLOW's year ends in late December)

In millions of dollarsDec 31, 2020Dec 31, 2021Dec 31, 2022Dec 31, 2023Dec 31, 2024Dec 31, 2025
Net income (loss)(87)3139245647
Stock-based compensation367157
Depreciation and amortization202021221815
Net cash from operating activities536140124175
Purchases of property and equipment15121210811
Net cash from investing activities(14)(11)(12)(11)57(37)
Share repurchases006006
Dividends paid262727272728
Proceeds from long-term debt271224—00149
Repayments of long-term debt277250111842153
Net cash from financing activities(34)(53)(44)2(117)(34)
Net change in cash5(4)(16)3(19)3

Compare with peers

SIC 3531 and related industry codes, similar size. Each row is the latest quarter reported.

How peers are chosen
  • SIC 3531 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.
CompanyCash ($M)Revenue, quarter ($M)Operating cash flow, quarter ($M)Shares outstandingQuarter
Douglas Dynamics5.5218(22)*23.1M 10-QSep 30, 2026
Innovex International22224537*69.9M 10-QJun 30, 2026
HMH Holding120not reportednot reportednot reported 10-QJun 30, 2026
Astec Industries7740812*23.0M 10-QJun 30, 2026
Solaris Energy Infrastructure824219186*not reported 10-QJun 30, 2026
Hyster-Yale7381317*not reported 10-QJun 30, 2026
Columbus McKinnon111539(4.6)*28.9M 10-QSep 30, 2026
Manitowoc965958*36.1M 10-QJun 30, 2026
Flowco Holdings1923695*not reported 10-QJun 30, 2026

Not investment advice. Not affiliated with the U.S. SEC.