XML 24 R9.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Note 3 - Revenue | 12 Months Ended
--- | ---
Dec. 31, 2018
Notes to Financial Statements |
Revenue from Contract with Customer [Text Block] | Note 3 – Revenue 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, which the Company adopted on January 1, 2018, using the modified retrospective method. Results for reporting periods beginning after January 1, 2018 are presented under ASC 606, while prior period amounts are not adjusted and continue to be reported in accordance with the Company’s historic accounting under ASC 605. The Company recorded a net increase of $1.5 million to its retained earnings balance on January 1, 2018 due to the cumulative impact of adopting ASC 606. The impact of adopting ASC 606 was to increase revenue by $0.3 million and increase cost of revenue by $0.2 million for the year ended December 31, 2018, and to increase accounts receivable by $2.9 million and decrease inventory by $1.3 million as of December 31, 2018, which includes the transition adjustment of $1.5 million noted above. 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. The majority of the Company’s CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers. The Company manufactures parts that have no alternative use to the Company since the parts are custom made to specific customer orders, and the Company believes there is a legally enforceable right to payment for performance completed to date on these manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production to measure progress toward satisfying performance obligations. Revenue by geographic region for the years ended December 31, 2018, 2017 and 2016 was as follows:
|  | Year Ended December 31, |
(in thousands) |  | 2018 |  |  | 2017 |  |  | 2016 |
Revenue: |  |  |  |  |  |  |  |  |  |  |  |
United States |  | $ | 350,535 |  |  | $ | 263,086 |  |  | $ | 223,930 |
Europe |  |  | 80,889 |  |  |  | 70,154 |  |  |  | 63,365 |
Japan |  |  | 14,172 |  |  |  | 11,250 |  |  |  | 10,760 |
Total revenue |  | $ | 445,596 |  |  | $ | 344,490 |  |  | $ | 298,055 |
Revenue by product line for the years ended December 31, 2018, 2017 and 2016 was as follows:
|  | Year Ended December 31, |
(in thousands) |  | 2018 |  |  | 2017 |  |  | 2016 |
Revenue: |  |  |  |  |  |  |  |  |  |  |  |
Injection Molding |  | $ | 210,523 |  |  | $ | 194,432 |  |  | $ | 175,974 |
CNC Machining |  |  | 153,521 |  |  |  | 103,739 |  |  |  | 81,407 |
3D Printing |  |  | 53,342 |  |  |  | 43,329 |  |  |  | 37,847 |
Sheet Metal |  |  | 24,998 |  |  |  | 1,767 |  |  |  | - |
Other Revenue |  |  | 3,212 |  |  |  | 1,223 |  |  |  | 2,827 |
Total revenue |  | $ | 445,596 |  |  | $ | 344,490 |  |  | $ | 298,055 |
The Company generally expenses sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within marketing and sales expenses. The value of unsatisfied performance obligations for contracts with an original expected length of one year or less is not material.

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -URI http://asc.fasb.org/topic&trid=49130388 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -URI http://asc.fasb.org/topic&trid=2122369 + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration