Segment Information (Tables)
   | 
3 Months Ended | 
Mar. 31, 2024  | 
| Segment Information | 
 
 | 
| Schedule of segment reporting information | 
  
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
  | 
  | 
Three months ended   | 
  | 
 
  | 
  | 
March 31,   | 
  | 
 
  | 
  | 
2024  | 
    | 
2023  | 
    | 
 
Net Sales:  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
Distribution  | 
  | 
$  | 
 86,822  | 
  | 
$  | 
 78,550  | 
  | 
 
Solutions  | 
  | 
   | 
 5,600  | 
  | 
   | 
 6,490  | 
  | 
 
  | 
  | 
   | 
 92,422  | 
  | 
   | 
 85,040  | 
  | 
 
Gross Profit:  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
Distribution  | 
  | 
$  | 
 14,215  | 
  | 
$  | 
 12,728  | 
  | 
 
Solutions  | 
  | 
   | 
 2,805  | 
  | 
   | 
 2,481  | 
  | 
 
  | 
  | 
   | 
 17,020  | 
  | 
   | 
 15,209  | 
  | 
 
Direct Costs:  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
Distribution  | 
  | 
$  | 
 7,376  | 
  | 
$  | 
 4,777  | 
  | 
 
Solutions  | 
  | 
   | 
 1,381  | 
  | 
   | 
 1,301  | 
  | 
 
  | 
  | 
   | 
 8,757  | 
  | 
   | 
 6,078  | 
  | 
 
Segment Income Before Taxes: (1)  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
Distribution  | 
  | 
$  | 
 6,839  | 
  | 
$  | 
 7,951  | 
  | 
 
Solutions  | 
  | 
   | 
 1,424  | 
  | 
   | 
 1,180  | 
  | 
 
Segment Income Before Taxes  | 
  | 
   | 
 8,263  | 
  | 
   | 
 9,131  | 
  | 
 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
General and administrative   | 
  | 
$  | 
 3,766  | 
  | 
$  | 
 4,163  | 
  | 
 
Acquisition related costs  | 
  | 
  | 
 123  | 
  | 
  | 
 22  | 
  | 
 
Depreciation and amortization expense  | 
  | 
  | 
 871  | 
  | 
  | 
 713  | 
  | 
 
Interest, net  | 
  | 
   | 
 203  | 
  | 
   | 
 112  | 
  | 
 
Foreign currency transaction loss  | 
  | 
  | 
 (85)  | 
  | 
  | 
 44  | 
  | 
 
Income before taxes  | 
  | 
$  | 
 3,621  | 
  | 
$  | 
 4,389  | 
  | 
 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
 
 
| (1) | 
 Excludes general corporate expenses including interest and foreign currency transaction loss
 | 
  
 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
  | 
      | 
  | 
      | 
   | 
      | 
 
  | 
  | 
As of  | 
  | 
As of   | 
  | 
 
  | 
  | 
March 31,   | 
  | 
December 31,  | 
  | 
 
Selected Assets by Segment:  | 
  | 
2024  | 
  | 
2023  | 
  | 
 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
Distribution  | 
  | 
$  | 
 196,893  | 
  | 
$  | 
 242,927  | 
  | 
 
Solutions  | 
  | 
   | 
 39,137  | 
  | 
   | 
 37,992  | 
  | 
 
Segment Select Assets   | 
  | 
   | 
 236,030  | 
  | 
   | 
 280,919  | 
  | 
 
Corporate Assets  | 
  | 
   | 
 62,292  | 
  | 
   | 
 54,179  | 
  | 
 
Total Assets   | 
  | 
$  | 
 298,322  | 
  | 
$  | 
 335,098  | 
  | 
 
 
 | 
| Schedule of disaggregation of revenue by geographic location and timing of recognition | 
  
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
  | 
      | 
Three months ended   | 
      | 
 
  | 
  | 
March 31, 2024  | 
  | 
 
  | 
  | 
Distribution  | 
    | 
Solutions  | 
  | 
Total  | 
  | 
 
