XML 27 R11.htm IDEA: XBRL DOCUMENT v3.24.0.1
Note 3 - Revenue
12 Months Ended
Dec. 31, 2023
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

 

2023

   

2022

   

2021

 

Industrial

  $ 136,978     $ 100,826     $ 61,371  

Fire

    143,551       121,001       103,653  

Agriculture

    83,053       57,703       21,879  

Construction

    86,996       60,557       34,368  

Municipal

    78,528       69,726       54,964  

Petroleum

    23,168       16,464       15,618  

OEM

    37,708       34,820       32,964  

Repair parts

    69,529       59,930       53,499  

Total net sales

  $ 659,511     $ 521,027     $ 378,316  

 

Geographic Location

 

2023

   

2022

   

2021

 

United States

  $ 497,387     $ 381,306     $ 260,683  

Foreign countries

    162,124       139,721       117,633  

Total net sales

  $ 659,511     $ 521,027     $ 378,316  

 

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

 

 

On December 31, 2023, the Company had $218.1 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, 2023 and 2022 were as follows:

 

   

2023

   

2022

 

Contract assets

  $ -     $ -  

Contract liabilities

  $ 12,521     $ 6,740  

 

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. Revenue recognized for the year ended December 31, 2022 that was included in the contract liability balance at December 31, 2021 was $9.1 million.