XML 40 R23.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Note 13 - Industry, Segment and Geographic Financial Information | 12 Months Ended
--- | ---
Dec. 31, 2024
Notes to Financial Statements |
Segment Reporting Disclosure [Text Block] | 13. Industry, Segment and Geographic Financial Information ​ The Company distributes software developed by others through resellers indirectly to customers worldwide. We also resell computer software and hardware developed by others and provide technical services directly to customers worldwide. ​ FASB ASC Topic 280, “Segment Reporting,” requires that public companies report profits and losses and certain other information on their “reportable operating segments” in their annual and interim financial statements. The internal organization used by the public company’s Chief Operating Decision Maker (“CODM”) to assess performance and allocate resources determines the basis for reportable operating segments. The Company’s Chief Executive Officer, who has been identified as the Company’s CODM, evaluates the performance of both reportable segments based on operating income. Net sales, gross profit, and operating expenses are also monitored closely. This information is used to measure segment profitability, allocate resources, and make budgeting and forecasting decisions about the reportable segments. The CODM also uses these measures to monitor trends in year over year performance comparisons, sequential quarter performance comparisons, and to compare actual results to forecasts. More disaggregated information about operating expense is generally only reviewed by the CODM on a consolidated basis. Operating income represents net sales less costs of sales, excluding depreciation and amortization expense and operating expenses. Net sales and cost of sales, excluding depreciation and amortization expense are directly attributed to each segment. The majority of operating expenses are also directly attributed to each segment, while certain other operating expenses are allocated to the segments in a reasonable manner considering the specific facts and circumstances of the expenses being allocated. ​ The Company is organized into two reportable operating segments. The “Distribution” segment distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide. The “Solutions” segment is a provider of cloud solutions and value-added reseller of software, hardware and services to customers worldwide. The Company's reportable segments are based on products and services delivered, and the Company's CODM decides how to assess performance and allocate resources based on segment. Segment income is based on segment revenue less the respective segment’s cost of revenues as well as segment direct costs (including such items as payroll costs and payroll related costs, such as profit sharing, incentive awards and insurance) and excluding general and administrative expenses not attributed to an individual segment business unit. The Company only identifies accounts receivable, vendor prepayments, inventory, goodwill and intangible assets by segment as shown below as “Selected Assets” by segment; it does not allocate its other assets, including capital expenditures by segment. The following segment reporting information of the Company is provided:
​ |  | Year ended |
​ |  | December 31, |
​ |  | 2024 |  |  | 2023 |
Net Sales: |  | ​ |  |  | ​ |
Distribution |  | $ | 441,940 |  |  | $ | 325,262 |
Solutions |  |  | 23,667 |  |  |  | 26,751 |
​ |  |  | 465,607 |  |  |  | 352,013 |
Cost of Sales: |  | ​ |  |  | ​ |
Distribution |  | $ | 363,648 |  |  | $ | 271,899 |
Solutions |  |  | 10,879 |  |  |  | 15,867 |
​ |  |  | 374,527 |  |  |  | 287,766 |
Direct Costs: |  | ​ |  |  | ​ |
Distribution |  | $ | 31,888 |  |  | $ | 22,467 |
Solutions |  |  | 5,455 |  |  |  | 5,238 |
​ |  |  | 37,343 |  |  |  | 27,705 |
Segment Income: (1) |  | ​ |  |  | ​ |
Distribution |  | $ | 46,404 |  |  | $ | 30,896 |
Solutions |  |  | 7,333 |  |  |  | 5,646 |
Segment Income |  |  | 53,737 |  |  |  | 36,542 |
​ |  | ​ |  |  | ​ |
General and administrative |  | $ | 19,165 |  |  | $ | 16,625 |
Acquisition related costs |  |  | 2,311 |  |  |  | 629 |
Depreciation and amortization expense |  |  | 4,269 |  |  |  | 2,798 |
Interest, net |  |  | 917 |  |  |  | 927 |
Foreign currency transaction loss |  |  | (273 | ) |  |  | (636 | )
Change in fair value of acquisition contingent consideration |  |  | 3,618 |  |  |  | — |
Income before taxes |  | $ | 25,018 |  |  | $ | 16,781 |
(1) | Excludes general corporate expenses including acquisition related costs, amortization and depreciation expense, interest, foreign currency transaction (loss) gain, and change in fair value of acquisition contingent consideration.
​ |  | As of |  |  | As of |
​ |  | December 31, |  |  | December 31, |
Selected Assets by Segment: |  | 2024 |  |  | 2023 |
​ |  | ​ |  |  | ​ |
Distribution |  | $ | 394,809 |  |  | $ | 242,927 |
Solutions |  |  | 21,882 |  |  |  | 37,992 |
Segment Select Assets |  |  | 416,691 |  |  |  | 280,919 |
Corporate Assets |  |  | 52,488 |  |  |  | 54,179 |
Total Assets |  | $ | 469,179 |  |  | $ | 335,098 |
Geographic areas and net sales mix related to operations for the year ended December 31, 2024 and 2023 were as follows. Net sales is allocated to a geographic area based on the location of the sale, which is generally the customer’s country of domicile.
​ |  | Year ended |
​ |  | December 31, 2024 |
​ |  | Distribution |  |  | Solutions |  |  | Total |
Geography |  |  |  |  |  |  |  |  |  | ​ |
USA |  | $ | 333,197 |  |  | $ | 8,652 |  |  | $ | 341,849 |
Europe and United Kingdom |  |  | 82,039 |  |  |  | 13,889 |  |  |  | 95,928 |
Canada |  |  | 26,704 |  |  |  | 1,126 |  |  |  | 27,830 |
Total net sales |  | $ | 441,940 |  |  | $ | 23,667 |  |  | $ | 465,607 |
​ |  | ​ |  |  | ​ |  |  | ​ |
Timing of Revenue Recognition |  |  |  |  |  |  |  |  |  | ​ |
Transferred at a point in time where the Company is principal (1) |  | $ | 399,360 |  |  | $ | 15,847 |  |  | $ | 415,207 |
Transferred at a point in time where the Company is agent (2) |  |  | 42,580 |  |  |  | 7,820 |  |  |  | 50,400 |
Total net sales |  | $ | 441,940 |  |  | $ | 23,667 |  |  | $ | 465,607 |
​ |  | Year ended |
​ |  | December 31, 2023 |
​ |  | Distribution |  |  | Solutions |  |  | Total |
Geography |  |  |  |  |  |  |  |  |  | ​ |
USA |  | $ | 244,261 |  |  | $ | 15,425 |  |  | $ | 259,686 |
Europe and United Kingdom |  |  | 57,253 |  |  |  | 10,167 |  |  |  | 67,420 |
Canada |  |  | 23,748 |  |  |  | 1,159 |  |  |  | 24,907 |
Total net sales |  | $ | 325,262 |  |  | $ | 26,751 |  |  | $ | 352,013 |
​ |  | ​ |  |  | ​ |  |  | ​ |
Timing of Revenue Recognition |  |  |  |  |  |  |  |  |  | ​ |
Transferred at a point in time where the Company is principal (1) |  | $ | 286,051 |  |  | $ | 19,853 |  |  | $ | 305,904 |
Transferred at a point in time where the Company is agent (2) |  |  | 39,211 |  |  |  | 6,898 |  |  |  | 46,109 |
Total net sales |  | $ | 325,262 |  |  | $ | 26,751 |  |  | $ | 352,013 |
(1) | Includes net sales from third-party hardware and software products.
​
(2) | Includes net sales from third-party maintenance, software support and services.
​ Geographic identifiable assets related to operations as of December 31, 2024 and 2023 were as follows.
​ |  | December 31, |  |  | December 31, |
Identifiable Assets by Geographic Areas |  | 2024 |  |  | 2023 |
USA |  | $ | 278,957 |  |  | $ | 171,080 |
Canada |  |  | 34,352 |  |  |  | 23,994 |
Europe and United Kingdom |  |  | 155,870 |  |  |  | 140,024 |
Total |  | $ | 469,179 |  |  | $ | 335,098 |
For the year ended December 31, 2024, the Company had three customers that accounted for 18%, 14% and 11%, respectively, of consolidated net sales and as of December 31, 2024, 12%, 6% and 19%, respectively, of total net accounts receivable. For the year ended December 31, 2024, the Company had one vendor that accounted for 10% of our consolidated purchases. These customers and vendors are all in the Company's Distribution segment. ​ For the year ended December 31, 2023, the Company had two customers that accounted for 20%, and 15%, respectively, of consolidated net sales and as of December 31, 2023, 15% and 6%, respectively, of total net accounts receivable. For the year ended December 31, 2023, the Company had one vendor that accounted for 14% of our consolidated purchases. These customers and vendors are all in the Company's Distribution segment. ​ Our top five customers accounted for 54% and 51% of consolidated net sales for the years ended December 31, 2024 and 2023, respectively.

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 for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 48 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (ee) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 54 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 47 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47 Reference 8: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 54 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54 Reference 9: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 47 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47 Reference 10: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 54 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54 Reference 11: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 47 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 31 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 34 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-34 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 26C -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 26B -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-15 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/280/tableOfContent Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 26 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41 Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 21 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21 Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 21 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21 Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 + Details
Name: | us-gaap_SegmentReportingDisclosureTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration