| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<FilingSummary> |
| <Version> 3.19.3 </Version> |
| <ProcessingTime/> |
| <ReportFormat> html </ReportFormat> |
| <ContextCount> 287 </ContextCount> |
| <ElementCount> 365 </ElementCount> |
| <EntityCount> 1 </EntityCount> |
| <FootnotesReported> false </FootnotesReported> |
| <SegmentCount> 72 </SegmentCount> |
| <ScenarioCount> 0 </ScenarioCount> |
| <TuplesReported> false </TuplesReported> |
| <UnitCount> 9 </UnitCount> |
| <MyReports> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R1.htm </HtmlFileName> |
| | | <LongName> 00090 - Document - Document and Entity Information </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DocumentDocumentAndEntityInformation </Role> |
| | | <ShortName> Document and Entity Information </ShortName> |
| | | <MenuCategory> Cover </MenuCategory> |
| | | <Position> 1 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R2.htm </HtmlFileName> |
| | | <LongName> 00100 - Statement - CONSOLIDATED BALANCE SHEETS </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/StatementConsolidatedBalanceSheets </Role> |
| | | <ShortName> CONSOLIDATED BALANCE SHEETS </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 2 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R3.htm </HtmlFileName> |
| | | <LongName> 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical </Role> |
| | | <ShortName> CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 3 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R4.htm </HtmlFileName> |
| | | <LongName> 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome </Role> |
| | | <ShortName> CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 4 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R5.htm </HtmlFileName> |
| | | <LongName> 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/StatementCondensedConsolidatedStatementsOfCashFlows </Role> |
| | | <ShortName> CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 5 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R6.htm </HtmlFileName> |
| | | <LongName> 00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity </Role> |
| | | <ShortName> CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 6 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R7.htm </HtmlFileName> |
| | | <LongName> 00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquityParenthetical </Role> |
| | | <ShortName> CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical) </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 7 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R8.htm </HtmlFileName> |
| | | <LongName> 10101 - Disclosure - Basis of presentation </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureBasisOfPresentation </Role> |
| | | <ShortName> Basis of presentation </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 8 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R9.htm </HtmlFileName> |
| | | <LongName> 10201 - Disclosure - Revenue Recognition </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureRevenueRecognition </Role> |
| | | <ShortName> Revenue Recognition </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 9 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R10.htm </HtmlFileName> |
| | | <LongName> 10301 - Disclosure - Fair Value </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureFairValue </Role> |
| | | <ShortName> Fair Value </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 10 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R11.htm </HtmlFileName> |
| | | <LongName> 10401 - Disclosure - Inventories </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureInventories </Role> |
| | | <ShortName> Inventories </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 11 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R12.htm </HtmlFileName> |
| | | <LongName> 10501 - Disclosure - Property, plant and equipment </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosurePropertyPlantAndEquipment </Role> |
| | | <ShortName> Property, plant and equipment </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 12 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R13.htm </HtmlFileName> |
| | | <LongName> 10601 - Disclosure - Leases </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLeases </Role> |
| | | <ShortName> Leases </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 13 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R14.htm </HtmlFileName> |
| | | <LongName> 10701 - Disclosure - Other Intangible Assets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureOtherIntangibleAssets </Role> |
| | | <ShortName> Other Intangible Assets </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 14 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R15.htm </HtmlFileName> |
| | | <LongName> 10801 - Disclosure - Long-Term Debt </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLongTermDebt </Role> |
| | | <ShortName> Long-Term Debt </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 15 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R16.htm </HtmlFileName> |
| | | <LongName> 10901 - Disclosure - Accrued Expenses and Other Current Liabilities </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities </Role> |
| | | <ShortName> Accrued Expenses and Other Current Liabilities </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 16 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R17.htm </HtmlFileName> |
| | | <LongName> 11001 - Disclosure - Warranty Liability </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureWarrantyLiability </Role> |
| | | <ShortName> Warranty Liability </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 17 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R18.htm </HtmlFileName> |
| | | <LongName> 11101 - Disclosure - Employee Retirement Plans </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEmployeeRetirementPlans </Role> |
| | | <ShortName> Employee Retirement Plans </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 18 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R19.htm </HtmlFileName> |
| | | <LongName> 11201 - Disclosure - Earnings per Share </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEarningsPerShare </Role> |
| | | <ShortName> Earnings per Share </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 19 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R20.htm </HtmlFileName> |
| | | <LongName> 11301 - Disclosure - Employee Stock Plans </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEmployeeStockPlans </Role> |
| | | <ShortName> Employee Stock Plans </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 20 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R21.htm </HtmlFileName> |
| | | <LongName> 11401 - Disclosure - Commitments and Contingencies </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureCommitmentsAndContingencies </Role> |
| | | <ShortName> Commitments and Contingencies </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 21 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R22.htm </HtmlFileName> |
| | | <LongName> 11501 - Disclosure - Segments </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureSegments </Role> |
| | | <ShortName> Segments </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 22 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R23.htm </HtmlFileName> |
| | | <LongName> 11601 - Disclosure - Income Taxes </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureIncomeTaxes </Role> |
| | | <ShortName> Income Taxes </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 23 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R24.htm </HtmlFileName> |
| | | <LongName> 11701 - Disclosure - Changes in Accumulated Other Comprehensive Loss by Component </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureChangesInAccumulatedOtherComprehensiveLossByComponent </Role> |
| | | <ShortName> Changes in Accumulated Other Comprehensive Loss by Component </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 24 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R25.htm </HtmlFileName> |
| | | <LongName> 11801 - Disclosure - Recent Accounting Pronouncements </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureRecentAccountingPronouncements </Role> |
| | | <ShortName> Recent Accounting Pronouncements </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 25 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R26.htm </HtmlFileName> |
| | | <LongName> 11901 - Disclosure - Subsequent Events </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureSubsequentEvents </Role> |
| | | <ShortName> Subsequent Events </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 26 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R27.htm </HtmlFileName> |
| | | <LongName> 20102 - Disclosure - Basis of presentation (Policies) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureBasisOfPresentationPolicies </Role> |
| | | <ShortName> Basis of presentation (Policies) </ShortName> |
| | | <MenuCategory> Policies </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureRecentAccountingPronouncements </ParentRole> |
| | | <Position> 27 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R28.htm </HtmlFileName> |
| | | <LongName> 30203 - Disclosure - Revenue Recognition (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureRevenueRecognitionTables </Role> |
| | | <ShortName> Revenue Recognition (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureRevenueRecognition </ParentRole> |
| | | <Position> 28 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R29.htm </HtmlFileName> |
| | | <LongName> 30303 - Disclosure - Fair Value (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureFairValueTables </Role> |
| | | <ShortName> Fair Value (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureFairValue </ParentRole> |
| | | <Position> 29 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R30.htm </HtmlFileName> |
| | | <LongName> 30403 - Disclosure - Inventories (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureInventoriesTables </Role> |
| | | <ShortName> Inventories (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureInventories </ParentRole> |
| | | <Position> 30 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R31.htm </HtmlFileName> |
| | | <LongName> 30503 - Disclosure - Property, plant and equipment (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosurePropertyPlantAndEquipmentTables </Role> |
| | | <ShortName> Property, plant and equipment (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosurePropertyPlantAndEquipment </ParentRole> |
| | | <Position> 31 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R32.htm </HtmlFileName> |
| | | <LongName> 30603 - Disclosure - Leases (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLeasesTables </Role> |
| | | <ShortName> Leases (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureLeases </ParentRole> |
| | | <Position> 32 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R33.htm </HtmlFileName> |
| | | <LongName> 30703 - Disclosure - Other Intangible Assets (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureOtherIntangibleAssetsTables </Role> |
| | | <ShortName> Other Intangible Assets (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureOtherIntangibleAssets </ParentRole> |
| | | <Position> 33 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R34.htm </HtmlFileName> |
| | | <LongName> 30803 - Disclosure - Long-Term Debt (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLongTermDebtTables </Role> |
| | | <ShortName> Long-Term Debt (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureLongTermDebt </ParentRole> |
| | | <Position> 34 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R35.htm </HtmlFileName> |
| | | <LongName> 30903 - Disclosure - Accrued Expenses and Other Current Liabilities (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables </Role> |
| | | <ShortName> Accrued Expenses and Other Current Liabilities (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities </ParentRole> |
| | | <Position> 35 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R36.htm </HtmlFileName> |
| | | <LongName> 31003 - Disclosure - Warranty Liability (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureWarrantyLiabilityTables </Role> |
| | | <ShortName> Warranty Liability (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureWarrantyLiability </ParentRole> |
| | | <Position> 36 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R37.htm </HtmlFileName> |
| | | <LongName> 31103 - Disclosure - Employee Retirement Plans (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEmployeeRetirementPlansTables </Role> |
| | | <ShortName> Employee Retirement Plans (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureEmployeeRetirementPlans </ParentRole> |
| | | <Position> 37 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R38.htm </HtmlFileName> |
| | | <LongName> 31203 - Disclosure - Earnings per Share (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEarningsPerShareTables </Role> |
| | | <ShortName> Earnings per Share (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureEarningsPerShare </ParentRole> |
| | | <Position> 38 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R39.htm </HtmlFileName> |
| | | <LongName> 31303 - Disclosure - Employee Stock Plans (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEmployeeStockPlansTables </Role> |
| | | <ShortName> Employee Stock Plans (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureEmployeeStockPlans </ParentRole> |
| | | <Position> 39 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R40.htm </HtmlFileName> |
| | | <LongName> 31503 - Disclosure - Segments (Table) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureSegmentsTable </Role> |
| | | <ShortName> Segments (Table) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureSegments </ParentRole> |
| | | <Position> 40 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R41.htm </HtmlFileName> |
| | | <LongName> 31703 - Disclosure - Changes in Accumulated Other Comprehensive Loss by Component (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureChangesInAccumulatedOtherComprehensiveLossByComponentTables </Role> |
| | | <ShortName> Changes in Accumulated Other Comprehensive Loss by Component (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureChangesInAccumulatedOtherComprehensiveLossByComponent </ParentRole> |
| | | <Position> 41 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R42.htm </HtmlFileName> |
| | | <LongName> 40101 - Disclosure - Basis of presentation (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureBasisOfPresentationDetails </Role> |
| | | <ShortName> Basis of presentation (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureBasisOfPresentationPolicies </ParentRole> |
| | | <Position> 42 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R43.htm </HtmlFileName> |
| | | <LongName> 40201 - Disclosure - Revenue Recognition (Revenue by customer and timing recognitions) (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureRevenueRecognitionRevenueByCustomerAndTimingRecognitionsDetails </Role> |
| | | <ShortName> Revenue Recognition (Revenue by customer and timing recognitions) (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureRevenueRecognitionTables </ParentRole> |
| | | <Position> 43 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R44.htm </HtmlFileName> |
| | | <LongName> 40202 - Disclosure - Revenue Recognition (Contract Balances) (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureRevenueRecognitionContractBalancesDetails </Role> |
| | | <ShortName> Revenue Recognition (Contract Balances) (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureRevenueRecognitionTables </ParentRole> |
| | | <Position> 44 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R45.htm </HtmlFileName> |
| | | <LongName> 40301 - Disclosure - Fair Value - Assets and Liabilities on a Recurring Basis (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureFairValueAssetsAndLiabilitiesOnRecurringBasisDetails </Role> |
| | | <ShortName> Fair Value - Assets and Liabilities on a Recurring Basis (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 45 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R46.htm </HtmlFileName> |
| | | <LongName> 40302 - Disclosure - Fair Value - Fair Value Liability Reconciliation (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureFairValueFairValueLiabilityReconciliationDetails </Role> |
| | | <ShortName> Fair Value - Fair Value Liability Reconciliation (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 46 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R47.htm </HtmlFileName> |
| | | <LongName> 40401 - Disclosure - Inventories (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureInventoriesDetails </Role> |
| | | <ShortName> Inventories (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureInventoriesTables </ParentRole> |
| | | <Position> 47 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R48.htm </HtmlFileName> |
| | | <LongName> 40501 - Disclosure - Property, plant and equipment (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosurePropertyPlantAndEquipmentDetails </Role> |
| | | <ShortName> Property, plant and equipment (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosurePropertyPlantAndEquipmentTables </ParentRole> |
| | | <Position> 48 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R49.htm </HtmlFileName> |
| | | <LongName> 40601 - Disclosure - Leases Narrative (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLeasesNarrativeDetails </Role> |
| | | <ShortName> Leases Narrative (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 49 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R50.htm </HtmlFileName> |
| | | <LongName> 40602 - Disclosure - Leases - Components of Lease and supplemental cash flow information (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLeasesComponentsOfLeaseAndSupplementalCashFlowInformationDetails </Role> |
| | | <ShortName> Leases - Components of Lease and supplemental cash flow information (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 50 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R51.htm </HtmlFileName> |
| | | <LongName> 40603 - Disclosure - Leases - Supplemental Balance sheet information (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLeasesSupplementalBalanceSheetInformationDetails </Role> |
| | | <ShortName> Leases - Supplemental Balance sheet information (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 51 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R52.htm </HtmlFileName> |
| | | <LongName> 40604 - Disclosure - Leases - Maturities (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLeasesMaturitiesDetails </Role> |
| | | <ShortName> Leases - Maturities (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 52 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R53.htm </HtmlFileName> |
| | | <LongName> 40605 - Disclosure - Leases - Related Party Leases (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLeasesRelatedPartyLeasesDetails </Role> |
| | | <ShortName> Leases - Related Party Leases (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 53 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R54.htm </HtmlFileName> |
| | | <LongName> 40701 - Disclosure - Other Intangible Asset - Summary (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureOtherIntangibleAssetSummaryDetails </Role> |
| | | <ShortName> Other Intangible Asset - Summary (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 54 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R55.htm </HtmlFileName> |
| | | <LongName> 40702 - Disclosure - Other Intangible Asset - Estimated Amortization Expense (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureOtherIntangibleAssetEstimatedAmortizationExpenseDetails </Role> |
| | | <ShortName> Other Intangible Asset - Estimated Amortization Expense (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 55 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R56.htm </HtmlFileName> |
| | | <LongName> 40801 - Disclosure - Long-Term Debt - Summary (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLongTermDebtSummaryDetails </Role> |
| | | <ShortName> Long-Term Debt - Summary (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 56 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R57.htm </HtmlFileName> |
| | | <LongName> 40802 - Disclosure - Long-Term Debt - Swaps (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureLongTermDebtSwapsDetails </Role> |
| | | <ShortName> Long-Term Debt - Swaps (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 57 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R58.htm </HtmlFileName> |
| | | <LongName> 40901 - Disclosure - Accrued Expenses and Other Current Liabilities (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails </Role> |
| | | <ShortName> Accrued Expenses and Other Current Liabilities (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables </ParentRole> |
| | | <Position> 58 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R59.htm </HtmlFileName> |
| | | <LongName> 41001 - Disclosure - Warranty Liability (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureWarrantyLiabilityDetails </Role> |
| | | <ShortName> Warranty Liability (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureWarrantyLiabilityTables </ParentRole> |
| | | <Position> 59 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R60.htm </HtmlFileName> |
| | | <LongName> 41101 - Disclosure - Employee Retirement Plans (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEmployeeRetirementPlansDetails </Role> |
| | | <ShortName> Employee Retirement Plans (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureEmployeeRetirementPlansTables </ParentRole> |
| | | <Position> 60 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R61.htm </HtmlFileName> |
| | | <LongName> 41201 - Disclosure - Earnings per Share (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEarningsPerShareDetails </Role> |
| | | <ShortName> Earnings per Share (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureEarningsPerShareTables </ParentRole> |
| | | <Position> 61 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R62.htm </HtmlFileName> |
| | | <LongName> 41301 - Disclosure - Employee Stock Plans - Summary of Restricted Stock Awards and Units (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEmployeeStockPlansSummaryOfRestrictedStockAwardsAndUnitsDetails </Role> |
| | | <ShortName> Employee Stock Plans - Summary of Restricted Stock Awards and Units (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 62 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R63.htm </HtmlFileName> |
| | | <LongName> 41302 - Disclosure - Employee Stock Plans - Additional Information (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureEmployeeStockPlansAdditionalInformationDetails </Role> |
| | | <ShortName> Employee Stock Plans - Additional Information (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 63 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R64.htm </HtmlFileName> |
| | | <LongName> 41501 - Disclosure - Segments (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureSegmentsDetails </Role> |
| | | <ShortName> Segments (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureSegmentsTable </ParentRole> |
| | | <Position> 64 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R65.htm </HtmlFileName> |
| | | <LongName> 41601 - Disclosure - Income Taxes (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureIncomeTaxesDetails </Role> |
| | | <ShortName> Income Taxes (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureIncomeTaxes </ParentRole> |
| | | <Position> 65 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R66.htm </HtmlFileName> |
| | | <LongName> 41701 - Disclosure - Changes in Accumulated Other Comprehensive Loss by Component - Rollforward (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureChangesInAccumulatedOtherComprehensiveLossByComponentRollforwardDetails </Role> |
| | | <ShortName> Changes in Accumulated Other Comprehensive Loss by Component - Rollforward (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureChangesInAccumulatedOtherComprehensiveLossByComponentTables </ParentRole> |
| | | <Position> 66 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R67.htm </HtmlFileName> |
| | | <LongName> 41702 - Disclosure - Changes in Accumulated Other Comprehensive Loss by Component - Reclassifications (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureChangesInAccumulatedOtherComprehensiveLossByComponentReclassificationsDetails </Role> |
| | | <ShortName> Changes in Accumulated Other Comprehensive Loss by Component - Reclassifications (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 67 </Position> |
| | | </Report> |
| | <Report instance="plow-20190930x10qe42022.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R68.htm </HtmlFileName> |
| | | <LongName> 41901 - Disclosure - Subsequent Events (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.douglasdynamics.com/role/DisclosureSubsequentEventsDetails </Role> |
| | | <ShortName> Subsequent Events (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.douglasdynamics.com/role/DisclosureSubsequentEvents </ParentRole> |
| | | <Position> 68 </Position> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <LongName> All Reports </LongName> |
| | | <ReportType> Book </ReportType> |
| | | <ShortName> All Reports </ShortName> |
| | | </Report> |
| | </MyReports> |
| <InputFiles> |
| | <File doctype="10-Q" original="plow-20190930x10qe42022.htm"> plow-20190930x10qe42022.htm </File> |
| | <File> ex-31d1.htm </File> |
| | <File> ex-31d2.htm </File> |
| | <File> ex-32d1.htm </File> |
| | <File> plow-20190930.xsd </File> |
| | <File> plow-20190930_cal.xml </File> |
| | <File> plow-20190930_def.xml </File> |
| | <File> plow-20190930_lab.xml </File> |
| | <File> plow-20190930_pre.xml </File> |
| | </InputFiles> |
| <SupplementalFiles/> |
| <BaseTaxonomies> |
| | <BaseTaxonomy> http://fasb.org/us-gaap/2019-01-31 </BaseTaxonomy> |
| | <BaseTaxonomy> http://fasb.org/srt/2019-01-31 </BaseTaxonomy> |
| | <BaseTaxonomy> http://xbrl.sec.gov/dei/2019-01-31 </BaseTaxonomy> |
| | </BaseTaxonomies> |
| <HasPresentationLinkbase> true </HasPresentationLinkbase> |
| <HasCalculationLinkbase> true </HasCalculationLinkbase> |
| </FilingSummary> |