XML 42 R26.htm IDEA: XBRL DOCUMENT
v3.20.4

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) | 12 Months Ended
--- | ---
Oct. 31, 2020
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES |
Consolidation | Consolidation. The consolidated financial statements include the accounts of Hurco Companies, Inc. (an Indiana corporation) and its wholly–owned subsidiaries (“we”, “us”, “our”, “Hurco” or the “Company”). We have a 35% ownership interest in a Taiwan affiliate that is accounted for using the equity method. Our investment in that affiliate was approximately $4.4 million and $4.2 million as of October 31, 2020 and 2019, respectively. That investment is included in Investments and other assets, net on the accompanying Consolidated Balance Sheets. Inter-company accounts and transactions have been eliminated.
Reclassifications | Reclassifications. Certain prior year amounts have been reclassified to conform to the current year presentation. This reclassification has no impact on previously reported net income or shareholders’ equity.
Statements of Cash Flows | Statements of Cash Flows. We consider all highly liquid investments with a stated maturity at the date of purchase of three months or less to be cash equivalents. Cash flows from hedges are classified consistent with the items being hedged.
Translation of Foreign Currencies | Translation of Foreign Currencies. All balance sheet accounts of non–U.S. subsidiaries are translated at the exchange rate as of the end of the year and translation adjustments of foreign currency balance sheets are recorded as a component of Accumulated other comprehensive loss in shareholders’ equity. Income and expenses are translated at the average exchange rates during the year. Cumulative foreign currency translation adjustments, net of gains related to our net investment hedges, as of October 31, 2020, were a net loss of $4.1 million, net of tax, and are included in Accumulated other comprehensive loss. Foreign currency transaction gains and losses are recorded as income or expense as incurred and are recorded in Other expense, net.
Hedging | Hedging. We are exposed to certain market risks relating to our ongoing business operations, including foreign currency risk, interest rate risk and credit risk. We manage our exposure to these and other market risks through regular operating and financing activities. Currently, the only risk that we manage through the use of derivative instruments is foreign currency risk. We operate on a global basis and are exposed to the risk that our financial condition, results of operations, and cash flows could be adversely affected by changes in foreign currency exchange rates. To reduce the potential effects of foreign exchange rate movements on our net equity investment in one of our foreign subsidiaries, and the gross profit and net earnings of certain of our foreign subsidiaries, we enter into derivative financial instruments in the form of foreign exchange forward contracts with a major financial institution. We are primarily exposed to foreign currency exchange rate risk with respect to transactions and net assets denominated in Euros, Pounds Sterling, Indian Rupee, Singapore Dollars, Chinese Yuan, Polish Zloty, and New Taiwan Dollars. We account for derivative instruments as either assets or liabilities and carry them at fair value. The accounting for changes in the fair value of a derivative depends on the intended use of the derivative and the resulting designation. For derivative instruments designated as a fair value hedge, the gain or loss is recognized in earnings in the period of change together with the offsetting loss or gain on the hedged item attributed to the risk being hedged. For a derivative instrument designated as a cash flow hedge, the effective portion of the derivative’s gain or loss is initially reported as a component of Accumulated other comprehensive loss in shareholders’ equity and subsequently reclassified into earnings when the hedged exposure affects earnings. The ineffective portion of the gain or loss is reported in earnings immediately. For derivative instruments that are not designated as accounting hedges under the Derivatives and Hedging Topic of the Financial Accounting Standards Board (the “FASB”), changes in fair value are recognized in earnings in the period of change. We do not hold or issue derivative financial instruments for speculative trading purposes. We only enter into derivatives with one counterparty, which is among one of the largest U.S. banks (ranked by assets), in order to minimize credit risk and, to date, that counterparty has not failed to meet its financial obligations under such contracts. Derivatives Designated as Hedging Instruments We enter into foreign currency forward exchange contracts periodically to hedge certain forecasted inter–company sales and purchases denominated in foreign currencies (the Pound Sterling, Euro, and New Taiwan Dollar). The purpose of these instruments is to mitigate the risk that the U.S. Dollar net cash inflows and outflows resulting from sales and purchases denominated in foreign currencies will be adversely affected by changes in exchange rates. These forward contracts have been designated as cash flow hedge instruments, and are recorded in the Consolidated Balance Sheets at fair value in Derivative assets and Derivative liabilities. The effective portion of the gains and losses resulting from the changes in the fair value of these hedge contracts are deferred in Accumulated other comprehensive loss and recognized as an adjustment to Cost of sales and service in the period that the corresponding inventory sold that is the subject of the related hedge contract is recognized, thereby providing an offsetting economic impact against the corresponding change in the U.S. Dollar value of the inter–company sale or purchase being hedged. The ineffective portion of gains and losses resulting from the changes in the fair value of these hedge contracts is reported in Other expense, net immediately. We perform quarterly assessments of hedge effectiveness by verifying and documenting the critical terms of the hedge instrument and determining that forecasted transactions have not changed significantly. We also assess on a quarterly basis whether there have been adverse developments regarding the risk of a counterparty default. We had forward contracts outstanding as of October 31, 2020, in Euros, Pounds Sterling, and New Taiwan Dollars with set maturity dates ranging from November 2020 through October 2021. The contract amount at forward rates in U.S. Dollars at October 31, 2020 for Euros and Pounds Sterling was $9.0 million and $3.1 million, respectively. The contract amount at forward rates in U.S. Dollars for New Taiwan Dollars was $13.9 million at October 31, 2020. At October 31, 2020, we had approximately $395,000 of gains, net of tax, related to cash flow hedges deferred in Accumulated other comprehensive loss. Of this amount, $262,000 represented unrealized gains, net of tax, related to cash flow hedge instruments that remain subject to currency fluctuation risk. The majority of these deferred gains will be recorded as an adjustment to Cost of sales and service in periods through October 2021, in which the corresponding inventory that is the subject of the related hedge contract is sold, as described above. We are exposed to foreign currency exchange risk related to our investment in net assets in foreign countries. To manage this risk, we entered into a forward contract with a notional amount of €3.0 million in November 2019. We designated this forward contract as a hedge of our net investment in Euro denominated assets. We selected the forward method under FASB guidance related to the accounting for derivative instruments and hedging activities. The forward method requires all changes in the fair value of the contract to be reported as a cumulative translation adjustment, net of tax, in Accumulated other comprehensive loss in the same manner as the underlying hedged net assets. This forward contract matured in November 2020, and we entered into a new forward contract for the same notional amount that is set to mature in November 2021. As of October 31, 2020, we had a realized gain of $947,000 and an unrealized loss of $78,000, net of tax, recorded as cumulative translation adjustments in Accumulated other comprehensive loss, related to these forward contracts. Derivatives Not Designated as Hedging Instruments We enter into foreign currency forward exchange contracts to protect against the effects of foreign currency fluctuations on inter-company receivables, payables, and loans denominated in foreign currencies. These derivative instruments are not designated as hedges under FASB guidance and, as a result, changes in their fair value are reported currently as Other expense, net in the Consolidated Statements of Operations consistent with the transaction gain or loss on the related inter-company receivables, payables and loans denominated in foreign currencies. We had forward contracts outstanding as of October 31, 2020, in Euros, Pound Sterling, and New Taiwan Dollars with set maturity dates ranging from November 2020 through October 2021. The contract amounts at forward rates in U.S. Dollars at October 31, 2020 for Euros and Pounds Sterling totaled $18.0 million. The contract amount at forward rates in U.S. Dollars for New Taiwan Dollars was $24.5 million at October 31, 2020. Fair Value of Derivative Instruments We recognize the fair value of derivative instruments as assets and liabilities on a gross basis on our Consolidated Balance Sheets. As of October 31, 2020 and October 31, 2019, all derivative instruments were recorded at fair value on the balance sheets as follows (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | 2020 | ​ | 2019
​ | ​ | Balance Sheet | ​ | Fair | ​ | Balance Sheet | ​ | Fair
Derivatives |  | Location |  | Value |  | Location |  | Value
Designated as Hedging Instruments: | ​ |  | ​ | ​ |  | ​ |  | ​ | ​ |
Foreign exchange forward contracts | ​ | Derivative assets | ​ | $ | 495 | ​ | Derivative assets | ​ | $ | 751
Foreign exchange forward contracts | ​ | Derivative liabilities | ​ | $ | 279 | ​ | Derivative liabilities | ​ | $ | 99
​ | ​ |  | ​ |  | ​ | ​ | ​ | ​ |  | ​
Not Designated as Hedging Instruments: | ​ |  | ​ |  | ​ | ​ | ​ | ​ | ​ | ​
Foreign exchange forward contracts | ​ | Derivative assets | ​ | $ | 473 | ​ | Derivative assets | ​ | $ | 640
Foreign exchange forward contracts | ​ | Derivative liabilities | ​ | $ | 593 | ​ | Derivative liabilities | ​ | $ | 289
​ Effect of Derivative Instruments on the Consolidated Balance Sheets, Statements of Changes in Shareholders’ Equity, and Statements of Operations Derivative instruments had the following effects on our Consolidated Balance Sheets, Statements of Changes in Shareholders’ Equity, and Statements of Operations, net of tax, during the fiscal years ended October 31, 2020, 2019, and 2018 (in thousands):
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | Location of | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Amount of Gain (Loss) | ​ | Gain (Loss) | ​ | Amount of Gain (Loss)
​ | ​ | Recognized in | ​ | Reclassified | ​ | Reclassified from
​ | ​ | Other Comprehensive | ​ | From Other | ​ | Other Comprehensive
​ | ​ | Income (Loss) | ​ | Comprehensive | ​ | Income (Loss)
Derivatives |  | 2020 |  | 2019 |  | 2018 |  | Income (Loss) |  | 2020 |  | 2019 |  | 2018
Designated as Hedging Instruments: | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
(Effective Portion) |  | ​ |  | ​ | ​ | ​ | ​ | ​ |  | ​ |  | ​ | ​ |  |  | ​ | ​ |  | ​ |
Foreign exchange forward contracts | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | Cost of sales | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
– Intercompany sales/purchases | ​ | $ | 395 | ​ | $ | 615 | ​ | $ | 155 | ​ | and service | ​ | $ | 421 |  | $ | 235 |  | $ | (1,355)
–Net Investment | ​ | $ | (64) | ​ | $ | 128 | ​ | $ | 136 | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ We did not recognize any gains or losses as a result of hedges deemed ineffective during fiscal years ended October 31, 2020, 2019, and 2018. We recognized the following gains and losses in our Consolidated Statements of Operations during the fiscal years ended October 31, 2020, 2019, and 2018 on derivative instruments not designated as hedging instruments (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | Amount of Gain (Loss)
​ | ​ | Location of Gain (Loss) | ​ | Recognized in Operations
Derivatives |  | Recognized in Operations |  | 2020 |  | 2019 |  | 2018
Not Designated as Hedging Instruments: |  |  |  | ​ |  |  | ​ | ​ |  | ​ |
Foreign exchange forward contracts |  | Other expense, net | ​ | $ | (171) |  | $ | 514 | ​ | $ | (963)
​ The following table presents the changes in the components of Accumulated other comprehensive loss, net of tax, for the fiscal years ended October 31, 2020 and 2019 (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Foreign | ​ | Cash | ​ | ​ | ​
​ | ​ | Currency | ​ | Flow | ​ | ​ | ​
​ |  | Translation |  | Hedges |  | Total
Balance, October 31, 2018 | ​ | $ | (10,592) |  | $ | 729 | ​ | $ | (9,863)
Other comprehensive income (loss) before reclassifications | ​ |  | 550 | ​ |  | 615 | ​ |  | 1,165
Reclassifications | ​ |  | — | ​ |  | (235) | ​ |  | (235)
Balance, October 31, 2019 | ​ | $ | (10,042) |  | $ | 1,109 | ​ | $ | (8,933)
Other comprehensive income (loss) before reclassifications | ​ |  | 5,969 | ​ |  | 395 | ​ |  | 6,364
Reclassifications | ​ |  | — | ​ |  | (421) | ​ |  | (421)
Balance, October 31, 2020 | ​ | $ | (4,073) |  | $ | 1,083 | ​ | $ | (2,990)
​
Inventories | Inventories. Inventories are stated at the lower of cost or net realizable value, with cost determined using the first–in, first–out method. Provisions are made to reduce excess or obsolete inventories to their estimated realizable value.
Property and Equipment | Property and Equipment. Property and equipment are carried at cost. Depreciation and amortization of assets are provided primarily under the straight–line method over the shorter of the estimated useful lives or the lease terms as follows: ​
​ | ​ | ​
​ |  | Number of Years
Land |  | Indefinite
Building |  | 40
Machines |  | 7 – 10
Shop and office equipment |  | 3 – 7
Building & leasehold improvements |  | 3 – 40
​ Total depreciation and amortization expense recognized for property and equipment was $2.7 million for fiscal 2020, $2.6 million for fiscal 2019, and $2.5 million for fiscal 2018.
Revenue Recognition | Revenue Recognition. We design, manufacture, and sell computerized machine tools. Our computer control systems and software products are primarily sold as integral components of our computerized machine tool products. We also provide machine tool components, automation integration equipment and solutions for job shops, software options, control upgrades, accessories and replacement parts for our products, as well as customer service, training, and applications support. We recognize revenues from the sale of machine tools, components and accessories and services, and reflect the consideration to which we expect to be entitled. We record revenues based on a five-step model in accordance with FASB guidance codified in Accounting Standards Codification (“ASC”) 606, “Revenue from Contracts with Customers” (“ASC 606”). In accordance with ASC 606, we have defined contracts as agreements with our customers and distributors in the form of purchase orders, packing or shipping documents, invoices, and, periodically, verbal requests for components and accessories. For each contract, we identify our performance obligations, which is delivering goods or services, determine the transaction price, allocate the contract transaction price to each of the performance obligations (when applicable), and recognize the revenue when (or as) the performance obligation to the customer is fulfilled. A good or service is transferred when the customer obtains control of that good or service. Our computerized machine tools are general purpose computer-controlled machine tools that are typically used in stand–alone operations. Prior to shipment, we test each machine to ensure the machine’s compliance with standard operating specifications. We deem that the customer obtains control upon delivery of the product and that obtaining control is not contingent upon contractual customer acceptance. Therefore, we recognize revenue from sales of our machine tool systems upon delivery of the product to the customer or distributor, which is normally at the time of shipment. Depending upon geographic location, after shipment, a machine may be installed at the customer’s facilities by a distributor, independent contractor, or by one of our service technicians. In most instances where a machine is sold through a distributor, we have no installation involvement. If sales are direct or through sales agents, we will typically complete the machine installation, which consists of the reassembly of certain parts that were removed for shipping and the re-testing of the machine to ensure that it is performing within the standard specifications. We consider the machine installation process for our three-axis machines to be inconsequential and perfunctory. For our five-axis machines that we install, we estimate the fair value of the installation performance obligation and recognize that installation revenue on a prorata basis over the period of the installation process. From time to time, and depending upon geographic location, we may provide training or freight services. We consider these services to be perfunctory within the context of the contract, as the value of these services typically does not rise to a material level as a component of the total contract value. Service fees from maintenance contracts are deferred and recognized in earnings on a prorata basis over the term of the contract and are generally sold on a stand-alone basis. Customer discounts and estimated product returns are considered variable consideration and are recorded as a reduction of revenue in the same period that the related sales are recorded. We have reviewed the overall sales transactions for variable consideration and have determined that these amounts are not significant.
Allowance for Doubtful Accounts | Allowance for Doubtful Accounts. The allowance for doubtful accounts is based on our best estimate of probable credit issues and historical experience. We perform credit evaluations of the financial condition of our customers. No collateral is required for sales made on open account terms. Concentrations of credit risk with respect to accounts receivable are limited due to the large number of customers comprising our customer base and their dispersion across many geographic areas. We consider trade accounts receivable to be past due when payment is not made by the due date as specified on the customer invoice, and we charge off uncollectible balances when all reasonable collection efforts have been exhausted.
Product Warranty | Product Warranty. Expected future product warranty claims are recorded to expense when the product is sold. Product warranty estimates are established using historical information about the nature, frequency, and average cost of warranty claims. Warranty claims are influenced by factors such as new product introductions, technological developments, the competitive environment, and the costs of component parts. Actual payments for warranty claims could differ from the amounts estimated, requiring adjustments to the liabilities in future periods. See Note 12 of these Notes to Consolidated Financial Statements for further discussion of warranties.
Research and Development Costs | Research and Development Costs. The costs associated with research and development programs for new products and significant product improvements, other than software development costs, which are eligible for capitalization per FASB guidance, are expensed as incurred and are included in Selling, general, and administrative expenses. Research and development expenses totaled $3.5 million, $4.4 million, and $4.7 million, in fiscal 2020, 2019, and 2018, respectively.
Software Development Costs | Software Development Costs. We sell software products that are essential to our machine tools. Costs incurred to develop computer software products and significant enhancements to software features of existing products to be sold or otherwise marketed are capitalized, after technological feasibility is established. Software development costs are amortized on a straight–line basis over the estimated product life of the related software, which ranges from three to five years. We capitalized costs related to software development projects of $1.0 million in fiscal 2020, $1.8 million in fiscal 2019, and $2.3 million in fiscal 2018. Amortization expense for software development costs was $1.5 million, $1.0 million, and $1.1 million, for the fiscal years ended October 31, 2020, 2019, and 2018, respectively. Accumulated amortization at October 31, 2020 and 2019 was $21.0 million and $19.5 million, respectively. Estimated amortization expense for the remaining unamortized software development costs for the fiscal years ending October 31, is as follows (in thousands): ​
​ | ​ | ​ | ​
Fiscal Year |  | Amortization Expense
2021 |  | $ | 1,369
2022 |  | ​ | 1,883
2023 |  | ​ | 1,742
2024 |  | ​ | 1,503
2025 and thereafter |  | ​ | 1,343
​
Goodwill and Intangible Assets | Goodwill and Intangible Assets. Goodwill and indefinite-lived intangibles arising from a business combination are not amortized and charged to expense over time. Instead, goodwill and indefinite-lived intangibles must be reviewed for impairment annually as of the last day of our third fiscal quarter, or more frequently, if circumstances arise indicating potential impairment. For goodwill, if the carrying amount of the reporting unit containing the goodwill exceeds the fair value of that reporting unit, an impairment loss is recognized for that excess, but only to the extent of the goodwill amount allocated to that reporting unit. ​ We have a total of $4.9 million of goodwill for our single reporting unit, arising from the acquisitions of ProCobots, LLC (“ProCobots”) ($2.5 million) in 2019, LCM Precision Technology S.r.l. (“LCM”) ($2.2 million) in 2013, and our wholly-owned distributor located in Michigan ($0.2 million) in 2008. The adverse change in the business climate resulting from the COVID-19 pandemic created triggering events during the second quarter of fiscal 2020, which warranted our review of these assets for potential impairment. With the assistance of a third-party expert, we developed a discounted cash flow model, which included projected growth rates and an appropriate market-participant discount rate, to compute the fair value of the reporting unit as of April 30, 2020. In addition, the fair value determined was also compared to the value obtained using a market approach from guideline public company multiples. The computed fair value of the reporting unit was in excess of our book value of equity as of April 30, 2020, and, therefore, we determined that goodwill and indefinite lived assets were not impaired at that time. ​ Due to the prolonged ongoing uncertainty in the global markets as a result of the COVID-19 pandemic and the net loss for fiscal 2020, we believed there was a risk that the total cash flow projections of this reporting unit could fall short of its previous projections, As such, we reperformed the goodwill impairment test as of October 31, 2020 using a similar discounted cash flow model. As a result of the net loss for fiscal 2020 and the delayed timing of the recovery period, the total cash flow projected at October 31, 2020 fell short of those projected at April 30, 2020, causing the fair value of the reporting unit to fall below our book value of equity as of October 31, 2020, thus, resulting in a full impairment loss of $4.9 million. ​ The changes in the carrying amounts of goodwill for the fiscal year ended October 31, 2020 were as follows (in thousands): ​
​ | ​ | ​ | ​
Balance as of October 31, 2019 |  | $ | 5,847
Changes in goodwill acquired | ​ |  | (972)
Goodwill impairment | ​ | ​ | (4,903)
Impact of foreign currency translation | ​ |  | 28
Balance as of October 31, 2020 | ​ | $ | 0
​ For indefinite-lived intangible assets, if the carrying amount exceeds the fair value, an impairment loss is recognized in an amount equal to that excess. Intangible assets that are determined to have a finite life are amortized over their estimated useful lives and are also subject to review for impairment, if indicators of impairment are identified. There were no impairments recognized with respect to the carrying value of intangible assets for the years ended October 31, 2020, 2019, or 2018. As of October 31, 2020, the balances of intangible assets, other than goodwill, were as follows (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Weighted | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Average | ​ | Gross | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Amortization | ​ | Intangible | ​ | Accumulated | ​ | Net Intangible
​ |  | Period |  | Assets |  | Amortization |  | Assets
Tradenames and trademarks |  | indefinite | ​ | $ | 177 |  | $ | — | ​ | $ | 177
Tradenames and trademarks |  | 14 | years | ​ |  | 765 | ​ |  | (181) | ​ |  | 584
Customer relationships |  | 15 | years | ​ |  | 374 | ​ |  | (199) | ​ |  | 175
Technology |  | 13 | years | ​ |  | 713 | ​ |  | (402) | ​ |  | 311
Noncompete | ​ | 5 | years | ​ | ​ | 580 | ​ | ​ | (145) | ​ | ​ | 435
Patents |  | 6 | years | ​ |  | 2,972 | ​ |  | (2,837) | ​ |  | 135
Other |  | 8 | years | ​ |  | 397 | ​ |  | (368) | ​ |  | 29
Total |  | ​ |  | ​ | $ | 5,978 |  | $ | (4,132) | ​ | $ | 1,846
​ As of October 31, 2019, the balances of intangible assets, other than goodwill, were as follows (in thousands):
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Weighted | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Average | ​ | Gross | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Amortization | ​ | Intangible | ​ | Accumulated | ​ | Net Intangible
​ |  | Period |  | Assets |  | Amortization |  | Assets
Tradenames and trademarks |  | indefinite | ​ | $ | 60 |  | $ | — | ​ | $ | 60
Tradenames and trademarks |  | 13 | years | ​ |  | 408 | ​ |  | (114) | ​ |  | 294
Customer relationships |  | 15 | years | ​ |  | 372 | ​ |  | (173) | ​ |  | 199
Technology |  | 13 | years | ​ |  | 683 | ​ |  | (333) | ​ |  | 350
Patents |  | 6 | years | ​ |  | 2,972 | ​ |  | (2,813) | ​ |  | 159
Other |  | 8 | years | ​ |  | 375 | ​ |  | (341) | ​ |  | 34
Total |  | ​ |  | ​ | $ | 4,870 |  | $ | (3,774) | ​ | $ | 1,096
​ Intangible asset amortization expense was $358,000, $117,000, and $107,000 for fiscal 2020, 2019, and 2018, respectively. Annual intangible asset amortization expense is estimated to be $280,000 per year for fiscal years 2021 through 2025.
Impairment of Long-Lived Assets | Impairment of Long–Lived Assets. Annually, or when there are indicators of impairment, we evaluate the carrying value of long–lived assets to be held and used, including property and equipment, software development costs, and intangible assets, including goodwill, when events or circumstances warrant such a review. The carrying value of a long-lived asset (or group of assets) to be held and used is considered impaired when the anticipated separately identifiable undiscounted cash flows from such an asset (or group of assets) are less than the carrying value of the asset (or group of assets). The adverse change in the business climate resulting from the COVID-19 pandemic created triggering events during the second quarter of fiscal 2020, which warranted our review of these assets for potential impairment as of April 30, 2020. We determined that we have a single asset group due to the interdependent nature of our operations. We estimated the cash flows during the remaining useful life of the primary asset, and our undiscounted cash flow was in excess of the book value of our single asset group, and therefore, there was no impairment indications for our long-lived assets for the period ended April 30, 2020. Due to the prolonged ongoing uncertainty in the global markets as a result of the COVID-19 pandemic and the net loss for fiscal 2020, we believed there was a risk that the total cash flow projections could fall short of its previous projections, As such, we reevaluated the cash flows during the remaining useful life of the primary asset as of October 31, 2020. The result indicated that our undiscounted cash flow continued to be in excess of the book value of our single asset group, and therefore, there was no impairment indications for our long-lived assets for the period ended October 31, 2020. Thus, there was no impairment recognized with respect to the carrying values of long-lived assets for the years ended October 31, 2020, 2019, or 2018.
Earnings Per Share | Earnings Per Share. Basic earnings per share is calculated by dividing net income (loss) by the weighted–average number of common shares actually outstanding during the period. Diluted earnings per share assumes the issuance of additional shares of common stock upon exercise of all outstanding stock options and contingently issuable securities if the effect is dilutive, in accordance with the treasury stock method discussed in FASB guidance on “Earnings Per Share.” The following table presents a reconciliation of our basic and diluted earnings per share computation: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Fiscal Year Ended October 31,
​ | ​ | 2020 | ​ | 2019 | ​ | 2018
(in thousands, except per share amounts) |  | Basic |  | Diluted |  | Basic |  | Diluted |  | Basic |  | Diluted
Net income (loss) | ​ | $ | (6,247) | ​ | $ | (6,247) | ​ | $ | 17,495 | ​ | $ | 17,495 | ​ | $ | 21,490 | ​ | $ | 21,490
Undistributed earnings (loss) allocated to participating shares | ​ |  | 66 | ​ |  | 66 | ​ |  | (147) | ​ |  | (147) | ​ |  | (132) | ​ |  | (132)
Net income (loss) applicable to common shareholders | ​ | $ | (6,181) | ​ | $ | (6,181) | ​ | $ | 17,348 | ​ | $ | 17,348 | ​ | $ | 21,358 | ​ | $ | 21,358
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Weighted average shares outstanding | ​ |  | 6,670 | ​ |  | 6,670 | ​ |  | 6,759 | ​ |  | 6,759 | ​ |  | 6,700 | ​ |  | 6,700
Stock options and contingently issuable securities | ​ |  | — | ​ |  | — | ​ |  | — | ​ |  | 56 | ​ |  | — | ​ |  | 71
​ | ​ |  | 6,670 | ​ |  | 6,670 | ​ |  | 6,759 | ​ |  | 6,815 | ​ |  | 6,700 | ​ |  | 6,771
Income (loss) per share | ​ | $ | (0.93) | ​ | $ | (0.93) | ​ | $ | 2.57 | ​ | $ | 2.55 | ​ | $ | 3.19 | ​ | $ | 3.15
​
Income Taxes | Income Taxes – We account for income taxes and the related accounts under the asset and liability method. Deferred tax assets and liabilities are measured using enacted income tax rates in each jurisdiction in effect for the year in which the temporary differences are expected to be recovered or settled. These deferred tax assets are reduced by a valuation allowance, which is established when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Net deferred tax assets and liabilities are classified as non-current in the consolidated financial statements. Our judgment regarding the realization of deferred tax assets may change due to future profitability and market conditions, changes in U.S. or foreign tax laws and other factors. These changes, if any, may require material adjustments to these deferred tax assets and an accompanying reduction or increase in net income in the period when such determinations are made. The determination of our provision for income taxes requires judgment, the use of estimates, and the interpretation and application of complex federal, state and foreign tax laws. Our provision for income taxes reflects a combination of income earned and taxed at the federal and state level in the U.S., as well as in various foreign jurisdictions. In addition to the risks to the effective tax rate described above, the future effective tax rate reflected in forward–looking statements is based on currently effective tax laws. Significant changes in those laws could materially affect these estimates. We operate in multiple jurisdictions through wholly-owned subsidiaries, and our global structure is complex. The estimates of our uncertain tax positions involve judgments and assessment of the potential tax implications. We recognize uncertain tax positions when it is more likely than not that the tax position will be sustained upon examination by relevant taxing authorities, based on the technical merits of the position. The amount recognized is measured as the largest amount of benefit that is greater than 50 percent likely of being realized upon ultimate settlement. Our tax positions are subject to audit by taxing authorities across multiple global jurisdictions, and the resolution of such audits may span multiple years. Tax law is complex and often subject to varied interpretations. Accordingly, the ultimate outcome with respect to taxes we may owe may differ from the amounts recognized.
Stock Compensation | Stock Compensation. We account for share–based compensation according to FASB guidance relating to share–based payments, which requires the measurement and recognition of compensation expense for all share–based awards made to employees and directors based on estimated fair values on the grant date. This guidance requires that we estimate the fair value of share–based awards on the date of grant and recognize as expense the value of the portion of the award that is ultimately expected to vest over the requisite service period.
Estimates | Estimates. The preparation of financial statements in conformity with U.S. Generally Accepted Accounting Principles requires us to make estimates and assumptions that affect the reported amounts presented and disclosed in our consolidated financial statements. Significant estimates and assumptions in these consolidated financial statements require the exercise of judgment and are used for, but not limited to, allowance for doubtful accounts, estimates of future cash flows and other assumptions associated with goodwill, intangible and long–lived asset impairment tests, useful lives for depreciation and amortization, warranty programs, stock compensation, income taxes and deferred tax valuation allowances, and contingencies. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be different from these estimates.

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

X
- Definition Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(1)) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 + Details
Name: | us-gaap_CashAndCashEquivalentsPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 810 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684 + Details
Name: | us-gaap_ConsolidationPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for its derivative instruments and hedging activities. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=121590274&loc=d3e41620-113959 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=121590274&loc=d3e41638-113959 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 1A -URI http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 7 -URI http://asc.fasb.org/extlink&oid=121590274&loc=d3e41675-113959 Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08.(n)) -URI http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690 Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=121590274&loc=SL5579240-113959 + Details
Name: | us-gaap_DerivativesPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257 + Details
Name: | us-gaap_EarningsPerSharePolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 830 -URI http://asc.fasb.org/topic&trid=2175825 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 + Details
Name: | us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275 + Details
Name: | us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for the impairment and disposal of long-lived assets including goodwill and other intangible assets. + References No definition available. + Details
Name: | us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 45 -Paragraph 25 -URI http://asc.fasb.org/extlink&oid=120406818&loc=d3e32247-109318 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 954 -SubTopic 740 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 19 -URI http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 9 -URI http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 45 -Paragraph 28 -URI http://asc.fasb.org/extlink&oid=120406818&loc=d3e32280-109318 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 17 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319 + Details
Name: | us-gaap_IncomeTaxPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 330 -SubTopic 10 -Section 50 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 330 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 270 -SubTopic 10 -Section 45 -Paragraph 6 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 330 -URI http://asc.fasb.org/topic&trid=2126998 Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.6(b)) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_InventoryPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 205 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6359566&loc=d3e326-107755 + Details
Name: | us-gaap_PriorPeriodReclassificationAdjustmentDescription
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 958 -SubTopic 360 -Section 50 -Paragraph 1 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.13(a)) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 958 -SubTopic 360 -Section 50 -Paragraph 6 -URI http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 360 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 + Details
Name: | us-gaap_PropertyPlantAndEquipmentPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(4)) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 9 -URI http://asc.fasb.org/extlink&oid=121611835&loc=d3e5144-111524 + Details
Name: | us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 730 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373 + Details
Name: | us-gaap_ResearchAndDevelopmentExpensePolicy
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for revenue from contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 17 -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130561-203045 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 20 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 18 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -URI http://asc.fasb.org/topic&trid=49130388 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 20 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 18 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 20 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 19 -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130564-203045 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 20 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (b),(f) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901 + Details
Name: | us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for costs incurred to (1) establish the technological feasibility of a computer software product to be sold, leased, or otherwise marketed; and (2) produce product masters after establishing technological feasibility. This accounting policy also may apply to purchased computer software. This policy also may address the entity's amortization policy for its capitalized computer software costs and how it evaluates such capitalized costs for impairment. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756 + Details
Name: | us-gaap_SoftwareToBeSoldLeasedOrOtherwiseMarketedPolicy
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for standard warranties including the methodology for measuring the liability. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 460 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790 + Details
Name: | us-gaap_StandardProductWarrantyPolicy
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 12 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 11 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 9 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592 Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 8 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592 + Details
Name: | us-gaap_UseOfEstimates
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration