Note 17 - Segment Information (Tables)
|
6 Months Ended |
Jun. 30, 2025 |
Notes Tables |
|
Schedule of Segment Reporting Information, by Segment [Table Text Block] |
|
|
Six months ended |
|
|
Three months ended |
|
|
|
June 30, |
|
|
June 30, |
|
|
|
2025 |
|
|
2024 |
|
|
2025 |
|
|
2024 |
|
Net Sales: |
|
|
|
|
|
|
|
|
|
|
|
|
Distribution |
|
$ |
285,172 |
|
|
$ |
174,663 |
|
|
$ |
153,010 |
|
|
$ |
87,842 |
|
Solutions |
|
|
12,156 |
|
|
|
9,835 |
|
|
|
6,274 |
|
|
|
4,234 |
|
|
|
|
297,328 |
|
|
|
184,498 |
|
|
|
159,284 |
|
|
|
92,076 |
|
Cost of Sales: |
|
|
|
|
|
|
|
|
|
|
|
|
Distribution |
|
$ |
241,725 |
|
|
$ |
144,765 |
|
|
$ |
129,962 |
|
|
$ |
72,159 |
|
Solutions |
|
|
5,899 |
|
|
|
4,156 |
|
|
|
3,014 |
|
|
|
1,359 |
|
|
|
|
247,624 |
|
|
|
148,921 |
|
|
|
132,976 |
|
|
|
73,518 |
|
Direct Costs: |
|
|
|
|
|
|
|
|
|
|
|
|
Distribution |
|
$ |
20,119 |
|
|
$ |
14,912 |
|
|
$ |
10,106 |
|
|
$ |
7,535 |
|
Solutions |
|
|
3,102 |
|
|
|
2,683 |
|
|
|
1,613 |
|
|
|
1,302 |
|
|
|
|
23,221 |
|
|
|
17,595 |
|
|
|
11,719 |
|
|
|
8,837 |
|
Segment Income: (1) |
|
|
|
|
|
|
|
|
|
|
|
|
Distribution |
|
$ |
23,328 |
|
|
$ |
14,986 |
|
|
$ |
12,942 |
|
|
$ |
8,148 |
|
Solutions |
|
|
3,155 |
|
|
|
2,996 |
|
|
|
1,647 |
|
|
|
1,573 |
|
Segment Income |
|
|
26,483 |
|
|
|
17,982 |
|
|
|
14,589 |
|
|
|
9,721 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
General and administrative |
|
$ |
9,891 |
|
|
$ |
7,901 |
|
|
$ |
4,638 |
|
|
$ |
4,137 |
|
Acquisition related costs |
|
|
139 |
|
|
|
592 |
|
|
|
13 |
|
|
|
469 |
|
Depreciation and amortization expense |
|
|
3,720 |
|
|
|
1,736 |
|
|
|
1,982 |
|
|
|
865 |
|
Interest, net |
|
|
337 |
|
|
|
557 |
|
|
|
151 |
|
|
|
354 |
|
Foreign currency transaction (loss) gain |
|
|
(567 |
) |
|
|
(246 |
) |
|
|
14 |
|
|
|
(162 |
) |
Change in fair value of acquisition contingent consideration |
|
|
(515 |
) |
|
|
— |
|
|
|
(379 |
) |
|
|
— |
|
Income before taxes |
|
$ |
11,988 |
|
|
$ |
8,064 |
|
|
$ |
7,742 |
|
|
$ |
4,442 |
|
|
|
As of |
|
|
As of |
|
|
|
June 30, |
|
|
December 31, |
|
Selected Assets by Segment: |
|
2025 |
|
|
2024 |
|
|
|
|
|
|
|
|
Distribution |
|
$ |
343,280 |
|
|
$ |
394,809 |
|
Solutions |
|
|
23,349 |
|
|
|
21,882 |
|
Segment Select Assets |
|
|
366,629 |
|
|
|
416,691 |
|
Corporate Assets |
|
|
54,062 |
|
|
|
52,488 |
|
Total Assets |
|
$ |
420,691 |
|
|
$ |
469,179 |
|
|
Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block] |
|
|
Six months ended |
|
|
Three months ended |
|
|
|
June 30, 2025 |
|
|
June 30, 2025 |
|
|
|
Distribution |
|
|
Solutions |
|
|
Total |
|
|
Distribution |
|
|
Solutions |
|
|
Total |
|
Geography |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
USA |
|
$ |
219,450 |
|
|
$ |
4,180 |
|
|
$ |
223,630 |
|
|
$ |
114,362 |
|
|
$ |
2,226 |
|
|
$ |
116,588 |
|
Europe and United Kingdom |
|
|
50,406 |
|
|
|
7,596 |
|
|
|
58,002 |
|
|
|
31,813 |
|
|
|
3,816 |
|
|
|
35,629 |
|
Canada |
|
|
15,316 |
|
|
|
380 |
|
|
|
15,696 |
|
|
|
6,835 |
|
|
|
232 |
|
|
|
7,067 |
|
Total net sales |
|
$ |
285,172 |
|
|
$ |
12,156 |
|
|
$ |
297,328 |
|
|
$ |
153,010 |
|
|
$ |
6,274 |
|
|
$ |
159,284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Timing of Revenue Recognition |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Transferred at a point in time where the Company is principal (1) |
|
$ |
259,164 |
|
|
$ |
8,765 |
|
|
$ |
267,929 |
|
|
$ |
140,176 |
|
|
$ |
4,466 |
|
|
$ |
144,642 |
|
Transferred at a point in time where the Company is agent (2) |
|
|
26,008 |
|
|
|
3,391 |
|
|
|
29,399 |
|
|
|
12,834 |
|
|
|
1,808 |
|
|
|
14,642 |
|
Total net sales |
|
$ |
285,172 |
|
|
$ |
12,156 |
|
|
$ |
297,328 |
|
|
$ |
153,010 |
|
|
$ |
6,274 |
|
|
$ |
159,284 |
|
|
|
Six months ended |
|
|
Three months ended |
|
|
|
June 30, 2024 |
|
|
June 30, 2024 |
|
|
|
Distribution |
|
|
Solutions |
|
|
Total |
|
|
Distribution |
|
|
Solutions |
|
|
Total |
|
Geography |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
USA |
|
$ |
130,450 |
|
|
$ |
2,989 |
|
|
$ |
133,439 |
|
|
$ |
68,087 |
|
|
$ |
1,081 |
|
|
$ |
69,168 |
|
Europe and United Kingdom |
|
|
32,642 |
|
|
|
6,284 |
|
|
|
38,926 |
|
|
|
14,357 |
|
|
|
2,877 |
|
|
|
17,234 |
|
Canada |
|
|
11,571 |
|
|
|
562 |
|
|
|
12,133 |
|
|
|
5,398 |
|
|
|
276 |
|
|
|
5,674 |
|
Total net sales |
|
$ |
174,663 |
|
|
$ |
9,835 |
|
|
$ |
184,498 |
|
|
$ |
87,842 |
|
|
$ |
4,234 |
|
|
$ |
92,076 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Timing of Revenue Recognition |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Transferred at a point in time where the Company is principal (1) |
|
$ |
151,467 |
|
|
$ |
5,894 |
|
|
$ |
157,361 |
|
|
$ |
75,735 |
|
|
$ |
2,336 |
|
|
$ |
78,071 |
|
Transferred at a point in time where the Company is agent (2) |
|
|
23,196 |
|
|
|
3,941 |
|
|
|
27,137 |
|
|
|
12,107 |
|
|
|
1,898 |
|
|
|
14,005 |
|
Total net sales |
|
$ |
174,663 |
|
|
$ |
9,835 |
|
|
$ |
184,498 |
|
|
$ |
87,842 |
|
|
$ |
4,234 |
|
|
$ |
92,076 |
|
|
Long-Lived Assets by Geographic Areas [Table Text Block] |
|
|
June 30, |
|
|
December 31, |
|
Identifiable Assets by Geographic Areas |
|
2025 |
|
|
2024 |
|
USA |
|
$ |
242,719 |
|
|
$ |
278,957 |
|
Canada |
|
|
29,308 |
|
|
|
34,352 |
|
Europe and United Kingdom |
|
|
148,664 |
|
|
|
155,870 |
|
Total |
|
$ |
420,691 |
|
|
$ |
469,179 |
|
|