v3.26.1
Revenue
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
Revenue

NOTE 2 – REVENUE

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

 

 

 

End market

 

 

 

Three Months Ended
June 30,

 

 

Six Months Ended
June 30,

 

 

 

2026

 

 

2025

 

 

2026

 

 

2025

 

Industrial

 

$

32,965

 

 

$

31,332

 

 

$

65,148

 

 

$

59,934

 

Fire

 

 

29,638

 

 

 

31,864

 

 

 

57,130

 

 

 

64,730

 

Agriculture

 

 

27,594

 

 

 

23,415

 

 

 

54,448

 

 

 

45,876

 

Construction

 

 

28,859

 

 

 

24,129

 

 

 

56,051

 

 

 

44,863

 

Municipal

 

 

28,782

 

 

 

29,836

 

 

 

53,735

 

 

 

51,845

 

Petroleum

 

 

5,084

 

 

 

5,549

 

 

 

10,221

 

 

 

11,019

 

OEM

 

 

13,206

 

 

 

12,299

 

 

 

25,924

 

 

 

23,343

 

Repair parts

 

 

19,937

 

 

 

20,621

 

 

 

40,001

 

 

 

41,384

 

Total net sales

 

$

186,065

 

 

$

179,045

 

 

$

362,658

 

 

$

342,994

 

 

 

 

Geographic Location

 

 

 

Three Months Ended
June 30,

 

 

Six Months Ended
June 30,

 

 

 

2026

 

 

2025

 

 

2026

 

 

2025

 

United States

 

$

140,353

 

 

$

136,104

 

 

$

274,684

 

 

$

257,542

 

Foreign countries

 

 

45,712

 

 

 

42,941

 

 

 

87,974

 

 

 

85,452

 

Total net sales

 

$

186,065

 

 

$

179,045

 

 

$

362,658

 

 

$

342,994

 

 

The Company attributes revenues to individual countries based on the customer location to which finished products are shipped. International sales represented approximately 25% and 24% of total net sales for the second quarter of 2026 and 2025, respectively.

On June 30, 2026, the Company had $239.7 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 June 30, 2026 and December 31, 2025 were as follows:

 

 

 

June 30,
2026

 

 

December 31,
2025

 

Contract assets

 

$

 

 

$

634

 

Contract liabilities

 

 

10,161

 

 

 

7,658

 

 

Revenue recognized for the six months ended June 30, 2026 and 2025 that was included in the contract liabilities balance at the beginning of the period was $5.0 million and $5.8 million, respectively.