XML 35 R14.htm IDEA: XBRL DOCUMENT
v3.20.4

Revenue | 12 Months Ended
--- | ---
Dec. 31, 2020
Revenue |
Revenue | Note 6 – Revenue We recognize revenue in accordance with ASC 606 “Revenue from Contracts with Customers” (“Topic 606”), as described below. Disaggregation of Revenues The following tables present our revenues disaggregated by major products and services, geographical region and timing of revenue recognition. Certain amounts reported for the years ended December 31, 2019 and 2018 have been recast consistent with the impacts disclosed in Note 3 – Revision of Previously Issued Financial Statements. Revenue by major products and services (in thousands)
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Years ended December 31,
​ | 2020 |  | 2019 | ​ | ​ | 2018
Hardware products | $ | 81,849 | ​ | $ | 127,005 | ​ | $ | 105,560
Software licenses | ​ | 51,137 | ​ | ​ | 56,308 | ​ | ​ | 46,494
Subscription | ​ | 27,788 | ​ | ​ | 22,280 | ​ | ​ | 15,432
Professional services | ​ | 5,689 | ​ | ​ | 5,759 | ​ | ​ | 5,743
Maintenance, support and other | ​ | 49,228 | ​ | ​ | 42,132 | ​ | ​ | 38,107
Total Revenue | $ | 215,691 | ​ | $ | 253,484 | ​ | $ | 211,336
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Revenue by location of customer for the years ended December 31, 2020, 2019, and 2018 (in thousands)
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | EMEA |  | Americas |  | APAC |  | Total |
Total Revenue: |  | ​ |  |  | ​ |  |  | ​ |  |  | ​ |  | ​
2020 | ​ | $ | 117,086 | ​ | $ | 53,171 | ​ | $ | 45,434 | ​ | $ | 215,691 | ​
2019 | ​ | $ | 145,942 | ​ | $ | 61,577 | ​ | $ | 45,965 | ​ | $ | 253,484 | ​
2018 | ​ | $ | 102,349 | ​ | $ | 54,979 | ​ | $ | 54,008 | ​ | $ | 211,336 | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Percent of Total: | ​ |  |  | ​ |  |  | ​ |  |  | ​ |  |  | ​
2020 | ​ |  | 54 | % |  | 25 | % |  | 21 | % |  | 100 | %
2019 | ​ |  | 58 | % |  | 24 | % |  | 18 | % |  | 100 | %
2018 | ​ | ​ | 48 | % |  | 26 | % |  | 26 | % |  | 100 | %
​ Timing of revenue recognition (in thousands)
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | Year ended December 31,
​ | 2020 | ​ | 2019 |  | 2018
Products and Licenses transferred at a point in time | $ | 132,986 | ​ | $ | 183,313 | ​ | $ | 152,054
Services transferred over time | ​ | 82,705 | ​ | ​ | 70,171 | ​ | ​ | 59,282
Total Revenue | $ | 215,691 | ​ | $ | 253,484 | ​ | $ | 211,336
​ Contract balances (in thousands) The following table provides information about receivables, contract assets and contract liabilities from contracts with customers. ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31,
​ | ​ | 2020 | ​ | 2019
Receivables, inclusive of trade and unbilled | ​ | $ | 57,537 | ​ | $ | 62,405
Contract Assets (current and non-current) | ​ | $ | 9,079 | ​ | $ | 8,595
Contract Liabilities (Deferred Revenue current and non-current) | ​ | $ | 55,147 | ​ | $ | 45,597
​ Contract assets relate primarily to multi-year term license arrangements and the remaining contractual billings. These contract assets are transferred to receivables when the right to billing occurs, which is normally over 3-5 years. The contract liabilities primarily relate to the advance consideration received from customers for subscription and maintenance services. Revenue is recognized for these services over time. As a practical expedient, we do not adjust the promised amount of consideration for the effects of a significant financing component when we expect, at contract inception, that the period between our transfer of a promised product or service to a customer and when the customer pays for that product or service will be one year or less. We do not typically include extended payment terms in our contracts with customers. Revenue recognized during the year ended December 31, 2020 included $35.0 million that was included on the December 31, 2019 balance sheet in contract liabilities. Deferred revenue increased in the same period due to timing of annual renewals. Transaction price allocated to the remaining performance obligations The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied (or partially unsatisfied) at the end of the reporting period. ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
in thousands | ​ | 2021 | ​ | 2022 | ​ | 2023 | ​ | Beyond 2023 | ​ | Total
Future revenue related to current unsatisfied performance obligations | ​ | $ | 19,942 | ​ | $ | 13,565 | ​ | $ | 9,529 | ​ | $ | 6,461 | ​ | $ | 49,497
​ The Company applies practical expedients and does not disclose information about remaining performance obligations (a) that have original expected durations of one year or less, or (b) where revenue is recognized as invoiced. Costs of obtaining a contract The Company incurs incremental costs related to commissions, which can be directly tied to obtaining a contract. Under Topic 606, the Company capitalizes commissions associated with certain new contracts and amortizes the costs over a period of benefit based on the transfer of goods or services that we have determined to be up to seven years. We determined the period of benefit by taking into consideration our customer contracts, our technology and other factors, including customer attrition. Commissions are earned upon invoicing to the customer. For contracts with multiple year payment terms, as the commissions that are payable after year 1 are payable based on continued employment, they are expensed when incurred. Commissions and amortization expense are included in Sales and Marketing expenses on the consolidated statements of operations. Applying the practical expedient, the Company recognizes the incremental costs of obtaining contracts as an expense when incurred if the amortization period for the assets that the Company otherwise would have recognized is one year or less. These costs are included in Sales and Marketing expense in the consolidated statements of operations. The following tables provide information related to the capitalized costs and amortization recognized in the current and prior period: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
in thousands | ​ | ​ | ​ | December 31, 2020 | ​ | ​ | December 31, 2019 | ​ | ​ | December 31, 2018
Capitalized costs to obtain contracts, current | ​ | ​ | $ | 1,222 | ​ | $ | 676 | ​ | $ | 413
Capitalized costs to obtain contracts, non-current | ​ | ​ | $ | 5,464 | ​ | $ | 3,222 | ​ | $ | 2,150
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | Year ended December 31,
in thousands | ​ | ​ | ​ | 2020 | ​ | ​ | 2019
Amortization of capitalized costs to obtain contracts | ​ | ​ | $ | 904 | ​ | $ | 495
Impairments of capitalized costs to obtain contracts | ​ | ​ | $ | - | ​ | $ | -
​ ​ ​ ​ ​ ​ ​ ​

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
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://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -URI http://asc.fasb.org/topic&trid=49130388 + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration