2020 Q2 Form 10-K Financial Statement
#000162828020010300 Filed on July 10, 2020
Income Statement
Concept | 2020 Q2 | 2020 | 2019 Q2 |
---|---|---|---|
Revenue | $29.27M | $115.5M | $26.27M |
YoY Change | 11.43% | 6.22% | -10.53% |
Cost Of Revenue | $13.37M | $52.31M | $11.99M |
YoY Change | 11.51% | 0.66% | -7.34% |
Gross Profit | $15.91M | $63.16M | $14.28M |
YoY Change | 11.38% | 11.31% | -13.05% |
Gross Profit Margin | 54.34% | 54.7% | 54.36% |
Selling, General & Admin | $10.31M | $41.48M | $9.910M |
YoY Change | 4.04% | 9.16% | -2.65% |
% of Gross Profit | 64.81% | 65.67% | 69.39% |
Research & Development | $3.960M | $15.35M | $3.260M |
YoY Change | 21.47% | 17.36% | -10.19% |
% of Gross Profit | 24.89% | 24.3% | 22.83% |
Depreciation & Amortization | $1.790M | $8.103M | $2.050M |
YoY Change | -12.68% | 4.97% | 19.19% |
% of Gross Profit | 11.25% | 12.83% | 14.35% |
Operating Expenses | $14.31M | $57.11M | $13.27M |
YoY Change | 7.84% | 10.97% | -4.53% |
Operating Profit | $1.589M | $6.048M | $1.013M |
YoY Change | 56.86% | 14.63% | -58.87% |
Interest Expense | $290.0K | $1.500M | $540.0K |
YoY Change | -46.3% | -28.57% | -69.32% |
% of Operating Profit | 18.25% | 24.8% | 53.31% |
Other Income/Expense, Net | -$1.760M | -$774.0K | $730.0K |
YoY Change | -341.1% | -383.52% | -104.5% |
Pretax Income | $120.0K | $6.798M | $2.290M |
YoY Change | -94.76% | -11.03% | 27.22% |
Income Tax | -$420.0K | $56.00K | $410.0K |
% Of Pretax Income | -350.0% | 0.82% | 17.9% |
Net Earnings | $545.0K | $6.742M | $1.874M |
YoY Change | -70.92% | -0.9% | 47.79% |
Net Earnings / Revenue | 1.86% | 5.84% | 7.13% |
Basic Earnings Per Share | $0.21 | ||
Diluted Earnings Per Share | $0.02 | $0.21 | $0.06 |
COMMON SHARES | |||
Basic Shares Outstanding | 31.75M shares | ||
Diluted Shares Outstanding | 32.37M shares |
Balance Sheet
Concept | 2020 Q2 | 2020 | 2019 Q2 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $94.00M | $94.00M | $86.00M |
YoY Change | 9.3% | 9.3% | 9.0% |
Cash & Equivalents | $79.81M | $79.80M | $61.29M |
Short-Term Investments | $14.20M | $14.20M | $24.70M |
Other Short-Term Assets | $6.700M | $6.700M | $6.200M |
YoY Change | 8.06% | 8.06% | -6.06% |
Inventory | |||
Prepaid Expenses | |||
Receivables | $22.58M | $25.00M | $18.82M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $125.7M | $125.7M | $112.5M |
YoY Change | 11.7% | 11.73% | 4.08% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $3.373M | $5.400M | $3.585M |
YoY Change | -5.91% | 50.0% | 18.16% |
Goodwill | $25.89M | $25.89M | |
YoY Change | 0.0% | 0.0% | |
Intangibles | $1.132M | $2.732M | |
YoY Change | -58.57% | -46.64% | |
Long-Term Investments | $700.0K | $700.0K | $2.500M |
YoY Change | -72.0% | -72.0% | -71.91% |
Other Assets | $1.941M | $4.100M | $1.510M |
YoY Change | 28.54% | 32.26% | -63.19% |
Total Long-Term Assets | $45.63M | $45.60M | $48.81M |
YoY Change | -6.52% | -6.56% | -14.02% |
TOTAL ASSETS | |||
Total Short-Term Assets | $125.7M | $125.7M | $112.5M |
Total Long-Term Assets | $45.63M | $45.60M | $48.81M |
Total Assets | $171.3M | $171.3M | $161.3M |
YoY Change | 6.19% | 6.2% | -2.15% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $1.643M | $1.600M | $2.448M |
YoY Change | -32.88% | -33.33% | 24.01% |
Accrued Expenses | $7.400M | $7.400M | $2.600M |
YoY Change | 184.62% | 184.62% | -58.73% |
Deferred Revenue | $34.23M | $33.28M | |
YoY Change | 2.84% | 1.77% | |
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | |||
YoY Change | |||
Total Short-Term Liabilities | $47.46M | $47.50M | $43.10M |
YoY Change | 10.11% | 10.21% | -6.55% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $92.00K | $1.500M | $88.00K |
YoY Change | 4.55% | 1400.0% | -94.12% |
Total Long-Term Liabilities | $92.00K | $1.500M | $88.00K |
YoY Change | 4.55% | 1400.0% | -94.12% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $47.46M | $47.50M | $43.10M |
Total Long-Term Liabilities | $92.00K | $1.500M | $88.00K |
Total Liabilities | $51.87M | $51.90M | $46.70M |
YoY Change | 11.07% | 11.13% | -7.55% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | -$9.013M | -$1.729M | |
YoY Change | 421.28% | -133.78% | |
Common Stock | $150.3M | $138.3M | |
YoY Change | 8.67% | 5.38% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $119.4M | $119.4M | $114.6M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $171.3M | $171.3M | $161.3M |
YoY Change | 6.19% | 6.2% | -2.15% |
Cashflow Statement
Concept | 2020 Q2 | 2020 | 2019 Q2 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $545.0K | $6.742M | $1.874M |
YoY Change | -70.92% | -0.9% | 47.79% |
Depreciation, Depletion And Amortization | $1.790M | $8.103M | $2.050M |
YoY Change | -12.68% | 4.97% | 19.19% |
Cash From Operating Activities | $12.87M | $25.98M | $10.32M |
YoY Change | 24.71% | 8.58% | 637.14% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$550.0K | $420.0K | -$2.030M |
YoY Change | -72.91% | -66.45% | -6.02% |
Acquisitions | $0.00 | ||
YoY Change | |||
Other Investing Activities | $0.00 | $0.00 | $0.00 |
YoY Change | -100.0% | ||
Cash From Investing Activities | -$550.0K | -$3.590M | -$2.030M |
YoY Change | -72.91% | -50.23% | -1.46% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | $13.94M | ||
YoY Change | 2.56% | ||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -1.310M | -$3.866M | -2.050M |
YoY Change | -36.1% | -52.99% | 40.41% |
NET CHANGE | |||
Cash From Operating Activities | 12.87M | $25.98M | 10.32M |
Cash From Investing Activities | -550.0K | -$3.590M | -2.030M |
Cash From Financing Activities | -1.310M | -$3.866M | -2.050M |
Net Change In Cash | 11.01M | $18.53M | 6.240M |
YoY Change | 76.44% | 118.11% | -394.34% |
FREE CASH FLOW | |||
Cash From Operating Activities | $12.87M | $25.98M | $10.32M |
Capital Expenditures | -$550.0K | $420.0K | -$2.030M |
Free Cash Flow | $13.42M | $25.56M | $12.35M |
YoY Change | 8.66% | 12.72% | 246.91% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2018 | amswa |
Deferred Income Tax Expense Benefit Before Valuation Allowance
DeferredIncomeTaxExpenseBenefitBeforeValuationAllowance
|
1823000 | USD |
CY2019 | amswa |
Deferred Income Tax Expense Benefit Before Valuation Allowance
DeferredIncomeTaxExpenseBenefitBeforeValuationAllowance
|
330000 | USD |
CY2020 | amswa |
Deferred Income Tax Expense Benefit Before Valuation Allowance
DeferredIncomeTaxExpenseBenefitBeforeValuationAllowance
|
-639000 | USD |
CY2020Q2 | amswa |
Deferred Tax Assets Operating Lease Right Of Use Liability
DeferredTaxAssetsOperatingLeaseRightOfUseLiability
|
547000 | USD |
CY2019Q2 | amswa |
Deferred Tax Liabilities Deferred Commission
DeferredTaxLiabilitiesDeferredCommission
|
1000000 | USD |
CY2020Q2 | amswa |
Deferred Tax Liabilities Deferred Commission
DeferredTaxLiabilitiesDeferredCommission
|
1242000 | USD |
CY2020Q2 | amswa |
Deferred Tax Liabilities Operating Lease Right Of Use Assets
DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
|
513000 | USD |
CY2019 | amswa |
Intangible Assets Amortization Expense
IntangibleAssetsAmortizationExpense
|
2388000 | USD |
CY2020 | amswa |
Intangible Assets Amortization Expense
IntangibleAssetsAmortizationExpense
|
1600000 | USD |
CY2020 | amswa |
Number Of Major Product And Service Groups
NumberOfMajorProductAndServiceGroups
|
6 | Group |
CY2020 | amswa |
Number Of Stock Based Compensation Plans
NumberOfStockBasedCompensationPlans
|
1 | CompensationPlan |
CY2018 | amswa |
Payments To Acquire Securities Trading
PaymentsToAcquireSecuritiesTrading
|
24541000 | USD |
CY2019 | amswa |
Payments To Acquire Securities Trading
PaymentsToAcquireSecuritiesTrading
|
10254000 | USD |
CY2020 | amswa |
Payments To Acquire Securities Trading
PaymentsToAcquireSecuritiesTrading
|
22433000 | USD |
CY2018 | amswa |
Payments To Develop Software To Be Sold Leased Or Otherwise Marketed
PaymentsToDevelopSoftwareToBeSoldLeasedOrOtherwiseMarketed
|
4804000 | USD |
CY2019 | amswa |
Payments To Develop Software To Be Sold Leased Or Otherwise Marketed
PaymentsToDevelopSoftwareToBeSoldLeasedOrOtherwiseMarketed
|
5961000 | USD |
CY2020 | amswa |
Payments To Develop Software To Be Sold Leased Or Otherwise Marketed
PaymentsToDevelopSoftwareToBeSoldLeasedOrOtherwiseMarketed
|
3170000 | USD |
CY2018 | amswa |
Proceeds From Sale And Maturityof Securities Trading
ProceedsFromSaleAndMaturityofSecuritiesTrading
|
13568000 | USD |
CY2019 | amswa |
Proceeds From Sale And Maturityof Securities Trading
ProceedsFromSaleAndMaturityofSecuritiesTrading
|
18447000 | USD |
CY2020 | amswa |
Proceeds From Sale And Maturityof Securities Trading
ProceedsFromSaleAndMaturityofSecuritiesTrading
|
34202000 | USD |
CY2018 | amswa |
Provision For Income Tax Realized From Stock Options Exercised
ProvisionForIncomeTaxRealizedFromStockOptionsExercised
|
186000 | USD |
CY2019 | amswa |
Provision For Income Tax Realized From Stock Options Exercised
ProvisionForIncomeTaxRealizedFromStockOptionsExercised
|
298000 | USD |
CY2020 | amswa |
Provision For Income Tax Realized From Stock Options Exercised
ProvisionForIncomeTaxRealizedFromStockOptionsExercised
|
878000 | USD |
CY2018 | amswa |
Research And Development Costs Including Software Development Costs
ResearchAndDevelopmentCostsIncludingSoftwareDevelopmentCosts
|
16681000 | USD |
CY2019 | amswa |
Research And Development Costs Including Software Development Costs
ResearchAndDevelopmentCostsIncludingSoftwareDevelopmentCosts
|
19039000 | USD |
CY2020 | amswa |
Research And Development Costs Including Software Development Costs
ResearchAndDevelopmentCostsIncludingSoftwareDevelopmentCosts
|
18518000 | USD |
CY2018 | amswa |
Revenue From Contracts With Customer Excluding Assessed Tax Reimbursements Recognized As Revenue
RevenueFromContractsWithCustomerExcludingAssessedTaxReimbursementsRecognizedAsRevenue
|
1900000 | USD |
CY2019 | amswa |
Revenue From Contracts With Customer Excluding Assessed Tax Reimbursements Recognized As Revenue
RevenueFromContractsWithCustomerExcludingAssessedTaxReimbursementsRecognizedAsRevenue
|
1400000 | USD |
CY2020 | amswa |
Revenue From Contracts With Customer Excluding Assessed Tax Reimbursements Recognized As Revenue
RevenueFromContractsWithCustomerExcludingAssessedTaxReimbursementsRecognizedAsRevenue
|
1500000 | USD |
CY2020 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2020 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--04-30 | |
CY2020 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2020 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2020 | |
CY2020 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2020-04-30 | |
CY2020 | dei |
Document Type
DocumentType
|
10-K | |
CY2020 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0000713425 | |
CY2020 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2020 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2020 | dei |
Entity Filer Category
EntityFilerCategory
|
Accelerated Filer | |
CY2018Q4 | dei |
Entity Public Float
EntityPublicFloat
|
516500000 | USD |
CY2020 | dei |
Entity Registrant Name
EntityRegistrantName
|
AMERICAN SOFTWARE INC | |
CY2020 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2020 | dei |
Entity Small Business
EntitySmallBusiness
|
false | |
CY2020 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2020 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
No | |
CY2019Q2 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
2448000 | USD |
CY2020Q2 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1643000 | USD |
CY2019Q2 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
18819000 | USD |
CY2020Q2 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
22582000 | USD |
CY2019Q2 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
29327000 | USD |
CY2020Q2 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
29959000 | USD |
CY2019Q2 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
138315000 | USD |
CY2020Q2 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
150312000 | USD |
CY2018 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1467000 | USD |
CY2019 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1751000 | USD |
CY2020 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
2027000 | USD |
CY2018 | us-gaap |
Advertising Expense
AdvertisingExpense
|
2400000 | USD |
CY2019 | us-gaap |
Advertising Expense
AdvertisingExpense
|
2300000 | USD |
CY2020 | us-gaap |
Advertising Expense
AdvertisingExpense
|
2900000 | USD |
CY2019Q2 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
153000 | USD |
CY2020Q2 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
264000 | USD |
CY2018 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
580000 | USD |
CY2019 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
388000 | USD |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
285000 | USD |
CY2019Q2 | us-gaap |
Assets
Assets
|
161310000 | USD |
CY2020Q2 | us-gaap |
Assets
Assets
|
171293000 | USD |
CY2019Q2 | us-gaap |
Assets Current
AssetsCurrent
|
112502000 | USD |
CY2020Q2 | us-gaap |
Assets Current
AssetsCurrent
|
125666000 | USD |
CY2019Q2 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
83839000 | USD |
CY2020Q2 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
90118000 | USD |
CY2019Q2 | us-gaap |
Capitalized Computer Software Accumulated Amortization
CapitalizedComputerSoftwareAccumulatedAmortization
|
28740000 | USD |
CY2020Q2 | us-gaap |
Capitalized Computer Software Accumulated Amortization
CapitalizedComputerSoftwareAccumulatedAmortization
|
34611000 | USD |
CY2018 | us-gaap |
Capitalized Computer Software Additions
CapitalizedComputerSoftwareAdditions
|
4804000 | USD |
CY2019 | us-gaap |
Capitalized Computer Software Additions
CapitalizedComputerSoftwareAdditions
|
5961000 | USD |
CY2020 | us-gaap |
Capitalized Computer Software Additions
CapitalizedComputerSoftwareAdditions
|
3170000 | USD |
CY2018 | us-gaap |
Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
|
3690000 | USD |
CY2019 | us-gaap |
Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
|
4627000 | USD |
CY2020 | us-gaap |
Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
|
5871000 | USD |
CY2019Q2 | us-gaap |
Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
|
39803000 | USD |
CY2020Q2 | us-gaap |
Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
|
42973000 | USD |
CY2019Q2 | us-gaap |
Capitalized Computer Software Net
CapitalizedComputerSoftwareNet
|
11063000 | USD |
CY2020Q2 | us-gaap |
Capitalized Computer Software Net
CapitalizedComputerSoftwareNet
|
8362000 | USD |
CY2020 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
2100000 | USD |
CY2020Q2 | us-gaap |
Capitalized Contract Cost Amortization Period
CapitalizedContractCostAmortizationPeriod
|
P6Y | |
CY2019Q2 | us-gaap |
Capitalized Contract Cost Net
CapitalizedContractCostNet
|
2300000 | USD |
CY2020Q2 | us-gaap |
Capitalized Contract Cost Net
CapitalizedContractCostNet
|
3500000 | USD |
CY2019Q2 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
1546000 | USD |
CY2020Q2 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
2177000 | USD |
CY2019Q2 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
61288000 | USD |
CY2020Q2 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
79814000 | USD |
CY2019Q2 | us-gaap |
Cash And Cash Equivalents Fair Value Disclosure
CashAndCashEquivalentsFairValueDisclosure
|
56645000 | USD |
CY2020Q2 | us-gaap |
Cash And Cash Equivalents Fair Value Disclosure
CashAndCashEquivalentsFairValueDisclosure
|
75256000 | USD |
CY2017Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
66001000 | USD |
CY2018Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
52794000 | USD |
CY2019Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
61288000 | USD |
CY2020Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
79814000 | USD |
CY2018 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-13207000 | USD |
CY2019 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
8494000 | USD |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
18526000 | USD |
CY2019Q2 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
56600000 | USD |
CY2020Q2 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
75300000 | USD |
CY2019Q2 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2020Q2 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2019Q2 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
33283000 | USD |
CY2020Q2 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
34227000 | USD |
CY2020 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
31000000 | USD |
CY2018 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
50000000 | USD |
CY2019 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
51966000 | USD |
CY2020 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
52308000 | USD |
CY2018Q2 | us-gaap |
Cumulative Effect Of New Accounting Principle In Period Of Adoption
CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption
|
1753000 | USD |
CY2018 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
2298000 | USD |
CY2019 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
184000 | USD |
CY2020 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
295000 | USD |
CY2018 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
3041000 | USD |
CY2019 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
518000 | USD |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
665000 | USD |
CY2018 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
743000 | USD |
CY2019 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
334000 | USD |
CY2020 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
370000 | USD |
CY2018 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
321000 | USD |
CY2019 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
256000 | USD |
CY2020 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-513000 | USD |
CY2018 | us-gaap |
Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
|
621000 | USD |
CY2019 | us-gaap |
Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
|
320000 | USD |
CY2020 | us-gaap |
Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
|
-609000 | USD |
CY2018 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
621000 | USD |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
320000 | USD |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-609000 | USD |
CY2019Q2 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
5588000 | USD |
CY2020Q2 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
5596000 | USD |
CY2019Q2 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
3514000 | USD |
CY2020Q2 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
2897000 | USD |
CY2019Q2 | us-gaap |
Deferred Revenue
DeferredRevenue
|
33283000 | USD |
CY2020Q2 | us-gaap |
Deferred Revenue
DeferredRevenue
|
34227000 | USD |
CY2019Q2 | us-gaap |
Deferred Revenue Current
DeferredRevenueCurrent
|
33283000 | USD |
CY2020Q2 | us-gaap |
Deferred Revenue Current
DeferredRevenueCurrent
|
34227000 | USD |
CY2019Q2 | us-gaap |
Deferred Revenue Noncurrent
DeferredRevenueNoncurrent
|
0 | USD |
CY2020Q2 | us-gaap |
Deferred Revenue Noncurrent
DeferredRevenueNoncurrent
|
0 | USD |
CY2018 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
300000 | USD |
CY2019 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
64000 | USD |
CY2020 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-96000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
2234000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
2889000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
2074000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
2699000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards State And Local
DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
|
217000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards State And Local
DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
|
226000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Assets Property Plant And Equipment
DeferredTaxAssetsPropertyPlantAndEquipment
|
831000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Property Plant And Equipment
DeferredTaxAssetsPropertyPlantAndEquipment
|
822000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards
DeferredTaxAssetsTaxCreditCarryforwards
|
83000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
858000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
848000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
|
328000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
|
363000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
160000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
190000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
3514000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
2897000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Liabilities Deferred Expense Capitalized Software
DeferredTaxLiabilitiesDeferredExpenseCapitalizedSoftware
|
2766000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Liabilities Deferred Expense Capitalized Software
DeferredTaxLiabilitiesDeferredExpenseCapitalizedSoftware
|
2090000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
639000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
746000 | USD |
CY2019Q2 | us-gaap |
Deferred Tax Liabilities Unrealized Gains On Trading Securities
DeferredTaxLiabilitiesUnrealizedGainsOnTradingSecurities
|
1183000 | USD |
CY2020Q2 | us-gaap |
Deferred Tax Liabilities Unrealized Gains On Trading Securities
DeferredTaxLiabilitiesUnrealizedGainsOnTradingSecurities
|
1005000 | USD |
CY2018 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
330000 | USD |
CY2019 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
429000 | USD |
CY2020 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
451000 | USD |
CY2020 | us-gaap |
Defined Contribution Plan Maximum Annual Contributions Per Employee Amount
DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount
|
19500 | USD |
CY2018 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
500000 | USD |
CY2019 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
700000 | USD |
CY2020 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
600000 | USD |
CY2018 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
6030000 | USD |
CY2019 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
7719000 | USD |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
8103000 | USD |
CY2018 | us-gaap |
Dividends Common Stock
DividendsCommonStock
|
13295000 | USD |
CY2019 | us-gaap |
Dividends Common Stock
DividendsCommonStock
|
13651000 | USD |
CY2020 | us-gaap |
Dividends Common Stock
DividendsCommonStock
|
14026000 | USD |
CY2019Q2 | us-gaap |
Dividends Payable Current
DividendsPayableCurrent
|
3434000 | USD |
CY2020Q2 | us-gaap |
Dividends Payable Current
DividendsPayableCurrent
|
3547000 | USD |
CY2018Q2 | us-gaap |
Dividends Payable Current And Noncurrent
DividendsPayableCurrentAndNoncurrent
|
3367000 | USD |
CY2019Q2 | us-gaap |
Dividends Payable Current And Noncurrent
DividendsPayableCurrentAndNoncurrent
|
3434000 | USD |
CY2020Q2 | us-gaap |
Dividends Payable Current And Noncurrent
DividendsPayableCurrentAndNoncurrent
|
3547000 | USD |
CY2018 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.40 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.22 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.21 | |
CY2018 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.40 | |
CY2018Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.04 | |
CY2018Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.04 | |
CY2019Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.07 | |
CY2019Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.06 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.22 | |
CY2019Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.04 | |
CY2019Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.05 | |
CY2020Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.10 | |
CY2020Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.02 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.21 | |
CY2018 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.23 | |
CY2019 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.11 | |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.01 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.303 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-165000 | USD |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-251000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-737000 | USD |
CY2019Q2 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
2561000 | USD |
CY2020Q2 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
6635000 | USD |
CY2020 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
|
P1Y10M24D | |
CY2020Q2 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
|
3400000 | USD |
CY2018 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
39000 | USD |
CY2019 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
300000 | USD |
CY2020 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
700000 | USD |
CY2019Q2 | us-gaap |
Equity Securities Fv Ni
EquitySecuritiesFvNi
|
11002000 | USD |
CY2020Q2 | us-gaap |
Equity Securities Fv Ni
EquitySecuritiesFvNi
|
11758000 | USD |
CY2018 | us-gaap |
Gain Loss On Investments
GainLossOnInvestments
|
254000 | USD |
CY2019 | us-gaap |
Gain Loss On Investments
GainLossOnInvestments
|
373000 | USD |
CY2020 | us-gaap |
Gain Loss On Investments
GainLossOnInvestments
|
-563000 | USD |
CY2018 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
0 | USD |
CY2019 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
4000 | USD |
CY2020 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
0 | USD |
CY2018 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
16057000 | USD |
CY2019 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
17006000 | USD |
CY2020 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
19519000 | USD |
CY2018Q2 | us-gaap |
Goodwill
Goodwill
|
25888000 | USD |
CY2019Q2 | us-gaap |
Goodwill
Goodwill
|
25888000 | USD |
CY2020Q2 | us-gaap |
Goodwill
Goodwill
|
25888000 | USD |
CY2018 | us-gaap |
Gross Profit
GrossProfit
|
62703000 | USD |
CY2018Q3 | us-gaap |
Gross Profit
GrossProfit
|
13752000 | USD |
CY2018Q4 | us-gaap |
Gross Profit
GrossProfit
|
14667000 | USD |
CY2019Q1 | us-gaap |
Gross Profit
GrossProfit
|
14039000 | USD |
CY2019Q2 | us-gaap |
Gross Profit
GrossProfit
|
14282000 | USD |
CY2019 | us-gaap |
Gross Profit
GrossProfit
|
56740000 | USD |
CY2019Q3 | us-gaap |
Gross Profit
GrossProfit
|
14622000 | USD |
CY2019Q4 | us-gaap |
Gross Profit
GrossProfit
|
15186000 | USD |
CY2020Q1 | us-gaap |
Gross Profit
GrossProfit
|
17442000 | USD |
CY2020Q2 | us-gaap |
Gross Profit
GrossProfit
|
15908000 | USD |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
63158000 | USD |
CY2018 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
15715000 | USD |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
7641000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
6798000 | USD |
CY2018 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
3662000 | USD |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
838000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
56000 | USD |
CY2018 | us-gaap |
Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
|
-1200000 | USD |
CY2018 | us-gaap |
Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
|
-1206000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
|
0 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
|
0 | USD |
CY2018 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
4763000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
1605000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
1428000 | USD |
CY2018 | us-gaap |
Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
|
83000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
|
-65000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
|
18000 | USD |
CY2018 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
891000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
339000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
214000 | USD |
CY2018 | us-gaap |
Income Tax Reconciliation Tax Credits Foreign
IncomeTaxReconciliationTaxCreditsForeign
|
211000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Tax Credits Foreign
IncomeTaxReconciliationTaxCreditsForeign
|
112000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Tax Credits Foreign
IncomeTaxReconciliationTaxCreditsForeign
|
164000 | USD |
CY2018 | us-gaap |
Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
|
493000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
|
678000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
|
703000 | USD |
CY2018 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
7892000 | USD |
CY2019 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
516000 | USD |
CY2020 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
544000 | USD |
CY2018 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
-1807000 | USD |
CY2019 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
-3611000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
2692000 | USD |
CY2018 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
1774000 | USD |
CY2019 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-2165000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
4712000 | USD |
CY2018 | us-gaap |
Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
|
3374000 | USD |
CY2019 | us-gaap |
Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
|
431000 | USD |
CY2020 | us-gaap |
Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
|
944000 | USD |
CY2018 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
1983000 | USD |
CY2019 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-536000 | USD |
CY2020 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
1537000 | USD |
CY2018Q2 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
5120000 | USD |
CY2019Q2 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
2732000 | USD |
CY2020Q2 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1132000 | USD |
CY2018 | us-gaap |
Investment Income Nonoperating
InvestmentIncomeNonoperating
|
1575000 | USD |
CY2019 | us-gaap |
Investment Income Nonoperating
InvestmentIncomeNonoperating
|
2092000 | USD |
CY2020 | us-gaap |
Investment Income Nonoperating
InvestmentIncomeNonoperating
|
1524000 | USD |
CY2019Q2 | us-gaap |
Investments
Investments
|
27200000 | USD |
CY2020Q2 | us-gaap |
Investments
Investments
|
14900000 | USD |
CY2019Q2 | us-gaap |
Investments Fair Value Disclosure
InvestmentsFairValueDisclosure
|
27194000 | USD |
CY2020Q2 | us-gaap |
Investments Fair Value Disclosure
InvestmentsFairValueDisclosure
|
14862000 | USD |
CY2020 | us-gaap |
Lease Cost
LeaseCost
|
1638000 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
2313000 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
0 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
775000 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
20000 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
346000 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
470000 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
702000 | USD |
CY2020Q2 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
126000 | USD |
CY2020Q2 | us-gaap |
Lessor Operating Lease Payments To Be Received
LessorOperatingLeasePaymentsToBeReceived
|
658000 | USD |
CY2020Q2 | us-gaap |
Lessor Operating Lease Payments To Be Received Five Years
LessorOperatingLeasePaymentsToBeReceivedFiveYears
|
100000 | USD |
CY2020Q2 | us-gaap |
Lessor Operating Lease Payments To Be Received Four Years
LessorOperatingLeasePaymentsToBeReceivedFourYears
|
98000 | USD |
CY2020Q2 | us-gaap |
Lessor Operating Lease Payments To Be Received Next Twelve Months
LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths
|
165000 | USD |
CY2020Q2 | us-gaap |
Lessor Operating Lease Payments To Be Received Thereafter
LessorOperatingLeasePaymentsToBeReceivedThereafter
|
50000 | USD |
CY2020Q2 | us-gaap |
Lessor Operating Lease Payments To Be Received Three Years
LessorOperatingLeasePaymentsToBeReceivedThreeYears
|
96000 | USD |
CY2020Q2 | us-gaap |
Lessor Operating Lease Payments To Be Received Two Years
LessorOperatingLeasePaymentsToBeReceivedTwoYears
|
149000 | USD |
CY2019Q2 | us-gaap |
Liabilities
Liabilities
|
46703000 | USD |
CY2020Q2 | us-gaap |
Liabilities
Liabilities
|
51871000 | USD |
CY2019Q2 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
161310000 | USD |
CY2020Q2 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
171293000 | USD |
CY2019Q2 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
43101000 | USD |
CY2020Q2 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
47458000 | USD |
CY2019Q2 | us-gaap |
Long Term Investments
LongTermInvestments
|
2500000 | USD |
CY2019Q2 | us-gaap |
Long Term Investments
LongTermInvestments
|
2484000 | USD |
CY2020Q2 | us-gaap |
Long Term Investments
LongTermInvestments
|
700000 | USD |
CY2020Q2 | us-gaap |
Long Term Investments
LongTermInvestments
|
701000 | USD |
CY2018 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-4579000 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-8223000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-3866000 | USD |
CY2018 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-15382000 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-7213000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-3590000 | USD |
CY2018 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
6754000 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
23930000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
25982000 | USD |
CY2018 | us-gaap |
Net Income Loss
NetIncomeLoss
|
12053000 | USD |
CY2018Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1385000 | USD |
CY2018Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1243000 | USD |
CY2019Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2301000 | USD |
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1874000 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6803000 | USD |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1152000 | USD |
CY2019Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1759000 | USD |
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3286000 | USD |
CY2020Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
545000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6742000 | USD |
CY2020 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
3 | Segment |
CY2020 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
3 | Segment |
CY2018 | us-gaap |
Operating Expenses
OperatingExpenses
|
49172000 | USD |
CY2019 | us-gaap |
Operating Expenses
OperatingExpenses
|
51464000 | USD |
CY2020 | us-gaap |
Operating Expenses
OperatingExpenses
|
57110000 | USD |
CY2018 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
13531000 | USD |
CY2018Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
607000 | USD |
CY2018Q4 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1526000 | USD |
CY2019Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2130000 | USD |
CY2019Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1013000 | USD |
CY2019 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
5276000 | USD |
CY2019Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
797000 | USD |
CY2019Q4 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
843000 | USD |
CY2020Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2819000 | USD |
CY2020Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1589000 | USD |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
6048000 | USD |
CY2020 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
770000 | USD |
CY2020Q2 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
2187000 | USD |
CY2020Q2 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
763000 | USD |
CY2020Q2 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
1424000 | USD |
CY2020 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
1300000 | USD |
CY2020Q2 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
2053000 | USD |
CY2020Q2 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.035 | |
CY2020Q2 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P3Y3M18D | |
CY2019Q2 | us-gaap |
Operating Leases Future Minimum Payments Due
OperatingLeasesFutureMinimumPaymentsDue
|
3110000 | USD |
CY2019Q2 | us-gaap |
Operating Leases Future Minimum Payments Due Current
OperatingLeasesFutureMinimumPaymentsDueCurrent
|
847000 | USD |
CY2019Q2 | us-gaap |
Operating Leases Future Minimum Payments Due In Five Years
OperatingLeasesFutureMinimumPaymentsDueInFiveYears
|
317000 | USD |
CY2019Q2 | us-gaap |
Operating Leases Future Minimum Payments Due In Four Years
OperatingLeasesFutureMinimumPaymentsDueInFourYears
|
433000 | USD |
CY2019Q2 | us-gaap |
Operating Leases Future Minimum Payments Due In Three Years
OperatingLeasesFutureMinimumPaymentsDueInThreeYears
|
706000 | USD |
CY2019Q2 | us-gaap |
Operating Leases Future Minimum Payments Due In Two Years
OperatingLeasesFutureMinimumPaymentsDueInTwoYears
|
790000 | USD |
CY2019Q2 | us-gaap |
Operating Leases Future Minimum Payments Due Thereafter
OperatingLeasesFutureMinimumPaymentsDueThereafter
|
17000 | USD |
CY2020Q2 | us-gaap |
Operating Leases Future Minimum Payments Receivable
OperatingLeasesFutureMinimumPaymentsReceivable
|
354000 | USD |
CY2020Q2 | us-gaap |
Operating Leases Future Minimum Payments Receivable Current
OperatingLeasesFutureMinimumPaymentsReceivableCurrent
|
194000 | USD |
CY2020Q2 | us-gaap |
Operating Leases Future Minimum Payments Receivable In Five Years
OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears
|
0 | USD |
CY2020Q2 | us-gaap |
Operating Leases Future Minimum Payments Receivable In Four Years
OperatingLeasesFutureMinimumPaymentsReceivableInFourYears
|
0 | USD |
CY2020Q2 | us-gaap |
Operating Leases Future Minimum Payments Receivable In Three Years
OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears
|
55000 | USD |
CY2020Q2 | us-gaap |
Operating Leases Future Minimum Payments Receivable In Two Years
OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears
|
105000 | USD |
CY2020Q2 | us-gaap |
Operating Leases Future Minimum Payments Receivable Thereafter
OperatingLeasesFutureMinimumPaymentsReceivableThereafter
|
0 | USD |
CY2019Q2 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
1510000 | USD |
CY2020Q2 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
1941000 | USD |
CY2019Q2 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
1375000 | USD |
CY2020Q2 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
643000 | USD |
CY2019Q2 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
88000 | USD |
CY2020Q2 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
92000 | USD |
CY2020 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-774000 | USD |
CY2018 | us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
13188000 | USD |
CY2018 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
609000 | USD |
CY2019 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
273000 | USD |
CY2019 | us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
13590000 | USD |
CY2020 | us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
13938000 | USD |
CY2018 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
9150000 | USD |
CY2019 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
0 | USD |
CY2020 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
0 | USD |
CY2018 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1428000 | USD |
CY2019 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1252000 | USD |
CY2020 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
420000 | USD |
CY2019Q2 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
6210000 | USD |
CY2020Q2 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
6684000 | USD |
CY2018 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
8609000 | USD |
CY2019 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
5367000 | USD |
CY2020 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
10072000 | USD |
CY2019Q2 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
32912000 | USD |
CY2020Q2 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
33332000 | USD |
CY2019Q2 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
3585000 | USD |
CY2020Q2 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
3373000 | USD |
CY2018 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
24000 | USD |
CY2019 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
0 | USD |
CY2020 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
97000 | USD |
CY2018 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
11877000 | USD |
CY2019 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
13078000 | USD |
CY2020 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
15348000 | USD |
CY2019Q2 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
-1729000 | USD |
CY2020Q2 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
-9013000 | USD |
CY2018 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
112703000 | USD |
CY2018Q3 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
27399000 | USD |
CY2018Q4 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
28033000 | USD |
CY2019Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
27003000 | USD |
CY2019Q2 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
26271000 | USD |
CY2019 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
108706000 | USD |
CY2019Q3 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
27383000 | USD |
CY2019Q4 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
28210000 | USD |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
30600000 | USD |
CY2020Q2 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
29273000 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
115466000 | USD |
CY2020Q2 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
77000000 | USD |
CY2020Q2 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P12M | |
CY2020Q2 | us-gaap |
Revenue Remaining Performance Obligation Percentage
RevenueRemainingPerformanceObligationPercentage
|
0.60 | |
CY2018 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
20658000 | USD |
CY2019 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
20992000 | USD |
CY2018 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1500000 | USD |
CY2020 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
21958000 | USD |
CY2018 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1467000 | USD |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1751000 | USD |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1800000 | USD |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2027000 | USD |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2000000 | USD |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0.039 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0.036 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0.028 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.289 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.300 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.309 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.019 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.029 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.016 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
900610 | shares |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
10.69 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
2999372 | USD |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
2441830 | USD |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
5569882 | USD |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
|
2500 | shares |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
327000 | shares |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
1113000 | shares |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
2.01 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
2.58 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
3.20 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
16011836 | USD |
CY2019Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
3983060 | shares |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
3745650 | shares |
CY2019Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
10.88 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
12.21 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
9.87 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
|
9.79 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
12.02 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
14.72 | |
CY2018 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P5Y | |
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P5Y | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P5Y | |
CY2020Q2 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
5214907 | USD |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y9M18D | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P3Y9M29D | |
CY2018 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
|
1287222 | USD |
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
|
1470840 | USD |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
|
1786342 | USD |
CY2019Q2 | us-gaap |
Short Term Investments
ShortTermInvestments
|
24710000 | USD |
CY2020Q2 | us-gaap |
Short Term Investments
ShortTermInvestments
|
14161000 | USD |
CY2020 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
643000 | USD |
CY2018 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
984310 | shares |
CY2019 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
602176 | shares |
CY2020 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
1020910 | shares |
CY2018 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
8609000 | USD |
CY2019 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
5367000 | USD |
CY2020 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
10072000 | USD |
CY2017Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
103750000 | USD |
CY2018Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
112584000 | USD |
CY2019Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
114607000 | USD |
CY2020Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
119422000 | USD |
CY2019Q2 | us-gaap |
Trading Securities
TradingSecurities
|
27194000 | USD |
CY2020Q2 | us-gaap |
Trading Securities
TradingSecurities
|
14862000 | USD |
CY2019Q2 | us-gaap |
Trading Securities Debt
TradingSecuritiesDebt
|
16192000 | USD |
CY2020Q2 | us-gaap |
Trading Securities Debt
TradingSecuritiesDebt
|
3104000 | USD |
CY2019Q2 | us-gaap |
Treasury Stock Common Value
TreasuryStockCommonValue
|
25559000 | USD |
CY2020Q2 | us-gaap |
Treasury Stock Common Value
TreasuryStockCommonValue
|
25559000 | USD |
CY2019Q2 | us-gaap |
Unbilled Contracts Receivable
UnbilledContractsReceivable
|
1475000 | USD |
CY2020Q2 | us-gaap |
Unbilled Contracts Receivable
UnbilledContractsReceivable
|
2425000 | USD |
CY2018Q2 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
32000 | USD |
CY2019Q2 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
21000 | USD |
CY2020Q2 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
15000 | USD |
CY2019 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
11000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
6000 | USD |
CY2019Q2 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
|
22000 | USD |
CY2020Q2 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
|
19000 | USD |
CY2019 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
0 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
0 | USD |
CY2018Q2 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
56000 | USD |
CY2019Q2 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
43000 | USD |
CY2020Q2 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
34000 | USD |
CY2018 | us-gaap |
Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
|
-4000 | USD |
CY2019 | us-gaap |
Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
|
10000 | USD |
CY2020 | us-gaap |
Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
|
-30000 | USD |
CY2020 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
225000 | USD |
CY2018 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
30472000 | shares |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
31378000 | shares |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
32367000 | shares |
CY2018 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
30080000 | shares |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
30950000 | shares |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
31747000 | shares |
CY2020 | us-gaap |
Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
|
<div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:24px;text-align:justify;text-indent:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Concentrations of Credit Risk</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;text-indent:32px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist principally of cash and cash equivalents, short- and long-term investments and accounts receivable. The Company maintains cash and cash equivalents and short- and long-term investments with various financial institutions. The Company’s sales are primarily to companies located in North America and Europe. The Company performs periodic credit evaluations of its customers’ financial condition and does not require collateral. Accounts receivable are due principally from companies under stated contract terms.</font></div></div> | |
CY2020 | us-gaap |
Guarantees Indemnifications And Warranties Policies
GuaranteesIndemnificationsAndWarrantiesPolicies
|
<div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:24px;text-align:justify;text-indent:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Guarantees and Indemnifications</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;text-indent:32px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">The Company accounts for guarantees in accordance with the Guarantee Topic of the FASB ASC</font><font style="font-family:inherit;font-size:10pt;font-style:italic;">.</font><font style="font-family:inherit;font-size:10pt;"> The Company’s sales agreements with customers generally contain infringement indemnity provisions. Under these agreements, the Company agrees to indemnify, defend and hold harmless the customer in connection with intellectual property infringement claims made by third parties with respect to the customer’s authorized use of the Company’s products and services. The indemnity provisions generally provide for the Company’s control of defense and settlement and cover costs and damages finally awarded against the customer, as well as the Company’s modification of the product so it is no longer infringing or, if it cannot be corrected, return of the product for a refund. The sales agreements with customers sometimes also contain indemnity provisions for death, personal injury or property damage caused by the Company’s personnel or contractors in the course of performing services to customers. Under these agreements, the Company agrees to indemnify, defend and hold harmless the customer in connection with death, personal injury and property damage claims made by third parties with respect to actions of the Company’s personnel or contractors. The indemnity provisions generally provide for the Company’s control of defense and settlement and cover costs and damages finally awarded against the customer. The indemnity obligations contained in sales agreements generally have a limited monetary award. The Company has not previously incurred costs to settle claims or pay awards under these indemnification obligations. The Company accounts for these indemnity obligations in accordance with the Contingencies Topic of the FASB ASC, and records a liability for these obligations when a loss is probable and reasonably estimable. The Company has not recorded any liabilities for these agreements as of </font><font style="font-family:inherit;font-size:10pt;">April 30, 2020</font><font style="font-family:inherit;font-size:10pt;"> or </font><font style="font-family:inherit;font-size:10pt;">2019</font><font style="font-family:inherit;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;text-indent:32px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">The Company warrants to its customers that its software products will perform in all material respects in accordance with the standard specifications, generally for 90 days after delivery of the licensed products and for the subscription term for SaaS products. Additionally, the Company warrants to its customers that services will be performed consistent with generally accepted industry standards or specific service levels through completion of the agreed upon services. If necessary, the Company will provide for the estimated cost of product and service warranties based on specific warranty claims and claim history. However, the Company has not incurred significant recurring expense under product or service warranties. </font></div></div> | |
CY2020 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;text-align:justify;text-indent:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Use of Estimates</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;text-indent:32px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">The preparation of these consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, and disclosures of contingent assets and liabilities, at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, we evaluate our estimates, including, but not limited to, those related to revenue/reserves and allowances. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Our actual results could differ materially from these estimates under different assumptions or conditions.</font></div><div style="line-height:120%;padding-top:24px;text-align:justify;text-indent:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;"></font></div></div> |