Document And Entity Information
Document And Entity Information - USD ($) | 12 Months Ended | ||
Dec. 31, 2020 | Mar. 02, 2021 | Jun. 30, 2020 | |
Document Information [Line Items] | |||
Entity Registrant Name | CRAWFORD UNITED Corp | ||
Entity Central Index Key | 0000047307 | ||
Trading Symbol | crawa | ||
Current Fiscal Year End Date | --12-31 | ||
Entity Filer Category | Non-accelerated Filer | ||
Entity Current Reporting Status | Yes | ||
Entity Voluntary Filers | No | ||
Entity Well-known Seasoned Issuer | No | ||
Entity Emerging Growth Company | false | ||
Entity Small Business | true | ||
Entity Interactive Data Current | Yes | ||
Entity Public Float | $ 14,900,193 | ||
Entity Shell Company | false | ||
Document Type | 10-K | ||
Document Period End Date | Dec. 31, 2020 | ||
Document Fiscal Year Focus | 2020 | ||
Document Fiscal Period Focus | FY | ||
Amendment Flag | false | ||
Title of 12(g) Security | Class A Common Shares, without par value | ||
Common Class A [Member] | |||
Document Information [Line Items] | |||
Entity Common Stock, Shares Outstanding (in shares) | 2,637,058 | ||
Common Class B [Member] | |||
Document Information [Line Items] | |||
Entity Common Stock, Shares Outstanding (in shares) | 771,478 |
Consolidated Balance Sheets
Consolidated Balance Sheets - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
CURRENT ASSETS: | ||
Cash and cash equivalents | $ 6,194,276 | $ 2,232,499 |
Accounts receivable less allowance for doubtful accounts | 12,021,692 | 14,001,795 |
Contract assets | 3,735,557 | 2,422,379 |
Inventory less allowance for obsolete inventory | 11,030,960 | 7,678,690 |
Investments | 1,534,400 | |
Prepaid expenses and other current assets | 657,496 | 703,002 |
Total Current Assets | 35,174,381 | 27,038,365 |
Property, plant and equipment, net | 11,290,783 | 12,394,172 |
Operating right of use assets, net | 8,856,820 | 9,224,840 |
OTHER ASSETS: | ||
Goodwill | 11,505,852 | 9,791,745 |
Intangibles, net of accumulated amortization | 7,558,309 | 3,950,838 |
Other non-current assets | 106,638 | 88,046 |
Total Non-Current Other Assets | 19,170,799 | 13,830,629 |
Total Assets | 74,492,783 | 62,488,006 |
CURRENT LIABILITIES: | ||
Notes payable - current | 2,782,479 | 2,749,459 |
Bank debt - current | 1,333,333 | 1,333,333 |
Leases payable | 1,136,300 | 850,664 |
Accounts payable | 9,230,032 | 6,071,522 |
Unearned revenue | 820,002 | 1,998,578 |
Accrued expenses | 2,242,924 | 3,281,445 |
Total Current Liabilities | 17,545,070 | 16,285,001 |
LONG-TERM LIABILITIES: | ||
Bank debt | 12,174,428 | 6,376,594 |
Leases payable | 7,901,357 | 8,513,448 |
Deferred income taxes | 2,429,828 | 2,207,734 |
Total Long-Term Liabilities | 29,415,167 | 24,774,473 |
STOCKHOLDERS' EQUITY | ||
Contributed capital | 1,741,901 | 1,741,901 |
Treasury shares | (1,938,052) | (1,905,780) |
Retained earnings | 22,366,470 | 16,527,083 |
Total Stockholders' Equity | 27,532,546 | 21,428,532 |
Total Liabilities and Stockholders' Equity | 74,492,783 | 62,488,006 |
Common Class A [Member] | ||
STOCKHOLDERS' EQUITY | ||
Common stock | 3,896,705 | 3,599,806 |
Common Class B [Member] | ||
STOCKHOLDERS' EQUITY | ||
Common stock | 1,465,522 | 1,465,522 |
Notes Payable Excluding Paycheck Protection Program Cares Act [Member] | ||
LONG-TERM LIABILITIES: | ||
Notes Payable, Noncurrent | 5,455,717 | 7,676,697 |
Paycheck Protection Program CARES Act [Member] | ||
LONG-TERM LIABILITIES: | ||
Notes Payable, Noncurrent | $ 1,453,837 |
Consolidated Balance Sheets (Pa
Consolidated Balance Sheets (Parentheticals) - $ / shares $ / shares in Thousands | Dec. 31, 2020 | Dec. 31, 2019 |
Common Class A [Member] | ||
Class of common stock, par value (in dollars per share) | $ 0 | $ 0 |
Class of common stock, shares authorized (in shares) | 10,000,000 | 10,000,000 |
Class of common stock, shares issued (in shares) | 2,595,087 | 2,576,837 |
Treasury shares, issued (in shares) | 39,467 | 37,208 |
Common Class B [Member] | ||
Class of common stock, par value (in dollars per share) | $ 0 | $ 0 |
Class of common stock, shares authorized (in shares) | 2,500,000 | 2,500,000 |
Class of common stock, shares issued (in shares) | 954,283 | 954,283 |
Treasury shares, issued (in shares) | 182,435 | 182,435 |
Consolidated Statements of Inco
Consolidated Statements of Income - USD ($) | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Total sales | $ 85,069,900 | $ 89,698,527 |
Cost of Sales | 66,138,610 | 70,123,892 |
Gross Profit | 18,931,290 | 19,574,635 |
Operating Expenses: | ||
Selling, general and administrative expenses | 11,478,837 | 9,063,969 |
Operating Income | 7,452,453 | 10,510,666 |
Other (Income) and Expenses: | ||
Interest charges | 952,192 | 1,056,843 |
Unrealized gain on investments | (585,107) | |
Other (income) expense, net | (389,873) | 34,333 |
Total Other (Income) and Expenses | (22,788) | 1,091,176 |
Income before Provision for Income Taxes | 7,475,241 | 9,419,490 |
Provision for Income Taxes: | ||
Current | 1,443,761 | 1,890,912 |
Deferred | 192,093 | 548,715 |
Total Provision for Income Taxes | 1,635,854 | 2,439,627 |
Net Income | $ 5,839,387 | $ 6,979,863 |
Net Income per Common Share - Basic (in dollars per share) | $ 1.76 | $ 2.45 |
Net Income per Common Share - Diluted (in dollars per share) | $ 1.76 | $ 2.13 |
Weighted Average Shares of Common Stock Outstanding – Basic (in shares) | 3,319,731 | 2,849,239 |
Weighted Average Shares of Common Stock Outstanding - Diluted (in shares) | 3,320,553 | 3,277,857 |
Consolidated Statements of Stoc
Consolidated Statements of Stockholders' Equity - USD ($) | Common Stock Including Additional Paid in Capital [Member]Common Class A [Member] | Common Stock Including Additional Paid in Capital [Member]Common Class B [Member] | Treasury Stock [Member]Common Class A [Member] | Treasury Stock [Member]Common Class B [Member] | Treasury Stock [Member] | Common Stock Outstanding [Member]Common Class A [Member] | Common Stock Outstanding [Member]Common Class B [Member] | Additional Paid-in Capital [Member] | Retained Earnings [Member] | Total |
Balance at Dec. 31, 2018 | $ 2,641,300 | $ 710,272 | $ (1,905,780) | $ 1,741,901 | $ 9,577,792 | $ 12,765,485 | ||||
Share-based compensation expense | 348,877 | 348,877 | ||||||||
Warrant exercise | 250,000 | 250,000 | ||||||||
Note conversion | 359,629 | 755,250 | 1,114,879 | |||||||
Cumulative effect of accounting change related to lease standard | (30,572) | (30,572) | ||||||||
Net Income | 6,979,863 | 6,979,863 | ||||||||
Balance at Dec. 31, 2019 | $ 3,599,806 | $ 1,465,522 | (1,905,780) | 1,741,901 | 16,527,083 | 21,428,532 | ||||
Balance (in shares) at Dec. 31, 2018 | 2,161,014 | 779,283 | 37,208 | 182,435 | 2,123,806 | 596,848 | ||||
Stock awards (in shares) | 64,334 | 64,334 | ||||||||
Stock Issued During Period, Shares, Warrant Exercised (in shares) | 100,000 | 100,000 | ||||||||
Note conversion (in shares) | 251,489 | 175,000 | 251,489 | 175,000 | ||||||
Balance (in shares) at Dec. 31, 2019 | 2,576,837 | 954,283 | 37,208 | 182,435 | 2,539,629 | 771,848 | ||||
Share-based compensation expense | $ 70,849 | 70,849 | ||||||||
Net Income | 5,839,387 | 5,839,387 | ||||||||
Stock awards | 226,050 | 226,050 | ||||||||
Repurchase of shares | (32,272) | (32,272) | ||||||||
Balance at Dec. 31, 2020 | $ 3,896,705 | $ 1,465,522 | $ (1,938,052) | $ 1,741,901 | $ 22,366,470 | $ 27,532,546 | ||||
Stock awards (in shares) | 17,250 | 17,250 | ||||||||
Stock option exercise (in shares) | 1,000 | |||||||||
Share repurchase (in shares) | 2,259 | (2,259) | ||||||||
Balance (in shares) at Dec. 31, 2020 | 2,595,087 | 954,283 | 39,467 | 182,435 | 2,555,620 | 771,848 |
Consolidated Statements of Cash
Consolidated Statements of Cash Flow - USD ($) | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Cash Flows from Operating Activities | ||
Net Income | $ 5,839,387 | $ 6,979,863 |
Adjustments to reconcile net income to net cash provided by operating activities: | ||
Depreciation and amortization | 2,458,593 | 2,054,721 |
Loss on disposal of assets | 10,544 | |
Non-cash share-based compensation expense | 296,899 | 348,877 |
Unrealized gain on investments | (585,107) | |
Deferred income taxes | 222,094 | 548,715 |
Changes in assets and liabilities: | ||
Decrease (Increase) in accounts receivable | 2,751,191 | (4,164,533) |
Decrease (Increase) in inventories | (434,014) | (2,180,708) |
Decrease (Increase) in contract assets | (1,313,178) | (339,030) |
Decrease (Increase) in prepaid expenses & other assets | 80,311 | 125,324 |
Increase (Decrease) in accounts payable | 2,752,081 | 747,632 |
Increase (Decrease) in accrued expenses | (996,956) | 32,328 |
Increase (Decrease) in unearned revenue | (1,178,576) | (3,269,190) |
Total adjustments | 4,053,338 | (6,085,320) |
Net Cash Provided by Operating Cash Activities | 9,892,725 | 894,543 |
Cash Flows from Investing Activities | ||
Cash paid for acquisition | (9,400,000) | (50,001) |
Capital expenditures | (574,315) | (746,430) |
Purchase of equity securities | (949,293) | |
Net Cash Used in Investing Activities | (10,923,608) | (796,431) |
Cash Flows from Financing Activities | ||
Borrowings on PPP loans | 5,133,220 | |
Payments on related party notes | (2,187,960) | (1,592,298) |
Repayment of PPP loans | (3,679,383) | |
Borrowings on convertible notes | 266,880 | |
Payments on bank debt | (6,393,747) | (4,385,211) |
Borrowings on bank debt | 12,152,802 | 2,539,598 |
Share repurchase | (32,272) | |
Payments on capital lease | (11,158) | |
Proceeds from options and warrants | 258,950 | |
Net Cash Provided by (Used in) Financing Activities | 4,992,660 | (2,923,239) |
Net Increase (decrease) in cash and cash equivalents | 3,961,777 | (2,825,127) |
Cash and cash equivalents at beginning of year | 2,232,499 | 5,057,626 |
Cash and cash equivalents at end of year | 6,194,276 | 2,232,499 |
Supplemental disclosures of cash flow information | ||
Interest paid | 831,654 | 949,280 |
Income taxes paid | 956,246 | 1,815,482 |
Conversion of debt to equity | $ 848,000 |
Note 1 - Basis of Presentation
Note 1 - Basis of Presentation | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Basis of Accounting [Text Block] | 1. BASIS OF PRESENTATION The accompanying consolidated financial statements have been prepared in accordance with generally accepted accounting principles for financial information and with the instructions to Form 10 8 X. Principles of Consolidation |
Note 2 - Summary of Significant
Note 2 - Summary of Significant Accounting Policies | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Significant Accounting Policies [Text Block] | 2. SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES New Accounting Standards Adopted In February 2016, 2016 02 842 not December 15, 2018. January 1, 2019 $9.7 $9.8 $0.1 9 In January 2017, 2017 04, 350 2017 04 second not December 15, 2019. January 1, 2020, not New Accounting Standards Not In June 2016, 2016 13, December 15, 2022. Concentration of Credit Risk December 31, 2020, three 15% one 33% December 31, 2019, three 12% one 29% Use of Estimates in the Preparation of Financial Statements may Fair Value of Financial Instruments Fair Value Measurements As defined in FASB ASC 820, one three * Level 1: * Level 2: * Quoted prices for identical assets or similar assets or liabilities in inactive markets; * Inputs other than quoted prices that are observable for the asset or liability; * Inputs that are derived principally from or corroborated by observable market data by correlation or other means. * Level 3: not A financial instrument's categorization within the valuation hierarchy is based upon the lowest level of input that is significant to the fair value measurement. Following is a description of the valuation methodologies used for instruments measured at fair value, including the general classification of such instruments pursuant to the valuation hierarchy. Stock: The stock market value is based on valuation of market quotes from independent active market sources, and is considered a level 1 Revenue Recognition 606, 1 2 3 4 not Construction Contracts The Company recognizes revenue on construction contracts over time; as performance obligations are satisfied, due to the continuous transfer of control to the customer. The customer typically controls the work in process, as evidenced by the contract. The Company's construction contracts are generally accounted for as a single performance obligation, since the Company is providing a significant service of integrating components into a single project. The Company recognizes revenue using a cost-based input method, by which actual costs incurred relative to total estimated contract costs determine, as a percentage, progress toward contract completion. This percentage is applied to the transaction price to determine the amount of revenue to recognize. The Company believes the cost-based input method is the best depiction of performance, because it directly measures the value of the services transferred to the customer. Revenues on uninstalled materials are recognized when control is transferred to the customer, which does not The payment terms of the Company's construction contracts from time to time require the customer to make advance payments as well as interim payments as work progresses. The advance payment generally is not Contract Estimates Due to the nature of the Company's performance obligations, the estimation of total revenue and cost at completion is subject to many variables and requires significant judgment. Since a significant change in one The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, a provision for the entire loss is recognized in the period it is identified. Contract Modifications Contract modifications are routine in the performance of the Company's contracts. Contracts are often modified to account for changes in the contract specifications or requirements. In most instances, contract modifications are for goods or services that are not Variable Consideration The nature of the Company's contracts can give rise to several types of variable consideration, including claims, unpriced change orders, and liquidated damages and penalties. The Company recognizes revenue for variable consideration when it is probable that a significant reversal in the amount of cumulative revenue recognized will not Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessment of legal enforceability, past performance, and all information (historical, current, and forecasted) that is reasonably available to the Company. Cost and Expense Recognition Contract costs include all direct labor, materials, subcontractor, and equipment costs, and those indirect costs related to contract performance, such as indirect labor, tools and supplies. For construction contracts, costs are generally recognized as incurred. Unearned Revenue Unearned revenue consists of customer deposits and contract liabilities related to the Commercial Air Handling segment. Disaggregation of Revenue Revenue earned over time was $43.4 $51.6 December 31, 2020 2019. $41.7 $38.1 December 31, 2020 2019. Deferred Commissions Commissions are earned based on the status of the contract. Commissions are paid upon receipt of payment for units shipped. Product Warranties The Company provides a warranty for its custom air handling business covering parts for 12 18 may Cash and Cash Equivalents three Accounts Receivable Inventory first first Property, Plant and Equipment Class Method Estimated Useful Lives (years) Buildings & Improvements Straight-line 10 to 40 Machinery and equipment Straight-line 3 to 20 Tools and dies Straight-line 3 Valuation of Long-Lived Assets may not Shipping and Handling Costs Income Taxes The provision for income taxes is determined using the asset and liability approach of accounting for income taxes. Under this approach, deferred taxes represent the future tax consequences expected to occur when the reported amounts of assets and liabilities are recovered or paid. The provision for income taxes represents income taxes paid or payable for the current year plus any change in deferred taxes during the year. Deferred taxes result from differences between the tax basis of assets and liabilities and their reported amounts in the consolidated financial statements and are adjusted for changes in tax rates and tax laws when changes are enacted. Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not not 2018 Income per Common Share |
Note 3 - Accounts Receivable
Note 3 - Accounts Receivable | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Loans, Notes, Trade and Other Receivables Disclosure [Text Block] | 3. ACCOUNTS RECEIVABLE The Company establishes an allowance for doubtful accounts based upon factors surrounding the credit risk of specific customers, historical trends and other information. The reserve for doubtful accounts was $19,973 $18,325 December 31, 2020 2019, |
Note 4 - Inventory
Note 4 - Inventory | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Inventory Disclosure [Text Block] | 4. INVENTORY Inventory is valued at the lower of cost ( first first December 31, 2020 December 31, 2019 Raw materials and component parts $ 3,897,133 $ 2,945,427 Work-in-process 3,449,252 2,800,699 Finished products 3,999,920 2,183,170 Total Inventory 11,346,305 7,929,296 Less: Inventory reserves 315,345 250,606 Net Inventory $ 11,030,960 $ 7,678,690 |
Note 5 - Goodwill and Other Int
Note 5 - Goodwill and Other Intangible Assets, Net | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Goodwill and Intangible Assets Disclosure [Text Block] | 5. GOODWILL AND OTHER INTANGIBLE ASSETS Impairment testing U.S. GAAP requires that both indefinite-lived intangible assets and goodwill are tested for impairment annually and more frequently if events or changes in circumstances indicate that it is more likely than not 50% 350 The Company performed its annual impairment test for goodwill and intangible assets as of the last day of the fourth first not no Intangible assets relate to the purchase of businesses. Goodwill represents the excess of cost over the fair value of identifiable assets acquired. Goodwill is not one 15 December 31, 2020 December 31, 2019 Customer Intangibles $ 7,700,000 $ 4,970,000 Non-Compete Agreements 200,000 200,000 Trademarks 1,930,000 340,000 Total Other Intangibles 9,830,000 5,510,000 Less: Accumulated Amortization 2,271,691 1,559,162 Other Intangibles, Net $ 7,558,309 $ 3,950,838 Intangible amortization expense was as follows: December 31, 2020 December 31, 2019 Accumulated amortization at the beginning of the period $ 1,559,162 $ 1,177,798 Amortization expense 712,529 381,364 Accumulated amortization at end of period $ 2,271,691 $ 1,559,162 Intangible amortization for the next five Amortization in future periods 2021 712,530 2022 689,197 2023 672,530 2024 672,530 2025 672,530 |
Note 6 - Property, Plant and Eq
Note 6 - Property, Plant and Equipment, Net | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Property, Plant and Equipment Disclosure [Text Block] | 6. PROPERTY, PLANT AND EQUIPMENT, NET Property, plant and equipment are recorded at cost and depreciated over their useful lives. Maintenance and repair costs are expenses as incurred. Property, plant and equipment are as follows: December 31, 2020 December 31, 2019 Land $ 228,872 $ 228,872 Buildings and Improvements 2,061,887 1,837,009 Machinery & Equipment 14,329,462 13,950,444 Total Property, Plant & Equipment 16,620,221 16,016,325 Less: Accumulated Depreciation 5,329,438 3,622,153 Property Plant & Equipment, Net $ 11,290,783 $ 12,394,172 Depreciation expense for the years ended December 31, 2020 2019 $1,707,285 $1,645,829, |
Note 7 - Investments in Equity
Note 7 - Investments in Equity Securities | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Investments in Debt and Marketable Equity Securities (and Certain Trading Assets) Disclosure [Text Block] | 7. INVESTMENTS IN EQUITY SECURITIES Investments in equity securities as of December 31, 2020 2020 Cost Market Stock $ 949,293 $ 1,534,400 Less cost 949,293 Gross unrealized gains on equity securities 585,107 Deferred income taxes 146,736 Net unrealized gains on equity securities $ 438,371 There were no December 31, 2019. Investments by fair value level in the hierarchy as of December 31, 2020 Quoted Market Prices in Attractive Markets (Level 1) Models with Significant Observable Market Parameters (Level 2) Unobservable Inputs that are not Corroborated by Market Data (Level 3) Total Carrying Value in the Balance Sheet Common stock $ 1,534,400 $ - $ - $ 1,534,400 |
Note 8 - Bank Debt
Note 8 - Bank Debt | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Long-term Debt [Text Block] | 8. BANK DEBT The Company entered into a Credit Agreement on June 1, 2017 July 5, 2018 ( $12,000,000, 80% 50% 50% $6,000,000. $111,111 September 30, 2019 $12,000,000 $20,000,000, June 1, 2021 June 1, 2024. December 30, 2019 March 2, 2021 $20,000,000 $30,000,000 The revolving facility under the Credit Agreement includes a $3 0.25% 1.75% June 1, 2024. 0.25% 2.25% December 1, 2022. 0.25% Bank debt balances consist of the following: December 31, 2020 December 31, 2019 Term Debt $ 2,777,778 $ 4,111,111 Revolving Debt 10,825,797 3,722,995 Total Bank Debt 13,603,575 7,834,106 Less: Current Portion 1,333,333 1,333,333 Non-Current Bank Debt 12,270,242 6,500,773 Less: Unamortized Debt Costs 95,814 124,179 Net Non-Current Bank Debt $ 12,174,428 $ 6,376,594 Minimum principal payments due on the term loan until maturity are: Term Loan 2021 1,333,333 2022 1,444,445 Total principal payments $ 2,777,778 The Company had $9.2 $16.3 December 31, 2020 2019, |
Note 9 - Notes Payable
Note 9 - Notes Payable | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Debt Disclosure [Text Block] | 9. NOTES PAYABLE Convertible Notes Payable On December 30, 2011, $467,000 $250,000 0.25%. As part of the Convertible Loan, the parties entered into a Warrant Agreement, dated December 30, 2012 ( 100,000 $2.50 December 30, 2019. On December 11, 2019, December 18, 2019, 75,000 251,489 December 11, 2019, $466,880 On December 11, 2019, 100,000 $2.50 $250,000. The outstanding balance on the Convertible Loan as of December 31, 2020 2019, $0 $200,000. Notes Payable Related Party The Company has two July 2016 July 2018 first $2,000,000, second $2,768,662. 6.25% 4.0% July 2018 $2,768,662 July 2018 July 5, 2019 $648,000, $6.48 May 10, 2019. July 9, 2019, $648,000 100,000 June 17, 2019. Notes Payable Seller Note Effective July 1, 2018, $21 $12 four 4% no June 30, 2023 ( no not second September 30, 2018, first June 30, 2023. four 4 September 30, 2019 June 30, 2020 June 30, 2023; Paycheck Protection Program Notes The Company applied for and was approved for a loan in the amount of $3,679,383 April 10, 2020 May 5, 2020, June 4, 2020, $253,071 $1,200,766, The PPP Loans each have a two 1.00% seven January 4, 2021, may no may may December 31, 2020 100% January 22,2021 January 29, 2021, Notes Payable Notes payable consist of the following: December 31, 2020 December 31, 2019 In connection with the Federal Hose acquisition, the Company entered into a promissory note on July 1, 2016 for a $2,000,000 loan due to First Francis Company, payable in quarterly installments beginning October 31, 2016 $ 1,108,829 $ 1,302,776 In connection with the Federal Hose acquisition, the Company entered into a promissory note on July 1, 2016 for a $2,768,662 loan due to First Francis Company, payable in quarterly installments beginning October 31, 2016. 941,867 1,248,380 In connection with the CARES Act, Federal Hose entered into a promissory note on June 4, 2020 for a $253,071 loan due to First Federal Savings and Loan Association of Lakewood, with monthly principal and interest installments to begin January 4, 2021. Any unforgiven portion of the note is payable on or before June 4, 2022. 253,071 - In connection with the CARES Act, CAD entered into a promissory note on June 4, 2020 for a $1,200,766 loan due to First Federal Savings and Loan Association of Lakewood, with monthly principal and interest installment to begin January 4, 2021. Any unforgiven portion of the note is payable on or before June 4, 2022. 1,200,766 - In connection with the CAD acquisition, the Company entered into a promissory note on July 1, 2018 for a $9,000,000 loan due to the Loudermilks, payable in quarterly installments beginning September 30, 2018. 6,187,500 7,875,000 Total notes payable 9,692,033 10,426,156 Less current portion 2,782,479 2,749,459 Notes payable – non-current portion $ 6,909,554 $ 7,676,697 Principal payments on the notes payable are as follows for the years ended December 31: Related Party Notes Seller Note PPP Loans Total Principal Payments 2021 532,479 2,250,000 - 2,782,479 2022 1,518,217 2,250,000 1,453,837 5,222,054 2023 - 1,687,500 - 1,687,500 2024 - - - - Total principal payments $ 2,050,696 $ 6,187,500 $ 1,453,837 9,692,033 |
Note 10 - Leases
Note 10 - Leases | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Lessee, Operating and Finance Leases [Text Block] | 10. LEASES On January 1, 2019, 2016 02 842 The Company has operating leases for facilities, vehicles and equipment. These leases have remaining terms of 2 15 10 December 31, 2020 2019 $1.5 $1.6 Supplemental balance sheet information related to leases: December 31, 2020 December 31, 2019 Operating leases: Operating lease right-of-use assets, net $ 8,856,820 $ 9,224,840 Other current liabilities 1,136,300 850,664 Operating lease liabilities 7,901,357 8,513,448 Total operating lease liabilities $ 9,037,657 $ 9,364,112 Weighted Average Remaining Lease Term Operating Leases (in years) 9.0 11.0 Weighted Average Discount Rate Operating Leases 5.0 % 5.0 % Future minimum lease payments at December 31, 2020 Operating Leases Year Ending December 31, 2021 $ 1,502,178 2022 1,452,087 2023 1,268,341 2024 1,285,820 2025 1,303,601 Thereafter 4,668,151 Total future minimum lease payments $ 11,480,178 Less: imputed interest (2,442,521 ) Total $ 9,037,657 Commitments and Contingencies not no not |
Note 11 - Shareholders' Equity
Note 11 - Shareholders' Equity | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Stockholders' Equity Note Disclosure [Text Block] | 11. EQUITY There are 10,000,000 2,500,000 1,000,000 Unissued shares of Class A common stock ( 1,042,848 1,045,848 December 31, 2020 2019, one three $0.10 |
Note 12 - Stock Compensation
Note 12 - Stock Compensation | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Share-based Payment Arrangement [Text Block] | 12. The Company's 2013 150,000 2019 400,000, 250,000 2019 may 15,000 12,000 December 31, 2020 December 31, 2019, 271,000 The Company's expired Outside Directors Stock Option Plans (collectively the "Directors Plans"), provided for the automatic grant of options to purchase up to 5,000 three not 10 March 8, 2015. Non-cash compensation expense related to stock option plans was $296,899 $348,877 December 31, 2020 December 31, 2019, |
Note 13 - Income Taxes
Note 13 - Income Taxes | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Income Tax Disclosure [Text Block] | 13. A reconciliation of the provision of income taxes to the statutory federal income tax rate is as follows: Year Year December 31, 2020 December 31, 2019 Income Before Provision for Income Taxes $ 7,475,241 $ 9,419,490 Statutory rate 21 % 21 % Tax at statutory rate 1,569,801 1,978,092 State taxes, net of federal benefit 336,654 551,179 Permanent differences 18,715 23,889 Return to Provision Adjustments (289,316 ) (113,533 ) Provision for income taxes $ 1,635,854 $ 2,439,627 Deferred tax assets (liabilities) consist of the following: December 31, 2020 December 31, 2019 Inventories $ 179,171 $ 164,768 Bad debts 5,009 4,659 Accrued liabilities 48,812 279,508 Prepaid expense (92,571 ) (116,524 ) Depreciation and amortization (2,757,740 ) (2,798,040 ) Research and development and other credit carryforwards 451,247 556,387 Right of use lease accounting 47,351 (19,600 ) Directors stock option plan 161,212 163,427 Total deferred tax liability (1,957,509 ) (1,765,415 ) Valuation allowance (47,319 ) (47,319 ) Reserve for uncertain tax positions (425,000 ) (395,000 ) Total reserves & allowances (472,319 ) (442,319 ) Net deferred tax liability, net of reserves $ (2,429,828 ) $ (2,207,734 ) Valuation Allowance may not $47 December 31, 2020 2019, Reserve for Uncertain Tax Positions 740. $0.4 December 31, 2020 2019, may Tax Credits and Net Operating losses: At December 31, 2020, Tax Year Expires State NOLs R& D & Other Credits 2021 - 3,000 2022 - 3,000 2023 - 3,000 2024 - 3,000 2025 - 3,000 2026 - 3,000 2027 - 3,000 2028 - 3,000 2029 191,519 3,000 2030 414,231 3,000 2031 641,229 3,000 2032 - 3,000 2033 532,837 3,000 2034 285,607 3,000 2035 - - 2036 - 2037 and beyond - - $ 2,065,423 $ 42,000 |
Note 14 - Earnings Per Common S
Note 14 - Earnings Per Common Share | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Earnings Per Share [Text Block] | 14. EARNINGS PER COMMON SHARE The following table sets forth the computation of basic and diluted earnings per share. Years Ended 2020 2019 Net Income Per Common Share - Basic Income available to common stockholders $ 5,839,387 $ 6,979,863 Weighted Average Shares of Common Stock Outstanding 3,319,731 2,849,239 Net Income Per Common Share - Basic $ 1.76 $ 2.45 Effect of Dilutive Securities Weighted Average Shares of Common Stock Outstanding - Basic 3,319,731 2,849,239 Options and warrants under convertible note 822 428,618 Weighted Average Shares of Common Stock Outstanding - Diluted 3,320,553 3,277,857 Net Income Per Common Share Diluted Income available to common stockholders $ 5,839,387 $ 6,979,863 Weighted Average Shares of Common Stock Outstanding - Diluted 3,320,553 3,277,857 Net Income Per Common Share - Diluted $ 1.76 $ 2.13 Included in the computation of diluted earnings for the year ended December 31, 2020 December 31, 2019 1,000 |
Note 15 - Employee Benefit Plan
Note 15 - Employee Benefit Plans | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Retirement Benefits [Text Block] | 15. EMPLOYEE BENEFIT PLANS The Company has a 401 For the years ended December 31, 2020 December 31, 2019, $97,322 $315,090 not |
Note 16 - Acquisitions
Note 16 - Acquisitions | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Mergers, Acquisitions and Dispositions Disclosures [Text Block] | 16. ACQUISITIONS Effective January 2, 2020, $9.4 MPI manufactures and distributes industrial hoses used by the recreational boating industry and has one Accounts Receivable $ 771,088 Inventory 2,918,255 Fixed Assets 29,581 Prepaid and Other Assets 53,397 Intangibles Assets 4,320,000 Goodwill 1,714,108 Total Assets Acquired $ 9,806,429 Accrued Expense 406,429 Total Liabilities Assumed $ 406,429 Net Assets Acquired $ 9,400,000 On April 19, 2019, $50,001 Acquisition related costs are included in Other expense, net in the consolidated statements of income. Acquisition related costs were $110,548 $74,117 December 31, 2020 2019, 7, |
Note 17 - Segment and Related I
Note 17 - Segment and Related Information | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Segment Reporting Disclosure [Text Block] | 17. The Company operates three 1 2 3 Aerospace Components: The Aerospace Components segment was added July 1, 2018, 9001:2015/AS9100D, January 15, 2021. March 2, 2021. 2021 not 2020 2019 Commercial Air Handling: June 1, 2017, 50 Industrial Hose: The Industrial Hose segment was added July 1, 2016, January 2, 2020. Corporate and Other: Corporate costs not three April 2019. Year Ended December 31, 2020 Commercial Air Handling Aerospace Components Industrial Hose Corporate and Other Consolidated Sales $ 41,243,413 $ 18,916,525 $ 22,762,199 $ 2,147,763 $ 85,069,900 Gross Profit 10,216,587 1,415,591 6,518,682 780,430 18,931,290 Operating Income 5,313,487 (649,230 ) 3,746,257 (958,061 ) 7,452,453 Pretax Income 5,750,226 (1,164,179 ) 2,114,580 774,614 7,475,241 Net Income 4,312,669 (873,134 ) 1,585,935 813,917 5,839,387 Year Ended December 31, 2019 Commercial Air Handling Aerospace Components Industrial Hose Corporate and Other Consolidated Sales 51,564,344 30,126,438 7,171,164 836,581 89,698,527 Gross Profit 12,350,412 5,015,003 1,970,149 239,071 19,574,635 Operating Income 7,141,097 2,876,304 859,114 (365,849 ) 10,510,666 Pretax Income 7,140,398 2,073,239 635,995 (430,142 ) 9,419,490 Net Income 5,291,035 1,536,270 471,272 (318,714 ) 6,979,863 Geographical Information Year Ended December 31, 2020 Year Ended December 31, 2019 United States of America $ 83,992,635 $ 89,370,005 Puerto Rico 601,232 - Canada 388,531 283,011 Other 87,502 45,511 $ 85,069,900 $ 89,698,527 All export sales to foreign countries are made in US Dollars. |
Note 18 - Quarterly Data (Unaud
Note 18 - Quarterly Data (Unaudited) | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Quarterly Financial Information [Text Block] | 18. The following table presents the Company's unaudited quarterly consolidated income statement data for the years ended December 31, 2020 2019. not Year Ended December 31, 2020 March 31, June 30, September 30, December 31, 2020 2020 2020 2020 Sales $ 25,281,574 $ 18,576,588 $ 21,277,797 $ 19,933,941 Gross Profit 6,208,143 3,499,039 4,852,417 4,371,691 Operating Income 3,138,149 530,520 2,126,417 1,657,368 Net Income 2,075,570 228,837 1,426,090 2,108,890 Net Income per Common Share: Basic $ 0.63 $ 0.07 $ 0.43 $ 0.63 Diluted $ 0.63 $ 0.07 $ 0.43 $ 0.63 Year Ended December 31, 2019 March 31, June 30, September 30, December 31, 2019 2019 2019 2019 Sales $ 21,836,087 $ 24,514,636 $ 22,244,681 $ 21,103,124 Gross Profit 4,829,888 5,226,933 4,987,563 4,530,251 Operating Income 2,571,071 2,791,553 2,558,779 2,589,263 Net Income 1,745,458 1,831,479 1,694,868 1,708,058 Net Income per Common Share: Basic $ 0.63 $ 0.66 $ 0.59 $ 0.58 Diluted $ 0.55 $ 0.57 $ 0.52 $ 0.51 |
Note 19 - Subsequent Events
Note 19 - Subsequent Events | 12 Months Ended |
Dec. 31, 2020 | |
Notes to Financial Statements | |
Subsequent Events [Text Block] | 19. Effective January 15, 2021, January 15, 2021 $9.4 Effective March 1, 2021, March 2, 2021 March 1, 2021 $4.9 $1.58 $1.5 $750,000 two 61,475 |
Significant Accounting Policies
Significant Accounting Policies (Policies) | 12 Months Ended |
Dec. 31, 2020 | |
Accounting Policies [Abstract] | |
New Accounting Pronouncements, Policy [Policy Text Block] | New Accounting Standards Adopted In February 2016, 2016 02 842 not December 15, 2018. January 1, 2019 $9.7 $9.8 $0.1 9 In January 2017, 2017 04, 350 2017 04 second not December 15, 2019. January 1, 2020, not New Accounting Standards Not In June 2016, 2016 13, December 15, 2022. |
Concentration Risk, Credit Risk, Policy [Policy Text Block] | Concentration of Credit Risk December 31, 2020, three 15% one 33% December 31, 2019, three 12% one 29% |
Use of Estimates, Policy [Policy Text Block] | Use of Estimates in the Preparation of Financial Statements may |
Fair Value Measurement, Policy [Policy Text Block] | Fair Value of Financial Instruments |
Fair Value of Financial Instruments, Policy [Policy Text Block] | Fair Value Measurements As defined in FASB ASC 820, one three * Level 1: * Level 2: * Quoted prices for identical assets or similar assets or liabilities in inactive markets; * Inputs other than quoted prices that are observable for the asset or liability; * Inputs that are derived principally from or corroborated by observable market data by correlation or other means. * Level 3: not A financial instrument's categorization within the valuation hierarchy is based upon the lowest level of input that is significant to the fair value measurement. Following is a description of the valuation methodologies used for instruments measured at fair value, including the general classification of such instruments pursuant to the valuation hierarchy. Stock: The stock market value is based on valuation of market quotes from independent active market sources, and is considered a level 1 |
Revenue [Policy Text Block] | Revenue Recognition 606, 1 2 3 4 not |
Construction Contractor [Policy Text Block] | Construction Contracts The Company recognizes revenue on construction contracts over time; as performance obligations are satisfied, due to the continuous transfer of control to the customer. The customer typically controls the work in process, as evidenced by the contract. The Company's construction contracts are generally accounted for as a single performance obligation, since the Company is providing a significant service of integrating components into a single project. The Company recognizes revenue using a cost-based input method, by which actual costs incurred relative to total estimated contract costs determine, as a percentage, progress toward contract completion. This percentage is applied to the transaction price to determine the amount of revenue to recognize. The Company believes the cost-based input method is the best depiction of performance, because it directly measures the value of the services transferred to the customer. Revenues on uninstalled materials are recognized when control is transferred to the customer, which does not The payment terms of the Company's construction contracts from time to time require the customer to make advance payments as well as interim payments as work progresses. The advance payment generally is not |
Contract Estimates [Policy Text Block] | Contract Estimates Due to the nature of the Company's performance obligations, the estimation of total revenue and cost at completion is subject to many variables and requires significant judgment. Since a significant change in one The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, a provision for the entire loss is recognized in the period it is identified. |
Contract Modifications, Policy [Policy Text Block] | Contract Modifications Contract modifications are routine in the performance of the Company's contracts. Contracts are often modified to account for changes in the contract specifications or requirements. In most instances, contract modifications are for goods or services that are not |
Variable Consideration, Policy [Policy Text Blcok] | Variable Consideration The nature of the Company's contracts can give rise to several types of variable consideration, including claims, unpriced change orders, and liquidated damages and penalties. The Company recognizes revenue for variable consideration when it is probable that a significant reversal in the amount of cumulative revenue recognized will not Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessment of legal enforceability, past performance, and all information (historical, current, and forecasted) that is reasonably available to the Company. |
Cost of Goods and Service [Policy Text Block] | Cost and Expense Recognition Contract costs include all direct labor, materials, subcontractor, and equipment costs, and those indirect costs related to contract performance, such as indirect labor, tools and supplies. For construction contracts, costs are generally recognized as incurred. |
Revenue from Contract with Customer [Policy Text Block] | Unearned Revenue Unearned revenue consists of customer deposits and contract liabilities related to the Commercial Air Handling segment. |
Disaggregation of Revenue [Policy Text Block] | Disaggregation of Revenue Revenue earned over time was $43.4 $51.6 December 31, 2020 2019. $41.7 $38.1 December 31, 2020 2019. |
Revenue Recogniztion, Deferred Commissions, Policy [Policy Text Block] | Deferred Commissions Commissions are earned based on the status of the contract. Commissions are paid upon receipt of payment for units shipped. |
Standard Product Warranty, Policy [Policy Text Block] | Product Warranties The Company provides a warranty for its custom air handling business covering parts for 12 18 may |
Cash and Cash Equivalents, Policy [Policy Text Block] | Cash and Cash Equivalents three |
Receivable [Policy Text Block] | Accounts Receivable |
Inventory, Policy [Policy Text Block] | Inventory first first |
Property, Plant and Equipment, Policy [Policy Text Block] | Property, Plant and Equipment Class Method Estimated Useful Lives (years) Buildings & Improvements Straight-line 10 to 40 Machinery and equipment Straight-line 3 to 20 Tools and dies Straight-line 3 |
Impairment or Disposal of Long-Lived Assets, Including Intangible Assets, Policy [Policy Text Block] | Valuation of Long-Lived Assets may not |
Cost of Goods and Service Sold, Shipping and Handling Cost, Policy [Policy Text Block] | Shipping and Handling Costs |
Income Tax, Policy [Policy Text Block] | Income Taxes The provision for income taxes is determined using the asset and liability approach of accounting for income taxes. Under this approach, deferred taxes represent the future tax consequences expected to occur when the reported amounts of assets and liabilities are recovered or paid. The provision for income taxes represents income taxes paid or payable for the current year plus any change in deferred taxes during the year. Deferred taxes result from differences between the tax basis of assets and liabilities and their reported amounts in the consolidated financial statements and are adjusted for changes in tax rates and tax laws when changes are enacted. Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not not 2018 |
Earnings Per Share, Policy [Policy Text Block] | Income per Common Share |
Note 2 - Summary of Significa_2
Note 2 - Summary of Significant Accounting Policies (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Property, Plant and Equipment Estimated Useful Lives [Table Text Block] | Class Method Estimated Useful Lives (years) Buildings & Improvements Straight-line 10 to 40 Machinery and equipment Straight-line 3 to 20 Tools and dies Straight-line 3 |
Note 4 - Inventory (Tables)
Note 4 - Inventory (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Schedule of Inventory, Current [Table Text Block] | December 31, 2020 December 31, 2019 Raw materials and component parts $ 3,897,133 $ 2,945,427 Work-in-process 3,449,252 2,800,699 Finished products 3,999,920 2,183,170 Total Inventory 11,346,305 7,929,296 Less: Inventory reserves 315,345 250,606 Net Inventory $ 11,030,960 $ 7,678,690 |
Note 5 - Goodwill and Other I_2
Note 5 - Goodwill and Other Intangible Assets, Net (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Schedule of Finite-Lived Intangible Assets [Table Text Block] | December 31, 2020 December 31, 2019 Customer Intangibles $ 7,700,000 $ 4,970,000 Non-Compete Agreements 200,000 200,000 Trademarks 1,930,000 340,000 Total Other Intangibles 9,830,000 5,510,000 Less: Accumulated Amortization 2,271,691 1,559,162 Other Intangibles, Net $ 7,558,309 $ 3,950,838 |
Finite-lived Intangible Assets Amortization Expense [Table Text Block] | December 31, 2020 December 31, 2019 Accumulated amortization at the beginning of the period $ 1,559,162 $ 1,177,798 Amortization expense 712,529 381,364 Accumulated amortization at end of period $ 2,271,691 $ 1,559,162 |
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] | Amortization in future periods 2021 712,530 2022 689,197 2023 672,530 2024 672,530 2025 672,530 |
Note 6 - Property, Plant and _2
Note 6 - Property, Plant and Equipment, Net (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Property, Plant and Equipment [Table Text Block] | December 31, 2020 December 31, 2019 Land $ 228,872 $ 228,872 Buildings and Improvements 2,061,887 1,837,009 Machinery & Equipment 14,329,462 13,950,444 Total Property, Plant & Equipment 16,620,221 16,016,325 Less: Accumulated Depreciation 5,329,438 3,622,153 Property Plant & Equipment, Net $ 11,290,783 $ 12,394,172 |
Note 7 - Investments in Equit_2
Note 7 - Investments in Equity Securities (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Debt Securities, Trading, and Equity Securities, FV-NI [Table Text Block] | 2020 Cost Market Stock $ 949,293 $ 1,534,400 Less cost 949,293 Gross unrealized gains on equity securities 585,107 Deferred income taxes 146,736 Net unrealized gains on equity securities $ 438,371 |
Fair Value, Assets Measured on Recurring and Nonrecurring Basis [Table Text Block] | Quoted Market Prices in Attractive Markets (Level 1) Models with Significant Observable Market Parameters (Level 2) Unobservable Inputs that are not Corroborated by Market Data (Level 3) Total Carrying Value in the Balance Sheet Common stock $ 1,534,400 $ - $ - $ 1,534,400 |
Note 8 - Bank Debt (Tables)
Note 8 - Bank Debt (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Schedule of Debt [Table Text Block] | December 31, 2020 December 31, 2019 Term Debt $ 2,777,778 $ 4,111,111 Revolving Debt 10,825,797 3,722,995 Total Bank Debt 13,603,575 7,834,106 Less: Current Portion 1,333,333 1,333,333 Non-Current Bank Debt 12,270,242 6,500,773 Less: Unamortized Debt Costs 95,814 124,179 Net Non-Current Bank Debt $ 12,174,428 $ 6,376,594 |
Term Debt [Member] | |
Notes Tables | |
Schedule of Maturities of Long-term Debt [Table Text Block] | Term Loan 2021 1,333,333 2022 1,444,445 Total principal payments $ 2,777,778 |
Note 9 - Notes Payable (Tables)
Note 9 - Notes Payable (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Schedule of Long-term Debt Instruments [Table Text Block] | December 31, 2020 December 31, 2019 In connection with the Federal Hose acquisition, the Company entered into a promissory note on July 1, 2016 for a $2,000,000 loan due to First Francis Company, payable in quarterly installments beginning October 31, 2016 $ 1,108,829 $ 1,302,776 In connection with the Federal Hose acquisition, the Company entered into a promissory note on July 1, 2016 for a $2,768,662 loan due to First Francis Company, payable in quarterly installments beginning October 31, 2016. 941,867 1,248,380 In connection with the CARES Act, Federal Hose entered into a promissory note on June 4, 2020 for a $253,071 loan due to First Federal Savings and Loan Association of Lakewood, with monthly principal and interest installments to begin January 4, 2021. Any unforgiven portion of the note is payable on or before June 4, 2022. 253,071 - In connection with the CARES Act, CAD entered into a promissory note on June 4, 2020 for a $1,200,766 loan due to First Federal Savings and Loan Association of Lakewood, with monthly principal and interest installment to begin January 4, 2021. Any unforgiven portion of the note is payable on or before June 4, 2022. 1,200,766 - In connection with the CAD acquisition, the Company entered into a promissory note on July 1, 2018 for a $9,000,000 loan due to the Loudermilks, payable in quarterly installments beginning September 30, 2018. 6,187,500 7,875,000 Total notes payable 9,692,033 10,426,156 Less current portion 2,782,479 2,749,459 Notes payable – non-current portion $ 6,909,554 $ 7,676,697 |
Notes Payable [Member] | |
Notes Tables | |
Schedule of Maturities of Long-term Debt [Table Text Block] | Related Party Notes Seller Note PPP Loans Total Principal Payments 2021 532,479 2,250,000 - 2,782,479 2022 1,518,217 2,250,000 1,453,837 5,222,054 2023 - 1,687,500 - 1,687,500 2024 - - - - Total principal payments $ 2,050,696 $ 6,187,500 $ 1,453,837 9,692,033 |
Note 10 - Leases (Tables)
Note 10 - Leases (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Lessee, Operating and Finance Lease, Assets and Liabilities [Table Text Block] | December 31, 2020 December 31, 2019 Operating leases: Operating lease right-of-use assets, net $ 8,856,820 $ 9,224,840 Other current liabilities 1,136,300 850,664 Operating lease liabilities 7,901,357 8,513,448 Total operating lease liabilities $ 9,037,657 $ 9,364,112 Weighted Average Remaining Lease Term Operating Leases (in years) 9.0 11.0 Weighted Average Discount Rate Operating Leases 5.0 % 5.0 % |
Lessee, Operating Lease, Liability, Maturity [Table Text Block] | Operating Leases Year Ending December 31, 2021 $ 1,502,178 2022 1,452,087 2023 1,268,341 2024 1,285,820 2025 1,303,601 Thereafter 4,668,151 Total future minimum lease payments $ 11,480,178 Less: imputed interest (2,442,521 ) Total $ 9,037,657 |
Note 13 - Income Taxes (Tables)
Note 13 - Income Taxes (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] | Year Year December 31, 2020 December 31, 2019 Income Before Provision for Income Taxes $ 7,475,241 $ 9,419,490 Statutory rate 21 % 21 % Tax at statutory rate 1,569,801 1,978,092 State taxes, net of federal benefit 336,654 551,179 Permanent differences 18,715 23,889 Return to Provision Adjustments (289,316 ) (113,533 ) Provision for income taxes $ 1,635,854 $ 2,439,627 |
Schedule of Deferred Tax Assets and Liabilities [Table Text Block] | December 31, 2020 December 31, 2019 Inventories $ 179,171 $ 164,768 Bad debts 5,009 4,659 Accrued liabilities 48,812 279,508 Prepaid expense (92,571 ) (116,524 ) Depreciation and amortization (2,757,740 ) (2,798,040 ) Research and development and other credit carryforwards 451,247 556,387 Right of use lease accounting 47,351 (19,600 ) Directors stock option plan 161,212 163,427 Total deferred tax liability (1,957,509 ) (1,765,415 ) Valuation allowance (47,319 ) (47,319 ) Reserve for uncertain tax positions (425,000 ) (395,000 ) Total reserves & allowances (472,319 ) (442,319 ) Net deferred tax liability, net of reserves $ (2,429,828 ) $ (2,207,734 ) |
Summary of Operating Loss Carryforwards [Table Text Block] | Tax Year Expires State NOLs R& D & Other Credits 2021 - 3,000 2022 - 3,000 2023 - 3,000 2024 - 3,000 2025 - 3,000 2026 - 3,000 2027 - 3,000 2028 - 3,000 2029 191,519 3,000 2030 414,231 3,000 2031 641,229 3,000 2032 - 3,000 2033 532,837 3,000 2034 285,607 3,000 2035 - - 2036 - 2037 and beyond - - $ 2,065,423 $ 42,000 |
Note 14 - Earnings Per Common_2
Note 14 - Earnings Per Common Share (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] | Years Ended 2020 2019 Net Income Per Common Share - Basic Income available to common stockholders $ 5,839,387 $ 6,979,863 Weighted Average Shares of Common Stock Outstanding 3,319,731 2,849,239 Net Income Per Common Share - Basic $ 1.76 $ 2.45 Effect of Dilutive Securities Weighted Average Shares of Common Stock Outstanding - Basic 3,319,731 2,849,239 Options and warrants under convertible note 822 428,618 Weighted Average Shares of Common Stock Outstanding - Diluted 3,320,553 3,277,857 Net Income Per Common Share Diluted Income available to common stockholders $ 5,839,387 $ 6,979,863 Weighted Average Shares of Common Stock Outstanding - Diluted 3,320,553 3,277,857 Net Income Per Common Share - Diluted $ 1.76 $ 2.13 |
Note 16 - Acquisitions (Tables)
Note 16 - Acquisitions (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
CAD Enterprises, Inc. [Member] | |
Notes Tables | |
Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] | Accounts Receivable $ 771,088 Inventory 2,918,255 Fixed Assets 29,581 Prepaid and Other Assets 53,397 Intangibles Assets 4,320,000 Goodwill 1,714,108 Total Assets Acquired $ 9,806,429 Accrued Expense 406,429 Total Liabilities Assumed $ 406,429 Net Assets Acquired $ 9,400,000 |
Note 17 - Segment and Related_2
Note 17 - Segment and Related Information (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Schedule of Segment Reporting Information, by Segment [Table Text Block] | Year Ended December 31, 2020 Commercial Air Handling Aerospace Components Industrial Hose Corporate and Other Consolidated Sales $ 41,243,413 $ 18,916,525 $ 22,762,199 $ 2,147,763 $ 85,069,900 Gross Profit 10,216,587 1,415,591 6,518,682 780,430 18,931,290 Operating Income 5,313,487 (649,230 ) 3,746,257 (958,061 ) 7,452,453 Pretax Income 5,750,226 (1,164,179 ) 2,114,580 774,614 7,475,241 Net Income 4,312,669 (873,134 ) 1,585,935 813,917 5,839,387 Year Ended December 31, 2019 Commercial Air Handling Aerospace Components Industrial Hose Corporate and Other Consolidated Sales 51,564,344 30,126,438 7,171,164 836,581 89,698,527 Gross Profit 12,350,412 5,015,003 1,970,149 239,071 19,574,635 Operating Income 7,141,097 2,876,304 859,114 (365,849 ) 10,510,666 Pretax Income 7,140,398 2,073,239 635,995 (430,142 ) 9,419,490 Net Income 5,291,035 1,536,270 471,272 (318,714 ) 6,979,863 |
Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block] | Year Ended December 31, 2020 Year Ended December 31, 2019 United States of America $ 83,992,635 $ 89,370,005 Puerto Rico 601,232 - Canada 388,531 283,011 Other 87,502 45,511 $ 85,069,900 $ 89,698,527 |
Note 18 - Quarterly Data (Una_2
Note 18 - Quarterly Data (Unaudited) (Tables) | 12 Months Ended |
Dec. 31, 2020 | |
Notes Tables | |
Quarterly Financial Information [Table Text Block] | Year Ended December 31, 2020 March 31, June 30, September 30, December 31, 2020 2020 2020 2020 Sales $ 25,281,574 $ 18,576,588 $ 21,277,797 $ 19,933,941 Gross Profit 6,208,143 3,499,039 4,852,417 4,371,691 Operating Income 3,138,149 530,520 2,126,417 1,657,368 Net Income 2,075,570 228,837 1,426,090 2,108,890 Net Income per Common Share: Basic $ 0.63 $ 0.07 $ 0.43 $ 0.63 Diluted $ 0.63 $ 0.07 $ 0.43 $ 0.63 Year Ended December 31, 2019 March 31, June 30, September 30, December 31, 2019 2019 2019 2019 Sales $ 21,836,087 $ 24,514,636 $ 22,244,681 $ 21,103,124 Gross Profit 4,829,888 5,226,933 4,987,563 4,530,251 Operating Income 2,571,071 2,791,553 2,558,779 2,589,263 Net Income 1,745,458 1,831,479 1,694,868 1,708,058 Net Income per Common Share: Basic $ 0.63 $ 0.66 $ 0.59 $ 0.58 Diluted $ 0.55 $ 0.57 $ 0.52 $ 0.51 |
Note 2 - Summary of Significa_3
Note 2 - Summary of Significant Accounting Policies (Details Textual) | Jan. 01, 2020USD ($) | Dec. 31, 2020USD ($) | Sep. 30, 2020USD ($) | Jun. 30, 2020USD ($) | Mar. 31, 2020USD ($) | Dec. 31, 2019USD ($) | Sep. 30, 2019USD ($) | Jun. 30, 2019USD ($) | Mar. 31, 2019USD ($) | Dec. 31, 2020USD ($) | Dec. 31, 2019USD ($) | Jan. 01, 2019USD ($) |
Operating Lease, Right-of-Use Asset | $ 8,856,820 | $ 9,224,840 | $ 8,856,820 | $ 9,224,840 | ||||||||
Retained Earnings (Accumulated Deficit), Ending Balance | 22,366,470 | 16,527,083 | 22,366,470 | 16,527,083 | ||||||||
Revenue from Contract with Customer, Including Assessed Tax | $ 19,933,941 | $ 21,277,797 | $ 18,576,588 | $ 25,281,574 | $ 21,103,124 | $ 22,244,681 | $ 24,514,636 | $ 21,836,087 | 85,069,900 | 89,698,527 | ||
Transferred over Time [Member] | ||||||||||||
Revenue from Contract with Customer, Including Assessed Tax | 43,400,000 | 51,600,000 | ||||||||||
Transferred at Point in Time [Member] | ||||||||||||
Revenue from Contract with Customer, Including Assessed Tax | 41,700,000 | 38,100,000 | ||||||||||
Commercial Air Handling [Member] | ||||||||||||
Revenue from Contract with Customer, Including Assessed Tax | $ 41,243,413 | $ 51,564,344 | ||||||||||
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Commercial Air Handling [Member] | ||||||||||||
Number of Customers | 3 | 3 | ||||||||||
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Commercial Air Handling [Member] | Two Customers [Member] | ||||||||||||
Concentration Risk, Percentage | 15.00% | |||||||||||
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Commercial Air Handling [Member] | Three Customers [Member] | ||||||||||||
Concentration Risk, Percentage | 12.00% | |||||||||||
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Aerospace Components [Member] | ||||||||||||
Number of Customers | 1 | 1 | ||||||||||
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Aerospace Components [Member] | One Customer [Member] | ||||||||||||
Concentration Risk, Percentage | 33.00% | 29.00% | ||||||||||
Accounting Standards Update 2016-02 [Member] | ||||||||||||
Operating Lease, Right-of-Use Asset | $ 9,700,000 | |||||||||||
Operating Lease, Liability, Total | 9,800,000 | |||||||||||
Retained Earnings (Accumulated Deficit), Ending Balance | $ (100,000) | |||||||||||
Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill) | $ 0 |
Note 2 - Summary of Significa_4
Note 2 - Summary of Significant Accounting Policies - Property, Plant and Equipment Useful Lives (Details) | 12 Months Ended |
Dec. 31, 2020 | |
Building and Building Improvements [Member] | Minimum [Member] | |
Property, Plant and Equipment Useful Lives (Year) | 10 years |
Building and Building Improvements [Member] | Maximum [Member] | |
Property, Plant and Equipment Useful Lives (Year) | 40 years |
Machinery and Equipment [Member] | Minimum [Member] | |
Property, Plant and Equipment Useful Lives (Year) | 3 years |
Machinery and Equipment [Member] | Maximum [Member] | |
Property, Plant and Equipment Useful Lives (Year) | 20 years |
Tools, Dies and Molds [Member] | |
Property, Plant and Equipment Useful Lives (Year) | 3 years |
Note 3 - Accounts Receivable (D
Note 3 - Accounts Receivable (Details Textual) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Accounts Receivable, Allowance for Credit Loss, Ending Balance | $ 19,973 | $ 18,325 |
Note 4 - Inventory - Inventory
Note 4 - Inventory - Inventory (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Raw materials and component parts | $ 3,897,133 | $ 2,945,427 |
Work-in-process | 3,449,252 | 2,800,699 |
Finished products | 3,999,920 | 2,183,170 |
Total Inventory | 11,346,305 | 7,929,296 |
Less: Inventory reserves | 315,345 | 250,606 |
Net Inventory | $ 11,030,960 | $ 7,678,690 |
Note 5 - Goodwill and Other I_3
Note 5 - Goodwill and Other Intangible Assets, Net (Details Textual) $ in Thousands | 12 Months Ended |
Dec. 31, 2020USD ($) | |
Goodwill and Intangible Asset Impairment, Total | $ 0 |
Minimum [Member] | |
Finite-Lived Intangible Asset, Useful Life (Year) | 1 year |
Maximum [Member] | |
Finite-Lived Intangible Asset, Useful Life (Year) | 15 years |
Note 5 - Goodwill and Other I_4
Note 5 - Goodwill and Other Intangible Assets, Net - Summary of Intangible Assets (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018 |
Customer Intangibles | $ 9,830,000 | $ 5,510,000 | |
Less: Accumulated Amortization | 2,271,691 | 1,559,162 | $ 1,177,798 |
Other Intangibles, Net | 7,558,309 | 3,950,838 | |
Customer-Related Intangible Assets [Member] | |||
Customer Intangibles | 7,700,000 | 4,970,000 | |
Noncompete Agreements [Member] | |||
Customer Intangibles | 200,000 | 200,000 | |
Trademarks [Member] | |||
Customer Intangibles | $ 1,930,000 | $ 340,000 |
Note 5 - Goodwill and Other I_5
Note 5 - Goodwill and Other Intangible Assets, Net - Accumulated Amortization (Details) - USD ($) | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Accumulated amortization at the beginning of the period | $ 1,559,162 | $ 1,177,798 |
Amortization expense | 712,529 | 381,364 |
Accumulated amortization at end of period | $ 2,271,691 | $ 1,559,162 |
Note 5 - Goodwill and Other I_6
Note 5 - Goodwill and Other Intangible Assets, Net - Future Amortization Expense (Details) | Dec. 31, 2020USD ($) |
2021 | $ 712,530 |
2022 | 689,197 |
2023 | 672,530 |
2024 | 672,530 |
2025 | $ 672,530 |
Note 6 - Property, Plant and _3
Note 6 - Property, Plant and Equipment, Net (Details Textual) - USD ($) | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Depreciation, Total | $ 1,707,285 | $ 1,645,829 |
Note 6 - Property, Plant and _4
Note 6 - Property, Plant and Equipment, Net - Schedule of Property, Plant, and Equipment (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Property Plant and Equipment, Gross | $ 16,620,221 | $ 16,016,325 |
Less: Accumulated Depreciation | 5,329,438 | 3,622,153 |
Property Plant & Equipment, Net | 11,290,783 | 12,394,172 |
Land [Member] | ||
Property Plant and Equipment, Gross | 228,872 | 228,872 |
Building and Building Improvements [Member] | ||
Property Plant and Equipment, Gross | 2,061,887 | 1,837,009 |
Machinery and Equipment [Member] | ||
Property Plant and Equipment, Gross | $ 14,329,462 | $ 13,950,444 |
Note 7 - Investments in Equit_3
Note 7 - Investments in Equity Securities (Details Textual) shares in Thousands | Dec. 31, 2019shares |
Investment Owned, Balance, Shares (in shares) | 0 |
Note 7 - Investments in Equit_4
Note 7 - Investments in Equity Securities - Schedule of Investments in Equity Securities (Details) | 12 Months Ended |
Dec. 31, 2020USD ($) | |
Stock | $ 949,293 |
Stock, Market | 1,534,400 |
Gross unrealized gains on equity securities | 585,107 |
Deferred income taxes | 146,736 |
Net unrealized gains on equity securities | $ 438,371 |
Note 7 - Investments in Equit_5
Note 7 - Investments in Equity Securities - Schedule of Fair Value of Investments (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Investments | $ 1,534,400 | |
Reported Value Measurement [Member] | ||
Investments | 1,534,400 | |
Fair Value, Inputs, Level 1 [Member] | Estimate of Fair Value Measurement [Member] | ||
Investments | 1,534,400 | |
Fair Value, Inputs, Level 2 [Member] | Estimate of Fair Value Measurement [Member] | ||
Investments | ||
Fair Value, Inputs, Level 3 [Member] | Estimate of Fair Value Measurement [Member] | ||
Investments |
Note 8 - Bank Debt (Details Tex
Note 8 - Bank Debt (Details Textual) - USD ($) | Jul. 05, 2019 | Jul. 05, 2018 | Dec. 31, 2019 | Mar. 02, 2021 | Dec. 31, 2020 | Mar. 02, 2020 | Sep. 30, 2019 |
Line of Credit Facility, Remaining Borrowing Capacity | $ 16,300,000 | $ 9,200,000 | |||||
J P Morgan Chase Bank [Member] | Term Debt [Member] | |||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 30,000,000 | $ 20,000,000 | |||||
Long-term Debt, Total | $ 6,000,000 | ||||||
Debt Instrument, Periodic Payment, Total | $ 111,111 | ||||||
J P Morgan Chase Bank [Member] | Term Debt [Member] | Prime Rate [Member] | |||||||
Debt Instrument, Basis Spread on Variable Rate | 0.25% | ||||||
J P Morgan Chase Bank [Member] | Term Debt [Member] | London Interbank Offered Rate (LIBOR) [Member] | |||||||
Debt Instrument, Basis Spread on Variable Rate | 2.25% | ||||||
J P Morgan Chase Bank [Member] | Term Debt [Member] | Subsequent Event [Member] | |||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 20,000,000 | ||||||
J P Morgan Chase Bank [Member] | Revolving Credit Facility [Member] | |||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 12,000,000 | ||||||
Line of Credit Facility, Percent of Eligible Accounts | 80.00% | ||||||
Line of Credit Facility, Percent of Eligible Progress Billing Accounts | 50.00% | ||||||
Line of Credit Facility, Percent of Eligible Inventory | 50.00% | ||||||
Line of Credit Facility, Commitment Fee Percentage | 0.25% | ||||||
J P Morgan Chase Bank [Member] | Revolving Credit Facility [Member] | Prime Rate [Member] | |||||||
Debt Instrument, Basis Spread on Variable Rate | 0.25% | ||||||
J P Morgan Chase Bank [Member] | Revolving Credit Facility [Member] | London Interbank Offered Rate (LIBOR) [Member] | |||||||
Debt Instrument, Basis Spread on Variable Rate | 1.75% | ||||||
J P Morgan Chase Bank [Member] | Letter of Credit [Member] | |||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 3,000,000 |
Note 8 - Bank Debt - Summary of
Note 8 - Bank Debt - Summary of Loan Balances (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Bank Debt [Member] | ||
Total Bank Debt | $ 13,603,575 | $ 7,834,106 |
Less: Current Portion | 1,333,333 | 1,333,333 |
Non-Current Bank Debt | 12,270,242 | 6,500,773 |
Less: Unamortized Debt Costs | 95,814 | 124,179 |
Net Non-Current Bank Debt | 12,174,428 | 6,376,594 |
Term Debt [Member] | ||
Total Bank Debt | 2,777,778 | |
Term Debt [Member] | Bank Debt [Member] | ||
Total Bank Debt | 2,777,778 | 4,111,111 |
Line of Credit [Member] | Bank Debt [Member] | ||
Total Bank Debt | $ 10,825,797 | $ 3,722,995 |
Note 8 - Bank Debt - Minimum Pr
Note 8 - Bank Debt - Minimum Principal Payments (Details) - Term Debt [Member] | Dec. 31, 2020USD ($) |
2021 | $ 1,333,333 |
2022 | 1,444,445 |
Total principal payments | $ 2,777,778 |
Note 9 - Notes Payable (Details
Note 9 - Notes Payable (Details Textual) - USD ($) | Dec. 18, 2019 | Dec. 11, 2019 | Jul. 09, 2019 | Jul. 05, 2019 | Jul. 01, 2018 | Jun. 03, 2016 | Dec. 31, 2020 | Dec. 31, 2019 | Jun. 04, 2020 | Apr. 10, 2020 | Jul. 05, 2018 | Jul. 01, 2016 | Dec. 30, 2012 | Dec. 30, 2011 |
Stock Issued During Period, Value, Warrant Exercised | $ 250,000 | |||||||||||||
Convertible Notes Payable, Total | $ 0 | 200,000 | ||||||||||||
Payments to Acquire Businesses, Gross | 9,400,000 | 50,001 | ||||||||||||
CAD Enterprises, Inc. [Member] | ||||||||||||||
Business Combination, Consideration Transferred, Total | $ 21,000,000 | |||||||||||||
Payments to Acquire Businesses, Gross | $ 12,000,000 | |||||||||||||
Roundball LLC [Member] | Common Class A [Member] | ||||||||||||||
Stock Issued During Period, Shares, Warrant Exercised (in shares) | 100,000 | |||||||||||||
Shares Issued, Price Per Share (in dollars per share) | $ 2.50 | |||||||||||||
Stock Issued During Period, Value, Warrant Exercised | $ 250,000 | |||||||||||||
Exercise of Conversion Option Under Promissory Note for Class B Shares [Member] | ||||||||||||||
Debt Conversion, Converted Instrument, Shares Issued (in shares) | 75,000 | |||||||||||||
Exercise of Conversion Option Under Promissory Note for Class A Shares [Member] | ||||||||||||||
Debt Conversion, Converted Instrument, Shares Issued (in shares) | 251,489 | |||||||||||||
Exercise of Conversion Option Under Promissory Note [Member] | ||||||||||||||
Debt Conversion, Original Debt, Amount | $ 466,880 | |||||||||||||
Conversion of Promissory Note 2 Due to First Francis into Class B Common Stock [Member] | ||||||||||||||
Debt Conversion, Converted Instrument, Shares Issued (in shares) | 100,000 | |||||||||||||
Debt Conversion, Original Debt, Amount | $ 648,000 | |||||||||||||
Seller Note [Member] | CAD Enterprises, Inc. [Member] | ||||||||||||||
Debt Instrument, Interest Rate, Stated Percentage | 4.00% | |||||||||||||
Seller Note [Member] | Notes Payable [Member] | ||||||||||||||
Debt Instrument, Face Amount | 9,000,000 | 9,000,000 | ||||||||||||
Paycheck Protection Program CARES Act [Member] | Notes Payable [Member] | ||||||||||||||
Debt Instrument, Face Amount | $ 3,679,383 | |||||||||||||
Paycheck Protection Program CARES Act [Member] | Notes Payable [Member] | Federal Hose [Member] | ||||||||||||||
Debt Instrument, Face Amount | 253,071 | $ 253,071 | ||||||||||||
Paycheck Protection Program CARES Act [Member] | Notes Payable [Member] | CAD Enterprises, Inc. [Member] | ||||||||||||||
Debt Instrument, Face Amount | 1,200,766 | $ 1,200,766 | ||||||||||||
Roundball LLC [Member] | Amendment No. 1 [Member] | Warrant to Purchase Class A Common Stock [Member] | ||||||||||||||
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | 100,000 | |||||||||||||
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ 2.50 | |||||||||||||
First Francis [Member] | Related Party Notes, One [Member] | Notes Payable [Member] | ||||||||||||||
Debt Instrument, Face Amount | 2,000,000 | 2,000,000 | $ 2,000,000 | |||||||||||
First Francis [Member] | Related Party Notes, Two [Member] | Notes Payable [Member] | ||||||||||||||
Debt Instrument, Face Amount | $ 2,768,662 | $ 2,768,662 | $ 2,768,662 | |||||||||||
First Francis [Member] | Related Party Notes [Member] | Notes Payable [Member] | ||||||||||||||
Debt Instrument, Interest Rate, Stated Percentage | 6.25% | |||||||||||||
Line of Credit Facility, Interest Rate During Period | 4.00% | |||||||||||||
Debt Instrument, Convertible Option, Maximum Debt Convertible | $ 648,000 | |||||||||||||
Debt Instrument, Convertible, Stock Price Trigger (in dollars per share) | $ 6.48 | |||||||||||||
Director [Member] | Roundball LLC [Member] | Convertible Notes Payable [Member] | ||||||||||||||
Working Capital Funding | $ 467,000 | |||||||||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 250,000 | |||||||||||||
Debt Instrument, Interest Rate, Stated Percentage | 0.25% |
Note 9 - Notes Payable - Notes
Note 9 - Notes Payable - Notes Payable (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Less current portion | $ 2,782,479 | $ 2,749,459 |
Paycheck Protection Program CARES Act [Member] | ||
Notes payable – non-current portion | 1,453,837 | |
Notes Payable [Member] | ||
Notes payable | 9,692,033 | 10,426,156 |
Less current portion | 2,782,479 | 2,749,459 |
Notes payable – non-current portion | 6,909,554 | 7,676,697 |
Notes Payable [Member] | Related Party Notes, One [Member] | First Francis [Member] | ||
Notes payable | 1,108,829 | 1,302,776 |
Notes Payable [Member] | Related Party Notes, Two [Member] | First Francis [Member] | ||
Notes payable | 941,867 | 1,248,380 |
Notes Payable [Member] | Paycheck Protection Program CARES Act [Member] | Federal Hose [Member] | ||
Notes payable | 253,071 | |
Notes Payable [Member] | Paycheck Protection Program CARES Act [Member] | CAD Enterprises, Inc. [Member] | ||
Notes payable | 1,200,766 | |
Notes Payable [Member] | Seller Note [Member] | ||
Notes payable | $ 6,187,500 | $ 7,875,000 |
Note 9 - Notes Payable - Note_2
Note 9 - Notes Payable - Notes Payable (Details) (Parentheticals) - Notes Payable [Member] - USD ($) | Dec. 31, 2020 | Jun. 04, 2020 | Apr. 10, 2020 | Dec. 31, 2019 | Jul. 01, 2016 |
Related Party Notes, One [Member] | First Francis [Member] | |||||
Notes payable, face value | $ 2,000,000 | $ 2,000,000 | $ 2,000,000 | ||
Related Party Notes, Two [Member] | First Francis [Member] | |||||
Notes payable, face value | 2,768,662 | 2,768,662 | $ 2,768,662 | ||
Paycheck Protection Program CARES Act [Member] | |||||
Notes payable, face value | $ 3,679,383 | ||||
Paycheck Protection Program CARES Act [Member] | Federal Hose [Member] | |||||
Notes payable, face value | 253,071 | $ 253,071 | |||
Paycheck Protection Program CARES Act [Member] | CAD Enterprises, Inc. [Member] | |||||
Notes payable, face value | 1,200,766 | $ 1,200,766 | |||
Seller Note [Member] | |||||
Notes payable, face value | $ 9,000,000 | $ 9,000,000 |
Note 9 - Notes Payable - Princi
Note 9 - Notes Payable - Principal Payments on Notes Payable (Details) - Notes Payable [Member] | Dec. 31, 2020USD ($) |
2021 | $ 2,782,479 |
2022 | 5,222,054 |
2023 | 1,687,500 |
2024 | |
Total principal payments | 9,692,033 |
Related Party Notes [Member] | |
2021 | 532,479 |
2022 | 1,518,217 |
2023 | |
2024 | |
Total principal payments | 2,050,696 |
Seller Note [Member] | |
2021 | 2,250,000 |
2022 | 2,250,000 |
2023 | 1,687,500 |
2024 | |
Total principal payments | 6,187,500 |
Paycheck Protection Program CARES Act [Member] | |
2021 | |
2022 | 1,453,837 |
2023 | |
2024 | |
Total principal payments | $ 1,453,837 |
Note 10 - Leases (Details Textu
Note 10 - Leases (Details Textual) - USD ($) $ in Millions | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Lessee, Operating and Finance Lease, Renewal Term (Year) | 10 years | |
Operating Lease, Expense | $ 1.5 | $ 1.6 |
Minimum [Member] | ||
Operating and Finance Lease, Remaining Term (Year) | 2 years | |
Maximum [Member] | ||
Operating and Finance Lease, Remaining Term (Year) | 15 years |
Note 10 - Leases - Lease Assets
Note 10 - Leases - Lease Assets and Liabilities (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Operating Lease, Right-of-Use Asset | $ 8,856,820 | $ 9,224,840 |
Operating Leases (in years) (Year) | 9 years | 11 years |
Operating Leases | 5.00% | 5.00% |
Other Current Liabilities [Member] | ||
Other current liabilities | $ 1,136,300 | $ 850,664 |
Operating Lease Liabilities [Member] | ||
Operating lease liabilities | 7,901,357 | 8,513,448 |
Other Current Liabilities and Operating Lease Liabilities [Member] | ||
Operating Lease, Liability, Total | $ 9,037,657 | $ 9,364,112 |
Note 10 - Leases - Schedule of
Note 10 - Leases - Schedule of Future Minimum Lease Payments (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
2021 | $ 1,502,178 | |
2022 | 1,452,087 | |
2023 | 1,268,341 | |
2024 | 1,285,820 | |
2025 | 1,303,601 | |
Thereafter | 4,668,151 | |
Total future minimum lease payments | 11,480,178 | |
Less: imputed interest | (2,442,521) | |
Other Current Liabilities and Operating Lease Liabilities [Member] | ||
Operating Lease, Liability, Total | $ 9,037,657 | $ 9,364,112 |
Note 11 - Shareholders' Equity
Note 11 - Shareholders' Equity (Details Textual) | Dec. 31, 2020$ / sharesshares | Dec. 31, 2019shares |
Preferred Stock, Shares Authorized (in shares) | 1,000,000 | |
Common Class A [Member] | ||
Common Stock, Shares Authorized (in shares) | 10,000,000 | 10,000,000 |
Common Stock, Capital Shares Reserved for Future Issuance (in shares) | 1,042,848 | 1,045,848 |
Common Stock, Voting Rights, per Share | 1 | |
Common Class A [Member] | Minimum [Member] | ||
Dividends Payable, Amount Per Share (in dollars per share) | $ / shares | $ 0.10 | |
Common Class B [Member] | ||
Common Stock, Shares Authorized (in shares) | 2,500,000 | 2,500,000 |
Common Stock, Voting Rights, per Share | 3 |
Note 12 - Stock Compensation (D
Note 12 - Stock Compensation (Details Textual) - USD ($) | 1 Months Ended | 12 Months Ended | ||
May 31, 2019 | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018 | |
Directors Plans [Member] | ||||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | 3 years | |||
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term (Year) | 10 years | |||
Share-based Payment Arrangement, Expense | $ 296,899 | $ 348,877 | ||
Common Class A [Member] | ||||
Common Stock, Capital Shares Reserved for Future Issuance (in shares) | 1,042,848 | 1,045,848 | ||
Common Class A [Member] | Omnibus 2013 Equity Plan [Member] | ||||
Common Stock, Capital Shares Reserved for Future Issuance (in shares) | 400,000 | 150,000 | ||
Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized (in shares) | 250,000 | |||
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | 15,000 | 12,000 | ||
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant (in shares) | 271,000 | |||
Common Class A [Member] | Directors Plans [Member] | ||||
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance (in shares) | 5,000 |
Note 13 - Income Taxes (Details
Note 13 - Income Taxes (Details Textual) - USD ($) $ in Thousands | Dec. 31, 2020 | Dec. 31, 2019 |
SEC Schedule, 12-09, Valuation Allowance, Operating Loss Carryforward [Member] | ||
Tax Credit Carryforward, Valuation Allowance | $ 47 | $ 47 |
Valuation Allowance, Reserve for Uncertain Tax Position [Member] | ||
Tax Credit Carryforward, Valuation Allowance | $ 400 | $ 400 |
Note 13 - Income Taxes - Income
Note 13 - Income Taxes - Income Tax Reconciliation (Details) - USD ($) | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Income Before Provision for Income Taxes | $ 7,475,241 | $ 9,419,490 |
Statutory rate | 21.00% | 21.00% |
Tax at statutory rate | $ 1,569,801 | $ 1,978,092 |
State taxes, net of federal benefit | 336,654 | 551,179 |
Permanent differences | 18,715 | 23,889 |
Return to Provision Adjustments | (289,316) | (113,533) |
Total Provision for Income Taxes | $ 1,635,854 | $ 2,439,627 |
Note 13 - Income Taxes - Deferr
Note 13 - Income Taxes - Deferred Tax Assets (Liabilities) (Details) - USD ($) | Dec. 31, 2020 | Dec. 31, 2019 |
Inventories | $ 179,171 | $ 164,768 |
Bad debts | 5,009 | 4,659 |
Accrued liabilities | 48,812 | 279,508 |
Prepaid expense | (92,571) | (116,524) |
Depreciation and amortization | (2,757,740) | (2,798,040) |
Research and development and other credit carryforwards | 451,247 | 556,387 |
Right of use lease accounting | 47,351 | |
Right of use lease accounting | (19,600) | |
Directors stock option plan | 161,212 | 163,427 |
Total deferred tax liability | (1,957,509) | (1,765,415) |
Valuation allowance | (47,319) | (47,319) |
Reserve for uncertain tax positions | (425,000) | (395,000) |
Total reserves & allowances | (472,319) | (442,319) |
Net deferred tax liability, net of reserves | $ (2,429,828) | $ (2,207,734) |
Note 13 - Income Taxes - Net Op
Note 13 - Income Taxes - Net Operating Loss and Tax Credit Carryforwards (Details) | Dec. 31, 2020USD ($) |
State and Local Jurisdiction [Member] | |
Net Operating Loss | $ 2,065,423 |
State and Local Jurisdiction [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 42,000 |
Expires in Tax Year 2021 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2021 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2022 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2022 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2023 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2023 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2024 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2024 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2025 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2025 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2026 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2026 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2027 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2027 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2028 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2028 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2029 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2029 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | 191,519 |
Expires in Tax Year 2030 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2030 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | 414,231 |
Expires in Tax Year 2031 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2031 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | 641,229 |
Expires in Tax Year 2032 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2032 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2033 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2033 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | 532,837 |
Expires in Tax Year 2034 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | 3,000 |
Expires in Tax Year 2034 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | 285,607 |
Expires in Tax Year 2035 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | |
Expires in Tax Year 2035 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2036 [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | |
Expires in Tax Year 2036 [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss | |
Expires in Tax Year 2036 and Beyond [Member] | Research & Development & Other Tax Credits [Member] | |
Net Operating Loss | |
Expires in Tax Year 2036 and Beyond [Member] | State and Local Jurisdiction [Member] | |
Net Operating Loss |
Note 14 - Earnings Per Common_3
Note 14 - Earnings Per Common Share (Details Textual) - shares | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Common Class A [Member] | ||
Incremental Common Shares Attributable to Share-based Payment Arrangements, Total (in shares) | 1,000 | 1,000 |
Note 14 - Earnings Per Common_4
Note 14 - Earnings Per Common Share - Summary of Earnings Per Share Calculation (Details) - USD ($) | 3 Months Ended | 12 Months Ended | ||||||||
Dec. 31, 2020 | Sep. 30, 2020 | Jun. 30, 2020 | Mar. 31, 2020 | Dec. 31, 2019 | Sep. 30, 2019 | Jun. 30, 2019 | Mar. 31, 2019 | Dec. 31, 2020 | Dec. 31, 2019 | |
Income available to common stockholders | $ 5,839,387 | $ 6,979,863 | ||||||||
Weighted Average Shares of Common Stock Outstanding (in shares) | 3,319,731 | 2,849,239 | ||||||||
Net Income Per Common Share - Basic (in dollars per share) | $ 0.63 | $ 0.43 | $ 0.07 | $ 0.63 | $ 0.58 | $ 0.59 | $ 0.66 | $ 0.63 | $ 1.76 | $ 2.45 |
Options and warrants under convertible note (in shares) | 822 | 428,618 | ||||||||
Weighted Average Shares of Common Stock Outstanding - Diluted (in shares) | 3,320,553 | 3,277,857 | ||||||||
Income available to common stockholders | $ 5,839,387 | $ 6,979,863 | ||||||||
Net Income Per Common Share - Diluted (in dollars per share) | $ 0.63 | $ 0.43 | $ 0.07 | $ 0.63 | $ 0.51 | $ 0.52 | $ 0.57 | $ 0.55 | $ 1.76 | $ 2.13 |
Note 15 - Employee Benefit Pl_2
Note 15 - Employee Benefit Plans (Details Textual) - USD ($) | 12 Months Ended | |
Dec. 31, 2020 | Dec. 31, 2019 | |
Defined Contribution Plan, Employer Discretionary Contribution Amount | $ 97,322 | $ 315,090 |
Note 16 - Acquisitions (Details
Note 16 - Acquisitions (Details Textual) - USD ($) | Jan. 02, 2020 | Apr. 19, 2019 | Dec. 31, 2020 | Dec. 31, 2019 |
Payments to Acquire Businesses, Gross | $ 9,400,000 | $ 50,001 | ||
Business Combination, Acquisition Related Costs | $ 110,548 | $ 74,117 | ||
Assets Acquisition of MPI Products, Inc. [Member] | ||||
Business Combination, Consideration Transferred, Total | $ 9,400,000 | |||
Data Genomix Inc [Member] | ||||
Payments to Acquire Businesses, Gross | $ 50,001 |
Note 16 - Acquisitions - Summar
Note 16 - Acquisitions - Summary Assets Acquired and Liabilities Assumed of CAD Enterprises (Details) - USD ($) | Dec. 31, 2020 | Jan. 02, 2020 | Dec. 31, 2019 |
Goodwill | $ 11,505,852 | $ 9,791,745 | |
CAD Enterprises, Inc. [Member] | |||
Accounts Receivable | $ 771,088 | ||
Inventory | 2,918,255 | ||
Fixed Assets | 29,581 | ||
Prepaid and Other Assets | 53,397 | ||
Intangibles Assets | 4,320,000 | ||
Goodwill | 1,714,108 | ||
Total Assets Acquired | 9,806,429 | ||
Accrued Expense | 406,429 | ||
Total Liabilities Assumed | 406,429 | ||
Net Assets Acquired | $ 9,400,000 |
Note 17 - Segment and Related_3
Note 17 - Segment and Related Information (Details Textual) | 12 Months Ended |
Dec. 31, 2020 | |
Number of Reportable Segments | 3 |
Note 17 - Segment and Related_4
Note 17 - Segment and Related Information - Information by Industry Segment (Details) - USD ($) | 3 Months Ended | 12 Months Ended | ||||||||
Dec. 31, 2020 | Sep. 30, 2020 | Jun. 30, 2020 | Mar. 31, 2020 | Dec. 31, 2019 | Sep. 30, 2019 | Jun. 30, 2019 | Mar. 31, 2019 | Dec. 31, 2020 | Dec. 31, 2019 | |
Sales | $ 19,933,941 | $ 21,277,797 | $ 18,576,588 | $ 25,281,574 | $ 21,103,124 | $ 22,244,681 | $ 24,514,636 | $ 21,836,087 | $ 85,069,900 | $ 89,698,527 |
Gross Profit | 4,371,691 | 4,852,417 | 3,499,039 | 6,208,143 | 4,530,251 | 4,987,563 | 5,226,933 | 4,829,888 | 18,931,290 | 19,574,635 |
Operating Income | 1,657,368 | 2,126,417 | 530,520 | 3,138,149 | 2,589,263 | 2,558,779 | 2,791,553 | 2,571,071 | 7,452,453 | 10,510,666 |
Pretax Income | 7,475,241 | 9,419,490 | ||||||||
Net Income | $ 2,108,890 | $ 1,426,090 | $ 228,837 | $ 2,075,570 | $ 1,708,058 | $ 1,694,868 | $ 1,831,479 | $ 1,745,458 | 5,839,387 | 6,979,863 |
Commercial Air Handling [Member] | ||||||||||
Sales | 41,243,413 | 51,564,344 | ||||||||
Gross Profit | 10,216,587 | 12,350,412 | ||||||||
Operating Income | 5,313,487 | 7,141,097 | ||||||||
Pretax Income | 5,750,226 | 7,140,398 | ||||||||
Net Income | 4,312,669 | 5,291,035 | ||||||||
Aerospace [Member] | ||||||||||
Sales | 18,916,525 | 30,126,438 | ||||||||
Gross Profit | 1,415,591 | 5,015,003 | ||||||||
Operating Income | (649,230) | 2,876,304 | ||||||||
Pretax Income | (1,164,179) | 2,073,239 | ||||||||
Net Income | (873,134) | 1,536,270 | ||||||||
Industrial Hose [Member] | ||||||||||
Sales | 22,762,199 | 7,171,164 | ||||||||
Gross Profit | 6,518,682 | 1,970,149 | ||||||||
Operating Income | 3,746,257 | 859,114 | ||||||||
Pretax Income | 2,114,580 | 635,995 | ||||||||
Net Income | 1,585,935 | 471,272 | ||||||||
Corporate and Other [Member] | ||||||||||
Sales | 2,147,763 | 836,581 | ||||||||
Gross Profit | 780,430 | 239,071 | ||||||||
Operating Income | (958,061) | (365,849) | ||||||||
Pretax Income | 774,614 | (430,142) | ||||||||
Net Income | $ 813,917 | $ (318,714) |
Note 17 - Segment and Related_5
Note 17 - Segment and Related Information - Geographical Information (Details) - USD ($) | 3 Months Ended | 12 Months Ended | ||||||||
Dec. 31, 2020 | Sep. 30, 2020 | Jun. 30, 2020 | Mar. 31, 2020 | Dec. 31, 2019 | Sep. 30, 2019 | Jun. 30, 2019 | Mar. 31, 2019 | Dec. 31, 2020 | Dec. 31, 2019 | |
Sales | $ 19,933,941 | $ 21,277,797 | $ 18,576,588 | $ 25,281,574 | $ 21,103,124 | $ 22,244,681 | $ 24,514,636 | $ 21,836,087 | $ 85,069,900 | $ 89,698,527 |
Total sales | $ 19,933,941 | $ 21,277,797 | $ 18,576,588 | $ 25,281,574 | $ 21,103,124 | $ 22,244,681 | $ 24,514,636 | $ 21,836,087 | 85,069,900 | 89,698,527 |
UNITED STATES | ||||||||||
Sales | 83,992,635 | 89,370,005 | ||||||||
Total sales | 83,992,635 | 89,370,005 | ||||||||
PUERTO RICO | ||||||||||
Sales | 601,232 | |||||||||
Total sales | 601,232 | |||||||||
CANADA | ||||||||||
Sales | 388,531 | 283,011 | ||||||||
Total sales | 388,531 | 283,011 | ||||||||
Other Foreign Countries [Member] | ||||||||||
Sales | 87,502 | 45,511 | ||||||||
Total sales | $ 87,502 | $ 45,511 |
Note 18 - Quarterly Data (Una_3
Note 18 - Quarterly Data (Unaudited) - Summary of Quarterly Data (Unaudited) (Details) - USD ($) | 3 Months Ended | 12 Months Ended | ||||||||
Dec. 31, 2020 | Sep. 30, 2020 | Jun. 30, 2020 | Mar. 31, 2020 | Dec. 31, 2019 | Sep. 30, 2019 | Jun. 30, 2019 | Mar. 31, 2019 | Dec. 31, 2020 | Dec. 31, 2019 | |
Sales | $ 19,933,941 | $ 21,277,797 | $ 18,576,588 | $ 25,281,574 | $ 21,103,124 | $ 22,244,681 | $ 24,514,636 | $ 21,836,087 | $ 85,069,900 | $ 89,698,527 |
Gross Profit | 4,371,691 | 4,852,417 | 3,499,039 | 6,208,143 | 4,530,251 | 4,987,563 | 5,226,933 | 4,829,888 | 18,931,290 | 19,574,635 |
Operating Income | 1,657,368 | 2,126,417 | 530,520 | 3,138,149 | 2,589,263 | 2,558,779 | 2,791,553 | 2,571,071 | 7,452,453 | 10,510,666 |
Net Income | $ 2,108,890 | $ 1,426,090 | $ 228,837 | $ 2,075,570 | $ 1,708,058 | $ 1,694,868 | $ 1,831,479 | $ 1,745,458 | $ 5,839,387 | $ 6,979,863 |
Net Income Per Common Share - Basic (in dollars per share) | $ 0.63 | $ 0.43 | $ 0.07 | $ 0.63 | $ 0.58 | $ 0.59 | $ 0.66 | $ 0.63 | $ 1.76 | $ 2.45 |
Net Income Per Common Share - Diluted (in dollars per share) | $ 0.63 | $ 0.43 | $ 0.07 | $ 0.63 | $ 0.51 | $ 0.52 | $ 0.57 | $ 0.55 | $ 1.76 | $ 2.13 |
Note 19 - Subsequent Events (De
Note 19 - Subsequent Events (Details Textual) - USD ($) | Mar. 01, 2021 | Jan. 15, 2021 | Dec. 31, 2020 | Dec. 31, 2019 |
Payments to Acquire Businesses, Gross | $ 9,400,000 | $ 50,001 | ||
Subsequent Event [Member] | Assets Acquisition Of KT Acquisition Member | ||||
Business Combination, Consideration Transferred, Total | $ 9,400,000 | |||
Subsequent Event [Member] | Acquisition of Global Tek Manufacturing LLC [Member] | ||||
Payments to Acquire Businesses, Gross | $ 4,900,000 | |||
Business Combination, Consideration Transferred, Liabilities Incurred | 1,580,000 | |||
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High | 1,500,000 | |||
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Annual Value, High | $ 750,000 | |||
Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) | 61,475 |