Note 17 - Industry, Segment and Geographic Financial Information (Tables)
|
3 Months Ended |
Mar. 31, 2026 |
| Notes Tables |
|
| Segment Reporting [Table Text Block] |
| |
|
Three months ended |
|
| |
|
March 31, |
|
| |
|
2026 |
|
|
2025 |
|
| Net Sales: |
|
|
|
|
|
|
| Distribution |
|
$ |
177,102 |
|
|
$ |
132,162 |
|
| Solutions |
|
|
5,274 |
|
|
|
5,882 |
|
| |
|
|
182,376 |
|
|
|
138,044 |
|
| Cost of Sales: |
|
|
|
|
|
|
| Distribution |
|
$ |
153,746 |
|
|
$ |
111,764 |
|
| Solutions |
|
|
2,130 |
|
|
|
2,884 |
|
| |
|
|
155,876 |
|
|
|
114,648 |
|
| Direct Costs: |
|
|
|
|
|
|
| Distribution |
|
$ |
12,836 |
|
|
$ |
9,462 |
|
| Solutions |
|
|
1,619 |
|
|
|
1,470 |
|
| |
|
|
14,455 |
|
|
|
10,932 |
|
| Segment Income: (1) |
|
|
|
|
|
|
| Distribution |
|
$ |
10,520 |
|
|
$ |
10,936 |
|
| Solutions |
|
|
1,525 |
|
|
|
1,528 |
|
| Segment Income |
|
|
12,045 |
|
|
|
12,464 |
|
| |
|
|
|
|
|
|
|
|
| General and administrative |
|
$ |
5,877 |
|
|
$ |
5,823 |
|
| Acquisition related costs |
|
|
301 |
|
|
|
126 |
|
| Depreciation and amortization expense |
|
|
1,983 |
|
|
|
1,737 |
|
| Interest, net |
|
|
142 |
|
|
|
186 |
|
| Foreign currency transaction gain (loss) |
|
|
144 |
|
|
|
(580 |
) |
| Change in fair value of acquisition contingent consideration |
|
|
— |
|
|
|
(136 |
) |
| Income before taxes |
|
$ |
4,170 |
|
|
$ |
4,248 |
|
| |
|
As of |
|
|
As of |
|
| |
|
March 31, |
|
|
December 31, |
|
| Selected Assets by Segment: |
|
2026 |
|
|
2025 |
|
| |
|
|
|
|
|
|
| Distribution |
|
$ |
369,142 |
|
|
$ |
375,024 |
|
| Solutions |
|
|
21,537 |
|
|
|
22,124 |
|
| Segment Select Assets |
|
|
390,679 |
|
|
|
397,148 |
|
| Corporate Assets |
|
|
68,159 |
|
|
|
63,085 |
|
| Total Assets |
|
$ |
458,838 |
|
|
$ |
460,233 |
|
|
| Segment Reporting, Entity-Wide Information Not Provided as Part of Reportable Segment, Geographical Area, Revenue and Long-Lived Asset [Table Text Block] |
| |
|
Three months ended |
|
| |
|
March 31, 2026 |
|
| |
|
Distribution |
|
|
Solutions |
|
|
Total |
|
| Geography |
|
|
|
|
|
|
|
|
|
|
|
| USA |
|
$ |
147,826 |
|
|
$ |
1,542 |
|
|
$ |
149,368 |
|
| United Kingdom |
|
|
12,069 |
|
|
|
3,472 |
|
|
|
15,541 |
|
| Europe |
|
|
5,283 |
|
|
|
70 |
|
|
|
5,353 |
|
| Canada |
|
|
11,924 |
|
|
|
190 |
|
|
|
12,114 |
|
| Total net sales |
|
$ |
177,102 |
|
|
$ |
5,274 |
|
|
$ |
182,376 |
|
| |
|
|
|
|
|
|
|
|
|
| Timing of Revenue Recognition |
|
|
|
|
|
|
|
|
|
|
|
| Transferred at a point in time where the Company is principal (1) |
|
$ |
168,106 |
|
|
$ |
3,550 |
|
|
$ |
171,656 |
|
| Transferred at a point in time where the Company is agent (2) |
|
|
8,996 |
|
|
|
1,724 |
|
|
|
10,720 |
|
| Total net sales |
|
$ |
177,102 |
|
|
$ |
5,274 |
|
|
$ |
182,376 |
|
| |
|
Three months ended |
|
| |
|
March 31, 2025 |
|
| |
|
Distribution |
|
|
Solutions |
|
|
Total |
|
| Geography |
|
|
|
|
|
|
|
|
|
|
|
| USA |
|
$ |
105,088 |
|
|
$ |
1,954 |
|
|
$ |
107,042 |
|
| United Kingdom |
|
|
13,836 |
|
|
|
3,707 |
|
|
|
17,543 |
|
| Europe |
|
|
4,758 |
|
|
|
72 |
|
|
|
4,830 |
|
| Canada |
|
|
8,480 |
|
|
|
149 |
|
|
|
8,629 |
|
| Total net sales |
|
$ |
132,162 |
|
|
$ |
5,882 |
|
|
$ |
138,044 |
|
| |
|
|
|
|
|
|
|
|
|
| Timing of Revenue Recognition |
|
|
|
|
|
|
|
|
|
|
|
| Transferred at a point in time where the Company is principal (1) |
|
$ |
118,988 |
|
|
$ |
4,299 |
|
|
$ |
123,287 |
|
| Transferred at a point in time where the Company is agent (2) |
|
|
13,174 |
|
|
|
1,583 |
|
|
|
14,757 |
|
| Total net sales |
|
$ |
132,162 |
|
|
$ |
5,882 |
|
|
$ |
138,044 |
|
|
| Segment Reporting, Entity-Wide Information Not Provided as Part of Reportable Segment, Geographical Area, Long-Lived Asset [Table Text Block] |
| |
|
March 31, |
|
|
December 31, |
|
| Identifiable Assets by Geographic Areas |
|
2026 |
|
|
2025 |
|
| USA |
|
$ |
281,657 |
|
|
$ |
266,238 |
|
| United Kingdom |
|
$ |
86,184 |
|
|
$ |
125,191 |
|
| Europe |
|
|
49,125 |
|
|
|
37,031 |
|
| Canada |
|
|
41,872 |
|
|
|
31,773 |
|
| Total |
|
$ |
458,838 |
|
|
$ |
460,233 |
|
|