XML 19 R9.htm IDEA: XBRL DOCUMENT
v3.26.1

Note 2 - Revenue Recognition | 6 Months Ended
--- | ---
Jun. 30, 2026
Notes to Financial Statements |
Revenue from Contract with Customer [Text Block] |
2. | Revenue Recognition
Revenues are recognized when control of the promised goods or services are transferred to the customer, in an amount that reflects the consideration that the Company expects to be entitled to in exchange for those goods or services. The Company generates all of its revenue from contracts with customers. Additionally, contract amounts represent the full amount of the transaction price as agreed upon with the customer at the time of order, resulting in a single performance obligation in most cases. In the case of a single order containing multiple upfits, the transaction price may represent multiple performance obligations. Disaggregation of Revenue ​ The following table provides information about disaggregated revenue by customer type and timing of revenue recognition, and includes a reconciliation of the disaggregated revenue with reportable segments. ​ Revenue by customer type was as follows:
Three Months Ended June 30, 2026 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Independent dealer |  | $ | 129,330 |  |  | $ | 35,426 |  |  | $ | 164,756 |
Government |  |  | - |  |  |  | 30,170 |  |  |  | 30,170 |
Fleet |  |  | - |  |  |  | 18,272 |  |  |  | 18,272 |
Other |  |  | - |  |  |  | 1,450 |  |  |  | 1,450 |
Total revenue |  | $ | 129,330 |  |  | $ | 85,318 |  |  | $ | 214,648 |
Three Months Ended June 30, 2025 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Independent dealer |  | $ | 108,114 |  |  | $ | 33,413 |  |  | $ | 141,527 |
Government |  |  | - |  |  |  | 30,771 |  |  |  | 30,771 |
Fleet |  |  | - |  |  |  | 19,626 |  |  |  | 19,626 |
Other |  |  | - |  |  |  | 2,403 |  |  |  | 2,403 |
Total revenue |  | $ | 108,114 |  |  | $ | 86,213 |  |  | $ | 194,327 |
Six Months Ended June 30, 2026 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Independent dealer |  | $ | 190,241 |  |  | $ | 67,958 |  |  | $ | 258,199 |
Government |  |  | - |  |  |  | 54,276 |  |  |  | 54,276 |
Fleet |  |  | - |  |  |  | 33,918 |  |  |  | 33,918 |
Other |  |  | - |  |  |  | 6,052 |  |  |  | 6,052 |
Total revenue |  | $ | 190,241 |  |  | $ | 162,204 |  |  | $ | 352,445 |
Six Months Ended June 30, 2025 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Independent dealer |  | $ | 144,571 |  |  | $ | 66,819 |  |  | $ | 211,390 |
Government |  |  | - |  |  |  | 58,095 |  |  |  | 58,095 |
Fleet |  |  | - |  |  |  | 35,466 |  |  |  | 35,466 |
Other |  |  | - |  |  |  | 4,443 |  |  |  | 4,443 |
Total revenue |  | $ | 144,571 |  |  | $ | 164,823 |  |  | $ | 309,394 |
Revenue by timing of revenue recognition was as follows:
Three Months Ended June 30, 2026 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Point in time |  | $ | 129,330 |  |  | $ | 59,759 |  |  | $ | 189,089 |
Over time |  |  | - |  |  |  | 25,559 |  |  |  | 25,559 |
Total revenue |  | $ | 129,330 |  |  | $ | 85,318 |  |  | $ | 214,648 |
Three Months Ended June 30, 2025 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Point in time |  | $ | 108,114 |  |  | $ | 58,341 |  |  | $ | 166,455 |
Over time |  |  | - |  |  |  | 27,872 |  |  |  | 27,872 |
Total revenue |  | $ | 108,114 |  |  | $ | 86,213 |  |  | $ | 194,327 |
Six Months Ended June 30, 2026 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Point in time |  | $ | 190,241 |  |  | $ | 111,301 |  |  | $ | 301,542 |
Over time |  |  | - |  |  |  | 50,903 |  |  |  | 50,903 |
Total revenue |  | $ | 190,241 |  |  | $ | 162,204 |  |  | $ | 352,445 |
Six Months Ended June 30, 2025 |  | Work Truck Attachments |  |  | Work Truck Solutions |  |  | Total Revenue |
Point in time |  | $ | 144,571 |  |  | $ | 110,731 |  |  | $ | 255,302 |
Over time |  |  | - |  |  |  | 54,092 |  |  |  | 54,092 |
Total revenue |  | $ | 144,571 |  |  | $ | 164,823 |  |  | $ | 309,394 |
Contract Balances ​ The following table shows the changes in the Company’s contract liabilities during the three and six months ended June 30, 2026 and 2025, respectively: ​
Three Months Ended June 30, 2026 |  | Balance at Beginning of Period |  |  | Additions |  |  | Deductions |  |  | Balance at End of Period |
Contract liabilities |  | $ | 8,301 |  |  | $ | 14,100 |  |  | $ | (5,890 | ) |  | $ | 16,511 |
Three Months Ended June 30, 2025 |  | Balance at Beginning of Period |  |  | Additions |  |  | Deductions |  |  | Balance at End of Period |
Contract liabilities |  | $ | 5,674 |  |  | $ | 11,934 |  |  | $ | (4,689 | ) |  | $ | 12,919 |
Six Months Ended June 30, 2026 |  | Balance at Beginning of Period |  |  | Additions |  |  | Deductions |  |  | Balance at End of Period |
Contract liabilities |  | $ | 9,232 |  |  | $ | 18,949 |  |  | $ | (11,670 | ) |  | $ | 16,511 |
Six Months Ended June 30, 2025 |  | Balance at Beginning of Period |  |  | Additions |  |  | Deductions |  |  | Balance at End of Period |
Contract liabilities |  | $ | 5,063 |  |  | $ | 15,413 |  |  | $ | (7,557 | ) |  | $ | 12,919 |
The Company receives payments from customers based upon contractual billing schedules. Contract assets include amounts related to the contractual right to consideration for completed performance obligations not yet invoiced. There were no contract assets as of June 30, 2026 or 2025. Contract liabilities include payments received in advance of performance under the contract, variable freight allowances which are refunded to the customer, and rebates paid to distributors under the Company's municipal rebate program, and are realized with the associated revenue recognized under the contract. Contract liabilities related to payments received in advance of performance under the contract are included in Accounts Payable on the Condensed Consolidated Balance Sheets. ​ The Company recognized revenue of $2,095 and $1,846 during the three months ended June 30, 2026 and 2025, respectively, which was included in contract liabilities at the beginning of each period. The Company recognized revenue of $2,740 and $2,427 during the six months ended June 30, 2026 and 2025, respectively, which was included in contract liabilities at the beginning of each period. ​

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration