Document And Entity Information
Document And Entity Information - shares | 9 Months Ended | |
Sep. 30, 2024 | Oct. 31, 2024 | |
Document Information [Line Items] | ||
Entity Central Index Key | 0000945983 | |
Entity Registrant Name | Climb Global Solutions, Inc. | |
Amendment Flag | false | |
Current Fiscal Year End Date | --12-31 | |
Document Fiscal Period Focus | Q3 | |
Document Fiscal Year Focus | 2024 | |
Document Type | 10-Q | |
Document Quarterly Report | true | |
Document Period End Date | Sep. 30, 2024 | |
Document Transition Report | false | |
Entity File Number | 000-26408 | |
Entity Incorporation, State or Country Code | DE | |
Entity Tax Identification Number | 13-3136104 | |
Entity Address, Address Line One | 4 Industrial Way West, Suite 300 | |
Entity Address, City or Town | Eatontown | |
Entity Address, State or Province | NJ | |
Entity Address, Postal Zip Code | 07724 | |
City Area Code | 732 | |
Local Phone Number | 389-8950 | |
Title of 12(b) Security | Common stock, $.01 par value per share | |
Trading Symbol | CLMB | |
Security Exchange Name | NASDAQ | |
Entity Current Reporting Status | Yes | |
Entity Interactive Data Current | Yes | |
Entity Filer Category | Accelerated Filer | |
Entity Small Business | true | |
Entity Emerging Growth Company | false | |
Entity Shell Company | false | |
Entity Common Stock, Shares Outstanding | 4,606,790 |
Condensed Consolidated Balance
Condensed Consolidated Balance Sheets (Unaudited) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Current assets: | ||
Cash and cash equivalents | $ 22,139 | $ 36,295 |
Accounts receivable, net of allowance for doubtful accounts of $640 and $709, respectively | 247,907 | 222,269 |
Inventory, net | 4,445 | 3,741 |
Prepaid expenses and other current assets | 6,629 | 6,755 |
Total current assets | 281,120 | 269,060 |
Equipment and leasehold improvements, net | 12,151 | 8,850 |
Goodwill | 29,628 | 27,182 |
Other intangibles, net | 46,041 | 26,930 |
Right-of-use assets, net | 937 | 878 |
Accounts receivable, net of current portion | 752 | 797 |
Other assets | 863 | 1,077 |
Deferred income tax assets | 448 | 324 |
Total assets | 371,940 | 335,098 |
Current liabilities: | ||
Accounts payable and accrued expenses | 273,893 | 249,648 |
Lease liabilities, current portion | 533 | 450 |
Term loan, current portion | 555 | 540 |
Total current liabilities | 274,981 | 250,638 |
Lease liabilities, net of current portion | 796 | 879 |
Deferred income tax liabilities | 5,671 | 5,554 |
Term loan, net of current portion | 334 | 752 |
Other non-current liabilities | 2,490 | 2,505 |
Total liabilities | 284,272 | 260,328 |
Commitments and contingencies | ||
Stockholders’ equity: | ||
Common stock, $.01 par value; 10,000,000 shares authorized; 5,284,500 shares issued: 4,606,790 and 4,573,448 shares outstanding, respectively | 53 | 53 |
Additional paid-in capital | 36,676 | 34,647 |
Treasury stock, at cost, 677,710 and 711,052 shares, respectively | (12,777) | (12,623) |
Retained earnings | 62,560 | 53,215 |
Accumulated other comprehensive income (loss) | 1,156 | (522) |
Total stockholders’ equity | 87,668 | 74,770 |
Total liabilities and stockholders' equity | $ 371,940 | $ 335,098 |
Condensed Consolidated Balanc_2
Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Allowance for doubtful accounts | $ 640 | $ 709 |
Common stock, par value (in dollars per share) | $ 0.01 | $ 0.01 |
Common stock, authorized (in shares) | 10,000,000 | 10,000,000 |
Common stock, issued (in shares) | 5,284,500 | 5,284,500 |
Common stock, outstanding (in shares) | 4,606,790 | 4,573,448 |
Treasury stock, shares (in shares) | 677,710 | 711,052 |
Condensed Consolidated Statemen
Condensed Consolidated Statements of Earnings (Unaudited) - USD ($) shares in Thousands, $ in Thousands | 3 Months Ended | 9 Months Ended | ||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | |
Net sales | $ 119,349 | $ 78,457 | $ 303,847 | $ 245,229 |
Cost of sales, excluding depreciation and amortization expense | 95,092 | 64,183 | 244,014 | 202,053 |
Gross profit | 24,257 | 14,274 | 59,833 | 43,176 |
Selling, general, and administrative expenses | 13,937 | 10,122 | 39,433 | 31,930 |
Acquisition related costs | 609 | 246 | 1,201 | 277 |
Depreciation and amortization expense | 1,197 | 617 | 2,933 | 1,934 |
Income from operations | 8,514 | 3,289 | 16,266 | 9,035 |
Other income: | ||||
Interest, net | 198 | 318 | 755 | 760 |
Foreign currency transaction loss | (442) | (140) | (688) | (100) |
Change in fair value of acquisition contingent consideration | (1,152) | 0 | (1,152) | 0 |
Income before provision for income taxes | 7,118 | 3,467 | 15,181 | 9,695 |
Provision for income taxes | 1,659 | 1,095 | 3,561 | 2,618 |
Net income | $ 5,459 | $ 2,372 | $ 11,620 | $ 7,077 |
Income per common share-Basic (in dollars per share) | $ 1.19 | $ 0.52 | $ 2.54 | $ 1.57 |
Income per common share-Diluted (in dollars per share) | $ 1.19 | $ 0.52 | $ 2.54 | $ 1.57 |
Weighted average common shares outstanding — Basic (in shares) | 4,476 | 4,414 | 4,458 | 4,392 |
Weighted average common shares outstanding — Diluted (in shares) | 4,476 | 4,414 | 4,458 | 4,392 |
Condensed Consolidated Statem_2
Condensed Consolidated Statements of Comprehensive Income (Unaudited) - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended | ||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | |
Net income | $ 5,459 | $ 2,372 | $ 11,620 | $ 7,077 |
Other comprehensive income (loss): | ||||
Foreign currency translation adjustments, net of taxes | 2,517 | (1,442) | 1,678 | 175 |
Other comprehensive income (loss) | 2,517 | (1,442) | 1,678 | 175 |
Comprehensive income | $ 7,976 | $ 930 | $ 13,298 | $ 7,252 |
Condensed Consolidated Statem_3
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($) $ in Thousands | Common Stock [Member] | Additional Paid-in Capital [Member] | Treasury Stock, Common [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total |
Balance (in shares) at Dec. 31, 2022 | 5,284,500 | 806,068 | ||||
Balance at Dec. 31, 2022 | $ 53 | $ 32,715 | $ (13,230) | $ 43,904 | $ (2,868) | $ 60,574 |
Net income | 0 | 0 | 0 | 3,324 | 0 | 3,324 |
Foreign currency translation adjustments, net of taxes | 0 | 0 | 0 | 0 | 613 | 613 |
Dividends paid (per common share $0.17) | 0 | 0 | 0 | (749) | 0 | (749) |
Share-based compensation expense | $ 0 | 546 | $ 0 | 0 | 546 | |
Restricted stock grants (net of forfeitures) (in shares) | 0 | (43,824) | ||||
Restricted stock grants (net of forfeitures) | $ 0 | (765) | $ 765 | 0 | 0 | 0 |
Treasury shares repurchased | 0 | $ (214) | 0 | 0 | (214) | |
Treasury shares repurchased (in shares) | 5,604 | |||||
Balance (in shares) at Mar. 31, 2023 | 5,284,500 | 767,848 | ||||
Balance at Mar. 31, 2023 | $ 53 | 32,496 | $ (12,679) | 46,479 | (2,255) | 64,094 |
Balance (in shares) at Dec. 31, 2022 | 5,284,500 | 806,068 | ||||
Balance at Dec. 31, 2022 | $ 53 | 32,715 | $ (13,230) | 43,904 | (2,868) | 60,574 |
Net income | 7,077 | |||||
Foreign currency translation adjustments, net of taxes | 175 | |||||
Balance (in shares) at Sep. 30, 2023 | 5,284,500 | 704,872 | ||||
Balance at Sep. 30, 2023 | $ 53 | 33,895 | $ (12,357) | 48,724 | (2,693) | 67,622 |
Balance (in shares) at Mar. 31, 2023 | 5,284,500 | 767,848 | ||||
Balance at Mar. 31, 2023 | $ 53 | 32,496 | $ (12,679) | 46,479 | (2,255) | 64,094 |
Net income | 0 | 0 | 0 | 1,381 | 0 | 1,381 |
Foreign currency translation adjustments, net of taxes | 0 | 0 | 0 | 0 | 1,004 | 1,004 |
Dividends paid (per common share $0.17) | 0 | 0 | 0 | (754) | 0 | (754) |
Share-based compensation expense | $ 0 | 2,238 | $ 0 | 0 | 2,238 | |
Restricted stock grants (net of forfeitures) (in shares) | 0 | (71,965) | ||||
Restricted stock grants (net of forfeitures) | $ 0 | (1,258) | $ 1,258 | 0 | 0 | 0 |
Treasury shares repurchased | 0 | $ (981) | 0 | 0 | (981) | |
Treasury shares repurchased (in shares) | 19,703 | |||||
Balance (in shares) at Jun. 30, 2023 | 5,284,500 | 715,586 | ||||
Balance at Jun. 30, 2023 | $ 53 | 33,476 | $ (12,402) | 47,106 | (1,251) | 66,982 |
Net income | 0 | 0 | 0 | 2,372 | 0 | 2,372 |
Foreign currency translation adjustments, net of taxes | 0 | 0 | 0 | 0 | (1,442) | (1,442) |
Dividends paid (per common share $0.17) | 0 | 0 | 0 | (754) | 0 | (754) |
Share-based compensation expense | $ 0 | 711 | $ 0 | 0 | 0 | 711 |
Restricted stock grants (net of forfeitures) (in shares) | 0 | (16,737) | ||||
Restricted stock grants (net of forfeitures) | $ 0 | (292) | $ 292 | 0 | 0 | 0 |
Treasury shares repurchased | $ 0 | 0 | $ (247) | 0 | 0 | (247) |
Treasury shares repurchased (in shares) | 6,023 | |||||
Balance (in shares) at Sep. 30, 2023 | 5,284,500 | 704,872 | ||||
Balance at Sep. 30, 2023 | $ 53 | 33,895 | $ (12,357) | 48,724 | (2,693) | 67,622 |
Balance (in shares) at Dec. 31, 2023 | 5,284,500 | 711,052 | ||||
Balance at Dec. 31, 2023 | $ 53 | 34,647 | $ (12,623) | 53,215 | (522) | 74,770 |
Net income | 0 | 0 | 0 | 2,731 | 0 | 2,731 |
Foreign currency translation adjustments, net of taxes | 0 | 0 | 0 | 0 | (718) | (718) |
Dividends paid (per common share $0.17) | 0 | 0 | 0 | (756) | 0 | (756) |
Share-based compensation expense | $ 0 | 854 | $ 0 | 0 | 854 | |
Restricted stock grants (net of forfeitures) (in shares) | 0 | (18,938) | ||||
Restricted stock grants (net of forfeitures) | $ 0 | (331) | $ 331 | 0 | 0 | 0 |
Treasury shares repurchased | 0 | $ (432) | 0 | 0 | (432) | |
Treasury shares repurchased (in shares) | 7,255 | |||||
Balance (in shares) at Mar. 31, 2024 | 5,284,500 | 699,369 | ||||
Balance at Mar. 31, 2024 | $ 53 | 35,170 | $ (12,724) | 55,190 | (1,240) | 76,449 |
Balance (in shares) at Dec. 31, 2023 | 5,284,500 | 711,052 | ||||
Balance at Dec. 31, 2023 | $ 53 | 34,647 | $ (12,623) | 53,215 | (522) | 74,770 |
Net income | 11,620 | |||||
Foreign currency translation adjustments, net of taxes | 1,678 | |||||
Balance (in shares) at Sep. 30, 2024 | 5,284,500 | 677,710 | ||||
Balance at Sep. 30, 2024 | $ 53 | 36,676 | $ (12,777) | 62,560 | 1,156 | 87,668 |
Balance (in shares) at Mar. 31, 2024 | 5,284,500 | 699,369 | ||||
Balance at Mar. 31, 2024 | $ 53 | 35,170 | $ (12,724) | 55,190 | (1,240) | 76,449 |
Net income | 0 | 0 | 0 | 3,430 | 0 | 3,430 |
Foreign currency translation adjustments, net of taxes | 0 | 0 | 0 | 0 | (121) | (121) |
Dividends paid (per common share $0.17) | 0 | 0 | 0 | (758) | 0 | (758) |
Share-based compensation expense | $ 0 | 1,113 | $ 0 | 0 | 1,113 | |
Restricted stock grants (net of forfeitures) (in shares) | 0 | (31,213) | ||||
Restricted stock grants (net of forfeitures) | $ 0 | (545) | $ 545 | 0 | 0 | 0 |
Treasury shares repurchased | 0 | $ (283) | 0 | 0 | (283) | |
Treasury shares repurchased (in shares) | 4,817 | |||||
Balance (in shares) at Jun. 30, 2024 | 5,284,500 | 672,973 | ||||
Balance at Jun. 30, 2024 | $ 53 | 35,738 | $ (12,462) | 57,862 | (1,361) | 79,830 |
Net income | 0 | 0 | 0 | 5,459 | 0 | 5,459 |
Foreign currency translation adjustments, net of taxes | 0 | 0 | 0 | 0 | 2,517 | 2,517 |
Dividends paid (per common share $0.17) | 0 | 0 | 0 | (761) | 0 | (761) |
Share-based compensation expense | 0 | 938 | 0 | 0 | 0 | 938 |
Restricted stock grants (net of forfeitures) | 0 | 0 | 0 | 0 | 0 | 0 |
Treasury shares repurchased | $ 0 | 0 | $ (315) | 0 | 0 | (315) |
Treasury shares repurchased (in shares) | 4,737 | |||||
Balance (in shares) at Sep. 30, 2024 | 5,284,500 | 677,710 | ||||
Balance at Sep. 30, 2024 | $ 53 | $ 36,676 | $ (12,777) | $ 62,560 | $ 1,156 | $ 87,668 |
Condensed Consolidated Statem_4
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals) - $ / shares | 3 Months Ended | |||||
Sep. 30, 2024 | Jun. 30, 2024 | Mar. 31, 2024 | Sep. 30, 2023 | Jun. 30, 2023 | Mar. 31, 2023 | |
Dividend paid per common share (in dollars per share) | $ 0.17 | $ 0.17 | $ 0.17 | $ 0.17 | $ 0.17 | $ 0.17 |
Condensed Consolidated Statem_5
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($) $ in Thousands | 9 Months Ended | |
Sep. 30, 2024 | Sep. 30, 2023 | |
Cash flows from operating activities | ||
Net income | $ 11,620 | $ 7,077 |
Adjustments to reconcile net income to net cash and cash equivalents provided by operating activities: | ||
Depreciation and amortization expense | 2,933 | 1,934 |
Provision for doubtful accounts | 88 | 34 |
Deferred income tax benefit | (163) | (108) |
Share-based compensation expense | 2,810 | 3,422 |
Amortization of discount on accounts receivable | (23) | (41) |
Amortization of right-of-use assets | 307 | 304 |
Change in fair value of contingent earn-out consideration | 1,152 | 0 |
Changes in operating assets and liabilities: | ||
Accounts receivable | (24,145) | 30,438 |
Inventory | (690) | 2,247 |
Prepaid expenses and other current assets | 435 | (882) |
Vendor prepayments | 0 | 890 |
Accounts payable and accrued expenses | 25,407 | (8,185) |
Lease liability, net | (361) | (399) |
Other assets and liabilities | (1,608) | 1,624 |
Net cash and cash equivalents provided by operating activities | 17,762 | 38,355 |
Cash flows from investing activities | ||
Purchase of equipment and leasehold improvements | (3,592) | (4,180) |
Payment for acquisition | (20,672) | 0 |
Net cash and cash equivalents used in investing activities | (24,264) | (4,180) |
Cash flows from financing activities | ||
Purchase of treasury stock | (1,030) | (1,441) |
Borrowings under credit facilities | 0 | 10,000 |
Repayments of borrowings under credit facilities | (4,252) | (10,000) |
Repayments of borrowings under term loan | (403) | (388) |
Dividends paid | (2,275) | (2,256) |
Contingent consideration paid | (152) | 0 |
Payments of deferred financing costs | 0 | (638) |
Net cash and cash equivalents used in financing activities | (8,112) | (4,723) |
Effect of foreign exchange rate on cash and cash equivalents | 458 | 81 |
Net increase in cash and cash equivalents | (14,156) | 29,533 |
Cash and cash equivalents at beginning of period | 36,295 | 20,245 |
Cash and cash equivalents at end of period | 22,139 | 49,778 |
Supplementary disclosure of cash flow information: | ||
Income taxes paid | 2,867 | 4,126 |
Interest paid | $ 177 | $ 30 |
Note 1 - Basis of Presentation
Note 1 - Basis of Presentation | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Basis of Accounting [Text Block] | 1. Basis of Presentation: The accompanying unaudited condensed consolidated financial statements of Climb Global Solutions, Inc. and its subsidiaries (collectively, the “Company”), have been prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial information and with the instructions to Form 10 8 03 X. not The preparation of these condensed consolidated financial statements requires the Company to make estimates and judgments that affect the reported amounts of assets and liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. On an on-going basis, the Company evaluates its estimates, including those related to product returns, bad debts, inventories, intangible assets, income taxes, stock-based compensation, evaluation of performance obligations and allocation of revenue to distinct items, contingencies and litigation. The Company bases its estimates on its historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not may not 10 December 31, 2023 The consolidated financial statements include the accounts of Climb Global Solutions, Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated. Reclassifications Certain reclassifications and immaterial revisions have been made to the prior period financial statements to conform to the current-year presentation. |
Note 2 - Recently Issued Accoun
Note 2 - Recently Issued Accounting Standards | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Accounting Standards Update and Change in Accounting Principle [Text Block] | 2. Recently Issued Accounting Standards: In November 2023, 2023 07 Segment Reporting (Topic 280 ." first 2024 not |
Note 3 - Foreign Currency Trans
Note 3 - Foreign Currency Translation | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Foreign Currency Disclosure [Text Block] | 3. Foreign Currency Translation: Assets and liabilities of the Company’s foreign subsidiaries have been translated using the end of the reporting period exchange rates, and related revenues and expenses have been translated at average rates of exchange in effect during the period. Transactions denominated in currencies other than the applicable functional currency are converted to the functional currency at the exchange rate on the transaction date. Foreign currency transaction gains and losses are recorded as income or expenses as amounts are settled. The net sales from our foreign operations for the three September 30, 2024 2023 were $37.5 million a nine September 30, 2024 2023 $88.6 mil The Company’s foreign currency exposure relates primarily to international transactions where the currency collected from customers can be different from the currency used to purchase the product. In cases where the Company is not may no three not not September 30, 2024 |
Note 4 - Comprehensive Income
Note 4 - Comprehensive Income | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Comprehensive Income (Loss) Note [Text Block] | 4. Comprehensive Income: Cumulative translation adjustments have been classified within accumulated other comprehensive loss, which is a separate component of stockholders’ equity in accordance with FASB ASC Topic 220, |
Note 5 - Revenue Recognition
Note 5 - Revenue Recognition | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Revenue from Contract with Customer [Text Block] | 5. Revenue Recognition: The Company’s revenues primarily result from the sale of various technology products and services, including third third third third third third The Company has contracts with certain customers where the Company’s performance obligation is to arrange for the products or services to be provided by another party. In these arrangements, as the Company assumes an agency relationship in the transaction, revenue is recognized in the amount of the net fee associated with serving as an agent. These arrangements primarily relate to third third The Company allows its customers to return product for exchange or credit subject to certain limitations. A liability is recorded at the time of sale for estimated product returns based upon historical experience and an asset is recognized for the amount expected to be recorded in inventory upon product return. The Company also provides rebates and other discounts to certain customers which are considered variable consideration. A provision for customer rebates and other discounts is recorded as a reduction of revenue at the time of sale based on an evaluation of the contract terms and historical experience. The Company considers shipping and handling activities as costs to fulfill the sales of products. Shipping revenue is included in net sales when control of the product is transferred to the customer, and the related shipping and handling costs are included in the cost of products sold. Taxes imposed by governmental authorities on the Company’s revenue producing activities with customers, such as sales taxes and value added taxes, are excluded from net sales. The Company disaggregates its operating revenue by segment, geography and timing of revenue recognition, which the Company believes provides a meaningful depiction of the nature of its revenue. See Note 16 Hardware and software products sold by the Company are generally delivered via shipment from the Company’s facilities, drop shipment directly from the vendor, or by electronic delivery of keys for software products. The majority of the Company’s business involves shipments directly from its vendors to its customers. In these transactions, the Company is generally responsible for negotiating price both with the vendor and customer, payment to the vendor, establishing payment terms with the customer, product returns, and has risk of loss if the customer does not The Company performs an analysis of the number of days of sales in-transit to customers at the end of each reporting period based on an analysis of commercial delivery terms that include drop-shipment arrangements. This analysis is the basis upon which the Company estimates the amount of net sales in-transit at the end of the period and adjusts revenue and the related costs to reflect only what has been delivered to the customer. Changes in delivery patterns may Generally, software products are sold with accompanying third no third not third third third third one third not The Company also sells some of its products and services as part of bundled contract arrangements containing multiple deliverables, which may not The Company pays commissions and related payroll taxes to sales personnel when customers are invoiced. These costs are recorded as selling, general and administrative expenses in the period earned as all our performance obligations are complete within a short window of processing the order. |
Note 6 - Acquisition
Note 6 - Acquisition | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Business Combination Disclosure [Text Block] | 6. Acquisition: Acquisition of Douglas Stewart Software & Services, LLC On July 31, 2024, 12 The financial position and operating results of DSS is included in the Company’s consolidated financial statements from the date of the acquisition. The Company recorded net revenue for DSS of approximately $6.8 million and net income of approximately $1.0 million during the three nine September 30, 2024 The impact of the acquisition’s preliminary purchase price allocations on the Company’s consolidated balance sheet and the acquisition date fair value of the total consideration transferred is depicted in the table below. Due to the timing of the closing of the transaction in the third 2024, not one may (in thousands) Prepaid expenses and other current assets $ 773 Inventory 18 Right-of-use asset 291 Other assets 8 Accounts payable and accrued expenses (384 ) Lease liability, current portion (88 ) Lease liability, non-current portion (249 ) Intangibles - Vendor Relationships 20,630 Goodwill 1,398 Net assets $ 22,397 (in thousands) Supplementary information: Cash paid to sellers $ 20,672 Contingent earn-out 1,725 Total purchase consideration $ 22,397 Intangible assets are comprised of approximately $20.6 million of vendor relationships with a weighted average amortization period of 11 years, representing the expected period of benefits. Goodwill, which was allocated to the Distribution segment, is the excess of the consideration transferred over the net assets recognized and represents the expected revenue and cost synergies of the combined company and assembled workforce. Goodwill recognized as a result of the acquisition is not The Company used the income approach to value the intangible assets, representing acquired vendor relationships. The fair value measurements were primarily based on significant inputs that are not 3 18 The purchase consideration included approximately $1.7 million fair value for potential earn-out consideration if certain targets are achieved by September 30, 2025, no not 3 18 Acquisition of Data Solutions Holdings Limited On October 6, 2023, €15.0 The purchase consideration included approximately $2.3 million fair value for potential earn-out consideration if certain targets are achieved, payable in cash. As of September 30, 2024 three nine September 30, 2024 September 30, 2024 December 31, 2023 fourth 2024. In connection with the acquisition of Data Solutions on October 6, 2023, 11 September 30, 2024 December 31, 2023 During the three September 30, 2024 2023 nine September 30, 2024 2023 three nine September 30, 2024 three nine September 30, 2023 Pro Forma Results (unaudited) The following unaudited pro forma financial information summarizes the results of operations for the three nine September 30, 2024 2023 three nine September 30, 2024 2023 not Nine months ended Three months ended September 30, September 30, 2024 2023 2024 2023 Net sales $ 318,268 $ 279,918 $ 123,437 $ 94,850 Net income $ 13,745 $ 11,217 $ 6,295 $ 4,757 |
Note 7 - Goodwill and Other Int
Note 7 - Goodwill and Other Intangible Assets | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Goodwill and Intangible Assets Disclosure [Text Block] | 7. Goodwill and Other Intangible Assets: The following table summarizes the changes in the carrying amount of goodwill for the nine September 30, 2024 Distribution Solutions Consolidated Balance December 31, 2023 $ 18,658 $ 8,524 $ 27,182 Goodwill acquired $ 1,398 $ — 1,398 Translation adjustments 609 439 1,048 Balance September 30, 2024 $ 20,665 $ 8,963 $ 29,628 Information related to the Company’s other intangibles, net is as follows: As of September 30, 2024 Gross Net Carrying Accumulated Carrying Amount Amortization Amount Customer and vendor relationships $ 52,770 $ 7,109 $ 45,661 Trade name 514 134 380 Total $ 53,284 $ 7,243 $ 46,041 As of December 31, 2023 Gross Net Carrying Accumulated Carrying Amount Amortization Amount Customer and vendor relationships $ 30,968 $ 4,424 $ 26,544 Trade name 489 103 386 Total $ 31,457 $ 4,527 $ 26,930 Customer relationships are amortized over thirteen n eight fifteen fifteen During the three September 30, 2024 2023 les, net of $1.1 million and $0.5 million, respectively. During the nine September 30, 2024 2023 Estimated future amortization expense of the Company’s other intangibles, net as of September 30, 2024 2024 (excluding the nine months ended September 30, 2024) $ 1,211 2025 4,845 2026 4,845 2027 4,845 2028 4,845 Thereafter 25,450 Total $ 46,041 |
Note 8 - Right-of-use Asset and
Note 8 - Right-of-use Asset and Lease Liability | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Lessee, Operating Leases [Text Block] | 8. Right-of-use Asset and Lease Liability: The Company has entered into operating leases for office and warehouse facilities, which have terms at lease commencement that range from 2 years to 11 years. The Company determines if an arrangement is a lease at inception. Leases with an initial term of 12 not Right-of-use (“ROU”) assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date of the lease based on the present value of the lease payments over the lease term. As our leases do not Information related to the Company’s ROU assets and related lease liabilities were as follows: Nine months ended September 30, 2024 2023 Cash paid for operating lease liabilities $ 500 $ 467 Right-of-use assets obtained in exchange for new operating lease obligations $ 360 $ — Weighted-average remaining lease term (years) 2.6 3.4 Weighted-average discount rate 4.4 % 3.5 % Maturities of lease liabilities as of September 30, 2024 2024 (excluding the nine months ended September 30, 2024) $ 188 2025 654 2026 650 2027 226 2028 17 1,735 Less: imputed interest (406 ) Total lease liabilities $ 1,329 Lease liabilities, current portion 533 Lease liabilities, net of current portion 796 Total lease liabilities $ 1,329 |
Note 9 - Fair Value
Note 9 - Fair Value | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Fair Value Disclosures [Text Block] | 9. Fair Value: The carrying amounts of financial instruments, including cash and cash equivalents, short-term accounts receivable, accounts payable and term loan approximated fair value at September 30, 2024 December 31, 2023 |
Note 10 - Balance Sheet Detail
Note 10 - Balance Sheet Detail | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Supplemental Balance Sheet Disclosures [Text Block] | 10. Balance Sheet Detail: Equipment and leasehold improvements consist of the following: September 30, December 31, 2024 2023 Equipment $ 3,540 $ 3,195 Capitalized software 10,240 6,890 Buildings 717 709 Leasehold improvements 2,433 2,385 16,931 13,179 Less accumulated depreciation and amortization (4,780 ) (4,329 ) $ 12,151 $ 8,850 During the three September 30, 2024 2023 $0.1 million, respe nine September 30, 2024 2023 of $0.4 mill In limited circumstances, the Company offers extended payment terms to customers for periods of 12 to 36 months. The related customer receivables are classified as accounts receivable long-term and discounted to their present value at prevailing market rates at the time of sale. In subsequent periods, the accounts receivable is increased to the amounts due and payable by the customers through the accretion of interest income on the unpaid accounts receivable due in future years. The amounts under these long-term accounts receivable due within one September 30, December 31, 2024 2023 Total amount due from customer $ 1,206 $ 1,637 Less: unamortized discount (9 ) (12 ) Less: current portion included in accounts receivable (445 ) (828 ) $ 752 $ 797 The undiscounted cash flows to be received by the Company relating to these accounts receivable long-term is expected to be $0.4 million du 12 September 30, 2025, 2026, 2027. Accounts payable and accrued expenses consist of the following: September 30, December 31, 2024 2023 Trade accounts payable $ 240,630 $ 218,717 Accrued expenses 21,605 22,903 Other accounts payable and accrued expenses 11,658 8,028 $ 273,893 $ 249,648 |
Note 11 - Credit Facility
Note 11 - Credit Facility | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Debt Disclosure [Text Block] | 11. Credit Facility: On May 18, 2023, not not may All outstanding loans issued pursuant to the Credit Agreement become due and payable, on May 18, 2028. no September 30, 2024 Outstanding Loans comprising (i) ABR Borrowings bear interest at the ABR plus the Applicable Rate, (ii) Term Benchmark Borrowings bear interest at the Adjusted Term SOFR Rate or the Adjusted EURIBOR Rate, as applicable, plus the Applicable Rate and (iii) RFR Loans bear interest at a rate per annum equal to the applicable Adjusted Daily Simple RFR plus the Applicable Rate. The Applicable Rate for borrowings varies (i) in the case of ABR Borrowings, from 0.50% to 0.75% and (ii) in the case of Term Benchmark Borrowings and RFR Loans, from 1.50% to 1.75%. The Credit Agreement contains customary affirmative covenants, such as financial statement and collateral reporting requirements. The Credit Agreement also contains customary negative covenants that limit the ability of the Company to, among other things, incur indebtedness, create liens or permit encumbrances, or undergo certain fundamental changes. Additionally, under certain circumstances, the Company is required to maintain a minimum fixed charge coverage ratio. In connection with entering into the Credit Agreement, on May 18, 2023, November 15, 2017 no On April 8, 2022, forty-eight April 2026. At September 30, 2024 December 31, 2023 $0.9 million an September 30, 2024 2024 (excluding the nine months ended September 30, 2024) 183 2025 562 2026 144 Total $ 889 In connection with the acquisition of Data Solutions (See Note 6– nine September 30, 2024 . The proceeds from the IDF were used for working capital needs of Data Solutions. Borrowings under the IDF were based on accounts receivable up to 80% of the outstanding accounts receivable balance. The discount rate under the IDF is equal to 2.5% above AIB’s applicable lending rates that vary based on the currency of the accounts receivable. The balance outstanding under the IDF at September 30, 2024 was zero , as the Company terminated the IDF during the period, compared to $4.3 million at December 31, 2023 , which is included in accounts payable and accrued expenses on the Consolidated Balance Sheets. |
Note 12 - Earnings Per Share
Note 12 - Earnings Per Share | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Earnings Per Share [Text Block] | 12. Earnings Per Share: Our basic and diluted earnings per share are computed using the two 260. two A reconciliation of the numerators and denominators of the basic and diluted per share computations follows: Nine months ended Three months ended September 30, September 30, 2024 2023 2024 2023 Numerator: Net income $ 11,620 $ 7,077 $ 5,459 $ 2,372 Less distributed and undistributed income allocated to participating securities 288 171 139 61 Net income attributable to common shareholders 11,332 6,906 5,320 2,311 Denominator: Weighted average common shares (Basic) 4,458 4,392 4,476 4,414 Weighted average common shares including assumed conversions (Diluted) 4,458 4,392 4,476 4,414 Basic net income per share $ 2.54 $ 1.57 $ 1.19 $ 0.52 Diluted net income per share $ 2.54 $ 1.57 $ 1.19 $ 0.52 |
Note 13 - Major Customers and V
Note 13 - Major Customers and Vendors | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Concentration Risk Disclosure [Text Block] | 13. Major Customers and Vendors: The Company had one or 8% three September 30, 2024 three September 30, 2023 d one ed for 11% of nine September 30, 2024 nine September 30, 2023 The Company had two major customers that accounted for 16% and 13%, respectively, of its net sales during the three September 30, 2024 , and 21% and 17%, respectively, of its net sales during the three September 30, 2023 . The Company had two nine September 30, 2024 nine September 30, 2023 same for 13% and 6%, September 30, 2024 December 31, 2023 |
Note 14 - Income Taxes
Note 14 - Income Taxes | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Income Tax Disclosure [Text Block] | 14. Income Taxes: The Company has analyzed filing positions in all of the federal and state jurisdictions where it is required to file income tax returns, as well as all open tax years in these jurisdictions. The Company’s policy is to recognize interest related to unrecognized tax benefits as interest expense and penalties as operating expenses. The Company believes that it has appropriate support for the income tax positions it takes and expects to take on its tax returns, and that its accruals for tax liabilities are adequate for all open years based on an assessment of many factors including past experience and interpretations of tax law applied to the facts of each matter. |
Note 15 - Stockholders' Equity
Note 15 - Stockholders' Equity and Stock Based Compensation | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Share-Based Payment Arrangement [Text Block] | 15. Stockholders Equity and Stock Based Compensation: The 2021 “2021 2021 2021 June 2021. l number of shares of the Company’s common stock, par value $0.01 per share (“Common Stock”) initially available for award under the 2021 September 30, 2024 , the number of shares of Common Stock available for future award grants to employees, officers and directors under the 2021 The 2012 “2012 2012 2018 June 2018. 2012 2021 were 352,158 shar 2012 2012 2021 none 2012 2021 2012 2021 September 30, 2024 2012 During the nine September 30, 2024 of 51,812 shares of Restricted Stock to directors, officers and employees. These shares of Restricted Stock vest immediately, over time in three equal installments or over time in sixteen nine September 30, 2024 , a total of 1,661 sh During the nine September 30, 2023 , the Company granted a total of 132,526 A summary of nonvested shares of Restricted Stock awards outstanding under the 2012 2021 September 30, 2024 nine Weighted Average Grant Date Shares Fair Value Nonvested shares at January 1, 2024 143,294 $ 36.48 Granted in 2024 51,812 58.83 Vested in 2024 (64,351 ) 35.51 Forfeited in 2024 (1,661 ) 42.58 Nonvested shares at September 30, 2024 129,094 $ 45.85 As of September 30, 2024 $5.2 m of 2.2 y During the three September 30, 2024 2023 $0.9 mill nine September 30, 2024 2023 f $2.8 |
Note 16 - Segment Information
Note 16 - Segment Information | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Segment Reporting Disclosure [Text Block] | 16. Segment 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, The Company is organized into two 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 not Nine months ended Three months ended September 30, September 30, 2024 2023 2024 2023 Net Sales: Distribution $ 286,523 $ 226,905 $ 111,861 $ 72,227 Solutions 17,324 18,324 7,488 6,230 303,847 245,229 119,349 78,457 Gross Profit: Distribution $ 51,454 $ 35,472 $ 21,557 $ 11,671 Solutions 8,379 7,704 2,700 2,603 59,833 43,176 24,257 14,274 Direct Costs: Distribution $ 23,342 $ 15,225 $ 8,430 $ 5,249 Solutions 4,013 3,844 1,330 1,226 27,355 19,069 9,760 6,475 Segment Income Before Taxes: (1) Distribution $ 28,112 $ 20,247 $ 13,127 $ 6,422 Solutions 4,366 3,860 1,370 1,377 Segment Income Before Taxes 32,478 24,107 14,497 7,799 General and administrative $ 12,078 $ 12,861 $ 4,177 $ 3,647 Acquisition related costs 1,201 277 609 246 Depreciation and amortization expense 2,933 1,934 1,197 617 Interest, net 755 760 198 318 Foreign currency transaction loss (688 ) (100 ) (442 ) (140 ) Change in fair value of acquisition contingent consideration (1,152 ) — (1,152 ) — Income before taxes $ 15,181 $ 9,695 $ 7,118 $ 3,467 ( 1 Excludes general corporate expenses including interest and foreign currency transaction loss As of As of September 30, December 31, Selected Assets by Segment: 2024 2023 Distribution $ 306,914 $ 242,927 Solutions 21,860 37,992 Segment Select Assets 328,774 280,919 Corporate Assets 43,166 54,179 Total Assets $ 371,940 $ 335,098 Geographic areas and net sales mix related to operations for the three nine September 30, 2024 2023 Nine months ended Three months ended September 30, 2024 September 30, 2024 Distribution Solutions Total Distribution Solutions Total Geography USA $ 208,462 $ 6,808 $ 215,270 $ 78,012 $ 3,818 $ 81,830 Europe and United Kingdom 62,135 9,702 71,837 29,494 3,418 32,912 Canada 15,926 814 16,740 4,355 252 4,607 Total net sales $ 286,523 $ 17,324 $ 303,847 $ 111,861 $ 7,488 $ 119,349 Timing of Revenue Recognition Transferred at a point in time where the Company is principal (1) $ 253,027 $ 10,969 $ 263,996 $ 101,561 $ 5,074 $ 106,635 Transferred at a point in time where the Company is agent (2) 33,496 6,355 39,851 10,300 2,414 12,714 Total net sales $ 286,523 $ 17,324 $ 303,847 $ 111,861 $ 7,488 $ 119,349 Nine months ended Three months ended September 30, 2023 September 30, 2023 Distribution Solutions Total Distribution Solutions Total Geography USA $ 180,278 $ 9,908 $ 190,186 $ 60,891 $ 3,605 $ 64,496 Europe and United Kingdom 28,903 7,508 36,411 6,353 2,418 8,771 Canada 17,724 908 18,632 4,983 207 5,190 Total net sales $ 226,905 $ 18,324 $ 245,229 $ 72,227 $ 6,230 $ 78,457 Timing of Revenue Recognition Transferred at a point in time where the Company is principal (1) $ 200,027 $ 13,290 $ 213,317 $ 63,587 $ 4,422 $ 68,009 Transferred at a point in time where the Company is agent (2) 26,878 5,034 31,912 8,640 1,808 10,448 Total net sales $ 226,905 $ 18,324 $ 245,229 $ 72,227 $ 6,230 $ 78,457 ( 1 Includes net sales from third ( 2 Includes net sales from third Geographic identifiable assets related to operations as of September 30, 2024 December 31, 2023 September 30, December 31, Identifiable Assets by Geographic Areas 2024 2023 USA $ 226,717 $ 171,080 Canada 25,345 23,994 Europe and United Kingdom 119,878 140,024 Total $ 371,940 $ 335,098 |
Note 17 - Related Party Transac
Note 17 - Related Party Transactions | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Related Party Transactions Disclosure [Text Block] | 17. Related Party Transactions: The Company made sales to a customer where a family member of one nine September 30, 2024 three September 30, 2024 three September 30, 2023 nine September 30, 2024 2023 September 30, 2024 and December 31, 2023 zero |
Note 18 - Fair Value Measuremen
Note 18 - Fair Value Measurements | 9 Months Ended |
Sep. 30, 2024 | |
Notes to Financial Statements | |
Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block] | 18. Fair Value Measurements Fair value is defined under US GAAP as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. A fair value hierarchy has been established for valuation inputs to prioritize the inputs into three one three Level 1 Level 2 not Level 3 The Company’s assets and liabilities that are measured at fair value on a recurring basis, by level, within the fair value hierarchy as of September 30, 2024 December 31, 2023 As of September 30, 2024 Level 1 Level 2 Level 3 Total Assets: Treasury bills $ — $ — $ — $ — Total assets $ — $ — $ — $ — Liabilities: Contingent earn-out $ — $ — $ 7,064 $ 7,064 Total liabilities $ — $ — $ 7,064 $ 7,064 As of December 31, 2023 Assets: Treasury bills $ 5,096 $ — $ — $ 5,096 Total assets $ 5,096 $ — $ — $ 5,096 Liabilities: Contingent earn-out $ — $ — $ 4,189 $ 4,189 Total liabilities $ — $ — $ 4,189 $ 4,189 In determining fair value, the Company utilizes valuation techniques that maximize the use of observable inputs and minimize the use of unobservable inputs to the extent possible. Observable or market inputs reflect market data obtained from independent sources, while unobservable inputs reflect the Company’s assumptions based on the best information available. The approach to estimating the contingent earn-out associated with the Company’s business combinations uses unobservable factors such as projected cash flows over the term of the contingent earn-out periods. The Company’s investment in treasury bills are measured at fair value on a recurring basis based on quoted market prices in active markets and are classified as level 1 3 fourth not” 3 The following table presents the changes in the Company’s level 3 Balance December 31, 2023 $ 4,189 DSS acquisition - contingent earn-out 1,755 Contingent earnout paid (150 ) Change in fair value of acquisition contingent consideration 1,152 Translation adjustments 118 Balance September 30, 2024 $ 7,064 |
Insider Trading Arrangements
Insider Trading Arrangements | 3 Months Ended |
Sep. 30, 2024 | |
Insider Trading Arr Line Items | |
Rule 10b5-1 Arrangement Terminated [Flag] | false |
Rule 10b5-1 Arrangement Adopted [Flag] | false |
Non-Rule 10b5-1 Arrangement Terminated [Flag] | false |
Non-Rule 10b5-1 Arrangement Adopted [Flag] | false |
Note 6 - Acquisition (Tables)
Note 6 - Acquisition (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] | (in thousands) Prepaid expenses and other current assets $ 773 Inventory 18 Right-of-use asset 291 Other assets 8 Accounts payable and accrued expenses (384 ) Lease liability, current portion (88 ) Lease liability, non-current portion (249 ) Intangibles - Vendor Relationships 20,630 Goodwill 1,398 Net assets $ 22,397 |
Schedule of Business Acquisitions, by Acquisition [Table Text Block] | (in thousands) Supplementary information: Cash paid to sellers $ 20,672 Contingent earn-out 1,725 Total purchase consideration $ 22,397 |
Business Acquisition, Pro Forma Information [Table Text Block] | Nine months ended Three months ended September 30, September 30, 2024 2023 2024 2023 Net sales $ 318,268 $ 279,918 $ 123,437 $ 94,850 Net income $ 13,745 $ 11,217 $ 6,295 $ 4,757 |
Note 7 - Goodwill and Other I_2
Note 7 - Goodwill and Other Intangible Assets (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Schedule of Goodwill [Table Text Block] | Distribution Solutions Consolidated Balance December 31, 2023 $ 18,658 $ 8,524 $ 27,182 Goodwill acquired $ 1,398 $ — 1,398 Translation adjustments 609 439 1,048 Balance September 30, 2024 $ 20,665 $ 8,963 $ 29,628 |
Schedule of Finite-Lived Intangible Assets [Table Text Block] | As of September 30, 2024 Gross Net Carrying Accumulated Carrying Amount Amortization Amount Customer and vendor relationships $ 52,770 $ 7,109 $ 45,661 Trade name 514 134 380 Total $ 53,284 $ 7,243 $ 46,041 As of December 31, 2023 Gross Net Carrying Accumulated Carrying Amount Amortization Amount Customer and vendor relationships $ 30,968 $ 4,424 $ 26,544 Trade name 489 103 386 Total $ 31,457 $ 4,527 $ 26,930 |
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] | 2024 (excluding the nine months ended September 30, 2024) $ 1,211 2025 4,845 2026 4,845 2027 4,845 2028 4,845 Thereafter 25,450 Total $ 46,041 |
Note 8 - Right-of-use Asset a_2
Note 8 - Right-of-use Asset and Lease Liability (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Lease, Cost [Table Text Block] | Nine months ended September 30, 2024 2023 Cash paid for operating lease liabilities $ 500 $ 467 Right-of-use assets obtained in exchange for new operating lease obligations $ 360 $ — Weighted-average remaining lease term (years) 2.6 3.4 Weighted-average discount rate 4.4 % 3.5 % |
Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] | 2024 (excluding the nine months ended September 30, 2024) $ 188 2025 654 2026 650 2027 226 2028 17 1,735 Less: imputed interest (406 ) Total lease liabilities $ 1,329 Lease liabilities, current portion 533 Lease liabilities, net of current portion 796 Total lease liabilities $ 1,329 |
Note 10 - Balance Sheet Detail
Note 10 - Balance Sheet Detail (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Property, Plant and Equipment [Table Text Block] | September 30, December 31, 2024 2023 Equipment $ 3,540 $ 3,195 Capitalized software 10,240 6,890 Buildings 717 709 Leasehold improvements 2,433 2,385 16,931 13,179 Less accumulated depreciation and amortization (4,780 ) (4,329 ) $ 12,151 $ 8,850 |
Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] | September 30, December 31, 2024 2023 Total amount due from customer $ 1,206 $ 1,637 Less: unamortized discount (9 ) (12 ) Less: current portion included in accounts receivable (445 ) (828 ) $ 752 $ 797 |
Schedule of Accounts Payable and Accrued Liabilities [Table Text Block] | September 30, December 31, 2024 2023 Trade accounts payable $ 240,630 $ 218,717 Accrued expenses 21,605 22,903 Other accounts payable and accrued expenses 11,658 8,028 $ 273,893 $ 249,648 |
Note 11 - Credit Facility (Tabl
Note 11 - Credit Facility (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Schedule of Maturities of Long-Term Debt [Table Text Block] | 2024 (excluding the nine months ended September 30, 2024) 183 2025 562 2026 144 Total $ 889 |
Note 12 - Earnings Per Share (T
Note 12 - Earnings Per Share (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] | Nine months ended Three months ended September 30, September 30, 2024 2023 2024 2023 Numerator: Net income $ 11,620 $ 7,077 $ 5,459 $ 2,372 Less distributed and undistributed income allocated to participating securities 288 171 139 61 Net income attributable to common shareholders 11,332 6,906 5,320 2,311 Denominator: Weighted average common shares (Basic) 4,458 4,392 4,476 4,414 Weighted average common shares including assumed conversions (Diluted) 4,458 4,392 4,476 4,414 Basic net income per share $ 2.54 $ 1.57 $ 1.19 $ 0.52 Diluted net income per share $ 2.54 $ 1.57 $ 1.19 $ 0.52 |
Note 15 - Stockholders' Equit_2
Note 15 - Stockholders' Equity and Stock Based Compensation (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Schedule of Nonvested Share Activity [Table Text Block] | Weighted Average Grant Date Shares Fair Value Nonvested shares at January 1, 2024 143,294 $ 36.48 Granted in 2024 51,812 58.83 Vested in 2024 (64,351 ) 35.51 Forfeited in 2024 (1,661 ) 42.58 Nonvested shares at September 30, 2024 129,094 $ 45.85 |
Note 16 - Segment Information (
Note 16 - Segment Information (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Schedule of Segment Reporting Information, by Segment [Table Text Block] | Nine months ended Three months ended September 30, September 30, 2024 2023 2024 2023 Net Sales: Distribution $ 286,523 $ 226,905 $ 111,861 $ 72,227 Solutions 17,324 18,324 7,488 6,230 303,847 245,229 119,349 78,457 Gross Profit: Distribution $ 51,454 $ 35,472 $ 21,557 $ 11,671 Solutions 8,379 7,704 2,700 2,603 59,833 43,176 24,257 14,274 Direct Costs: Distribution $ 23,342 $ 15,225 $ 8,430 $ 5,249 Solutions 4,013 3,844 1,330 1,226 27,355 19,069 9,760 6,475 Segment Income Before Taxes: (1) Distribution $ 28,112 $ 20,247 $ 13,127 $ 6,422 Solutions 4,366 3,860 1,370 1,377 Segment Income Before Taxes 32,478 24,107 14,497 7,799 General and administrative $ 12,078 $ 12,861 $ 4,177 $ 3,647 Acquisition related costs 1,201 277 609 246 Depreciation and amortization expense 2,933 1,934 1,197 617 Interest, net 755 760 198 318 Foreign currency transaction loss (688 ) (100 ) (442 ) (140 ) Change in fair value of acquisition contingent consideration (1,152 ) — (1,152 ) — Income before taxes $ 15,181 $ 9,695 $ 7,118 $ 3,467 As of As of September 30, December 31, Selected Assets by Segment: 2024 2023 Distribution $ 306,914 $ 242,927 Solutions 21,860 37,992 Segment Select Assets 328,774 280,919 Corporate Assets 43,166 54,179 Total Assets $ 371,940 $ 335,098 |
Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block] | Nine months ended Three months ended September 30, 2024 September 30, 2024 Distribution Solutions Total Distribution Solutions Total Geography USA $ 208,462 $ 6,808 $ 215,270 $ 78,012 $ 3,818 $ 81,830 Europe and United Kingdom 62,135 9,702 71,837 29,494 3,418 32,912 Canada 15,926 814 16,740 4,355 252 4,607 Total net sales $ 286,523 $ 17,324 $ 303,847 $ 111,861 $ 7,488 $ 119,349 Timing of Revenue Recognition Transferred at a point in time where the Company is principal (1) $ 253,027 $ 10,969 $ 263,996 $ 101,561 $ 5,074 $ 106,635 Transferred at a point in time where the Company is agent (2) 33,496 6,355 39,851 10,300 2,414 12,714 Total net sales $ 286,523 $ 17,324 $ 303,847 $ 111,861 $ 7,488 $ 119,349 Nine months ended Three months ended September 30, 2023 September 30, 2023 Distribution Solutions Total Distribution Solutions Total Geography USA $ 180,278 $ 9,908 $ 190,186 $ 60,891 $ 3,605 $ 64,496 Europe and United Kingdom 28,903 7,508 36,411 6,353 2,418 8,771 Canada 17,724 908 18,632 4,983 207 5,190 Total net sales $ 226,905 $ 18,324 $ 245,229 $ 72,227 $ 6,230 $ 78,457 Timing of Revenue Recognition Transferred at a point in time where the Company is principal (1) $ 200,027 $ 13,290 $ 213,317 $ 63,587 $ 4,422 $ 68,009 Transferred at a point in time where the Company is agent (2) 26,878 5,034 31,912 8,640 1,808 10,448 Total net sales $ 226,905 $ 18,324 $ 245,229 $ 72,227 $ 6,230 $ 78,457 |
Long-Lived Assets by Geographic Areas [Table Text Block] | September 30, December 31, Identifiable Assets by Geographic Areas 2024 2023 USA $ 226,717 $ 171,080 Canada 25,345 23,994 Europe and United Kingdom 119,878 140,024 Total $ 371,940 $ 335,098 |
Note 18 - Fair Value Measurem_2
Note 18 - Fair Value Measurements (Tables) | 9 Months Ended |
Sep. 30, 2024 | |
Notes Tables | |
Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] | As of September 30, 2024 Level 1 Level 2 Level 3 Total Assets: Treasury bills $ — $ — $ — $ — Total assets $ — $ — $ — $ — Liabilities: Contingent earn-out $ — $ — $ 7,064 $ 7,064 Total liabilities $ — $ — $ 7,064 $ 7,064 As of December 31, 2023 Assets: Treasury bills $ 5,096 $ — $ — $ 5,096 Total assets $ 5,096 $ — $ — $ 5,096 Liabilities: Contingent earn-out $ — $ — $ 4,189 $ 4,189 Total liabilities $ — $ — $ 4,189 $ 4,189 |
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] | Balance December 31, 2023 $ 4,189 DSS acquisition - contingent earn-out 1,755 Contingent earnout paid (150 ) Change in fair value of acquisition contingent consideration 1,152 Translation adjustments 118 Balance September 30, 2024 $ 7,064 |
Note 3 - Foreign Currency Tra_2
Note 3 - Foreign Currency Translation (Details Textual) - USD ($) $ in Millions | 3 Months Ended | 9 Months Ended | ||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | |
Foreign Currency Transaction Loss, before Tax | $ 0.1 | |||
Geographic Distribution, Foreign [Member] | ||||
Revenue from Contract with Customer, Excluding Assessed Tax | $ 37.5 | $ 14 | $ 88.6 | $ 55 |
Note 6 - Acquisition (Details T
Note 6 - Acquisition (Details Textual) $ in Thousands, € in Millions | 3 Months Ended | 9 Months Ended | ||||||
Jul. 31, 2024 USD ($) | Oct. 06, 2023 USD ($) | Oct. 06, 2023 EUR (€) | Sep. 30, 2024 USD ($) | Sep. 30, 2023 USD ($) | Sep. 30, 2024 USD ($) | Sep. 30, 2023 USD ($) | Dec. 31, 2023 USD ($) | |
Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability | $ 1,152 | $ 0 | $ 1,152 | $ 0 | ||||
Accounts Payable, Current | 240,630 | 240,630 | $ 218,717 | |||||
Business Combination, Acquisition Related Costs | 609 | 246 | 1,201 | 277 | ||||
Douglas Stewart Software & Services, LLC [Member] | ||||||||
Business Combination, Consideration Transferred | $ 22,397 | |||||||
Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual | 6,800 | |||||||
Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual | 1,000 | |||||||
Business Combination, Contingent Consideration, Liability | 1,700 | |||||||
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low | 0 | |||||||
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High | 4,200 | |||||||
Douglas Stewart Software & Services, LLC [Member] | Vendor Relationships [Member] | ||||||||
Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill | $ 20,600 | |||||||
Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life (Year) | 11 years | |||||||
Douglas Stewart Software & Services, LLC [Member] | Minimum [Member] | ||||||||
Business Combination, Consideration Transferred | $ 20,300 | |||||||
Data Solutions Holdings Limited [Member] | ||||||||
Business Combination, Consideration Transferred | $ 15,900 | € 15 | ||||||
Business Combination, Contingent Consideration, Liability | $ 2,300 | 3,500 | 3,500 | |||||
Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability | 1,200 | 1,200 | ||||||
Accounts Payable, Current | 0 | 0 | $ 4,300 | |||||
Business Combination, Acquisition Related Costs | $ 600 | $ 200 | $ 1,200 | $ 300 |
Note 6 - Acquisition - Schedule
Note 6 - Acquisition - Schedule of Recognized Identifiable Assets and Liabilities (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Jul. 31, 2024 | Dec. 31, 2023 |
Goodwill | $ 29,628 | $ 27,182 | |
Douglas Stewart Software & Services, LLC [Member] | |||
Prepaid expenses and other current assets | $ 773 | ||
Inventory | 18 | ||
Right-of-use asset | 291 | ||
Other assets | 8 | ||
Accounts payable and accrued expenses | (384) | ||
Lease liability, current portion | (88) | ||
Lease liability, non-current portion | (249) | ||
Goodwill | 1,398 | ||
Net assets | 22,397 | ||
Douglas Stewart Software & Services, LLC [Member] | Vendor Relationships [Member] | |||
Intangibles - Vendor Relationships | 20,600 | ||
Douglas Stewart Software & Services, LLC [Member] | Vendor Relationships [Member] | Supplier, Adobe [Member] | |||
Intangibles - Vendor Relationships | $ 20,630 |
Note 6 - Acquisition - Schedu_2
Note 6 - Acquisition - Schedule of Acquisitions (Details) - USD ($) $ in Thousands | 9 Months Ended | ||
Jul. 31, 2024 | Sep. 30, 2024 | Sep. 30, 2023 | |
Cash paid to sellers | $ 20,672 | $ 0 | |
Douglas Stewart Software & Services, LLC [Member] | |||
Cash paid to sellers | $ 20,672 | ||
Contingent earn-out | 1,725 | ||
Total purchase consideration | $ 22,397 |
Note 6 - Acquisitions - Schedul
Note 6 - Acquisitions - Schedule of Pro Forma Information (Details) - Acquisition of DSS and Data Solutions [Member] - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended | ||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | |
Net sales | $ 123,437 | $ 94,850 | $ 318,268 | $ 279,918 |
Net income | $ 6,295 | $ 4,757 | $ 13,745 | $ 11,217 |
Note 7 - Goodwill and Other I_3
Note 7 - Goodwill and Other Intangible Assets (Details Textual) - USD ($) $ in Millions | 3 Months Ended | 9 Months Ended | ||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | |
Amortization of Intangible Assets | $ 1.1 | $ 0.5 | $ 2.5 | $ 1.5 |
Customer Relationships [Member] | ||||
Finite-Lived Intangible Asset, Useful Life (Year) | 13 years | 13 years | ||
Vendor Relationships [Member] | Minimum [Member] | ||||
Finite-Lived Intangible Asset, Useful Life (Year) | 8 years | 8 years | ||
Vendor Relationships [Member] | Maximum [Member] | ||||
Finite-Lived Intangible Asset, Useful Life (Year) | 15 years | 15 years | ||
Trade Names [Member] | ||||
Finite-Lived Intangible Asset, Useful Life (Year) | 15 years | 15 years |
Note 7 - Goodwill and Other I_4
Note 7 - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) $ in Thousands | 9 Months Ended |
Sep. 30, 2024 USD ($) | |
Goodwill | $ 27,182 |
Goodwill acquired | 1,398 |
Translation adjustments | 1,048 |
Goodwill | 29,628 |
Distribution Segment [Member] | |
Goodwill | 18,658 |
Goodwill acquired | 1,398 |
Translation adjustments | 609 |
Goodwill | 20,665 |
Solutions Segment [Member] | |
Goodwill | 8,524 |
Goodwill acquired | 0 |
Translation adjustments | 439 |
Goodwill | $ 8,963 |
Note 7 - Goodwill and Other I_5
Note 7 - Goodwill and Other Intangible Assets - Schedule of Finite Lived Intangible Assets (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Gross carrying amount | $ 53,284 | $ 31,457 |
Accumulated amortization | 7,243 | 4,527 |
Net carrying amount | 46,041 | 26,930 |
Customer and Vendor Relationships [Member] | ||
Gross carrying amount | 52,770 | 30,968 |
Accumulated amortization | 7,109 | 4,424 |
Net carrying amount | 45,661 | 26,544 |
Trade Names [Member] | ||
Gross carrying amount | 514 | 489 |
Accumulated amortization | 134 | 103 |
Net carrying amount | $ 380 | $ 386 |
Note 7 - Goodwill and Other I_6
Note 7 - Goodwill and Other Intangible Assets - Schedule of Future Amortization Expense (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
2024 (excluding the nine months ended September 30, 2024) | $ 1,211 | |
2025 | 4,845 | |
2026 | 4,845 | |
2027 | 4,845 | |
2028 | 4,845 | |
Thereafter | 25,450 | |
Total | $ 46,041 | $ 26,930 |
Note 8 - Right-of-use Asset a_3
Note 8 - Right-of-use Asset and Lease Liability (Details Textual) | Sep. 30, 2024 |
Minimum [Member] | |
Lessee, Operating Lease, Term of Contract (Year) | 2 years |
Maximum [Member] | |
Lessee, Operating Lease, Term of Contract (Year) | 11 years |
Note 8 - Right-of-use Asset a_4
Note 8 - Right-of-use Asset and Lease Liability - Lease Information (Details) - USD ($) $ in Thousands | 9 Months Ended | |
Sep. 30, 2024 | Sep. 30, 2023 | |
Cash paid for operating lease liabilities | $ 500 | $ 467 |
Right-of-use assets obtained in exchange for new operating lease obligations | $ 360 | $ 0 |
Weighted-average remaining lease term (years) (Year) | 2 years 7 months 6 days | 3 years 4 months 24 days |
Weighted-average discount rate | 4.40% | 3.50% |
Note 8 - Right-of-use Asset a_5
Note 8 - Right-of-use Asset and Lease Liability - Schedule of Lease Maturities (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
2024 (excluding the nine months ended September 30, 2024) | $ 188 | |
2025 | 654 | |
2026 | 650 | |
2027 | 226 | |
2028 | 17 | |
Lessee, Operating Lease, Liability, to be Paid | 1,735 | |
Less: imputed interest | (406) | |
Total lease liabilities | 1,329 | |
Lease liabilities, current portion | 533 | $ 450 |
Lease liabilities, net of current portion | 796 | $ 879 |
Total lease liabilities | $ 1,329 |
Note 10 - Balance Sheet Detai_2
Note 10 - Balance Sheet Detail (Details Textual) - USD ($) $ in Millions | 3 Months Ended | 9 Months Ended | ||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | |
Depreciation | $ 0.1 | $ 0.1 | $ 0.4 | $ 0.5 |
Accounts Receivable, Payments to be Received, Next Twelve Months | 0.4 | 0.4 | ||
Accounts Receivable, Payments to be Received, Two Years | 0.4 | 0.4 | ||
Accounts Receivable, Payments to be Received, Three Years | $ 0.4 | $ 0.4 | ||
Minimum [Member] | ||||
Payment Extension Term to Customers (Month) | 12 months | |||
Maximum [Member] | ||||
Payment Extension Term to Customers (Month) | 36 months |
Note 10 - Balance Sheet Detai_3
Note 10 - Balance Sheet Detail - Schedule of Equipment and Leasehold Improvements (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Property, plant, and equipment, gross | $ 16,931 | $ 13,179 |
Less accumulated depreciation and amortization | (4,780) | (4,329) |
Property, Plant and Equipment, Net | 12,151 | 8,850 |
Equipment [Member] | ||
Property, plant, and equipment, gross | 3,540 | 3,195 |
Software Development [Member] | ||
Property, plant, and equipment, gross | 10,240 | 6,890 |
Building [Member] | ||
Property, plant, and equipment, gross | 717 | 709 |
Leasehold Improvements [Member] | ||
Property, plant, and equipment, gross | $ 2,433 | $ 2,385 |
Note 10 - Balance Sheet Detai_4
Note 10 - Balance Sheet Detail - Schedule of Accounts Receivable (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Total amount due from customer | $ 1,206 | $ 1,637 |
Less: unamortized discount | (9) | (12) |
Less: current portion included in accounts receivable | (445) | (828) |
Accounts Receivable, after Allowance for Credit Loss, Noncurrent | $ 752 | $ 797 |
Note 10 - Balance Sheet Detai_5
Note 10 - Balance Sheet Detail - Schedule of Accounts Payable and Accrued Expenses (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Trade accounts payable | $ 240,630 | $ 218,717 |
Accrued expenses | 21,605 | 22,903 |
Other accounts payable and accrued expenses | 11,658 | 8,028 |
Accounts Payable and Accrued Liabilities, Current | $ 273,893 | $ 249,648 |
Note 11 - Credit Facility (Deta
Note 11 - Credit Facility (Details Textual) - USD ($) $ in Thousands | May 18, 2023 | Sep. 30, 2024 | Dec. 31, 2023 | Oct. 07, 2023 | Apr. 08, 2022 |
Term Loan [Member] | |||||
Debt Instrument, Face Amount | $ 2,100 | ||||
Debt Instrument, Interest Rate, Stated Percentage | 3.73% | ||||
Long-Term Debt | $ 889 | $ 1,300 | |||
Invoice Discounting Facility [Member] | |||||
Debt Instrument, Interest Rate, Stated Percentage | 2.50% | ||||
Long-Term Debt | $ 0 | $ 4,300 | |||
Debt Instrument, Percentage of Accounts Receivable | 80% | ||||
Credit Agreement [Member] | ABR Borrowings [Member] | Minimum [Member] | |||||
Debt Instrument, Basis Spread on Variable Rate | 0.50% | ||||
Credit Agreement [Member] | ABR Borrowings [Member] | Maximum [Member] | |||||
Debt Instrument, Basis Spread on Variable Rate | 0.75% | ||||
Credit Agreement [Member] | Term Benchmark and RFR Loans [Member] | Minimum [Member] | |||||
Debt Instrument, Basis Spread on Variable Rate | 1.50% | ||||
Credit Agreement [Member] | Term Benchmark and RFR Loans [Member] | Maximum [Member] | |||||
Debt Instrument, Basis Spread on Variable Rate | 1.75% | ||||
Credit Agreement [Member] | Revolving Credit Facility [Member] | |||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 50,000 | ||||
Line of Credit, Maximum Available Increase | 20,000 | ||||
Credit Agreement [Member] | Letter of Credit [Member] | |||||
Line of Credit Facility, Maximum Borrowing Capacity | 2,500 | ||||
Credit Agreement [Member] | Swingline Loans [Member] | |||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 5,000 |
Note 11 - Credit Facility - Sch
Note 11 - Credit Facility - Schedule of Debt Maturities (Details) - Term Loan [Member] - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
2024 (excluding the nine months ended September 30, 2024) | $ 183 | |
2025 | 562 | |
2026 | 144 | |
Total | $ 889 | $ 1,300 |
Note 12 - Earnings Per Share -
Note 12 - Earnings Per Share - Reconciliation of Basic and Diluted Per Share (Details) - USD ($) $ / shares in Units, shares in Thousands, $ in Thousands | 3 Months Ended | 9 Months Ended | ||||||
Sep. 30, 2024 | Jun. 30, 2024 | Mar. 31, 2024 | Sep. 30, 2023 | Jun. 30, 2023 | Mar. 31, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | |
Net income | $ 5,459 | $ 3,430 | $ 2,731 | $ 2,372 | $ 1,381 | $ 3,324 | $ 11,620 | $ 7,077 |
Less distributed and undistributed income allocated to participating securities | 139 | 61 | 288 | 171 | ||||
Net income attributable to common shareholders | $ 5,320 | $ 2,311 | $ 11,332 | $ 6,906 | ||||
Weighted average common shares outstanding — Basic (in shares) | 4,476 | 4,414 | 4,458 | 4,392 | ||||
Weighted average common shares outstanding — Diluted (in shares) | 4,476 | 4,414 | 4,458 | 4,392 | ||||
Income per common share-Basic (in dollars per share) | $ 1.19 | $ 0.52 | $ 2.54 | $ 1.57 | ||||
Income per common share-Diluted (in dollars per share) | $ 1.19 | $ 0.52 | $ 2.54 | $ 1.57 |
Note 13 - Major Customers and_2
Note 13 - Major Customers and Vendors (Details Textual) | 3 Months Ended | 9 Months Ended | 12 Months Ended | ||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | Dec. 31, 2023 | |
Supplier Concentration Risk [Member] | Cost of Goods and Service Benchmark [Member] | |||||
Number of Major Vendors | 1 | 1 | 1 | 1 | |
Supplier Concentration Risk [Member] | Cost of Goods and Service Benchmark [Member] | Vendor One [Member] | |||||
Concentration Risk, Percentage | 8% | 15% | 11% | 16% | |
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | |||||
Number of Major Customers | 2 | 2 | 2 | 2 | |
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Customer One [Member] | |||||
Concentration Risk, Percentage | 16% | 21% | 18% | 21% | |
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Customer Two [Member] | |||||
Concentration Risk, Percentage | 13% | 17% | 15% | 15% | |
Customer Concentration Risk [Member] | Accounts Receivable [Member] | |||||
Number of Major Customers | 2 | 2 | |||
Customer Concentration Risk [Member] | Accounts Receivable [Member] | Customer One [Member] | |||||
Concentration Risk, Percentage | 13% | 15% | |||
Customer Concentration Risk [Member] | Accounts Receivable [Member] | Customer Two [Member] | |||||
Concentration Risk, Percentage | 6% | 6% |
Note 15 - Stockholders' Equit_3
Note 15 - Stockholders' Equity and Stock Based Compensation (Details Textual) $ / shares in Units, $ in Millions | 3 Months Ended | 9 Months Ended | |||||||
Sep. 30, 2024 USD ($) $ / shares shares | Sep. 30, 2023 USD ($) | Sep. 30, 2024 USD ($) $ / shares shares | Sep. 30, 2023 USD ($) shares | Dec. 31, 2023 $ / shares | Sep. 30, 2021 $ / shares shares | Dec. 31, 2020 shares | Dec. 31, 2018 shares | Dec. 31, 2012 shares | |
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | $ 0.01 | $ 0.01 | $ 0.01 | ||||||
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | $ | $ 5.2 | $ 5.2 | |||||||
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | 2 years 2 months 12 days | ||||||||
Share-Based Payment Arrangement, Expense | $ | $ 0.9 | $ 0.7 | $ 2.8 | $ 3.4 | |||||
Restricted Stock [Member] | |||||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | 51,812 | 132,526 | |||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period (in shares) | 1,661 | ||||||||
Restricted Stock [Member] | Share-Based Payment Arrangement, Tranche One [Member] | |||||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Installments | 3 | 3 | 3 | 3 | |||||
Restricted Stock [Member] | Share-Based Payment Arrangement, Tranche Two [Member] | |||||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Installments | 16 | 16 | 16 | 16 | |||||
The 2021 Omnibus Incentive Plan [Member] | |||||||||
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | $ 0.01 | ||||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) | 500,000 | ||||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) | 190,917 | ||||||||
The 2012 Stock Based Compensation Plan [Member] | |||||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) | 1,000,000 | 600,000 | |||||||
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) | 0 | 0 | 352,158 |
Note 15 - Stockholders' Equit_4
Note 15 - Stockholders' Equity and Stock Based Compensation - Summary of Restricted Stock (Details) - Restricted Stock [Member] - $ / shares | 9 Months Ended | |
Sep. 30, 2024 | Sep. 30, 2023 | |
Nonvested shares (in shares) | 143,294 | |
Nonvested shares, weighted average grant date fair value (in dollars per share) | $ 36.48 | |
Granted (in shares) | 51,812 | 132,526 |
Granted, weighted average grant date fair value (in dollars per share) | $ 58.83 | |
Vested (in shares) | (64,351) | |
Vested, weighted average grant date fair value (in dollars per share) | $ 35.51 | |
Forfeited (in shares) | (1,661) | |
Forfeited, weighted average grant date fair value (in dollars per share) | $ 42.58 | |
Nonvested shares (in shares) | 129,094 | |
Nonvested shares, weighted average grant date fair value (in dollars per share) | $ 45.85 |
Note 16 - Segment Information_2
Note 16 - Segment Information (Details Textual) | 9 Months Ended |
Sep. 30, 2024 | |
Number of Reportable Segments | 2 |
Note 16 - Segment Information -
Note 16 - Segment Information - Schedule of Segment Information (Details) - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended | ||||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | Dec. 31, 2023 | ||
Net sales | $ 119,349 | $ 78,457 | $ 303,847 | $ 245,229 | ||
Gross profit | 24,257 | 14,274 | 59,833 | 43,176 | ||
Direct costs | 9,760 | 6,475 | 27,355 | 19,069 | ||
Segment Income Before Taxes | [1] | 14,497 | 7,799 | 32,478 | 24,107 | |
General and administrative | 4,177 | 3,647 | 12,078 | 12,861 | ||
Acquisition related costs | 609 | 246 | 1,201 | 277 | ||
Depreciation and amortization expense | 1,197 | 617 | 2,933 | 1,934 | ||
Interest, net | 198 | 318 | 755 | 760 | ||
Foreign currency transaction loss | (442) | (140) | (688) | (100) | ||
Change in fair value of acquisition contingent consideration | (1,152) | 0 | (1,152) | 0 | ||
Income before taxes | 7,118 | 3,467 | 15,181 | 9,695 | ||
Total assets | 371,940 | 371,940 | $ 335,098 | |||
Operating Segments [Member] | ||||||
Total assets | 328,774 | 328,774 | 280,919 | |||
Segment Reporting, Reconciling Item, Corporate Nonsegment [Member] | ||||||
Total assets | 43,166 | 43,166 | 54,179 | |||
Distribution Segment [Member] | ||||||
Net sales | 111,861 | 72,227 | 286,523 | 226,905 | ||
Gross profit | 21,557 | 11,671 | 51,454 | 35,472 | ||
Direct costs | 8,430 | 5,249 | 23,342 | 15,225 | ||
Segment Income Before Taxes | [1] | 13,127 | 6,422 | 28,112 | 20,247 | |
Distribution Segment [Member] | Operating Segments [Member] | ||||||
Total assets | 306,914 | 306,914 | 242,927 | |||
Solutions Segment [Member] | ||||||
Net sales | 7,488 | 6,230 | 17,324 | 18,324 | ||
Gross profit | 2,700 | 2,603 | 8,379 | 7,704 | ||
Direct costs | 1,330 | 1,226 | 4,013 | 3,844 | ||
Segment Income Before Taxes | [1] | 1,370 | $ 1,377 | 4,366 | $ 3,860 | |
Solutions Segment [Member] | Operating Segments [Member] | ||||||
Total assets | $ 21,860 | $ 21,860 | $ 37,992 | |||
[1]Excludes general corporate expenses including interest and foreign currency transaction loss. |
Note 16 - Segment Information_3
Note 16 - Segment Information - Schedule of Geographic Area and Sales Mix (Details) - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended | |||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | ||
Net sales | $ 119,349 | $ 78,457 | $ 303,847 | $ 245,229 | |
Transferred at Point in Time [Member] | Sales Channel, Directly to Consumer [Member] | |||||
Net sales | [1] | 106,635 | 68,009 | 263,996 | 213,317 |
Transferred at Point in Time [Member] | Sales Channel, Through Intermediary [Member] | |||||
Net sales | [2] | 12,714 | 10,448 | 39,851 | 31,912 |
UNITED STATES | |||||
Net sales | 81,830 | 64,496 | 215,270 | 190,186 | |
Europe [Member] | |||||
Net sales | 32,912 | 8,771 | 71,837 | 36,411 | |
CANADA | |||||
Net sales | 4,607 | 5,190 | 16,740 | 18,632 | |
Distribution Segment [Member] | |||||
Net sales | 111,861 | 72,227 | 286,523 | 226,905 | |
Distribution Segment [Member] | Transferred at Point in Time [Member] | Sales Channel, Directly to Consumer [Member] | |||||
Net sales | [1] | 101,561 | 63,587 | 253,027 | 200,027 |
Distribution Segment [Member] | Transferred at Point in Time [Member] | Sales Channel, Through Intermediary [Member] | |||||
Net sales | [2] | 10,300 | 8,640 | 33,496 | 26,878 |
Distribution Segment [Member] | UNITED STATES | |||||
Net sales | 78,012 | 60,891 | 208,462 | 180,278 | |
Distribution Segment [Member] | Europe [Member] | |||||
Net sales | 29,494 | 6,353 | 62,135 | 28,903 | |
Distribution Segment [Member] | CANADA | |||||
Net sales | 4,355 | 4,983 | 15,926 | 17,724 | |
Solutions Segment [Member] | |||||
Net sales | 7,488 | 6,230 | 17,324 | 18,324 | |
Solutions Segment [Member] | Transferred at Point in Time [Member] | Sales Channel, Directly to Consumer [Member] | |||||
Net sales | [1] | 5,074 | 4,422 | 10,969 | 13,290 |
Solutions Segment [Member] | Transferred at Point in Time [Member] | Sales Channel, Through Intermediary [Member] | |||||
Net sales | [2] | 2,414 | 1,808 | 6,355 | 5,034 |
Solutions Segment [Member] | UNITED STATES | |||||
Net sales | 3,818 | 3,605 | 6,808 | 9,908 | |
Solutions Segment [Member] | Europe [Member] | |||||
Net sales | 3,418 | 2,418 | 9,702 | 7,508 | |
Solutions Segment [Member] | CANADA | |||||
Net sales | $ 252 | $ 207 | $ 814 | $ 908 | |
[1]Includes net sales from third-party hardware and software products.[2]Includes net sales from third-party maintenance, software support and services. |
Note 16 - Segment Information_4
Note 16 - Segment Information - Schedule of Geographic Assets (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Total assets | $ 371,940 | $ 335,098 |
UNITED STATES | ||
Total assets | 226,717 | 171,080 |
CANADA | ||
Total assets | 25,345 | 23,994 |
Europe [Member] | ||
Total assets | $ 119,878 | $ 140,024 |
Note 17 - Related Party Trans_2
Note 17 - Related Party Transactions (Details Textual) - Related Party [Member] - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended | |||
Sep. 30, 2024 | Sep. 30, 2023 | Sep. 30, 2024 | Sep. 30, 2023 | Dec. 31, 2023 | |
Revenue from Contract with Customer, Excluding Assessed Tax | $ 0 | $ 300 | $ 700 | $ 1,300 | |
Accounts Receivable, after Allowance for Credit Loss | $ 0 | $ 0 | $ 100 |
Note 18 - Fair Value Measurem_3
Note 18 - Fair Value Measurements - Schedule of Assets and Liabilities Measured on Recurring Basis (Details) - USD ($) $ in Thousands | Sep. 30, 2024 | Dec. 31, 2023 |
Total assets | $ 0 | $ 5,096 |
Total liabilities | 7,064 | 4,189 |
Earn Out [Member] | ||
Business Combination, Contingent Consideration, Liability | 7,064 | 4,189 |
Fair Value, Inputs, Level 1 [Member] | ||
Total assets | 0 | 5,096 |
Total liabilities | 0 | 0 |
Fair Value, Inputs, Level 1 [Member] | Earn Out [Member] | ||
Business Combination, Contingent Consideration, Liability | 0 | 0 |
Fair Value, Inputs, Level 2 [Member] | ||
Total assets | 0 | 0 |
Total liabilities | 0 | 0 |
Fair Value, Inputs, Level 2 [Member] | Earn Out [Member] | ||
Business Combination, Contingent Consideration, Liability | 0 | 0 |
Fair Value, Inputs, Level 3 [Member] | ||
Total assets | 0 | 0 |
Total liabilities | 7,064 | 4,189 |
Fair Value, Inputs, Level 3 [Member] | Earn Out [Member] | ||
Business Combination, Contingent Consideration, Liability | 7,064 | 4,189 |
US Treasury Bill Securities [Member] | ||
Treasury bills | 0 | 5,096 |
US Treasury Bill Securities [Member] | Fair Value, Inputs, Level 1 [Member] | ||
Treasury bills | 0 | 5,096 |
US Treasury Bill Securities [Member] | Fair Value, Inputs, Level 2 [Member] | ||
Treasury bills | 0 | 0 |
US Treasury Bill Securities [Member] | Fair Value, Inputs, Level 3 [Member] | ||
Treasury bills | $ 0 | $ 0 |
Note 18 - Fair Value Measurem_4
Note 18 - Fair Value Measurements - Changes in Liabilities Measured on Recurring Basis (Details) - Earn Out [Member] $ in Thousands | 9 Months Ended |
Sep. 30, 2024 USD ($) | |
Balance | $ 4,189 |
DSS acquisition - contingent earn-out | 1,755 |
Contingent earnout paid | (150) |
Change in fair value of acquisition contingent consideration | 1,152 |
Translation adjustments | 118 |
Balance | $ 7,064 |