2020 Q3 Form 10-K Financial Statement

#000117184320007946 Filed on November 12, 2020

View on sec.gov

Income Statement

Concept 2020 Q3 2020 2019 Q3
Revenue $27.32M $93.07M $23.97M
YoY Change 13.98% 9.46% 6.68%
Cost Of Revenue $16.07M $55.16M $14.66M
YoY Change 9.62% 5.38% 5.77%
Gross Profit $11.25M $37.91M $9.300M
YoY Change 20.97% 15.98% 7.89%
Gross Profit Margin 41.18% 40.74% 38.8%
Selling, General & Admin $7.570M $29.53M $7.130M
YoY Change 6.17% 7.38% 17.46%
% of Gross Profit 67.29% 77.89% 76.67%
Research & Development $1.270M
YoY Change 16.51%
% of Gross Profit 3.35%
Depreciation & Amortization $600.0K $2.422M $570.0K
YoY Change 5.26% 11.17% 14.0%
% of Gross Profit 5.33% 6.39% 6.13%
Operating Expenses $7.570M $30.80M $7.130M
YoY Change 6.17% 7.73% 17.46%
Operating Profit $3.680M $8.384M $2.170M
YoY Change 69.59% 61.6% -14.9%
Interest Expense $160.0K $770.0K $220.0K
YoY Change -27.27% 4.05% 69.23%
% of Operating Profit 4.35% 9.18% 10.14%
Other Income/Expense, Net
YoY Change
Pretax Income $3.840M $9.155M $2.400M
YoY Change 60.0% 54.47% -10.11%
Income Tax $790.0K $1.862M $510.0K
% Of Pretax Income 20.57% 20.34% 21.25%
Net Earnings $3.050M $7.293M $1.890M
YoY Change 61.38% 59.72% 0.53%
Net Earnings / Revenue 11.16% 7.84% 7.88%
Basic Earnings Per Share $0.53
Diluted Earnings Per Share $217.2K $0.53 $140.0K
COMMON SHARES
Basic Shares Outstanding 13.65M 13.64M 13.65M
Diluted Shares Outstanding 13.64M

Balance Sheet

Concept 2020 Q3 2020 2019 Q3
SHORT-TERM ASSETS
Cash & Short-Term Investments $27.00M $27.03M $23.60M
YoY Change 14.41% 14.49% 34.86%
Cash & Equivalents $16.45M $16.45M $10.08M
Short-Term Investments $10.60M $10.58M $13.50M
Other Short-Term Assets $585.4K $590.0K $769.2K
YoY Change -23.89% -23.38% 3.64%
Inventory $14.41M $14.41M $9.013M
Prepaid Expenses
Receivables $10.50M $10.50M $9.119M
Other Receivables $0.00 $0.00 $0.00
Total Short-Term Assets $52.52M $52.52M $42.51M
YoY Change 23.56% 23.55% 3.44%
LONG-TERM ASSETS
Property, Plant & Equipment $4.953M $7.650M $5.413M
YoY Change -8.51% 41.4% 14.09%
Goodwill $4.709M $4.709M
YoY Change 0.0% 0.0%
Intangibles $4.986M $5.147M
YoY Change -3.13% -6.12%
Long-Term Investments $25.10M $25.14M $23.90M
YoY Change 5.02% 5.19% 32.78%
Other Assets $266.9K $440.0K $210.9K
YoY Change 26.53% 109.52% -7.28%
Total Long-Term Assets $42.77M $42.78M $39.38M
YoY Change 8.62% 8.63% 18.84%
TOTAL ASSETS
Total Short-Term Assets $52.52M $52.52M $42.51M
Total Long-Term Assets $42.77M $42.78M $39.38M
Total Assets $95.30M $95.30M $81.89M
YoY Change 16.37% 16.38% 10.32%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $3.690M $3.690M $3.174M
YoY Change 16.26% 16.4% 34.28%
Accrued Expenses $1.203M $6.730M $208.6K
YoY Change 476.58% 96.21% -63.31%
Deferred Revenue
YoY Change
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due
YoY Change
Total Short-Term Liabilities $10.41M $10.41M $6.607M
YoY Change 57.63% 57.49% 32.65%
LONG-TERM LIABILITIES
Long-Term Debt $0.00 $0.00 $0.00
YoY Change
Other Long-Term Liabilities $2.100M $2.130M $200.0K
YoY Change 950.0% 752.0% -33.33%
Total Long-Term Liabilities $2.129M $2.130M $348.1K
YoY Change 511.68% 752.0% -6.67%
TOTAL LIABILITIES
Total Short-Term Liabilities $10.41M $10.41M $6.607M
Total Long-Term Liabilities $2.129M $2.130M $348.1K
Total Liabilities $12.54M $12.54M $6.955M
YoY Change 80.36% 80.17% 29.91%
SHAREHOLDERS EQUITY
Retained Earnings $25.11M $17.82M
YoY Change 40.92% 34.45%
Common Stock $136.5K $136.4K
YoY Change 0.06% -0.04%
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $82.75M $82.75M $74.93M
YoY Change
Total Liabilities & Shareholders Equity $95.30M $95.30M $81.89M
YoY Change 16.37% 16.38% 10.32%

Cashflow Statement

Concept 2020 Q3 2020 2019 Q3
OPERATING ACTIVITIES
Net Income $3.050M $7.293M $1.890M
YoY Change 61.38% 59.72% 0.53%
Depreciation, Depletion And Amortization $600.0K $2.422M $570.0K
YoY Change 5.26% 11.17% 14.0%
Cash From Operating Activities $4.220M $6.656M $5.820M
YoY Change -27.49% -54.82% 2228.0%
INVESTING ACTIVITIES
Capital Expenditures -$320.0K $1.806M -$1.410M
YoY Change -77.3% -28.09% 422.22%
Acquisitions $0.00
YoY Change
Other Investing Activities $3.440M $1.770M -$240.0K
YoY Change -1533.33% -116.94% 26.32%
Cash From Investing Activities $3.130M -$41.13K -$1.650M
YoY Change -289.7% -99.68% 258.7%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net $79.88K
YoY Change -125.45%
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities -180.0K -$246.7K -120.0K
YoY Change 50.0% 4.25% -77.36%
NET CHANGE
Cash From Operating Activities 4.220M $6.656M 5.820M
Cash From Investing Activities 3.130M -$41.13K -1.650M
Cash From Financing Activities -180.0K -$246.7K -120.0K
Net Change In Cash 7.170M $6.368M 4.050M
YoY Change 77.04% 315.13% -647.3%
FREE CASH FLOW
Cash From Operating Activities $4.220M $6.656M $5.820M
Capital Expenditures -$320.0K $1.806M -$1.410M
Free Cash Flow $4.540M $4.850M $7.230M
YoY Change -37.21% -60.32% 1290.38%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2020Q3 clfd Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
37664633
CY2019Q3 clfd Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
33968551
CY2020 clfd Deferred Tax Asset Valuation Allowance Income Tax Benefit Adjustment
DeferredTaxAssetValuationAllowanceIncomeTaxBenefitAdjustment
-5235
CY2019 clfd Deferred Tax Asset Valuation Allowance Income Tax Benefit Adjustment
DeferredTaxAssetValuationAllowanceIncomeTaxBenefitAdjustment
10448
CY2020 clfd Deferred Tax Asset Valuation Allowance State Nol Expiration Reversal
DeferredTaxAssetValuationAllowanceStateNolExpirationReversal
-41779
CY2019 clfd Deferred Tax Asset Valuation Allowance State Nol Expiration Reversal
DeferredTaxAssetValuationAllowanceStateNolExpirationReversal
-68292
CY2020 clfd Effective Income Tax Rate Reconciliation Expiration Of State Net Operating Loss Percent
EffectiveIncomeTaxRateReconciliationExpirationOfStateNetOperatingLossPercent
CY2019 clfd Effective Income Tax Rate Reconciliation Expiration Of State Net Operating Loss Percent
EffectiveIncomeTaxRateReconciliationExpirationOfStateNetOperatingLossPercent
-0.02
CY2020 clfd Effective Income Tax Rate Reconciliation Prospectively Adopted New Accouting Principle Excess Tax Benefits From Stock Based Comepnsation Percent
EffectiveIncomeTaxRateReconciliationProspectivelyAdoptedNewAccoutingPrincipleExcessTaxBenefitsFromStockBasedComepnsationPercent
CY2019 clfd Effective Income Tax Rate Reconciliation Prospectively Adopted New Accouting Principle Excess Tax Benefits From Stock Based Comepnsation Percent
EffectiveIncomeTaxRateReconciliationProspectivelyAdoptedNewAccoutingPrincipleExcessTaxBenefitsFromStockBasedComepnsationPercent
0.01
CY2020 clfd Increase Decrease In Accounts Payable Accrued Expenses And Deferred Rent
IncreaseDecreaseInAccountsPayableAccruedExpensesAndDeferredRent
3151566
CY2019 clfd Increase Decrease In Accounts Payable Accrued Expenses And Deferred Rent
IncreaseDecreaseInAccountsPayableAccruedExpensesAndDeferredRent
1604655
CY2020 clfd Increase Decrease In Allowance For Doubtful Accounts
IncreaseDecreaseInAllowanceForDoubtfulAccounts
CY2019 clfd Increase Decrease In Allowance For Doubtful Accounts
IncreaseDecreaseInAllowanceForDoubtfulAccounts
210000
CY2020 clfd Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
97811
CY2019 clfd Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
17390
CY2020Q3 us-gaap Additional Paid In Capital
AdditionalPaidInCapital
57502905
CY2019Q3 us-gaap Additional Paid In Capital
AdditionalPaidInCapital
56976162
CY2019 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
553165
CY2020 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
176416
CY2020 clfd Revenues Percent
RevenuesPercent
1
CY2019 clfd Revenues Percent
RevenuesPercent
1
CY2019 clfd Stock Issued During Period Value Stock Options Exercised Net Of Shares Exchanged For Payment
StockIssuedDuringPeriodValueStockOptionsExercisedNetOfSharesExchangedForPayment
2604
CY2020 clfd Stock Issued During Period Value Stock Options Exercised Net Of Shares Exchanged For Payment
StockIssuedDuringPeriodValueStockOptionsExercisedNetOfSharesExchangedForPayment
9564
CY2017Q2 clfd Stock Repurchase Program Increase In Authorized Amount
StockRepurchaseProgramIncreaseInAuthorizedAmount
4000000
CY2020 dei Amendment Flag
AmendmentFlag
false
CY2020 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2020 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2020
CY2020 dei Document Period End Date
DocumentPeriodEndDate
2020-09-30
CY2020 dei Document Type
DocumentType
10-K
CY2020Q4 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
13649962
CY2020 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2020Q1 dei Entity Public Float
EntityPublicFloat
130912520
CY2020 dei Entity Shell Company
EntityShellCompany
false
CY2020 dei Security12b Title
Security12bTitle
Common Stock, $0.01 par value
CY2020Q3 us-gaap Accounts Payable Current
AccountsPayableCurrent
3689587
CY2019Q3 us-gaap Accounts Payable Current
AccountsPayableCurrent
3173599
CY2020Q3 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
10496672
CY2019Q3 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
9118639
CY2020 us-gaap Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
64327
CY2019 us-gaap Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
71652
CY2020Q3 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
845000
CY2019Q3 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
145000
CY2020Q3 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
1202753
CY2019Q3 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
208603
CY2020Q3 us-gaap Accrued Salaries Current
AccruedSalariesCurrent
4856885
CY2019Q3 us-gaap Accrued Salaries Current
AccruedSalariesCurrent
3224860
CY2020Q3 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
10184897
CY2019Q3 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
8380221
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
1729025
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
773555
CY2019Q3 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
13641805
CY2020 us-gaap Advertising Expense
AdvertisingExpense
296571
CY2019 us-gaap Advertising Expense
AdvertisingExpense
278057
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
773555
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
1729025
CY2019Q3 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
289085
CY2020Q3 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
289085
CY2018Q3 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
79085
CY2020 us-gaap Allowance For Doubtful Accounts Receivable Period Increase Decrease
AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
CY2019 us-gaap Allowance For Doubtful Accounts Receivable Period Increase Decrease
AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
210000
CY2020 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
CY2019 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
477568
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
472827
CY2020 us-gaap Amount Of Dilutive Securities Stock Options And Restrictive Stock Units
AmountOfDilutiveSecuritiesStockOptionsAndRestrictiveStockUnits
CY2019 us-gaap Amount Of Dilutive Securities Stock Options And Restrictive Stock Units
AmountOfDilutiveSecuritiesStockOptionsAndRestrictiveStockUnits
8343
CY2020 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
337100
CY2019 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
108000
CY2020Q3 us-gaap Assets
Assets
95297430
CY2019Q3 us-gaap Assets
Assets
81888563
CY2020Q3 us-gaap Assets Current
AssetsCurrent
52522809
CY2019Q3 us-gaap Assets Current
AssetsCurrent
42506771
CY2020Q3 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
16449636
CY2019Q3 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
10081721
CY2019Q3 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
10081721
CY2018Q3 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
8547777
CY2020Q3 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
16449636
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
6367915
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
1533944
CY2020Q3 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2019Q3 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2020Q3 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
50000000
CY2019Q3 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
50000000
CY2020Q3 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
13649962
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
1966491
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
1260552
CY2019 us-gaap Depreciation
Depreciation
1705583
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
2421754
CY2020Q3 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
13649962
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
2178409
CY2020Q3 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
CY2018Q3 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
104858
CY2019Q3 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
101690
CY2020 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
838946
CY2019 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
702202
CY2020 us-gaap Depreciation
Depreciation
1944186
CY2019Q3 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
13641805
CY2020Q3 us-gaap Common Stock Value
CommonStockValue
136500
CY2019Q3 us-gaap Common Stock Value
CommonStockValue
136418
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
55160316
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
52345059
CY2020 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
2141692
CY2019 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
1363682
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
175201
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
103130
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-252929
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-38534
CY2020Q3 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
178118
CY2019Q3 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-279808
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-3245
CY2019Q3 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
54676
CY2020Q3 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
CY2019Q3 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
101690
CY2020 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-279808
CY2019 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-3245
CY2020Q3 us-gaap Deferred Rent Credit
DeferredRentCredit
CY2019Q3 us-gaap Deferred Rent Credit
DeferredRentCredit
246424
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-26879
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
35289
CY2020Q3 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
178118
CY2020Q3 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
178118
CY2019Q3 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
47014
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.53
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.34
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.53
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.34
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.2
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.23
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2019 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2020 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
-0.01
CY2019 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
-0.01
CY2020 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.02
CY2019 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.02
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.02
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.02
CY2020Q3 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
1938136
CY2020 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
P3Y328D
CY2020Q3 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
1264933
CY2019Q3 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
787365
CY2020Q3 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
6093980
CY2019Q3 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
5934500
CY2020Q3 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
4829047
CY2019Q3 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
5147135
CY2020 us-gaap Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
-5785
CY2019 us-gaap Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
CY2020Q3 us-gaap Goodwill
Goodwill
4708511
CY2019Q3 us-gaap Goodwill
Goodwill
4708511
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2019 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2020 us-gaap Gross Profit
GrossProfit
37914198
CY2019 us-gaap Gross Profit
GrossProfit
32689123
CY2020Q3 us-gaap Held To Maturity Securities
HeldToMaturitySecurities
35725527
CY2019Q3 us-gaap Held To Maturity Securities
HeldToMaturitySecurities
37426270
CY2020Q3 us-gaap Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
25143000
CY2019Q3 us-gaap Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
23902000
CY2020Q3 us-gaap Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
10582527
CY2019Q3 us-gaap Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
13524270
CY2020 us-gaap Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
0
CY2019 us-gaap Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
0
CY2019Q3 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
1118748
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-3492619
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
5395558
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-1037155
CY2020 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
-127773
CY2019 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
10469
CY2020Q3 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
4829047
CY2019Q3 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
5147135
CY2020Q3 us-gaap Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
2048514
CY2019Q3 us-gaap Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
1356720
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1360437
CY2020Q3 us-gaap Inventory Gross
InventoryGross
15368669
CY2019Q3 us-gaap Inventory Gross
InventoryGross
10131728
CY2020Q3 us-gaap Inventory Net
InventoryNet
14408538
CY2019Q3 us-gaap Inventory Net
InventoryNet
9012980
CY2020Q3 us-gaap Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
12287134
CY2019Q3 us-gaap Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
8234046
CY2020Q3 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
960131
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
9154950
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
5926593
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1861884
CY2020 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
1442079
CY2019 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
1683113
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
1378033
CY2020Q3 us-gaap Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
1033021
CY2019Q3 us-gaap Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
540962
CY2020 us-gaap Investment Income Interest
InvestmentIncomeInterest
770950
CY2019 us-gaap Investment Income Interest
InvestmentIncomeInterest
738459
CY2019Q3 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
812107
CY2020Q3 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
2539100
CY2020Q3 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
3004465
CY2020Q3 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
CY2020Q3 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
752423
CY2020Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
217552
CY2020Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
516725
CY2020Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
744963
CY2020Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
CY2020Q3 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
209538
CY2020Q3 us-gaap Liabilities
Liabilities
12544152
CY2019Q3 us-gaap Liabilities
Liabilities
6955176
CY2020Q3 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
95297430
CY2019Q3 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
81888563
CY2020Q3 us-gaap Liabilities Current
LiabilitiesCurrent
10414809
CY2019Q3 us-gaap Liabilities Current
LiabilitiesCurrent
6607062
CY2020Q3 us-gaap Liabilities Noncurrent
LiabilitiesNoncurrent
2129343
CY2019Q3 us-gaap Liabilities Noncurrent
LiabilitiesNoncurrent
348114
CY2020Q3 us-gaap Long Term Investments
LongTermInvestments
25143000
CY2019Q3 us-gaap Long Term Investments
LongTermInvestments
23902000
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-246730
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-236670
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-41128
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-12962039
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
6655773
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
14732653
CY2020 us-gaap Net Income Loss
NetIncomeLoss
7293066
CY2019 us-gaap Net Income Loss
NetIncomeLoss
4566156
CY2020 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
1
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
8384000
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
5188134
CY2020 us-gaap Operating Lease Expense
OperatingLeaseExpense
1126145
CY2020Q3 us-gaap Operating Lease Liability
OperatingLeaseLiability
2794927
CY2020Q3 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
665584
CY2019Q3 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
CY2020Q3 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
2129343
CY2019 us-gaap Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
313891
CY2020 us-gaap Proceeds From Sale And Maturity Of Held To Maturity Securities
ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities
35822000
CY2019 us-gaap Proceeds From Sale And Maturity Of Held To Maturity Securities
ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities
9861000
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
9564
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
2604
CY2019Q3 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
CY2020Q3 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0348
CY2019Q3 us-gaap Operating Leases Future Minimum Payments Due
OperatingLeasesFutureMinimumPaymentsDue
2851816
CY2019Q3 us-gaap Operating Leases Future Minimum Payments Due Current
OperatingLeasesFutureMinimumPaymentsDueCurrent
643040
CY2019Q3 us-gaap Operating Leases Future Minimum Payments Due In Five Years
OperatingLeasesFutureMinimumPaymentsDueInFiveYears
516720
CY2019Q3 us-gaap Operating Leases Future Minimum Payments Due In Four Years
OperatingLeasesFutureMinimumPaymentsDueInFourYears
503895
CY2019Q3 us-gaap Operating Leases Future Minimum Payments Due In Three Years
OperatingLeasesFutureMinimumPaymentsDueInThreeYears
491397
CY2019Q3 us-gaap Operating Leases Future Minimum Payments Due In Two Years
OperatingLeasesFutureMinimumPaymentsDueInTwoYears
479213
CY2019Q3 us-gaap Operating Leases Future Minimum Payments Due Thereafter
OperatingLeasesFutureMinimumPaymentsDueThereafter
217551
CY2019 us-gaap Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
897868
CY2020Q3 us-gaap Other Assets Current
OtherAssetsCurrent
585436
CY2019Q3 us-gaap Other Assets Current
OtherAssetsCurrent
769161
CY2020Q3 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
266857
CY2019Q3 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
210905
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
428654
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
CY2020 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
176416
CY2019 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
553165
CY2020 us-gaap Payments To Acquire Investments
PaymentsToAcquireInvestments
34056930
CY2019 us-gaap Payments To Acquire Investments
PaymentsToAcquireInvestments
20311393
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
1806198
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2511646
CY2020Q3 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2019Q3 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2020Q3 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2019Q3 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2020Q3 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2019Q3 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2020Q3 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2019Q3 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2020Q3 us-gaap Preferred Stock Value
PreferredStockValue
CY2019Q3 us-gaap Preferred Stock Value
PreferredStockValue
CY2020 us-gaap Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
348776
CY2020Q3 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
15294885
CY2019Q3 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
13793462
CY2020Q3 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
5109988
CY2019Q3 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
5413241
CY2020 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
1269542
CY2019 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
1089637
CY2020Q3 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
25113873
CY2019Q3 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
17820807
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
93074514
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
85034182
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
4.62
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
3.53
CY2020 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
29530198
CY2019 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
27500989
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
773555
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
1729025
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1
ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
P4Y259D
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1
ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
P3Y
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.3777
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.0292
CY2020Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
769545
CY2020Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
97333
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
58750
CY2020Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
12.76
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
9.19
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
332468
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
81728
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
12000
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
48250
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
12.17
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
13.35
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
121350
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
172000
CY2020Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
720831
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
156173
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
138500
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
290750
CY2020Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
337100
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
10.99
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
11.86
CY2020Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
12.48
CY2020Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
44000
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
36000
CY2020 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
CY2017Q2 us-gaap Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
12000000
CY2014Q4 us-gaap Stock Repurchase Program Remaining Authorized Repurchase Amount1
StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
8000000
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
4.01
CY2020Q3 us-gaap Stock Repurchase Program Remaining Authorized Repurchase Amount1
StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
4980671
CY2020 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
428654
CY2020 us-gaap Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
41796
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
12.43
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
12.17
CY2019 us-gaap Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
40933
CY2020Q3 us-gaap Stockholders Equity
StockholdersEquity
82753278
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
2.58
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Expiration Period
SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
P5Y259D
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Expiration Period
SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
P4Y
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P3Y
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
P2Y69D
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
P2Y146D
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
P3Y156D
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
P3Y14D
CY2020Q3 us-gaap Short Term Investments
ShortTermInvestments
10582527
CY2019Q3 us-gaap Short Term Investments
ShortTermInvestments
13524270
CY2019 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
7750
CY2020 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
26750
CY2019 us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
313891
CY2020 us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
348776
CY2019 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
CY2019Q3 us-gaap Stockholders Equity
StockholdersEquity
74933387
CY2018Q3 us-gaap Stockholders Equity
StockholdersEquity
68874876
CY2020 us-gaap Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
10.26
CY2019 us-gaap Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
13.51
CY2020Q3 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
0
CY2019Q3 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
0
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
13643355
CY2020 us-gaap Use Of Estimates
UseOfEstimates
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><div style="display: inline; font-weight: bold;">Use of Estimates: </div>The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, related revenues and expenses and disclosure about contingent assets and liabilities at the date of the financial statements. Significant estimates include the rebates related to revenue recognition, stock-based compensation and the valuation of inventory, long-lived assets, finite lived intangible assets and goodwill. Actual results <div style="display: inline; font-style: italic; font: inherit;"> may </div>differ materially from these estimates.</div></div></div>
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
13643355
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
13451214
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
13442871

Files In Submission

Name View Source Status
0001171843-20-007946-index-headers.html Edgar Link pending
0001171843-20-007946-index.html Edgar Link pending
0001171843-20-007946.txt Edgar Link pending
0001171843-20-007946-xbrl.zip Edgar Link pending
clfd-20200930.xml Edgar Link completed
clfd-20200930.xsd Edgar Link pending
clfd-20200930_cal.xml Edgar Link unprocessable
clfd-20200930_def.xml Edgar Link unprocessable
clfd-20200930_lab.xml Edgar Link unprocessable
clfd-20200930_pre.xml Edgar Link unprocessable
exh_231.htm Edgar Link pending
exh_311.htm Edgar Link pending
exh_312.htm Edgar Link pending
exh_32.htm Edgar Link pending
f10k_111020p.htm Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R5.htm Edgar Link pending
R6.htm Edgar Link pending
R7.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending