XML 31 R11.htm IDEA: XBRL DOCUMENT v3.25.0.1
Note 3 - Revenue
12 Months Ended
Dec. 31, 2024
Notes to Financial Statements  
Revenue from Contract with Customer [Text Block]

Note 3 Revenue

 

Disaggregation of Revenue

 

The following tables disaggregate total net sales by end market and geographic location:

 

End Market

 

2024

   

2023

   

2022

 

Industrial

  $ 131,479     $ 136,978     $ 100,826  

Fire

    121,418       143,551       121,001  

Agriculture

    82,224       83,053       57,703  

Construction

    85,149       86,996       60,557  

Municipal

    100,019       78,528       69,726  

Petroleum

    24,188       23,168       16,464  

OEM

    40,343       37,708       34,820  

Repair parts

    74,847       69,529       59,930  

Total net sales

  $ 659,667     $ 659,511     $ 521,027  

 

 

Geographic Location

 

2024

   

2023

   

2022

 

United States

  $ 491,516     $ 497,387     $ 381,306  

Foreign countries

    168,151       162,124       139,721  

Total net sales

  $ 659,667     $ 659,511     $ 521,027  

 

International sales represented approximately 25% of total net sales for 2024, 25% for 2023 and 27% for 2022, and were made to customers in many different countries around the world.

 

On December 31, 2024, the Company had $206.0 million of remaining performance obligations, also referred to as backlog. The Company expects to recognize as revenue substantially all of its remaining performance obligations within one year.

 

The Company’s contract assets and liabilities as of December 31, 2024 and 2023 were as follows:

 

   

2024

   

2023

 

Contract assets

  $ 390     $ -  

Contract liabilities

  $ 6,840     $ 12,521  

 

Revenue recognized for the year ended December 31, 2024 that was included in the contract liability balance at December 31, 2023 was $11.0 million. Revenue recognized for the year ended December 31, 2023 that was included in the contract liability balance at December 31, 2022 was $6.0 million.