Geography  | 
  | 
  | 
                | 
  | 
  | 
                | 
  | 
  | 
  | 
  | 
 
USA  | 
  | 
$  | 
 62,364  | 
  | 
$  | 
 1,908  | 
  | 
$  | 
 64,272  | 
  | 
 
Europe and United Kingdom  | 
  | 
   | 
 18,285  | 
  | 
   | 
 3,406  | 
  | 
   | 
 21,691  | 
  | 
 
Canada  | 
  | 
   | 
 6,173  | 
  | 
   | 
 286  | 
  | 
   | 
 6,459  | 
  | 
 
Total net sales  | 
  | 
$  | 
 86,822  | 
  | 
$  | 
 5,600  | 
  | 
$  | 
 92,422  | 
  | 
 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
Timing of Revenue Recognition  | 
  | 
  | 
                | 
  | 
  | 
                | 
  | 
  | 
  | 
  | 
 
Transferred at a point in time where the Company is principal (1)  | 
  | 
$  | 
 75,733  | 
  | 
$  | 
 3,558  | 
  | 
$  | 
 79,291  | 
  | 
 
Transferred at a point in time where the Company is agent (2)  | 
  | 
   | 
 11,089  | 
  | 
   | 
 2,042  | 
  | 
   | 
 13,131  | 
  | 
 
Total net sales  | 
  | 
$  | 
 86,822  | 
  | 
$  | 
 5,600  | 
  | 
$  | 
 92,422  | 
  | 
 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
  | 
      | 
Three months ended   | 
      | 
 
  | 
  | 
March 31, 2023  | 
  | 
 
  | 
  | 
Distribution  | 
    | 
Solutions  | 
  | 
Total  | 
  | 
 
Geography  | 
  | 
  | 
                | 
  | 
  | 
                | 
  | 
  | 
  | 
  | 
 
USA  | 
  | 
$  | 
 56,743  | 
  | 
$  | 
 3,666  | 
  | 
$  | 
 60,409  | 
  | 
 
Europe and United Kingdom  | 
  | 
   | 
 15,416  | 
  | 
   | 
 2,501  | 
  | 
   | 
 17,917  | 
  | 
 
Canada  | 
  | 
   | 
 6,391  | 
  | 
   | 
 323  | 
  | 
   | 
 6,714  | 
  | 
 
Total net sales  | 
  | 
$  | 
 78,550  | 
  | 
$  | 
 6,490  | 
  | 
$  | 
 85,040  | 
  | 
 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
Timing of Revenue Recognition  | 
  | 
  | 
                | 
  | 
  | 
                | 
  | 
  | 
  | 
  | 
 
Transferred at a point in time where the Company is principal (1)  | 
  | 
$  | 
 68,568  | 
  | 
$  | 
 4,833  | 
  | 
$  | 
 73,401  | 
  | 
 
Transferred at a point in time where the Company is agent (2)  | 
  | 
   | 
 9,982  | 
  | 
   | 
 1,657  | 
  | 
   | 
 11,639  | 
  | 
 
Total net sales  | 
  | 
$  | 
 78,550  | 
  | 
$  | 
 6,490  | 
  | 
$  | 
 85,040  | 
  | 
 
 
 
| (1) | 
Includes net sales from third-party hardware and software products. | 
  
 
| (2) | 
Includes net sales from third-party maintenance, software support and services. | 
  
 
 | 
| Summary of identifiable assets by geographic area | 
  
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
  | 
      | 
March 31,   | 
  | 
December 31,   | 
   | 
 
Identifiable Assets by Geographic Areas  | 
  | 
2024  | 
      | 
2023  | 
  | 
 
USA  | 
  | 
$  | 
 143,693  | 
  | 
$  | 
 171,080  | 
  | 
 
Canada  | 
  | 
  | 
 30,151  | 
  | 
  | 
 23,994  | 
  | 
 
Europe and United Kingdom  | 
  | 
  | 
 124,478  | 
  | 
  | 
 140,024  | 
  | 
 
Total  | 
  | 
$  | 
 298,322  | 
  | 
$  | 
 335,098  | 
  | 
 
 
 
 |