Document And Entity Information
Document And Entity Information - USD ($) | 12 Months Ended | ||
Dec. 31, 2019 | Feb. 14, 2020 | Jun. 30, 2019 | |
Document Information [Line Items] | |||
Entity Central Index Key | 0001443669 | ||
Entity Registrant Name | Proto Labs Inc | ||
Amendment Flag | false | ||
Current Fiscal Year End Date | --12-31 | ||
Document Fiscal Period Focus | FY | ||
Document Fiscal Year Focus | 2019 | ||
Document Type | 10-K | ||
Document Annual Report | true | ||
Document Period End Date | Dec. 31, 2019 | ||
Document Transition Report | false | ||
Entity File Number | 001-35435 | ||
Entity Incorporation, State or Country Code | MN | ||
Entity Tax Identification Number | 41-1939628 | ||
Entity Address, Address Line One | 5540 Pioneer Creek Drive | ||
Entity Address, City or Town | Maple Plain | ||
Entity Address, State or Province | MN | ||
Entity Address, Postal Zip Code | 55359 | ||
City Area Code | 763 | ||
Local Phone Number | 479-3680 | ||
Title of 12(b) Security | Common Stock, Par Value $0.001 Per Share | ||
Trading Symbol | PRLB | ||
Security Exchange Name | NYSE | ||
Entity Well-known Seasoned Issuer | Yes | ||
Entity Voluntary Filers | No | ||
Entity Current Reporting Status | Yes | ||
Entity Interactive Data Current | Yes | ||
Entity Filer Category | Large Accelerated Filer | ||
Entity Small Business | false | ||
Entity Emerging Growth Company | false | ||
Entity Shell Company | false | ||
Entity Public Float | $ 3,100,000,000 | ||
Entity Common Stock, Shares Outstanding | 26,787,910 |
Consolidated Balance Sheets
Consolidated Balance Sheets - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Current assets | ||
Cash and cash equivalents | $ 125,225 | $ 85,046 |
Short-term marketable securities | 35,437 | 46,750 |
Accounts receivable, net of allowance for doubtful accounts of $952 and $919 as of December 31, 2019 and December 31, 2018, respectively | 57,450 | 59,155 |
Inventory | 10,075 | 10,087 |
Prepaid expenses and other current assets | 8,232 | 8,567 |
Income taxes receivable | 0 | 5,757 |
Total current assets | 236,419 | 215,362 |
Property and equipment, net | 263,712 | 228,001 |
Goodwill | 128,752 | 128,752 |
Other intangible assets, net | 17,369 | 19,850 |
Long-term marketable securities | 12,960 | 23,579 |
Operating lease assets | 11,425 | 0 |
Other long-term assets | 3,030 | 3,441 |
Total assets | 673,667 | 618,985 |
Current liabilities | ||
Accounts payable | 16,804 | 17,411 |
Accrued compensation | 15,058 | 18,130 |
Accrued liabilities and other | 11,057 | 16,702 |
Current operating lease liabilities | 3,340 | 0 |
Income taxes payable | 1,322 | 491 |
Total current liabilities | 47,581 | 52,734 |
Long-term operating lease liabilities | 8,565 | 0 |
Long-term deferred tax liabilities | 26,283 | 20,162 |
Other long-term liabilities | 5,448 | 4,592 |
Total liabilities | 87,877 | 77,488 |
Shareholders' equity | ||
Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2019 and December 31, 2018, respectively | 0 | 0 |
Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 26,786,459 and 26,984,747 shares as of December 31, 2019 and December 31, 2018, respectively | 27 | 27 |
Additional paid-in capital | 268,059 | 258,502 |
Retained earnings | 324,722 | 291,460 |
Accumulated other comprehensive loss | (7,018) | (8,492) |
Total shareholders' equity | 585,790 | 541,497 |
Total liabilities and shareholders' equity | $ 673,667 | $ 618,985 |
Consolidated Balance Sheets (Pa
Consolidated Balance Sheets (Parentheticals) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Allowance for doubtful accounts | $ 952 | $ 919 |
Preferred stock, par value (in dollars per share) | $ 0.001 | $ 0.001 |
Preferred stock, shares authorized (in shares) | 10,000,000 | 10,000,000 |
Preferred stock, shares issued (in shares) | 0 | 0 |
Preferred stock, shares outstanding (in shares) | 0 | 0 |
Common stock, par value (in dollars per share) | $ 0.001 | $ 0.001 |
Common stock, shares authorized (in shares) | 150,000,000 | 150,000,000 |
Common stock, shares issued (in shares) | 26,786,459 | 26,984,747 |
Common stock, shares outstanding (in shares) | 26,786,459 | 26,984,747 |
Consolidated Statements of Comp
Consolidated Statements of Comprehensive Income - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Statements of Operations: | |||
Revenue | $ 458,728 | $ 445,596 | $ 344,490 |
Cost of revenue | 223,438 | 206,917 | 150,648 |
Gross profit | 235,290 | 238,679 | 193,842 |
Operating expenses | |||
Marketing and sales | 72,976 | 68,533 | 56,856 |
Research and development | 32,692 | 28,735 | 23,560 |
General and administrative | 49,766 | 52,513 | 41,200 |
Total operating expenses | 155,434 | 149,781 | 121,616 |
Income from operations | 79,856 | 88,898 | 72,226 |
Other income, net | 1,337 | 2,757 | 2,209 |
Income before income taxes | 81,193 | 91,655 | 74,435 |
Provision for income taxes | 17,538 | 15,067 | 22,657 |
Net income | $ 63,655 | $ 76,588 | $ 51,778 |
Net income per share: | |||
Basic (in dollars per share) | $ 2.37 | $ 2.84 | $ 1.94 |
Diluted (in dollars per share) | $ 2.35 | $ 2.81 | $ 1.93 |
Shares used to compute net income per share: | |||
Basic (in shares) | 26,866,985 | 26,982,614 | 26,647,610 |
Diluted (in shares) | 27,049,423 | 27,278,816 | 26,845,071 |
Other Comprehensive (Loss) Income, net of tax | |||
Foreign currency translation adjustments | $ 1,474 | $ (3,258) | $ 5,519 |
Comprehensive income | $ 65,129 | $ 73,330 | $ 57,297 |
Consolidated Statements of Shar
Consolidated Statements of Shareholders' Equity - USD ($) $ in Thousands | Common Stock [Member] | Additional Paid-in Capital [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total |
Balance (in shares) at Dec. 31, 2016 | 26,504,868 | ||||
Balance at Dec. 31, 2016 | $ 26 | $ 213,857 | $ 176,703 | $ (10,753) | $ 379,833 |
Common shares issued on exercise of options and other (in shares) | 283,449 | ||||
Common shares issued on exercise of options and other | $ 1 | 8,603 | 0 | 0 | 8,604 |
Common shares issued for RAPID acquisition (in shares) | 118,140 | ||||
Common shares issued for RAPID acquisition | $ 1 | 11,335 | 0 | 0 | 11,336 |
Stock-based compensation expense | $ 0 | 8,558 | 0 | 0 | 8,558 |
Repurchases of Common Stock (in shares) | (77,806) | ||||
Repurchases of Common Stock | $ (1) | (628) | (3,784) | 0 | (4,413) |
Net income | 0 | 0 | 51,778 | 0 | 51,778 |
Other Comprehensive (Loss) Income, net of tax | |||||
Foreign currency translation adjustments | $ 0 | 0 | 0 | 5,519 | 5,519 |
Comprehensive income | 57,297 | ||||
Common shares issued on exercise of options and other (in shares) | 283,449 | ||||
Common shares issued on exercise of options and other | $ 1 | 8,603 | 0 | 0 | 8,604 |
Stock-based compensation expense | $ 0 | 8,558 | 0 | 0 | 8,558 |
Repurchases of Common Stock (in shares) | (77,806) | ||||
Repurchases of Common Stock | $ (1) | (628) | (3,784) | 0 | (4,413) |
Net income | $ 0 | 0 | 51,778 | 0 | 51,778 |
Balance (in shares) at Dec. 31, 2017 | 26,828,651 | ||||
Balance at Dec. 31, 2017 | $ 27 | 241,725 | 224,697 | (5,234) | 461,215 |
Common shares issued on exercise of options and other (in shares) | 260,694 | ||||
Common shares issued on exercise of options and other | $ 0 | 6,791 | 0 | 0 | 6,791 |
Stock-based compensation expense | $ 0 | 10,928 | 0 | 0 | 10,928 |
Repurchases of Common Stock (in shares) | (104,598) | ||||
Repurchases of Common Stock | $ 0 | (942) | (11,287) | 0 | (12,229) |
Net income | 0 | 0 | 76,588 | 0 | 76,588 |
Other Comprehensive (Loss) Income, net of tax | |||||
Foreign currency translation adjustments | $ 0 | 0 | 0 | (3,258) | (3,258) |
Comprehensive income | 73,330 | ||||
Common shares issued on exercise of options and other (in shares) | 260,694 | ||||
Common shares issued on exercise of options and other | $ 0 | 6,791 | 0 | 0 | 6,791 |
Stock-based compensation expense | $ 0 | 10,928 | 0 | 0 | 10,928 |
Repurchases of Common Stock (in shares) | (104,598) | ||||
Repurchases of Common Stock | $ 0 | (942) | (11,287) | 0 | (12,229) |
Net income | $ 0 | 0 | 76,588 | 0 | $ 76,588 |
Balance (in shares) at Dec. 31, 2018 | 26,984,747 | 26,984,747 | |||
Balance at Dec. 31, 2018 | $ 27 | 258,502 | 291,460 | (8,492) | $ 541,497 |
Other Comprehensive (Loss) Income, net of tax | |||||
Revenue recognition transition adjustment | $ 0 | 0 | 1,462 | 0 | 1,462 |
Common shares issued on exercise of options and other (in shares) | 128,174 | ||||
Common shares issued on exercise of options and other | $ 0 | 1,904 | 0 | 0 | 1,904 |
Stock-based compensation expense | $ 0 | 10,781 | 0 | 0 | 10,781 |
Repurchases of Common Stock (in shares) | (326,462) | ||||
Repurchases of Common Stock | $ 0 | (3,128) | (30,393) | 0 | (33,521) |
Net income | 0 | 0 | 63,655 | 0 | 63,655 |
Foreign currency translation adjustments | $ 0 | 0 | 0 | 1,474 | 1,474 |
Comprehensive income | 65,129 | ||||
Common shares issued on exercise of options and other (in shares) | 128,174 | ||||
Common shares issued on exercise of options and other | $ 0 | 1,904 | 0 | 0 | 1,904 |
Stock-based compensation expense | $ 0 | 10,781 | 0 | 0 | 10,781 |
Repurchases of Common Stock (in shares) | (326,462) | ||||
Repurchases of Common Stock | $ 0 | (3,128) | (30,393) | 0 | (33,521) |
Net income | $ 0 | 0 | 63,655 | 0 | $ 63,655 |
Balance (in shares) at Dec. 31, 2019 | 26,786,459 | 26,786,459 | |||
Balance at Dec. 31, 2019 | $ 27 | $ 268,059 | $ 324,722 | $ (7,018) | $ 585,790 |
Consolidated Statements of Cash
Consolidated Statements of Cash Flows - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Operating activities | |||
Net income | $ 63,655 | $ 76,588 | $ 51,778 |
Adjustments to reconcile net income to net cash provided by operating activities: | |||
Depreciation and amortization | 30,864 | 26,754 | 18,474 |
Share-based Payment Arrangement, Noncash Expense, Total | 10,781 | 10,928 | 8,558 |
Deferred taxes | 6,106 | 11,936 | 1,174 |
Loss on impairment of assets | 0 | 0 | 513 |
Gain on sale of businesses | 0 | (671) | 0 |
Amortization of held-to-maturity securities | 5 | 374 | 1,063 |
Other | 391 | (619) | (153) |
Changes in operating assets and liabilities, net of acquisitions: | |||
Accounts receivable | 1,848 | (6,098) | (9,933) |
Inventories | 60 | (189) | (985) |
Prepaid expenses and other | 545 | (2,098) | (691) |
Income taxes | 6,555 | (6,652) | 1,646 |
Accounts payable | (719) | 1,942 | 3,176 |
Accrued liabilities and other | (4,039) | 10,734 | 7,128 |
Net cash provided by operating activities | 116,052 | 122,929 | 81,748 |
Investing activities | |||
Purchases of property, equipment and other capital assets | (62,230) | (87,104) | (32,635) |
Cash used for acquisitions, net of cash acquired | 0 | (90) | (110,533) |
Proceeds from sale of businesses | 0 | 284 | 0 |
Purchases of other assets and investments | (4,000) | (126) | (8,742) |
Purchases of marketable securities | (46,403) | (41,384) | (20,037) |
Proceeds from maturities of marketable securities | 68,330 | 65,139 | 47,972 |
Net cash used in investing activities | (44,303) | (63,281) | (123,975) |
Financing activities | |||
Payments on debt | 0 | (5,000) | 0 |
Proceeds from issuance of debt | 0 | 0 | 5,000 |
Proceeds from exercises of stock options | 4,391 | 8,935 | 8,602 |
Purchases of shares withheld for tax obligations | (2,487) | (2,144) | 0 |
Repurchases of common stock | (33,521) | (12,229) | (4,410) |
Net cash used in financing activities | (31,617) | (10,438) | 9,192 |
Effect of exchange rate changes on cash and cash equivalents | 47 | (871) | 947 |
Net increase (decrease) in cash and cash equivalents | 40,179 | 48,339 | (32,088) |
Cash and cash equivalents, beginning of period | 85,046 | 36,707 | 68,795 |
Cash and cash equivalents, end of period | 125,225 | 85,046 | 36,707 |
Supplemental cash flow disclosure | |||
Cash paid for interest | 14 | 39 | 19 |
Cash paid for taxes | $ 4,002 | $ 9,966 | $ 19,113 |
Note 1 - Nature of Business
Note 1 - Nature of Business | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] | Note 1 Organization and business Proto Labs, Inc. and its subsidiaries (Proto Labs, the Company, we, us, or our) is an e-commerce driven digital manufacturer of quick-turn, on-demand injection-molded, computer numerical control (CNC) machined, 3D three 3D 3D Name Location PL-US International LLC United States Rapid Management Group LLC United States Rapid Sheet Metal LLC (RSM) United States Rapid Manufacturing LLC (RM) United States Proto Labs Ltd. United Kingdom PL International Holdings, UK, Ltd. United Kingdom PL Euro Services Limited United Kingdom Proto Labs GmbH Germany Proto Labs Tooling GmbH Germany Proto Labs, G.K. Japan |
Note 2 - Summary of Significant
Note 2 - Summary of Significant Accounting Policies | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Significant Accounting Policies [Text Block] | Note 2 Principles of consolidation The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation. Comprehensive income Components of comprehensive income include net income and foreign currency translation adjustments. Comprehensive income is disclosed in the accompanying consolidated statements of comprehensive income and consolidated statements of shareholders’ equity. Accounting estimates The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates. Cash and cash equivalents Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three may not Marketable securities Marketable securities include held-to-maturity debt securities recorded at amortized cost. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. Debt securities are classified as held-to-maturity when the Company has the positive intent and ability to hold the securities to maturity. Held-to-maturity securities are stated at amortized cost, adjusted for amortization of premiums and accretion of discounts to maturity computed under the effective interest method. Such amortization is included in other income, net. Interest on securities classified as held to maturity is included in other income, net. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three 320, Investments – Debt and Equity Securities, Accounts receivable and allowance for doubtful accounts Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not Inventory Inventory consists primarily of raw materials, which are recorded at the lower of cost or market, using the average cost method, which approximates first first Property, equipment and leasehold improvements Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not not The Company follows ASC 350 40, Internal-Use Software December 31, 2019 2018, December 31, 2019 $16.1 Goodwill The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other not fourth may Other Intangible Assets Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two may not Accounting for long-lived assets The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may Revenue recognition On January 1, 2018, 606, Revenue from Contracts with Customers, no two Prior to 2018, 3D Leases On January 1, 2019, 842, Leases Income taxes The Company accounts for income taxes in accordance with ASC 740, Income Taxes 740 may not ASC 740 not 740 Stock-based compensation The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation 718 718, not In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model. Advertising costs Advertising is expensed as incurred and was approximately $13.0 million, $11.8 million and $10.7 million for the years ended December 31, 2019, 2018 2017, Research and development Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350 40, Intangibles - Goodwill and Other, Internal-Use Software December 31, 2019, 2018 2017, Foreign currency translation/transactions The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the consolidated statements of comprehensive income. Business combinations The Company accounts for business combinations in accordance with ASC 805, Business Combinations 805 November 30, 2017, Recently adopted accounting pronouncements During the fourth 2019, 2017 04, Intangibles – Goodwill and Other, no During the first 2019, 2016 02, Leases 842 2018 11, Leases 840, Leases 12 January 1, 2019 During the first 2018, 2014 09, Revenue from Contracts with Customers 606 no two January 1, 2018. During the first 2018, 2017 09, Compensation – Stock Compensation not Recently issued accounting pronouncements In December 2019, 2019 12, Income Taxes December 15, 2020 not In June 2016, 2016 13, Financial Instruments – Credit Losses, December 15, 2019 not |
Note 3 - Revenue
Note 3 - Revenue | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Revenue from Contract with Customer [Text Block] | Note 3 The Company provides quality, quick-turn prototyping and on-demand manufacturing services. As a result, the majority of revenue recognized in a reporting period is based on completed, invoiced contracts. The Company accounts for revenue in accordance with ASC 606, January 1, 2018, January 1, 2018 606, not 605. January 1, 2018 606. 606 December 31, 2018, December 31, 2018, A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in ASC 606. 3D one second The Company manufactures parts that have no two Revenue by geographic region for the years ended December 31, 2019, 2018 2017 Year Ended December 31, (in thousands) 2019 2018 2017 Revenue: United States $ 360,205 $ 350,535 $ 263,086 Europe 82,805 80,889 70,154 Japan 15,718 14,172 11,250 Total revenue $ 458,728 $ 445,596 $ 344,490 Revenue by product line for the years ended December 31, 2019, 2018 2017 Year Ended December 31, (in thousands) 2019 2018 2017 Revenue: Injection Molding $ 217,415 $ 210,523 $ 194,432 CNC Machining 155,473 153,521 103,739 3D Printing 61,352 53,342 43,329 Sheet Metal 21,000 24,998 1,767 Other Revenue 3,488 3,212 1,223 Total revenue $ 458,728 $ 445,596 $ 344,490 The Company generally expenses sales commissions when incurred because the amortization period would have been one one not |
Note 4 - Net Income Per Common
Note 4 - Net Income Per Common Share | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Earnings Per Share [Text Block] | Note 4 Basic net income per share is computed based on the weighted average number of common shares outstanding. Diluted net income per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. The following table presents the calculation of net income per basic and diluted share attributable to common shareholders: Year Ended December 31, (in thousands, except share and per share amounts) 2019 2018 2017 Net Income $ 63,655 $ 76,588 $ 51,778 Basic - weighted-average shares outstanding: 26,866,985 26,982,614 26,647,610 Effect of dilutive securities: Employee stock options and other 182,438 296,202 197,461 Diluted - weighted-average shares outstanding: 27,049,423 27,278,816 26,845,071 Net income per share attributable to common shareholders: Basic $ 2.37 $ 2.84 $ 1.94 Diluted $ 2.35 $ 2.81 $ 1.93 |
Note 5 - Business Combinations
Note 5 - Business Combinations | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Business Combination Disclosure [Text Block] | Note 5 On November 30, 2017, RAPID is a New Hampshire-based custom parts supplier specializing in quick-turn sheet metal fabrication and CNC machining. With the acquisition, the Company offers its customers another quick-turn manufacturing service while expanding its CNC machining capabilities. The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805. The RAPID amortizable intangible assets were valued as of the acquisition date and were deemed to have a weighted-average useful life of 5.5 years. The customer relationships were valued at $7.5 million based on the Multi-Period Excess Earnings Method and are amortized over 6.0 years. The trade names were valued at $1.1 million based on the Relief-from-Royalty Method and are amortized over 2.0 years. The non-competition agreement was valued at $0.1 million based on the Discounted Cash Flow method and will be amortized over 5 years. The allocation of the purchase price to assets acquired and liabilities assumed is as follows: (in thousands) Assets acquired: Current assets $ 6,720 Goodwill 99,836 Other intangible assets 8,700 Other long-term assets 8,855 Total assets acquired 124,111 Liabilities assumed: Current liabilities 2,067 Other long-term liabilities 85 Total liabilities assumed 2,152 Net assets acquired $ 121,959 Cash paid $ 115,378 Cash acquired (4,755 ) Net cash consideration 110,623 Equity portion of purchase price 11,336 Total purchase consideration $ 121,959 The following unaudited pro forma information represents the Company’s results of operations as if the fiscal 2017 2016. may not Year Ended December 31, (in thousands) 2017 2016 (unaudited) Revenue $ 386,677 $ 336,634 Net income 55,070 41,805 The unaudited pro forma net income for the year ended December 31, 2017 December 31, 2016 December 31, 2017 2016 may not not January 1, 2016. 2017 |
Note 6 - Goodwill and Other Int
Note 6 - Goodwill and Other Intangible Assets | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Goodwill and Intangible Assets Disclosure [Text Block] | Note 6 The changes in the carrying amount of goodwill for the years ended December 31, 2019 2018 (in thousands) Dec. 31, 2017 Goodwill acquired during 2018 Dec. 31, 2018 Goodwill acquired during 2019 Dec. 31, 2019 United States $ 123,635 $ 248 $ 123,883 $ - $ 123,883 Europe 4,239 - 4,239 - 4,239 Japan 630 - 630 - 630 Total goodwill $ 128,504 $ 248 $ 128,752 $ - $ 128,752 As described in Note 5 November 2017. December 31, 2017 December 31, 2018. Intangible assets other than goodwill for the years ended December 31, 2019 2018 Year Ended December 31, 2019 Year Ended December 31, 2018 Weighted Average Useful Life (in thousands) Gross Accumulated Amortization Net Gross Accumulated Amortization Net Useful Life (in years) Remaining (in years) Intangible Assets with finite lives: Marketing assets $ 930 $ (527 ) $ 403 $ 930 $ (434 ) $ 496 10.0 4.3 Non-compete agreement 270 (222 ) 48 270 (206 ) 64 2.0 - 5.0 3.0 Trade secrets 250 (250 ) - 250 (233 ) 17 5.0 0.0 Trade names 1,080 (1,080 ) - 1,080 (540 ) 540 2.0 0.0 Software technology 13,229 (2,275 ) 10,954 12,229 (997 ) 11,232 10.0 8.0 Customer relationships 10,070 (4,106 ) 5,964 10,070 (2,569 ) 7,501 6.0 - 9.0 3.8 Total intangible assets $ 25,829 $ (8,460 ) $ 17,369 $ 24,829 $ (4,979 ) $ 19,850 Amortization expense for intangible assets for the years ended December 31, 2019, 2018 2017 The Company acquired a software company in December 2017, December 31, 2017. not 805. December 31, 2019. December 31, 2018. Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows: (in thousands) Estimated Amortization Expense 2020 $ 3,016 2021 3,016 2022 3,016 2023 2,813 2024 1,400 Thereafter 4,108 Total estimated amortization expense $ 17,369 |
Note 7 - Fair Value Measurement
Note 7 - Fair Value Measurements | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Fair Value Disclosures [Text Block] | Note 7 ASC 820, Fair Value Measuremen 820 820 three may Level 1—Quoted Level 2—Observable 1 not Level 3—Unobservable no The Company’s cash equivalents measured at fair value as of December 31, 2019 2018, 1 The following tables summarizes financial assets as of December 31, 2019 2018 December 31, 2019 December 31, 2018 (in thousands) Level 1 Level 2 Level 3 Level 1 Level 2 Level 3 Financial Assets: Cash and cash equivalents Money market mutual funds $ 68,962 $ - $ - $ 8,943 $ - $ - Total $ 68,962 $ - $ - $ 8,943 $ - $ - |
Note 8 - Marketable Securities
Note 8 - Marketable Securities | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Investment [Text Block] | Note 8 The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. The securities are categorized as held-to-maturity and are recorded at amortized cost. Categorization as held-to-maturity is based on the Company’s ability and intent to hold these securities to maturity. Information regarding the Company’s short-term and long-term marketable securities as of December 31, 2019 2018 December 31, 2019 (in thousands) Amortized Cost Unrealized Gains Unrealized Losses Fair Value U.S. government agency securities $ 6,274 $ 1 $ (7 ) $ 6,268 Corporate debt securities 26,944 80 (12 ) 27,012 U.S. municipal securities 10,204 9 (3 ) 10,210 Commercial paper 3,491 - - 3,491 Certificates of deposit/time deposits 1,484 22 - 1,506 Total marketable securities $ 48,397 $ 112 $ (22 ) $ 48,487 December 31, 2018 (in thousands) Amortized Cost Unrealized Gains Unrealized Losses Fair Value U.S. government agency securities $ 16,843 $ - $ (88 ) $ 16,755 Corporate debt securities 31,769 - (96 ) 31,673 U.S. municipal securities 17,509 1 (33 ) 17,477 Certificates of deposit/time deposits 4,208 - (25 ) 4,183 Total marketable securities $ 70,329 $ 1 $ (242 ) $ 70,088 Fair values for the U.S. government agency securities and corporate debt securities are primarily determined based on quoted market prices (Level 1 2 The Company tests for other than temporary losses on a quarterly basis and has considered the unrealized losses indicated above to be temporary in nature. The investment policy adopted by the Company dictates that only investments in quality, highly rated debt securities are permitted. Those unrealized losses displayed above are the result of macroeconomic factors and are indicative of neither the quality of the underlying security nor the issuer’s ability to pay its debt. The Company intends, and has the ability, to hold the investments to maturity and recover the full principal. Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements. The December 31, 2019 may may December 31, (in thousands) 2019 Due in one year or less $ 35,437 Due after one year through five years 12,960 Total marketable securities $ 48,397 |
Note 9 - Property and Equipment
Note 9 - Property and Equipment | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Property, Plant and Equipment Disclosure [Text Block] | Note 9 Property and equipment consists of the following: December 31, (in thousands) 2019 2018 Land $ 14,098 $ 10,566 Buildings and improvements 75,843 72,819 Machinery and equipment 208,954 185,416 Computer hardware and software 24,953 22,323 Leasehold improvements 7,341 7,330 Construction in progress 54,313 25,279 Total 385,502 323,733 Accumulated depreciation and amortization (121,790 ) (95,732 ) Property and equipment, net $ 263,712 $ 228,001 Depreciation expense for the years ended December 31, 2019, 2018 2017 |
Note 10 - Inventory
Note 10 - Inventory | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Inventory Disclosure [Text Block] | Note 10 Inventory consists primarily of raw materials, which are recorded at the lower of cost or market using the average-cost method, which approximates first first The Company’s inventory consists of the following: December 31, (in thousands) 2019 2018 Raw materials $ 9,818 $ 9,560 Work in process 501 792 Total inventory 10,319 10,352 Allowance for obsolescence (244 ) (265 ) Inventory, net of allowance $ 10,075 $ 10,087 |
Note 11 - Financing Obligations
Note 11 - Financing Obligations | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Debt Disclosure [Text Block] | Note 11 The Company had no financing obligations as of December 31, 2019 2018. |
Note 12 - Employee Benefit Plan
Note 12 - Employee Benefit Plans | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Pension and Other Postretirement Benefits Disclosure [Text Block] | Note 12 The Company maintains a 401 three may may may December 31, 2019, 2018 2017, The Company also sponsors a defined contribution retirement plan that covers the employees in the United Kingdom. Total employer contributions were approximately $0.3 million in each of the years ended December 31, 2019, 2018 2017. |
Note 13 - Stock-based Compensat
Note 13 - Stock-based Compensation | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Share-based Payment Arrangement [Text Block] | Note 13 The Company has two 2000 2000 2012 2012 2012 February 21, 2012, not 2000 2012 No 2000 2012 2012 ten may 2012 may not The Company’s 2012 six first 718 Employees purchased 41,615 and 33,562 shares of common stock under the ESPP at an average exercise price of $86.70 and $85.61 during 2019 2018, December 31, 2019, The Company determines its stock-based compensation in accordance with ASC 718, Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. The Company uses the Black-Scholes option pricing model to value its stock option awards. Stock-based compensation expense is calculated using the Company’s best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include its expected term and stock price volatility. The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that the Company's stock options are expected to be outstanding. The Company estimates the volatility of its stock price based on the historic volatility of its common stock. The Company bases the risk-free interest rate that it uses in the Black-Scholes option pricing model on U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The Company has never paid and does not zero The following table summarizes stock-based compensation expense for the years ended December 31, 2019, 2018 2017, Year Ended December 31, (in thousands) 2019 2018 2017 Stock options and other $ 9,591 $ 10,113 $ 7,954 Employee stock purchase plan 1,190 815 604 Total stock-based compensation expense $ 10,781 $ 10,928 $ 8,558 Cost of revenue $ 2,056 $ 1,543 $ 970 Operating expenses: Marketing and sales 2,632 1,942 1,429 Research and development 1,851 1,517 1,091 General and administrative 4,242 5,926 5,068 Total stock-based compensation expense $ 10,781 $ 10,928 $ 8,558 Stock Options The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2019, 2018 2017: Year Ended December 31, 2019 2018 2017 Risk-free interest rate 2.35 - 2.58% 2.52 - 3.07% 2.24 - 2.36% Expected life (years) 6.25 6.25 6.5 Expected volatility 42.52 - 42.74% 41.68 - 42.22% 42.68 - 44.68% Expected dividend yield 0% 0% 0% Weighted average grant date fair value $47.84 $50.08 $32.26 The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2019, 2018 2017: Weighted- Average Stock Options Exercise Price Options outstanding at January 1, 2017 569,639 $ 45.00 Granted 60,100 69.06 Exercised (187,313 ) 35.93 Cancelled (43,371 ) 61.02 Options outstanding at December 31, 2017 399,055 51.13 Granted 36,600 110.59 Exercised (155,765 ) 38.92 Cancelled (27,274 ) 74.35 Options outstanding at December 31, 2018 252,616 64.71 Granted 53,708 105.81 Exercised (16,079 ) 48.67 Cancelled (13,979 ) 89.50 Options outstanding at December 31, 2019 276,266 $ 72.38 Exercisable at December 31, 2019 152,423 $ 59.26 The outstanding options have a term of 10 four five first first The total intrinsic value of options exercised during the years ended December 31, 2019, 2018 2017, For options outstanding at December 31, 2019, December 31, 2019, The following table summarizes information about stock options outstanding at December 31, 2019: Options Outstanding, Vested and Expected to Vest Options Exercisable Range of Exercise Prices Number Outstanding Weighted Average Remaining Contractual Life Weighted Average Exercise Price ($) Number Exercisable Weighted Average Exercise Price ($) 7.76 to 31.43 23,883 1.98 25.04 23,883 25.04 31.44 to 66.87 125,022 4.42 58.67 85,656 58.81 66.88 to 96.20 45,255 4.49 70.98 33,445 70.41 96.21 to 123.10 82,106 8.68 107.79 9,439 110.36 The fair value of share-based payment transactions is recognized in the consolidated statements of comprehensive income. As of December 31, 2019, December 31, 2019, 2018 2017, Restricted Stock The 2012 four five first first The following table summarizes restricted stock activity for the years ended December 31, 2019, 2018 2017: Weighted- Average Grant Date Restricted Fair Value Stock Awards Per Share Restricted stock at January 1, 2017 215,105 $ 62.78 Granted 210,744 63.70 Restrictions lapsed (60,102 ) 63.60 Forfeited (30,916 ) 61.99 Restricted stock at December 31, 2017 334,831 63.29 Granted 106,855 115.41 Restrictions lapsed (86,191 ) 63.64 Forfeited (31,574 ) 68.67 Restricted stock at December 31, 2018 323,921 79.85 Granted 115,471 106.35 Restrictions lapsed (92,597 ) 77.25 Forfeited (31,822 ) 87.58 Restricted stock at December 31, 2019 314,973 $ 89.55 As of December 31, 2019, Performance Stock Performance Stock Units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 three The following table summarizes performance stock activity for the years ended December 31, 2019, 2018 2017: Weighted- Average Grant Date Performance Fair Value Stock Awards Per Share Performance stock at January 1, 2017 - $ - Granted 25,707 58.35 Restrictions lapsed - - Forfeited - - Performance stock at December 31, 2017 25,707 58.35 Granted 20,006 105.75 Restrictions lapsed - - Performance change 6,427 58.35 Forfeited - - Performance stock at December 31, 2018 52,140 76.54 Granted 21,434 104.99 Restrictions lapsed - - Performance change (61,816 ) 88.06 Forfeited (2,375 ) 105.37 Performance stock at December 31, 2019 9,383 $ 58.35 As of December 31, 2019, 2019 2018 Employee Stock Purchase Plan The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2019, 2018 2017: Year Ended December 31, 2019 2018 2017 Risk-free interest rate 1.59 - 2.35% 2.06 - 2.33% 0.97 - 1.48% Expected life (months) 6.00 6.00 6.00 Expected volatility 42.63 - 53.57% 31.50 - 37.36% 24.49 - 34.51% Expected dividend yield 0% 0% 0% |
Note 14 - Leases
Note 14 - Leases | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Lessee, Operating Leases [Text Block] | Note 14 The Company’s significant accounting policies are disclosed in Note 2 10 December 31, 2019. 842 The Company accounts for leases in accordance with ASC 842. January 1, 2019, 842, 840 not 842. not January 1, 2019. not 842 not The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment. The leases have remaining lease terms of one 12 not may December 31, 2019, not The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not Supplemental balance sheet information related to leases was as follows: (in thousands) December 31, 2019 Operating lease assets $ 11,425 Current operating lease liabilities $ 3,340 Long-term operating lease liabilities 8,565 Total operating lease liabilities $ 11,905 Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows: Three Months Ended Twelve Months Ended (in thousands) December 31, 2019 December 31, 2019 Operating lease cost $ 976 $ 3,960 Variable lease cost 228 1,039 Total lease cost $ 1,204 $ 4,999 Maturities of operating lease liabilities as of December 31, 2019 ( 842 (in thousands) Operating Leases Year Ending December 31, 2020 $ 4,034 2021 2,835 2022 2,634 2023 1,064 2024 498 After 2024 1,613 Total future minimum lease payments 12,678 Less interest (773 ) Present value of lease liabilities $ 11,905 As of December 31, 2019, not Weighted average remaining lease term and discount rate was as follows: December 31, 2019 Weighted Average Remaining Lease Term (Years) 4.8 Weighted Average Discount Rate 2.6% Supplemental cash flow information related to leases was as follows: Twelve Months Ended (in thousands) December 31, 2019 Cash paid for amounts included in the measurement of operating lease liabilities: Operating cash flows from operating leases $ 5,020 Lease assets obtained in exchange for new operating lease liabilities 1,921 |
Note 15 - Accumulated Other Com
Note 15 - Accumulated Other Comprehensive Loss | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Disclosure of Reclassification Amount [Text Block] | Note 15 Other comprehensive loss is comprised entirely of foreign currency translation adjustments. The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2019, 2018 2017, Year Ended December 31, (in thousands) 2019 2018 2017 Foreign currency translation adjustments Balance at beginning of period $ (8,492 ) $ (5,234 ) $ (10,753 ) Other comprehensive (loss) income before reclassifications 1,474 (3,258 ) 5,519 Amounts reclassified from accumulated other comprehensive income (loss) - - - Net current-period other comprehensive (loss) income 1,474 (3,258 ) 5,519 Balance at end of period $ (7,018 ) $ (8,492 ) $ (5,234 ) |
Note 16 - Income Taxes
Note 16 - Income Taxes | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Income Tax Disclosure [Text Block] | Note 16 The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the years ended December 31, 2019, 2018 2017, December 31, 2019, 2018 2017 The effective tax rate increased by 5.2% for the year ended December 31, 2019 2018 The Tax Cuts and Jobs Act (the “Act”) was enacted on December 22, 2017. 35% No not The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows: Year Ended December 31, (in thousands) 2019 2018 2017 Domestic $ 74,841 $ 81,893 $ 69,929 Foreign 6,352 9,762 4,506 Total $ 81,193 $ 91,655 $ 74,435 Significant components of the provision for income taxes for the following periods are as follows: Year Ended December 31, (in thousands) 2019 2018 2017 Current: Federal $ 6,991 $ (782 ) $ 17,808 State 2,882 2,078 1,367 Foreign 1,544 1,810 2,215 Deferred Federal 5,121 11,325 865 State 269 538 193 Foreign (809 ) (430 ) (1,918 ) Valuation Allowance 1,540 528 2,127 Total $ 17,538 $ 15,067 $ 22,657 A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows: Year Ended December 31, 2019 2018 2017 Federal tax statutory rate 21.0 % 21.0 % 35.0 % State tax (net of federal benefit) 2.1 2.0 1.7 Share based compensation (0.5 ) (2.8 ) (0.8 ) Valuation allowance against deferred tax assets 1.4 0.7 2.9 Research and development credit (2.8 ) (2.5 ) (2.2 ) Foreign rate differential (0.3 ) (0.1 ) (1.9 ) Tax reserves 1.1 (0.1 ) 0.9 Domestic manufacturing deduction - - (2.5 ) Miscellaneous (0.4 ) (0.5 ) (0.2 ) Transition tax - (0.8 ) 3.2 Revaluation of deferred tax liability - (0.5 ) (5.7 ) Total 21.6 % 16.4 % 30.4 % Significant components of deferred tax assets and liabilities are as follows: December 31, (in thousands) 2019 2018 Deferred tax assets: Accrued expenses $ 1,362 $ 931 Leases 3,337 - Warrants and stock options 3,325 2,908 Intangible assets 1,171 748 Inventories 169 154 Other assets 1,765 666 Net operating loss 6,513 6,605 Less valuation allowance (8,248 ) (6,900 ) Total deferred tax assets 9,394 5,112 Deferred tax liabilities: Depreciation (26,750 ) (21,788 ) Goodwill (5,590 ) (3,486 ) Leases (3,337 ) - Total deferred tax liabilities (35,677 ) (25,274 ) Net deferred tax liability $ (26,283 ) $ (20,162 ) The Company has recorded no December 31, 2019. not December 31, 2019, As of December 31, 2019, ten 2020 2026. may €1 €1 The Company establishes valuation allowances for deferred tax assets when, after consideration of all positive and negative evidence, it is considered more-likely-than- not not December 31, 2019 2018, 2019. The Company files a U.S. federal income tax return and income tax returns in various states and foreign jurisdictions. With a few exceptions, the Company is no 2016. The Company has liabilities related to unrecognized tax benefits totaling $4.6 million and $4.1 million at December 31, 2019 2018, December 31, 2019, 2018 2017. A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows: December 31, 2019 2018 Balance at beginning of period $ 4,096 $ 4,233 Additions for tax positions of current year 592 593 Additions for tax positions of prior years - 309 Decrease related to expiration of statutes of limitations (90 ) (1,039 ) Balance at period end $ 4,598 $ 4,096 |
Note 17 - Litigation
Note 17 - Litigation | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Legal Matters and Contingencies [Text Block] | Note 17 From time to time, the Company may not |
Note 18 - Segment Reporting
Note 18 - Segment Reporting | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Segment Reporting Disclosure [Text Block] | Note 18 The Company’s reportable segments are based on the internal reporting used by the Company’s CEO, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Company’s reportable segments are based upon geographic region, consisting of the United States and Europe. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that are global in nature and that the Company does not Revenue in the United States is derived from Injection Molding, CNC Machining, 3D 3D 3D 3D The accounting policies of the reportable segments are the same as those described in Note 2 not Beginning in 2019, Revenue and income from operations by reportable segment are as follows: Year Ended December 31, (in thousands) 2019 2018 2017 Revenue: United States $ 360,205 $ 350,535 $ 263,086 Europe 82,805 80,889 70,154 Japan 15,718 14,172 11,250 Total revenue $ 458,728 $ 445,596 $ 344,490 Year Ended December 31, (in thousands) 2019 2018 2017 Income from Operations: United States $ 108,594 $ 115,710 $ 99,561 Europe 15,077 16,747 12,796 Corporate Unallocated and Japan (43,815 ) (43,557 ) (40,131 ) Total income from operations $ 79,856 $ 88,898 $ 72,226 Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows: December 31, December 31, December 31, (in thousands) 2019 2018 2017 Long-lived assets: United States $ 210,171 $ 185,979 $ 125,308 Europe 45,019 34,577 33,691 Japan 8,522 7,445 7,441 Total long-lived assets $ 263,712 $ 228,001 $ 166,440 Year Ended December 31, (in thousands) 2019 2018 2017 Expenditures for additions to long-lived assets: United States $ 45,123 $ 78,762 $ 20,370 Europe 14,743 7,576 11,704 Japan 2,364 766 561 Total expenditures for additions to long-lived assets $ 62,230 $ 87,104 $ 32,635 Year Ended December 31, (in thousands) 2019 2018 2017 Depreciation and Amortization: United States $ 24,767 $ 21,117 $ 13,267 Europe 4,746 4,679 4,174 Japan 1,351 958 1,033 Total depreciation and amortization $ 30,864 $ 26,754 $ 18,474 |
Note 19 - Subsequent Events
Note 19 - Subsequent Events | 12 Months Ended |
Dec. 31, 2019 | |
Notes to Financial Statements | |
Subsequent Events [Text Block] | Note 19 None. |
Significant Accounting Policies
Significant Accounting Policies (Policies) | 12 Months Ended |
Dec. 31, 2019 | |
Accounting Policies [Abstract] | |
Consolidation, Policy [Policy Text Block] | Principles of consolidation The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation. |
Comprehensive Income, Policy [Policy Text Block] | Comprehensive income Components of comprehensive income include net income and foreign currency translation adjustments. Comprehensive income is disclosed in the accompanying consolidated statements of comprehensive income and consolidated statements of shareholders’ equity. |
Use of Estimates, Policy [Policy Text Block] | Accounting estimates The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates. |
Cash and Cash Equivalents, Policy [Policy Text Block] | Cash and cash equivalents Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three may not |
Marketable Securities, Policy [Policy Text Block] | Marketable securities Marketable securities include held-to-maturity debt securities recorded at amortized cost. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. Debt securities are classified as held-to-maturity when the Company has the positive intent and ability to hold the securities to maturity. Held-to-maturity securities are stated at amortized cost, adjusted for amortization of premiums and accretion of discounts to maturity computed under the effective interest method. Such amortization is included in other income, net. Interest on securities classified as held to maturity is included in other income, net. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three 320, Investments – Debt and Equity Securities, |
Accounts Receivable [Policy Text Block] | Accounts receivable and allowance for doubtful accounts Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not |
Inventory, Policy [Policy Text Block] | Inventory Inventory consists primarily of raw materials, which are recorded at the lower of cost or market, using the average cost method, which approximates first first |
Property, Plant and Equipment, Policy [Policy Text Block] | Property, equipment and leasehold improvements Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not not The Company follows ASC 350 40, Internal-Use Software December 31, 2019 2018, December 31, 2019 $16.1 |
Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] | Goodwill The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other not fourth may |
Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block] | Other Intangible Assets Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two may not |
Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block] | Accounting for long-lived assets The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may |
Revenue [Policy Text Block] | Revenue recognition On January 1, 2018, 606, Revenue from Contracts with Customers, no two Prior to 2018, 3D |
Lessee, Leases [Policy Text Block] | Leases On January 1, 2019, 842, Leases |
Income Tax, Policy [Policy Text Block] | Income taxes The Company accounts for income taxes in accordance with ASC 740, Income Taxes 740 may not ASC 740 not 740 |
Compensation Related Costs, Policy [Policy Text Block] | Stock-based compensation The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation 718 718, not In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model. |
Advertising Cost [Policy Text Block] | Advertising costs Advertising is expensed as incurred and was approximately $13.0 million, $11.8 million and $10.7 million for the years ended December 31, 2019, 2018 2017, |
Research and Development Expense, Policy [Policy Text Block] | Research and development Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350 40, Intangibles - Goodwill and Other, Internal-Use Software December 31, 2019, 2018 2017, |
Foreign Currency Transactions and Translations Policy [Policy Text Block] | Foreign currency translation/transactions The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the consolidated statements of comprehensive income. |
Business Combinations Policy [Policy Text Block] | Business combinations The Company accounts for business combinations in accordance with ASC 805, Business Combinations 805 November 30, 2017, |
New Accounting Pronouncements, Policy [Policy Text Block] | Recently adopted accounting pronouncements During the fourth 2019, 2017 04, Intangibles – Goodwill and Other, no During the first 2019, 2016 02, Leases 842 2018 11, Leases 840, Leases 12 January 1, 2019 During the first 2018, 2014 09, Revenue from Contracts with Customers 606 no two January 1, 2018. During the first 2018, 2017 09, Compensation – Stock Compensation not Recently issued accounting pronouncements In December 2019, 2019 12, Income Taxes December 15, 2020 not In June 2016, 2016 13, Financial Instruments – Credit Losses, December 15, 2019 not |
Note 3 - Revenue (Tables)
Note 3 - Revenue (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Disaggregation of Revenue [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Revenue: United States $ 360,205 $ 350,535 $ 263,086 Europe 82,805 80,889 70,154 Japan 15,718 14,172 11,250 Total revenue $ 458,728 $ 445,596 $ 344,490 Year Ended December 31, (in thousands) 2019 2018 2017 Revenue: Injection Molding $ 217,415 $ 210,523 $ 194,432 CNC Machining 155,473 153,521 103,739 3D Printing 61,352 53,342 43,329 Sheet Metal 21,000 24,998 1,767 Other Revenue 3,488 3,212 1,223 Total revenue $ 458,728 $ 445,596 $ 344,490 |
Note 4 - Net Income Per Commo_2
Note 4 - Net Income Per Common Share (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] | Year Ended December 31, (in thousands, except share and per share amounts) 2019 2018 2017 Net Income $ 63,655 $ 76,588 $ 51,778 Basic - weighted-average shares outstanding: 26,866,985 26,982,614 26,647,610 Effect of dilutive securities: Employee stock options and other 182,438 296,202 197,461 Diluted - weighted-average shares outstanding: 27,049,423 27,278,816 26,845,071 Net income per share attributable to common shareholders: Basic $ 2.37 $ 2.84 $ 1.94 Diluted $ 2.35 $ 2.81 $ 1.93 |
Note 5 - Business Combinations
Note 5 - Business Combinations (Tables) - Rapid [Member] | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] | (in thousands) Assets acquired: Current assets $ 6,720 Goodwill 99,836 Other intangible assets 8,700 Other long-term assets 8,855 Total assets acquired 124,111 Liabilities assumed: Current liabilities 2,067 Other long-term liabilities 85 Total liabilities assumed 2,152 Net assets acquired $ 121,959 Cash paid $ 115,378 Cash acquired (4,755 ) Net cash consideration 110,623 Equity portion of purchase price 11,336 Total purchase consideration $ 121,959 |
Business Acquisition, Pro Forma Information [Table Text Block] | Year Ended December 31, (in thousands) 2017 2016 (unaudited) Revenue $ 386,677 $ 336,634 Net income 55,070 41,805 |
Note 6 - Goodwill and Other I_2
Note 6 - Goodwill and Other Intangible Assets (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Schedule of Goodwill [Table Text Block] | (in thousands) Dec. 31, 2017 Goodwill acquired during 2018 Dec. 31, 2018 Goodwill acquired during 2019 Dec. 31, 2019 United States $ 123,635 $ 248 $ 123,883 $ - $ 123,883 Europe 4,239 - 4,239 - 4,239 Japan 630 - 630 - 630 Total goodwill $ 128,504 $ 248 $ 128,752 $ - $ 128,752 |
Schedule of Finite-Lived Intangible Assets [Table Text Block] | Year Ended December 31, 2019 Year Ended December 31, 2018 Weighted Average Useful Life (in thousands) Gross Accumulated Amortization Net Gross Accumulated Amortization Net Useful Life (in years) Remaining (in years) Intangible Assets with finite lives: Marketing assets $ 930 $ (527 ) $ 403 $ 930 $ (434 ) $ 496 10.0 4.3 Non-compete agreement 270 (222 ) 48 270 (206 ) 64 2.0 - 5.0 3.0 Trade secrets 250 (250 ) - 250 (233 ) 17 5.0 0.0 Trade names 1,080 (1,080 ) - 1,080 (540 ) 540 2.0 0.0 Software technology 13,229 (2,275 ) 10,954 12,229 (997 ) 11,232 10.0 8.0 Customer relationships 10,070 (4,106 ) 5,964 10,070 (2,569 ) 7,501 6.0 - 9.0 3.8 Total intangible assets $ 25,829 $ (8,460 ) $ 17,369 $ 24,829 $ (4,979 ) $ 19,850 |
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] | (in thousands) Estimated Amortization Expense 2020 $ 3,016 2021 3,016 2022 3,016 2023 2,813 2024 1,400 Thereafter 4,108 Total estimated amortization expense $ 17,369 |
Note 7 - Fair Value Measureme_2
Note 7 - Fair Value Measurements (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Fair Value, Assets Measured on Recurring Basis [Table Text Block] | December 31, 2019 December 31, 2018 (in thousands) Level 1 Level 2 Level 3 Level 1 Level 2 Level 3 Financial Assets: Cash and cash equivalents Money market mutual funds $ 68,962 $ - $ - $ 8,943 $ - $ - Total $ 68,962 $ - $ - $ 8,943 $ - $ - |
Note 8 - Marketable Securities
Note 8 - Marketable Securities (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Debt Securities, Held-to-maturity [Table Text Block] | December 31, 2019 (in thousands) Amortized Cost Unrealized Gains Unrealized Losses Fair Value U.S. government agency securities $ 6,274 $ 1 $ (7 ) $ 6,268 Corporate debt securities 26,944 80 (12 ) 27,012 U.S. municipal securities 10,204 9 (3 ) 10,210 Commercial paper 3,491 - - 3,491 Certificates of deposit/time deposits 1,484 22 - 1,506 Total marketable securities $ 48,397 $ 112 $ (22 ) $ 48,487 December 31, 2018 (in thousands) Amortized Cost Unrealized Gains Unrealized Losses Fair Value U.S. government agency securities $ 16,843 $ - $ (88 ) $ 16,755 Corporate debt securities 31,769 - (96 ) 31,673 U.S. municipal securities 17,509 1 (33 ) 17,477 Certificates of deposit/time deposits 4,208 - (25 ) 4,183 Total marketable securities $ 70,329 $ 1 $ (242 ) $ 70,088 |
Investments Classified by Contractual Maturity Date [Table Text Block] | December 31, (in thousands) 2019 Due in one year or less $ 35,437 Due after one year through five years 12,960 Total marketable securities $ 48,397 |
Note 9 - Property and Equipme_2
Note 9 - Property and Equipment (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Property, Plant and Equipment [Table Text Block] | December 31, (in thousands) 2019 2018 Land $ 14,098 $ 10,566 Buildings and improvements 75,843 72,819 Machinery and equipment 208,954 185,416 Computer hardware and software 24,953 22,323 Leasehold improvements 7,341 7,330 Construction in progress 54,313 25,279 Total 385,502 323,733 Accumulated depreciation and amortization (121,790 ) (95,732 ) Property and equipment, net $ 263,712 $ 228,001 |
Note 10 - Inventory (Tables)
Note 10 - Inventory (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Schedule of Inventory, Current [Table Text Block] | December 31, (in thousands) 2019 2018 Raw materials $ 9,818 $ 9,560 Work in process 501 792 Total inventory 10,319 10,352 Allowance for obsolescence (244 ) (265 ) Inventory, net of allowance $ 10,075 $ 10,087 |
Note 13 - Stock-based Compens_2
Note 13 - Stock-based Compensation (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Share-based Payment Arrangement, Cost by Plan [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Stock options and other $ 9,591 $ 10,113 $ 7,954 Employee stock purchase plan 1,190 815 604 Total stock-based compensation expense $ 10,781 $ 10,928 $ 8,558 Cost of revenue $ 2,056 $ 1,543 $ 970 Operating expenses: Marketing and sales 2,632 1,942 1,429 Research and development 1,851 1,517 1,091 General and administrative 4,242 5,926 5,068 Total stock-based compensation expense $ 10,781 $ 10,928 $ 8,558 |
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] | Year Ended December 31, 2019 2018 2017 Risk-free interest rate 2.35 - 2.58% 2.52 - 3.07% 2.24 - 2.36% Expected life (years) 6.25 6.25 6.5 Expected volatility 42.52 - 42.74% 41.68 - 42.22% 42.68 - 44.68% Expected dividend yield 0% 0% 0% Weighted average grant date fair value $47.84 $50.08 $32.26 |
Share-based Payment Arrangement, Option, Activity [Table Text Block] | Weighted- Average Stock Options Exercise Price Options outstanding at January 1, 2017 569,639 $ 45.00 Granted 60,100 69.06 Exercised (187,313 ) 35.93 Cancelled (43,371 ) 61.02 Options outstanding at December 31, 2017 399,055 51.13 Granted 36,600 110.59 Exercised (155,765 ) 38.92 Cancelled (27,274 ) 74.35 Options outstanding at December 31, 2018 252,616 64.71 Granted 53,708 105.81 Exercised (16,079 ) 48.67 Cancelled (13,979 ) 89.50 Options outstanding at December 31, 2019 276,266 $ 72.38 Exercisable at December 31, 2019 152,423 $ 59.26 |
Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block] | Options Outstanding, Vested and Expected to Vest Options Exercisable Range of Exercise Prices Number Outstanding Weighted Average Remaining Contractual Life Weighted Average Exercise Price ($) Number Exercisable Weighted Average Exercise Price ($) 7.76 to 31.43 23,883 1.98 25.04 23,883 25.04 31.44 to 66.87 125,022 4.42 58.67 85,656 58.81 66.88 to 96.20 45,255 4.49 70.98 33,445 70.41 96.21 to 123.10 82,106 8.68 107.79 9,439 110.36 |
Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] | Weighted- Average Grant Date Restricted Fair Value Stock Awards Per Share Restricted stock at January 1, 2017 215,105 $ 62.78 Granted 210,744 63.70 Restrictions lapsed (60,102 ) 63.60 Forfeited (30,916 ) 61.99 Restricted stock at December 31, 2017 334,831 63.29 Granted 106,855 115.41 Restrictions lapsed (86,191 ) 63.64 Forfeited (31,574 ) 68.67 Restricted stock at December 31, 2018 323,921 79.85 Granted 115,471 106.35 Restrictions lapsed (92,597 ) 77.25 Forfeited (31,822 ) 87.58 Restricted stock at December 31, 2019 314,973 $ 89.55 |
Schedule of Nonvested Performance-based Units Activity [Table Text Block] | Weighted- Average Grant Date Performance Fair Value Stock Awards Per Share Performance stock at January 1, 2017 - $ - Granted 25,707 58.35 Restrictions lapsed - - Forfeited - - Performance stock at December 31, 2017 25,707 58.35 Granted 20,006 105.75 Restrictions lapsed - - Performance change 6,427 58.35 Forfeited - - Performance stock at December 31, 2018 52,140 76.54 Granted 21,434 104.99 Restrictions lapsed - - Performance change (61,816 ) 88.06 Forfeited (2,375 ) 105.37 Performance stock at December 31, 2019 9,383 $ 58.35 |
Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block] | Year Ended December 31, 2019 2018 2017 Risk-free interest rate 1.59 - 2.35% 2.06 - 2.33% 0.97 - 1.48% Expected life (months) 6.00 6.00 6.00 Expected volatility 42.63 - 53.57% 31.50 - 37.36% 24.49 - 34.51% Expected dividend yield 0% 0% 0% |
Note 14 - Leases (Tables)
Note 14 - Leases (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Schedule of Operating Lease Assets and Liabilities [Table Text Block] | (in thousands) December 31, 2019 Operating lease assets $ 11,425 Current operating lease liabilities $ 3,340 Long-term operating lease liabilities 8,565 Total operating lease liabilities $ 11,905 |
Schedule of Lease Expense [Table Text Block] | Three Months Ended Twelve Months Ended (in thousands) December 31, 2019 December 31, 2019 Operating lease cost $ 976 $ 3,960 Variable lease cost 228 1,039 Total lease cost $ 1,204 $ 4,999 Twelve Months Ended (in thousands) December 31, 2019 Cash paid for amounts included in the measurement of operating lease liabilities: Operating cash flows from operating leases $ 5,020 Lease assets obtained in exchange for new operating lease liabilities 1,921 |
Lessee, Operating Lease, Liability, Maturity [Table Text Block] | (in thousands) Operating Leases Year Ending December 31, 2020 $ 4,034 2021 2,835 2022 2,634 2023 1,064 2024 498 After 2024 1,613 Total future minimum lease payments 12,678 Less interest (773 ) Present value of lease liabilities $ 11,905 |
Schedule of Lease Terms and Discount Rates [Table Text Block] | December 31, 2019 Weighted Average Remaining Lease Term (Years) 4.8 Weighted Average Discount Rate 2.6% |
Note 15 - Accumulated Other C_2
Note 15 - Accumulated Other Comprehensive Loss (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Comprehensive Income (Loss) [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Foreign currency translation adjustments Balance at beginning of period $ (8,492 ) $ (5,234 ) $ (10,753 ) Other comprehensive (loss) income before reclassifications 1,474 (3,258 ) 5,519 Amounts reclassified from accumulated other comprehensive income (loss) - - - Net current-period other comprehensive (loss) income 1,474 (3,258 ) 5,519 Balance at end of period $ (7,018 ) $ (8,492 ) $ (5,234 ) |
Note 16 - Income Taxes (Tables)
Note 16 - Income Taxes (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Domestic $ 74,841 $ 81,893 $ 69,929 Foreign 6,352 9,762 4,506 Total $ 81,193 $ 91,655 $ 74,435 |
Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Current: Federal $ 6,991 $ (782 ) $ 17,808 State 2,882 2,078 1,367 Foreign 1,544 1,810 2,215 Deferred Federal 5,121 11,325 865 State 269 538 193 Foreign (809 ) (430 ) (1,918 ) Valuation Allowance 1,540 528 2,127 Total $ 17,538 $ 15,067 $ 22,657 |
Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] | Year Ended December 31, 2019 2018 2017 Federal tax statutory rate 21.0 % 21.0 % 35.0 % State tax (net of federal benefit) 2.1 2.0 1.7 Share based compensation (0.5 ) (2.8 ) (0.8 ) Valuation allowance against deferred tax assets 1.4 0.7 2.9 Research and development credit (2.8 ) (2.5 ) (2.2 ) Foreign rate differential (0.3 ) (0.1 ) (1.9 ) Tax reserves 1.1 (0.1 ) 0.9 Domestic manufacturing deduction - - (2.5 ) Miscellaneous (0.4 ) (0.5 ) (0.2 ) Transition tax - (0.8 ) 3.2 Revaluation of deferred tax liability - (0.5 ) (5.7 ) Total 21.6 % 16.4 % 30.4 % |
Schedule of Deferred Tax Assets and Liabilities [Table Text Block] | December 31, (in thousands) 2019 2018 Deferred tax assets: Accrued expenses $ 1,362 $ 931 Leases 3,337 - Warrants and stock options 3,325 2,908 Intangible assets 1,171 748 Inventories 169 154 Other assets 1,765 666 Net operating loss 6,513 6,605 Less valuation allowance (8,248 ) (6,900 ) Total deferred tax assets 9,394 5,112 Deferred tax liabilities: Depreciation (26,750 ) (21,788 ) Goodwill (5,590 ) (3,486 ) Leases (3,337 ) - Total deferred tax liabilities (35,677 ) (25,274 ) Net deferred tax liability $ (26,283 ) $ (20,162 ) |
Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] | December 31, 2019 2018 Balance at beginning of period $ 4,096 $ 4,233 Additions for tax positions of current year 592 593 Additions for tax positions of prior years - 309 Decrease related to expiration of statutes of limitations (90 ) (1,039 ) Balance at period end $ 4,598 $ 4,096 |
Note 18 - Segment Reporting (Ta
Note 18 - Segment Reporting (Tables) | 12 Months Ended |
Dec. 31, 2019 | |
Notes Tables | |
Income from Operations by Geographic Area [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Income from Operations: United States $ 108,594 $ 115,710 $ 99,561 Europe 15,077 16,747 12,796 Corporate Unallocated and Japan (43,815 ) (43,557 ) (40,131 ) Total income from operations $ 79,856 $ 88,898 $ 72,226 |
Long-lived Assets by Geographic Areas [Table Text Block] | December 31, December 31, December 31, (in thousands) 2019 2018 2017 Long-lived assets: United States $ 210,171 $ 185,979 $ 125,308 Europe 45,019 34,577 33,691 Japan 8,522 7,445 7,441 Total long-lived assets $ 263,712 $ 228,001 $ 166,440 |
Expenditures for Additions to Long-lived Assets by Geographic Region [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Expenditures for additions to long-lived assets: United States $ 45,123 $ 78,762 $ 20,370 Europe 14,743 7,576 11,704 Japan 2,364 766 561 Total expenditures for additions to long-lived assets $ 62,230 $ 87,104 $ 32,635 |
Depreciation and Amortization by Geographic Region [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Depreciation and Amortization: United States $ 24,767 $ 21,117 $ 13,267 Europe 4,746 4,679 4,174 Japan 1,351 958 1,033 Total depreciation and amortization $ 30,864 $ 26,754 $ 18,474 |
Operating Segments [Member] | |
Notes Tables | |
Revenue from External Customers by Geographic Areas [Table Text Block] | Year Ended December 31, (in thousands) 2019 2018 2017 Revenue: United States $ 360,205 $ 350,535 $ 263,086 Europe 82,805 80,889 70,154 Japan 15,718 14,172 11,250 Total revenue $ 458,728 $ 445,596 $ 344,490 |
Note 2 - Summary of Significa_2
Note 2 - Summary of Significant Accounting Policies (Details Textual) - USD ($) $ in Thousands | Nov. 30, 2017 | Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | Jan. 01, 2019 | Jan. 01, 2018 |
Capitalized Computer Software, Net, Ending Balance | $ 32,700 | $ 16,600 | ||||
Advertising Expense | 13,000 | 11,800 | $ 10,700 | |||
Research and Development Expense, Total | 32,692 | 28,735 | 23,560 | |||
Payments to Acquire Businesses, Net of Cash Acquired, Total | 0 | 90 | $ 110,533 | |||
Operating Lease, Right-of-Use Asset | 11,425 | 0 | ||||
Cumulative Effect of New Accounting Principle in Period of Adoption | 1,462 | |||||
Operating Lease, Liability, Total | $ 11,905 | |||||
Retained Earnings [Member] | ||||||
Cumulative Effect of New Accounting Principle in Period of Adoption | $ 1,462 | |||||
Accounting Standards Update 2016-02 [Member] | ||||||
Operating Lease, Right-of-Use Asset | $ 13,100 | |||||
Operating Lease, Liability, Total | $ 13,100 | |||||
Accounting Standards Update 2014-09 [Member] | Retained Earnings [Member] | ||||||
Cumulative Effect of New Accounting Principle in Period of Adoption | $ 1,500 | |||||
Rapid [Member] | ||||||
Business Combination, Consideration Transferred, Total | $ 121,959 | |||||
Payments to Acquire Businesses, Net of Cash Acquired, Total | 110,623 | |||||
Business Combination, Consideration Transferred, Equity Interests Issued and Issuable | $ 11,336 | |||||
Building [Member] | ||||||
Property, Plant and Equipment, Useful Life | 39 years | |||||
Minimum [Member] | ||||||
Property, Plant and Equipment, Useful Life | 3 years | |||||
Finite-Lived Intangible Asset, Useful Life | 2 years | |||||
Minimum [Member] | Equipment [Member] | ||||||
Property, Plant and Equipment, Useful Life | 3 years | |||||
Minimum [Member] | Office Furniture And Equipment [Member] | ||||||
Property, Plant and Equipment, Useful Life | 3 years | |||||
Minimum [Member] | Computer Equipment [Member] | ||||||
Property, Plant and Equipment, Useful Life | 3 years | |||||
Minimum [Member] | Land, Buildings and Improvements [Member] | ||||||
Property, Plant and Equipment, Useful Life | 10 years | |||||
Maximum [Member] | ||||||
Property, Plant and Equipment, Useful Life | 39 years | |||||
Finite-Lived Intangible Asset, Useful Life | 10 years | |||||
Maximum [Member] | Equipment [Member] | ||||||
Property, Plant and Equipment, Useful Life | 15 years | |||||
Maximum [Member] | Office Furniture And Equipment [Member] | ||||||
Property, Plant and Equipment, Useful Life | 7 years | |||||
Maximum [Member] | Computer Equipment [Member] | ||||||
Property, Plant and Equipment, Useful Life | 5 years | |||||
Maximum [Member] | Land, Buildings and Improvements [Member] | ||||||
Property, Plant and Equipment, Useful Life | 39 years |
Note 3 - Revenue (Details Textu
Note 3 - Revenue (Details Textual) - USD ($) $ in Thousands | 12 Months Ended | |||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | Jan. 01, 2018 | |
Cumulative Effect of New Accounting Principle in Period of Adoption | $ 1,462 | |||
Revenue from Contract with Customer, Including Assessed Tax | $ 458,728 | 445,596 | $ 344,490 | |
Cost of Goods and Services Sold, Total | 223,438 | 206,917 | 150,648 | |
Increase (Decrease) in Accounts Receivable | (1,848) | 6,098 | 9,933 | |
Increase (Decrease) in Inventories, Total | $ (60) | 189 | $ 985 | |
Accounting Standards Update 2014-09 [Member] | ||||
Revenue from Contract with Customer, Including Assessed Tax | 300 | |||
Cost of Goods and Services Sold, Total | 200 | |||
Increase (Decrease) in Accounts Receivable | 2,900 | |||
Increase (Decrease) in Inventories, Total | (1,300) | |||
Retained Earnings [Member] | ||||
Cumulative Effect of New Accounting Principle in Period of Adoption | $ 1,462 | |||
Retained Earnings [Member] | Accounting Standards Update 2014-09 [Member] | ||||
Cumulative Effect of New Accounting Principle in Period of Adoption | $ 1,500 |
Note 3 - Revenue - Disaggregati
Note 3 - Revenue - Disaggregation of Revenue (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Revenue: | |||
Revenue | $ 458,728 | $ 445,596 | $ 344,490 |
Injection Molding (Protomold) [Member] | |||
Revenue: | |||
Revenue | 217,415 | 210,523 | 194,432 |
CNC Machining (Firstcut) [Member] | |||
Revenue: | |||
Revenue | 155,473 | 153,521 | 103,739 |
3D Printing (Fineline) [Member] | |||
Revenue: | |||
Revenue | 61,352 | 53,342 | 43,329 |
Sheet Metal [Member] | |||
Revenue: | |||
Revenue | 21,000 | 24,998 | 1,767 |
Other Products [Member] | |||
Revenue: | |||
Revenue | 3,488 | 3,212 | 1,223 |
UNITED STATES | |||
Revenue: | |||
Revenue | 360,205 | 350,535 | 263,086 |
Europe [Member] | |||
Revenue: | |||
Revenue | 82,805 | 80,889 | 70,154 |
JAPAN | |||
Revenue: | |||
Revenue | $ 15,718 | $ 14,172 | $ 11,250 |
Note 4 - Net Income Per Commo_3
Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) - USD ($) $ / shares in Units, $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Net income | $ 63,655 | $ 76,588 | $ 51,778 |
Basic - weighted-average shares outstanding: (in shares) | 26,866,985 | 26,982,614 | 26,647,610 |
Employee stock options and other (in shares) | 182,438 | 296,202 | 197,461 |
Diluted - weighted-average shares outstanding: (in shares) | 27,049,423 | 27,278,816 | 26,845,071 |
Basic (in dollars per share) | $ 2.37 | $ 2.84 | $ 1.94 |
Diluted (in dollars per share) | $ 2.35 | $ 2.81 | $ 1.93 |
Note 5 - Business Combination_2
Note 5 - Business Combinations (Details Textual) - USD ($) $ in Thousands | Nov. 30, 2017 | Dec. 31, 2017 | Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 |
Payments to Acquire Businesses, Net of Cash Acquired, Total | $ 0 | $ 90 | $ 110,533 | |||
Goodwill, Ending Balance | $ 128,504 | 128,752 | 128,752 | 128,504 | ||
Share-based Payment Arrangement, Noncash Expense, Total | $ 10,781 | $ 10,928 | 8,558 | |||
Trade Names [Member] | ||||||
Finite-Lived Intangible Asset, Useful Life | 2 years | |||||
Rapid [Member] | ||||||
Business Combination, Consideration Transferred, Total | $ 121,959 | |||||
Payments to Acquire Businesses, Net of Cash Acquired, Total | 110,623 | |||||
Business Combination, Consideration Transferred, Equity Interests Issued and Issuable | 11,336 | |||||
Goodwill, Ending Balance | $ 99,836 | 99,600 | 99,600 | |||
Business Acquisition, Goodwill, Expected Tax Deductible Period | 15 years | |||||
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life | 5 years 6 months | |||||
Business Combination, Acquisition Related Costs | 1,900 | |||||
Business Acquisition, Increase (Decrease) in Depreciation Expense | (900) | $ (600) | ||||
Amortization, Total | $ 3,000 | 3,100 | ||||
Share-based Payment Arrangement, Noncash Expense, Total | $ 200 | |||||
Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual | 3,600 | |||||
Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual | $ (700) | |||||
Rapid [Member] | Employees [Member] | ||||||
Payments to Employees | $ 1,100 | |||||
Rapid [Member] | Customer Relationships [Member] | ||||||
Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles | $ 7,500 | |||||
Finite-Lived Intangible Asset, Useful Life | 6 years | |||||
Rapid [Member] | Trade Names [Member] | ||||||
Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles | $ 1,100 | |||||
Finite-Lived Intangible Asset, Useful Life | 2 years | |||||
Rapid [Member] | Noncompete Agreements [Member] | ||||||
Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles | $ 100 | |||||
Finite-Lived Intangible Asset, Useful Life | 5 years |
Note 5 - Business Combination_3
Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) - USD ($) $ in Thousands | Nov. 30, 2017 | Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 |
Assets acquired: | ||||
Goodwill, Ending Balance | $ 128,752 | $ 128,752 | $ 128,504 | |
Liabilities assumed: | ||||
Net cash consideration | $ 0 | $ 90 | 110,533 | |
Rapid [Member] | ||||
Assets acquired: | ||||
Current assets | $ 6,720 | |||
Goodwill, Ending Balance | 99,836 | $ 99,600 | ||
Other intangible assets | 8,700 | |||
Other long-term assets | 8,855 | |||
Total assets acquired | 124,111 | |||
Liabilities assumed: | ||||
Current liabilities | 2,067 | |||
Other long-term liabilities | 85 | |||
Total liabilities assumed | 2,152 | |||
Net assets acquired | 121,959 | |||
Cash paid | 115,378 | |||
Cash acquired | (4,755) | |||
Net cash consideration | 110,623 | |||
Business Combination, Consideration Transferred, Equity Interests Issued and Issuable | 11,336 | |||
Total purchase consideration | $ 121,959 |
Note 5 - Business Combination_4
Note 5 - Business Combinations - Unaudited Pro Forma Information (Details) - Rapid [Member] - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2017 | Dec. 31, 2016 | |
Revenue | $ 386,677 | $ 336,634 |
Net income | $ 55,070 | $ 41,805 |
Note 6 - Goodwill and Other I_3
Note 6 - Goodwill and Other Intangible Assets (Details Textual) - USD ($) $ in Thousands | 12 Months Ended | |||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | Nov. 30, 2017 | |
Goodwill, Ending Balance | $ 128,752 | $ 128,752 | $ 128,504 | |
Amortization of Intangible Assets, Total | 3,500 | 3,200 | 500 | |
Asset Acquisition, Contingent Consideration Arrangement Upon Completion of Milestone | $ 5,000 | |||
Asset Acquisitions, Contingent Consideration, Liability, Milestone Period | 24 months | |||
Asset Acquisitions, Contingent Consideration, Liability | $ 1,000 | 4,000 | ||
Rapid [Member] | ||||
Goodwill, Ending Balance | $ 99,600 | $ 99,836 | ||
Business Combination, Working Capital Adjustment | $ 200 | |||
Finite-lived Intangible Assets Acquired | $ 8,200 |
Note 6 - Goodwill and Other I_4
Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2019 | Dec. 31, 2018 | |
Goodwill, balance as of the beginning of the period | $ 128,752 | $ 128,504 |
Goodwill acquired during the period | 0 | 248 |
Goodwill, balance as of the end of the period | 128,752 | 128,752 |
UNITED STATES | ||
Goodwill, balance as of the beginning of the period | 123,883 | 123,635 |
Goodwill acquired during the period | 0 | 248 |
Goodwill, balance as of the end of the period | 123,883 | 123,883 |
Europe [Member] | ||
Goodwill, balance as of the beginning of the period | 4,239 | 4,239 |
Goodwill acquired during the period | 0 | 0 |
Goodwill, balance as of the end of the period | 4,239 | 4,239 |
JAPAN | ||
Goodwill, balance as of the beginning of the period | 630 | 630 |
Goodwill acquired during the period | 0 | 0 |
Goodwill, balance as of the end of the period | $ 630 | $ 630 |
Note 6 - Goodwill and Other I_5
Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2019 | Dec. 31, 2018 | |
Gross | $ 25,829 | $ 24,829 |
Accumulated Amortization | (8,460) | (4,979) |
Net | $ 17,369 | 19,850 |
Minimum [Member] | ||
Useful Life (Year) | 2 years | |
Maximum [Member] | ||
Useful Life (Year) | 10 years | |
Marketing-Related Intangible Assets [Member] | ||
Gross | $ 930 | 930 |
Accumulated Amortization | (527) | (434) |
Net | $ 403 | 496 |
Useful Life (Year) | 10 years | |
Weighted average useful life remaining (Year) | 4 years 3 months 18 days | |
Noncompete Agreements [Member] | ||
Gross | $ 270 | 270 |
Accumulated Amortization | (222) | (206) |
Net | $ 48 | 64 |
Weighted average useful life remaining (Year) | 3 years | |
Noncompete Agreements [Member] | Minimum [Member] | ||
Useful Life (Year) | 2 years | |
Noncompete Agreements [Member] | Maximum [Member] | ||
Useful Life (Year) | 5 years | |
Trade Secrets [Member] | ||
Gross | $ 250 | 250 |
Accumulated Amortization | (250) | (233) |
Net | $ 0 | 17 |
Useful Life (Year) | 5 years | |
Weighted average useful life remaining (Year) | 0 years | |
Trade Names [Member] | ||
Gross | $ 1,080 | 1,080 |
Accumulated Amortization | (1,080) | (540) |
Net | $ 0 | 540 |
Useful Life (Year) | 2 years | |
Weighted average useful life remaining (Year) | 0 years | |
Computer Software, Intangible Asset [Member] | ||
Gross | $ 13,229 | 12,229 |
Accumulated Amortization | (2,275) | (997) |
Net | $ 10,954 | 11,232 |
Useful Life (Year) | 10 years | |
Weighted average useful life remaining (Year) | 8 years | |
Customer Relationships [Member] | ||
Gross | $ 10,070 | 10,070 |
Accumulated Amortization | (4,106) | (2,569) |
Net | $ 5,964 | $ 7,501 |
Weighted average useful life remaining (Year) | 3 years 9 months 18 days | |
Customer Relationships [Member] | Minimum [Member] | ||
Useful Life (Year) | 6 years | |
Customer Relationships [Member] | Maximum [Member] | ||
Useful Life (Year) | 9 years |
Note 6 - Goodwill and Other I_6
Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
2020 | $ 3,016 | |
2021 | 3,016 | |
2022 | 3,016 | |
2023 | 2,813 | |
2024 | 1,400 | |
Thereafter | 4,108 | |
Total estimated amortization expense | $ 17,369 | $ 19,850 |
Note 7 - Fair Value Measureme_3
Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) - Fair Value, Recurring [Member] - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Fair Value, Inputs, Level 1 [Member] | ||
Money market mutual funds | $ 68,962 | $ 8,943 |
Total | 68,962 | 8,943 |
Fair Value, Inputs, Level 2 [Member] | ||
Money market mutual funds | 0 | 0 |
Total | 0 | 0 |
Fair Value, Inputs, Level 3 [Member] | ||
Money market mutual funds | 0 | 0 |
Total | $ 0 | $ 0 |
Note 8 - Marketable Securitie_2
Note 8 - Marketable Securities - Short-term and Long-term Marketable Securities (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Amortized Cost | $ 48,397 | $ 70,329 |
Unrealized Gains | 112 | 1 |
Unrealized Losses | (22) | (242) |
Fair Value | 48,487 | 70,088 |
Bank Time Deposits [Member] | ||
Amortized Cost | 1,484 | 4,208 |
Unrealized Gains | 22 | 0 |
Unrealized Losses | 0 | (25) |
Fair Value | 1,506 | 4,183 |
US Government Agencies Debt Securities [Member] | ||
Amortized Cost | 6,274 | 16,843 |
Unrealized Gains | 1 | 0 |
Unrealized Losses | (7) | (88) |
Fair Value | 6,268 | 16,755 |
Corporate Debt Securities [Member] | ||
Amortized Cost | 26,944 | 31,769 |
Unrealized Gains | 80 | 0 |
Unrealized Losses | (12) | (96) |
Fair Value | 27,012 | 31,673 |
US States and Political Subdivisions Debt Securities [Member] | ||
Amortized Cost | 10,204 | 17,509 |
Unrealized Gains | 9 | 1 |
Unrealized Losses | (3) | (33) |
Fair Value | 10,210 | $ 17,477 |
Commercial Paper, Not Included with Cash and Cash Equivalents [Member] | ||
Amortized Cost | 3,491 | |
Unrealized Gains | 0 | |
Unrealized Losses | 0 | |
Fair Value | $ 3,491 |
Note 8 - Marketable Securitie_3
Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Due in one year or less | $ 35,437 | |
Due after one year through five years | 12,960 | |
Total marketable securities | $ 48,397 | $ 70,329 |
Note 9 - Property and Equipme_3
Note 9 - Property and Equipment (Details Textual) - USD ($) $ in Millions | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Depreciation, Total | $ 27.4 | $ 23.5 | $ 18 |
Note 9 - Property and Equipme_4
Note 9 - Property and Equipment - Components of Property and Equipment (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 |
Land | $ 14,098 | $ 10,566 | |
Buildings and improvements | 75,843 | 72,819 | |
Machinery and equipment | 208,954 | 185,416 | |
Computer hardware and software | 24,953 | 22,323 | |
Leasehold improvements | 7,341 | 7,330 | |
Construction in progress | 54,313 | 25,279 | |
Total | 385,502 | 323,733 | |
Accumulated depreciation and amortization | (121,790) | (95,732) | |
Property and equipment, net | $ 263,712 | $ 228,001 | $ 166,440 |
Note 10 - Inventory - Inventory
Note 10 - Inventory - Inventory (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Raw materials | $ 9,818 | $ 9,560 |
Work in process | 501 | 792 |
Total inventory | 10,319 | 10,352 |
Allowance for obsolescence | (244) | (265) |
Inventory, net of allowance | $ 10,075 | $ 10,087 |
Note 11 - Financing Obligatio_2
Note 11 - Financing Obligations (Details Textual) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Long-term Line of Credit, Total | $ 0 | $ 0 |
Note 12 - Employee Benefit Pl_2
Note 12 - Employee Benefit Plans (Details Textual) - 401(k) Retirement Plan [Member] $ in Millions | 12 Months Ended | ||
Dec. 31, 2019USD ($) | Dec. 31, 2018USD ($) | Dec. 31, 2017USD ($) | |
UNITED STATES | |||
Minimum Number Of Employee Working Hours Required To Be Eligible To Participate In 401K Plan | 20 | ||
Minimum Service Period Of Employees To Avail Benefit Under Defined Contribution Benefit Plan | 3 months | ||
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent | 50.00% | ||
Defined Contribution Plan, Employer Discretionary Contribution Amount | $ 3.1 | $ 2.7 | $ 1.9 |
Foreign Plan [Member] | |||
Defined Contribution Plan, Employer Discretionary Contribution Amount | $ 0.3 | $ 0.3 | $ 0.3 |
Note 13 - Stock-based Compens_3
Note 13 - Stock-based Compensation (Details Textual) - USD ($) $ in Millions | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate | 0.00% | 0.00% | 0.00% |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value | $ 0.9 | $ 13 | $ 7 |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term | 5 years 6 months | ||
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value | $ 8.6 | ||
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term | 3 years 7 months 6 days | ||
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value | $ 6.5 | ||
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value | $ 1.5 | $ 1.5 | $ 2.8 |
ESPP [Member] | |||
Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date | 15.00% | ||
Employee Stock Purchase Plan, Offering Period | 6 months | ||
Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent | 85.00% | ||
Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total | 41,615 | 33,562 | |
Employee Stock Purchase Plan, Weighted Average Purchase Price of Shares Purchased | 86.70 | 85.61 | |
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant | 1,168,830 | ||
Share-based Payment Arrangement, Option [Member] | |||
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate | 0.00% | 0.00% | 0.00% |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | $ 3.6 | ||
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition | 2 years 7 months 6 days | ||
Share-based Payment Arrangement, Option [Member] | Minimum [Member] | |||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 4 years | ||
Share-based Payment Arrangement, Option [Member] | Maximum [Member] | |||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 5 years | ||
Restricted Stock [Member] | |||
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | $ 21.1 | ||
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition | 2 years 7 months 6 days | ||
Restricted Stock [Member] | Minimum [Member] | |||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 4 years | ||
Restricted Stock [Member] | Maximum [Member] | |||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 5 years | ||
Performance Shares [Member] | |||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 3 years | ||
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | $ 0.1 | ||
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition | 1 month 6 days | ||
Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit | 0.00% | ||
Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit | 150.00% |
Note 13 - Stock-based Compens_4
Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Allocated share-based compensation expense | $ 10,781 | $ 10,928 | $ 8,558 |
Cost of Sales [Member] | |||
Allocated share-based compensation expense | 2,056 | 1,543 | 970 |
Selling and Marketing Expense [Member] | |||
Allocated share-based compensation expense | 2,632 | 1,942 | 1,429 |
Research and Development Expense [Member] | |||
Allocated share-based compensation expense | 1,851 | 1,517 | 1,091 |
General and Administrative Expense [Member] | |||
Allocated share-based compensation expense | 4,242 | 5,926 | 5,068 |
Stock Options, Restricted Stock, and Other [Member] | |||
Allocated share-based compensation expense | 9,591 | 10,113 | 7,954 |
ESPP [Member] | |||
Allocated share-based compensation expense | $ 1,190 | $ 815 | $ 604 |
Note 13 - Stock-based Compens_5
Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) - $ / shares | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Expected life (Year) | 6 years | 6 years | 6 years |
Expected dividend yield | 0.00% | 0.00% | 0.00% |
Minimum [Member] | |||
Risk-free interest rate | 1.59% | 2.06% | 0.97% |
Expected volatility | 42.63% | 31.50% | 24.49% |
Maximum [Member] | |||
Risk-free interest rate | 2.35% | 2.33% | 1.48% |
Expected volatility | 53.57% | 37.36% | 34.51% |
Share-based Payment Arrangement, Option [Member] | |||
Expected life (Year) | 6 years 3 months | 6 years 3 months | 6 years 6 months |
Expected dividend yield | 0.00% | 0.00% | 0.00% |
Weighted average grant date fair value (in dollars per share) | $ 47.84 | $ 50.08 | $ 32.26 |
Share-based Payment Arrangement, Option [Member] | Minimum [Member] | |||
Risk-free interest rate | 2.35% | 2.52% | 2.24% |
Expected volatility | 42.52% | 41.68% | 42.68% |
Share-based Payment Arrangement, Option [Member] | Maximum [Member] | |||
Risk-free interest rate | 2.58% | 3.07% | 2.36% |
Expected volatility | 42.74% | 42.22% | 44.68% |
Note 13 - Stock-based Compens_6
Note 13 - Stock-based Compensation - Stock Option Activity (Details) - $ / shares | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Options outstanding (in shares) | 252,616 | 399,055 | 569,639 |
Options outstanding, weighted-average exercise price (in dollars per share) | $ 64.71 | $ 51.13 | $ 45 |
Granted (in shares) | 53,708 | 36,600 | 60,100 |
Granted, weighted-average exercise price (in dollars per share) | $ 105.81 | $ 110.59 | $ 69.06 |
Exercised (in shares) | (16,079) | (155,765) | (187,313) |
Exercised, weighted-average exercise price (in dollars per share) | $ 48.67 | $ 38.92 | $ 35.93 |
Cancelled (in shares) | (13,979) | (27,274) | (43,371) |
Cancelled, weighted-average exercise price (in dollars per share) | $ 89.50 | $ 74.35 | $ 61.02 |
Options outstanding (in shares) | 276,266 | 252,616 | 399,055 |
Options outstanding, weighted-average exercise price (in dollars per share) | $ 72.38 | $ 64.71 | $ 51.13 |
Options exercisable (in shares) | 152,423 | ||
Options exercisable, weighted-average exercise price (in dollars per share) | $ 59.26 |
Note 13 - Stock-based Compens_7
Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details) - $ / shares | 12 Months Ended | |||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Options outstanding, vested and expected to vest, number outstanding (in shares) | 276,266 | 252,616 | 399,055 | 569,639 |
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) | $ 72.38 | $ 64.71 | $ 51.13 | $ 45 |
Exercise Price Range One [Member] | ||||
Range of exercise prices, lower limit (in dollars per share) | 7.76 | |||
Range of exercise prices, upper limit (in dollars per share) | $ 31.43 | |||
Options outstanding, vested and expected to vest, number outstanding (in shares) | 23,883 | |||
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) | 1 year 11 months 23 days | |||
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) | $ 25.04 | |||
Options exercisable, number exercisable (in shares) | 23,883 | |||
Options exercisable, weighted average exercise price (in dollars per share) | $ 25.04 | |||
Exercise Price Range Two [Member] | ||||
Range of exercise prices, lower limit (in dollars per share) | 31.44 | |||
Range of exercise prices, upper limit (in dollars per share) | $ 66.87 | |||
Options outstanding, vested and expected to vest, number outstanding (in shares) | 125,022 | |||
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) | 4 years 5 months 1 day | |||
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) | $ 58.67 | |||
Options exercisable, number exercisable (in shares) | 85,656 | |||
Options exercisable, weighted average exercise price (in dollars per share) | $ 58.81 | |||
Exercise Price Range Three [Member] | ||||
Range of exercise prices, lower limit (in dollars per share) | 66.88 | |||
Range of exercise prices, upper limit (in dollars per share) | $ 96.20 | |||
Options outstanding, vested and expected to vest, number outstanding (in shares) | 45,255 | |||
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) | 4 years 5 months 26 days | |||
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) | $ 70.98 | |||
Options exercisable, number exercisable (in shares) | 33,445 | |||
Options exercisable, weighted average exercise price (in dollars per share) | $ 70.41 | |||
Exercise Price Range Four [Member] | ||||
Range of exercise prices, lower limit (in dollars per share) | 96.21 | |||
Range of exercise prices, upper limit (in dollars per share) | $ 123.10 | |||
Options outstanding, vested and expected to vest, number outstanding (in shares) | 82,106 | |||
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) | 8 years 8 months 4 days | |||
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) | $ 107.79 | |||
Options exercisable, number exercisable (in shares) | 9,439 | |||
Options exercisable, weighted average exercise price (in dollars per share) | $ 110.36 |
Note 13 - Stock-based Compens_8
Note 13 - Stock-based Compensation - Restricted Stock Options (Details) - Restricted Stock [Member] - $ / shares | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Restricted stock (in shares) | 323,921 | 334,831 | 215,105 |
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ 79.85 | $ 63.29 | $ 62.78 |
Granted (in shares) | 115,471 | 106,855 | 210,744 |
Granted, weighted-average grant date fair value (in dollars per share) | $ 106.35 | $ 115.41 | $ 63.70 |
Restrictions lapsed (in shares) | (92,597) | (86,191) | (60,102) |
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) | $ 77.25 | $ 63.64 | $ 63.60 |
Forfeited (in shares) | (31,822) | (31,574) | (30,916) |
Forfeited, weighted-average grant date fair value (in dollars per share) | $ 87.58 | $ 68.67 | $ 61.99 |
Restricted stock (in shares) | 314,973 | 323,921 | 334,831 |
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ 89.55 | $ 79.85 | $ 63.29 |
Note 13 - Stock-based Compens_9
Note 13 - Stock-based Compensation - Performance Stock (Details) - Performance Shares [Member] - $ / shares | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Performance stock (in shares) | 52,140 | 25,707 | 0 |
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ 76.54 | $ 58.35 | $ 0 |
Granted (in shares) | 21,434 | 20,006 | 25,707 |
Granted, weighted-average grant date fair value (in dollars per share) | $ 104.99 | $ 105.75 | $ 58.35 |
Restrictions lapsed (in shares) | 0 | 0 | 0 |
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) | $ 0 | $ 0 | $ 0 |
Forfeited (in shares) | (2,375) | 0 | 0 |
Forfeited, weighted-average grant date fair value (in dollars per share) | $ 105.37 | $ 0 | $ 0 |
Performance change (in shares) | (61,816) | 6,427 | |
Performance change, weighted-average grant date fair value (in dollars per share) | $ 88.06 | $ 58.35 | |
Performance stock (in shares) | 9,383 | 52,140 | 25,707 |
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ 58.35 | $ 76.54 | $ 58.35 |
Note 13 - Stock-based Compen_10
Note 13 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Expected life (months) (Year) | 6 years | 6 years | 6 years |
Expected dividend yield | 0.00% | 0.00% | 0.00% |
Minimum [Member] | |||
Risk-free interest rate | 1.59% | 2.06% | 0.97% |
Expected volatility | 42.63% | 31.50% | 24.49% |
Maximum [Member] | |||
Risk-free interest rate | 2.35% | 2.33% | 1.48% |
Expected volatility | 53.57% | 37.36% | 34.51% |
Note 14 - Leases (Details Textu
Note 14 - Leases (Details Textual) Pure in Thousands, $ in Thousands | Dec. 31, 2019USD ($) | Jan. 01, 2019USD ($) | Dec. 31, 2018USD ($) |
Operating Lease, Right-of-Use Asset | $ 11,425 | $ 0 | |
Lessee, Financial Lease, Liability, Number of Leases | 0 | ||
Lessee, Operating Lease, Lease Not yet Commenced, Number of Leases | 0 | ||
Operating Lease, Liability, Total | $ 11,905 | ||
Minimum [Member] | Office Space, Manufacturing Facilities, and Certain Company Vehicles and Equipment [Member] | |||
Lessee, Operating Lease, Term of Contract | 1 year | ||
Maximum [Member] | Office Space, Manufacturing Facilities, and Certain Company Vehicles and Equipment [Member] | |||
Lessee, Operating Lease, Term of Contract | 10 years | ||
Accounting Standards Update 2016-02 [Member] | |||
Operating Lease, Right-of-Use Asset | $ 13,100 | ||
Operating Lease, Liability, Total | $ 13,100 |
Note 14 - Leases - Balance Shee
Note 14 - Leases - Balance Sheet Information (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Operating lease assets | $ 11,425 | $ 0 |
Current operating lease liabilities | 3,340 | 0 |
Long-term operating lease liabilities | 8,565 | $ 0 |
Total operating lease liabilities | $ 11,905 |
Note 14 - Leases - Lease Expens
Note 14 - Leases - Lease Expense (Details) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended |
Dec. 31, 2019 | Dec. 31, 2019 | |
Operating lease cost | $ 976 | $ 3,960 |
Variable lease cost | 228 | 1,039 |
Total lease cost | $ 1,204 | 4,999 |
Operating cash flows from operating leases | 5,020 | |
Lease assets obtained in exchange for new operating lease liabilities | $ 1,921 |
Note 14 - Leases - Maturities o
Note 14 - Leases - Maturities of Operating Lease Liabilities (Details) $ in Thousands | Dec. 31, 2019USD ($) |
2020 | $ 4,034 |
2021 | 2,835 |
2022 | 2,634 |
2023 | 1,064 |
2024 | 498 |
After 2024 | 1,613 |
Total future minimum lease payments | 12,678 |
Less interest | (773) |
Present value of lease liabilities | $ 11,905 |
Note 14 - Leases - Weighted Ave
Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details) | Dec. 31, 2019 |
Weighted Average Remaining Lease Term (Years) (Year) | 4 years 9 months 18 days |
Weighted Average Discount Rate | 2.60% |
Note 15 - Accumulated Other C_3
Note 15 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Balance | $ 541,497 | $ 461,215 | $ 379,833 |
Balance | 585,790 | 541,497 | 461,215 |
Accumulated Foreign Currency Adjustment Attributable to Parent [Member] | |||
Balance | (8,492) | (5,234) | (10,753) |
Other comprehensive (loss) income before reclassifications | 1,474 | (3,258) | 5,519 |
Amounts reclassified from accumulated other comprehensive income (loss) | 0 | 0 | 0 |
Net current-period other comprehensive (loss) income | 1,474 | (3,258) | 5,519 |
Balance | $ (7,018) | $ (8,492) | $ (5,234) |
Note 16 - Income Taxes (Details
Note 16 - Income Taxes (Details Textual) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Income Tax Expense (Benefit), Total | $ 17,538 | $ 15,067 | $ 22,657 |
Effective Income Tax Rate Reconciliation, Percent, Total | 21.60% | 16.40% | 30.40% |
Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period | 5.20% | ||
Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent | 21.00% | 21.00% | 35.00% |
Undistributed Earnings of Foreign Subsidiaries | $ 9,300 | ||
Operating Loss Carryforwards, Total | $ 6,500 | ||
Operating Loss Carryforwards, Expiration Period | 10 years | ||
Operating Loss Carryforwards, Percentage of Taxable Income | 60.00% | ||
Deferred Tax Assets, Valuation Allowance, Total | $ 8,248 | $ 6,900 | |
Unrecognized Tax Benefits, Ending Balance | $ 4,598 | $ 4,096 | $ 4,233 |
Note 16 - Income Taxes - Compon
Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Domestic | $ 74,841 | $ 81,893 | $ 69,929 |
Foreign | 6,352 | 9,762 | 4,506 |
Income before income taxes | $ 81,193 | $ 91,655 | $ 74,435 |
Note 16 - Income Taxes - Signif
Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Current: | |||
Federal | $ 6,991 | $ (782) | $ 17,808 |
State | 2,882 | 2,078 | 1,367 |
Foreign | 1,544 | 1,810 | 2,215 |
Deferred | |||
Federal | 5,121 | 11,325 | 865 |
State | 269 | 538 | 193 |
Foreign | (809) | (430) | (1,918) |
Valuation Allowance | 1,540 | 528 | 2,127 |
Total | $ 17,538 | $ 15,067 | $ 22,657 |
Note 16 - Income Taxes - Reconc
Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details) | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Federal tax statutory rate | 21.00% | 21.00% | 35.00% |
State tax (net of federal benefit) | 2.10% | 2.00% | 1.70% |
Share based compensation | (0.50%) | (2.80%) | (0.80%) |
Valuation allowance against deferred tax assets | 1.40% | 0.70% | 2.90% |
Research and development credit | (2.80%) | (2.50%) | (2.20%) |
Foreign rate differential | (0.30%) | (0.10%) | (1.90%) |
Tax reserves | 1.10% | (0.10%) | 0.90% |
Domestic manufacturing deduction | 0.00% | 0.00% | (2.50%) |
Miscellaneous | (0.40%) | (0.50%) | (0.20%) |
Transition tax | 0.00% | (0.80%) | 3.20% |
Revaluation of deferred tax liability | 0.00% | (0.50%) | (5.70%) |
Total | 21.60% | 16.40% | 30.40% |
Note 16 - Income Taxes - Sign_2
Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 |
Deferred tax assets: | ||
Accrued expenses | $ 1,362 | $ 931 |
Leases | 3,337 | 0 |
Warrants and stock options | 3,325 | 2,908 |
Intangible assets | 1,171 | 748 |
Inventories | 169 | 154 |
Other assets | 1,765 | 666 |
Net operating loss | 6,513 | 6,605 |
Less valuation allowance | (8,248) | (6,900) |
Total deferred tax assets | 9,394 | 5,112 |
Deferred tax liabilities: | ||
Depreciation | (26,750) | (21,788) |
Goodwill | (5,590) | (3,486) |
Leases | (3,337) | 0 |
Total deferred tax liabilities | (35,677) | (25,274) |
Net deferred tax liability | $ (26,283) | $ (20,162) |
Note 16 - Income Taxes - Reco_2
Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2019 | Dec. 31, 2018 | |
Balance | $ 4,096 | $ 4,233 |
Additions for tax positions of current year | 592 | 593 |
Additions for tax positions of prior years | 0 | 309 |
Decrease related to expiration of statutes of limitations | (90) | (1,039) |
Balance | $ 4,598 | $ 4,096 |
Note 18 - Segment Reporting - R
Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Revenue | $ 458,728 | $ 445,596 | $ 344,490 |
Operating Segments [Member] | |||
Revenue | 458,728 | 445,596 | 344,490 |
Operating Segments [Member] | United States Segment [Member] | |||
Revenue | 360,205 | 350,535 | 263,086 |
Operating Segments [Member] | Europe Segment [Member] | |||
Revenue | 82,805 | 80,889 | 70,154 |
Operating Segments [Member] | Japan Segment [Member] | |||
Revenue | $ 15,718 | $ 14,172 | $ 11,250 |
Note 18 - Segment Reporting - I
Note 18 - Segment Reporting - Income From Operations (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Income from operations | $ 79,856 | $ 88,898 | $ 72,226 |
Operating Segments [Member] | United States Segment [Member] | |||
Income from operations | 108,594 | 115,710 | 99,561 |
Operating Segments [Member] | Europe Segment [Member] | |||
Income from operations | 15,077 | 16,747 | 12,796 |
Operating Segments [Member] | Corporate Unallocated and Japan Segment[Member] | |||
Income from operations | $ (43,815) | $ (43,557) | $ (40,131) |
Note 18 - Segment Reporting - L
Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details) - USD ($) $ in Thousands | Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 |
Long-lived assets | $ 263,712 | $ 228,001 | $ 166,440 |
Operating Segments [Member] | United States Segment [Member] | |||
Long-lived assets | 210,171 | 185,979 | 125,308 |
Operating Segments [Member] | Europe Segment [Member] | |||
Long-lived assets | 45,019 | 34,577 | 33,691 |
Operating Segments [Member] | Japan Segment [Member] | |||
Long-lived assets | $ 8,522 | $ 7,445 | $ 7,441 |
Note 18 - Segment Reporting - E
Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Expenditures for additions to long-lived assets | $ 62,230 | $ 87,104 | $ 32,635 |
UNITED STATES | |||
Expenditures for additions to long-lived assets | 45,123 | 78,762 | 20,370 |
Europe [Member] | |||
Expenditures for additions to long-lived assets | 14,743 | 7,576 | 11,704 |
JAPAN | |||
Expenditures for additions to long-lived assets | $ 2,364 | $ 766 | $ 561 |
Note 18 - Segment Reporting - D
Note 18 - Segment Reporting - Depreciation and Amortization (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017 | |
Depreciation and amortization | $ 30,864 | $ 26,754 | $ 18,474 |
UNITED STATES | |||
Depreciation and amortization | 24,767 | 21,117 | 13,267 |
Europe [Member] | |||
Depreciation and amortization | 4,746 | 4,679 | 4,174 |
JAPAN | |||
Depreciation and amortization | $ 1,351 | $ 958 | $ 1,033 |