2020 Q4 Form 10-Q Financial Statement
#000072491021000004 Filed on January 20, 2021
Income Statement
Concept | 2020 Q4 | 2020 Q1 | 2019 Q4 |
---|---|---|---|
Revenue | $6.533M | $6.150M | $6.465M |
YoY Change | 1.06% | 10.02% | 3.11% |
Cost Of Revenue | $1.075M | $1.190M | $1.264M |
YoY Change | -14.94% | -8.46% | 8.07% |
Gross Profit | $5.458M | $4.960M | $5.201M |
YoY Change | 4.95% | 15.62% | 1.98% |
Gross Profit Margin | 83.55% | 80.65% | 80.45% |
Selling, General & Admin | $311.4K | $290.0K | $328.0K |
YoY Change | -5.07% | 16.0% | 21.97% |
% of Gross Profit | 5.7% | 5.85% | 6.31% |
Research & Development | $702.2K | $1.020M | $771.5K |
YoY Change | -8.98% | 0.0% | -31.55% |
% of Gross Profit | 12.87% | 20.56% | 14.83% |
Depreciation & Amortization | $130.0K | $150.0K | $130.0K |
YoY Change | 0.0% | -16.67% | -23.53% |
% of Gross Profit | 2.38% | 3.02% | 2.5% |
Operating Expenses | $1.014M | $1.310M | $1.099M |
YoY Change | -7.81% | 3.15% | -21.24% |
Operating Profit | $4.445M | $3.650M | $4.101M |
YoY Change | 8.37% | 20.86% | 10.72% |
Interest Expense | $370.0K | $430.0K | $440.0K |
YoY Change | -15.91% | -6.52% | -4.35% |
% of Operating Profit | 8.32% | 11.78% | 10.73% |
Other Income/Expense, Net | |||
YoY Change | |||
Pretax Income | $4.810M | $4.080M | $4.545M |
YoY Change | 5.84% | 17.24% | 9.22% |
Income Tax | $884.5K | $710.0K | $814.1K |
% Of Pretax Income | 18.39% | 17.4% | 17.91% |
Net Earnings | $3.926M | $3.370M | $3.731M |
YoY Change | 5.23% | 17.83% | 9.04% |
Net Earnings / Revenue | 60.09% | 54.8% | 57.71% |
Basic Earnings Per Share | $0.81 | $0.77 | |
Diluted Earnings Per Share | $0.81 | $696.3K | $0.77 |
COMMON SHARES | |||
Basic Shares Outstanding | 4.833M | 4.846M | 4.846M |
Diluted Shares Outstanding | 4.833M | 4.847M |
Balance Sheet
Concept | 2020 Q4 | 2020 Q1 | 2019 Q4 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $25.10M | $27.20M | $22.20M |
YoY Change | 13.06% | 40.21% | -6.33% |
Cash & Equivalents | $13.99M | $8.066M | $10.15M |
Short-Term Investments | $11.10M | $19.10M | $12.10M |
Other Short-Term Assets | $600.0K | $700.0K | $800.0K |
YoY Change | -25.0% | -12.5% | 0.0% |
Inventory | $3.842M | $3.884M | $4.160M |
Prepaid Expenses | |||
Receivables | $3.161M | $2.694M | $2.119M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $32.68M | $34.38M | $29.33M |
YoY Change | 11.4% | 25.3% | -6.19% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $366.1K | $582.5K | $649.8K |
YoY Change | -43.67% | -34.91% | -36.36% |
Goodwill | |||
YoY Change | |||
Intangibles | |||
YoY Change | |||
Long-Term Investments | $40.70M | $43.60M | $50.90M |
YoY Change | -20.04% | -20.58% | -1.93% |
Other Assets | $100.0K | $100.0K | |
YoY Change | -75.0% | -83.33% | |
Total Long-Term Assets | $41.74M | $45.11M | $51.79M |
YoY Change | -19.39% | -19.69% | -3.24% |
TOTAL ASSETS | |||
Total Short-Term Assets | $32.68M | $34.38M | $29.33M |
Total Long-Term Assets | $41.74M | $45.11M | $51.79M |
Total Assets | $74.42M | $79.50M | $81.12M |
YoY Change | -8.26% | -4.92% | -4.33% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $136.7K | $187.0K | $153.5K |
YoY Change | -10.94% | -50.16% | -50.99% |
Accrued Expenses | $600.0K | $600.0K | $700.0K |
YoY Change | -14.29% | 20.0% | 16.67% |
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 | $748.9K | $796.2K | $887.1K |
YoY Change | -15.58% | -4.72% | 2.45% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $600.0K | $700.0K | |
YoY Change | |||
Total Long-Term Liabilities | $600.0K | $700.0K | $0.00 |
YoY Change | |||
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $748.9K | $796.2K | $887.1K |
Total Long-Term Liabilities | $600.0K | $700.0K | $0.00 |
Total Liabilities | $1.452M | $1.503M | $900.0K |
YoY Change | 61.35% | 79.83% | 0.0% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $52.10M | $58.05M | $59.53M |
YoY Change | -12.47% | -7.72% | -8.27% |
Common Stock | $19.38M | $19.43M | $20.01M |
YoY Change | -3.12% | -2.64% | 0.24% |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $72.97M | $78.00M | $80.23M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $74.42M | $79.50M | $81.12M |
YoY Change | -8.26% | -4.92% | -4.33% |
Cashflow Statement
Concept | 2020 Q4 | 2020 Q1 | 2019 Q4 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $3.926M | $3.370M | $3.731M |
YoY Change | 5.23% | 17.83% | 9.04% |
Depreciation, Depletion And Amortization | $130.0K | $150.0K | $130.0K |
YoY Change | 0.0% | -16.67% | -23.53% |
Cash From Operating Activities | $2.990M | $3.360M | $5.120M |
YoY Change | -41.6% | 32.28% | 50.15% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$10.00K | -$20.00K | -$10.00K |
YoY Change | 0.0% | -66.67% | |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $12.00M | $0.00 | -$4.190M |
YoY Change | -386.4% | -100.0% | -373.86% |
Cash From Investing Activities | $11.99M | -$30.00K | -$4.190M |
YoY Change | -386.16% | -101.01% | -379.33% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -4.830M | -5.420M | -4.850M |
YoY Change | -0.41% | 11.75% | 2.11% |
NET CHANGE | |||
Cash From Operating Activities | 2.990M | 3.360M | 5.120M |
Cash From Investing Activities | 11.99M | -30.00K | -4.190M |
Cash From Financing Activities | -4.830M | -5.420M | -4.850M |
Net Change In Cash | 10.15M | -2.090M | -3.920M |
YoY Change | -358.93% | -411.94% | -2550.0% |
FREE CASH FLOW | |||
Cash From Operating Activities | $2.990M | $3.360M | $5.120M |
Capital Expenditures | -$10.00K | -$20.00K | -$10.00K |
Free Cash Flow | $3.000M | $3.380M | $5.130M |
YoY Change | -41.52% | 33.07% | 49.13% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2020Q4 | nvec |
Available For Sale Debt Securitites Percent Of Total Assets
AvailableForSaleDebtSecurititesPercentOfTotalAssets
|
0.88 | |
CY2020Q4 | nvec |
Debt Securities Available For Sale Securities Maturity Allocated And Single Maturity Date Three Through Five Years Fair Value
DebtSecuritiesAvailableForSaleSecuritiesMaturityAllocatedAndSingleMaturityDateThreeThroughFiveYearsFairValue
|
6514775 | |
CY2020Q4 | nvec |
Debt Securities Available For Sale Securitiest Maturity Allocated And Signle Maturity Date One Through Three Years Fair Value
DebtSecuritiesAvailableForSaleSecuritiestMaturityAllocatedAndSignleMaturityDateOneThroughThreeYearsFairValue
|
34142192 | |
CY2020Q4 | nvec |
Lessee Operating Lease Liability Payments Rent Credits Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRentCreditsRemainderOfFiscalYear
|
-4762 | |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
136673 | |
CY2020Q1 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
186993 | |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
3161308 | |
CY2020Q1 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
2694018 | |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
10724866 | |
CY2020Q1 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
10494840 | |
CY2020Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
1483409 | |
CY2020Q1 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
516523 | |
CY2020Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
19333852 | |
CY2020Q1 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
19383956 | |
CY2020Q2 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
2707 | |
CY2020Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
34315 | |
CY2020Q4 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
4275 | |
CY2019Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
48360 | |
CY2020Q4 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
4275 | |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
41297 | ||
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
48360 | ||
CY2019Q4 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
0 | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
15000 | |
CY2020Q1 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
15000 | |
CY2020Q4 | us-gaap |
Assets
Assets
|
74420858 | |
CY2020Q1 | us-gaap |
Assets
Assets
|
79498150 | |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
32677205 | |
CY2020Q1 | us-gaap |
Assets Current
AssetsCurrent
|
34384711 | |
CY2020Q4 | us-gaap |
Available For Sale Debt Securities Accumulated Gross Unrealized Gain Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
|
1898883 | |
CY2020Q1 | us-gaap |
Available For Sale Debt Securities Accumulated Gross Unrealized Gain Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
|
752621 | |
CY2020Q4 | us-gaap |
Available For Sale Debt Securities Accumulated Gross Unrealized Loss Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
|
||
CY2020Q1 | us-gaap |
Available For Sale Debt Securities Accumulated Gross Unrealized Loss Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
|
91432 | |
CY2020Q4 | us-gaap |
Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
|
63795139 | |
CY2020Q1 | us-gaap |
Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
|
69933553 | |
CY2020Q4 | us-gaap |
Available For Sale Securities Debt Maturities Within One Year Fair Value
AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
|
25037055 | |
CY2020Q4 | us-gaap |
Available For Sale Securities Debt Securities
AvailableForSaleSecuritiesDebtSecurities
|
65694022 | |
CY2020Q1 | us-gaap |
Available For Sale Securities Debt Securities
AvailableForSaleSecuritiesDebtSecurities
|
70594742 | |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
13988308 | |
CY2020Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
8065594 | |
CY2020Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
8065594 | |
CY2019Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
6877304 | |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
13988308 | |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
10153173 | |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
5922714 | ||
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
3275869 | ||
CY2020Q2 | us-gaap |
Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
|
1 | |
CY2020Q3 | us-gaap |
Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
|
1 | |
CY2020Q4 | us-gaap |
Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
|
1 | |
CY2019Q4 | us-gaap |
Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
|
1 | |
CY2020Q4 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
1 | |
CY2019Q4 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
1 | |
us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
3 | ||
us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
3 | ||
CY2020Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q1 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
6000000 | |
CY2020Q1 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
6000000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
4833232 | |
CY2020Q1 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
4835038 | |
CY2020Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
4833232 | |
CY2020Q1 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
4835038 | |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
48332 | |
CY2020Q1 | us-gaap |
Common Stock Value
CommonStockValue
|
48350 | |
CY2020Q4 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
3780257 | |
CY2019Q4 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
3761901 | |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
9526800 | ||
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
11940161 | ||
CY2020Q2 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
3654527 | |
CY2020Q3 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
2092016 | |
CY2020Q4 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
3780257 | |
CY2019Q2 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
4177482 | |
CY2019Q3 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
4000778 | |
CY2019Q4 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
3761901 | |
CY2020Q4 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
1075048 | |
CY2019Q4 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
1263806 | |
us-gaap |
Cost Of Revenue
CostOfRevenue
|
2852757 | ||
us-gaap |
Cost Of Revenue
CostOfRevenue
|
3701941 | ||
CY2020Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
||
CY2020Q1 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
108119 | |
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-73269 | ||
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
71800 | ||
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
89420 | |
CY2020Q1 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
||
CY2020Q4 | us-gaap |
Defined Benefit Plan Contributions By Employer
DefinedBenefitPlanContributionsByEmployer
|
22571 | |
CY2019Q4 | us-gaap |
Defined Benefit Plan Contributions By Employer
DefinedBenefitPlanContributionsByEmployer
|
22456 | |
us-gaap |
Defined Benefit Plan Contributions By Employer
DefinedBenefitPlanContributionsByEmployer
|
69227 | ||
us-gaap |
Defined Benefit Plan Contributions By Employer
DefinedBenefitPlanContributionsByEmployer
|
68512 | ||
us-gaap |
Defined Contribution Plan Employer Matching Contribution Percent
DefinedContributionPlanEmployerMatchingContributionPercent
|
1 | ||
us-gaap |
Defined Contribution Plan Maximum Annual Contributions Per Employee Percent
DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
|
0.03 | ||
us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
386968 | ||
us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
403691 | ||
CY2020Q2 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
4835038 | |
CY2020Q3 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
4835038 | |
CY2020Q4 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
4833232 | |
CY2019Q2 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
4846010 | |
CY2019Q3 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
4846010 | |
CY2019Q4 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
4846010 | |
CY2020Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.81 | |
CY2019Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.77 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.77 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
2.30 | ||
CY2020Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.81 | |
CY2019Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.77 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.77 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
2.30 | ||
us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
87 | ||
us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
2496 | ||
CY2020Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
505428 | |
CY2020Q1 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
482074 | |
CY2020Q4 | us-gaap |
Gross Profit
GrossProfit
|
5458314 | |
CY2019Q4 | us-gaap |
Gross Profit
GrossProfit
|
5200790 | |
us-gaap |
Gross Profit
GrossProfit
|
12650652 | ||
us-gaap |
Gross Profit
GrossProfit
|
15559296 | ||
CY2020Q4 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
4810240 | |
CY2019Q4 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
4544811 | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
10393041 | ||
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
13220543 | ||
CY2020Q4 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
884531 | |
CY2019Q4 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
814147 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1833127 | ||
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2060398 | ||
us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
1636788 | ||
us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
1931661 | ||
us-gaap |
Increase Decrease In Accounts Payable And Other Operating Liabilities
IncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities
|
-140082 | ||
us-gaap |
Increase Decrease In Accounts Payable And Other Operating Liabilities
IncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities
|
-210172 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
467290 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-876601 | ||
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-41973 | ||
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-105134 | ||
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-181557 | ||
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-80746 | ||
CY2020Q4 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
29 | |
CY2019Q4 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
1426 | |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
1452139 | |
CY2020Q4 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
1043683 | |
CY2020Q1 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
1003999 | |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
3842477 | |
CY2020Q1 | us-gaap |
Inventory Net
InventoryNet
|
3884450 | |
CY2020Q4 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
839102 | |
CY2020Q1 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
1017451 | |
CY2020Q4 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
1959692 | |
CY2020Q1 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
1863000 | |
CY2020Q4 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
365498 | |
CY2019Q4 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
443478 | |
us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
1166102 | ||
us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
1358826 | ||
CY2020Q4 | us-gaap |
Lease Cost
LeaseCost
|
69249 | |
us-gaap |
Lease Cost
LeaseCost
|
207747 | ||
CY2020Q4 | us-gaap |
Leasehold Improvements Gross
LeaseholdImprovementsGross
|
1810872 | |
CY2020Q1 | us-gaap |
Leasehold Improvements Gross
LeaseholdImprovementsGross
|
1797245 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Discount Rate
LesseeOperatingLeaseDiscountRate
|
0.035 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
792825 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
152703 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
165947 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
163224 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
159592 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
156121 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
72207 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Remaining Lease Term
LesseeOperatingLeaseRemainingLeaseTerm
|
P5Y90D | |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
748944 | |
CY2020Q1 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
79498150 | |
CY2020Q1 | us-gaap |
Liabilities
Liabilities
|
1502801 | |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
74420858 | |
CY2020Q1 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
796201 | |
CY2020Q4 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
9280062 | |
CY2020Q1 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
9280062 | |
CY2020Q4 | us-gaap |
Marketable Securities Current
MarketableSecuritiesCurrent
|
11115094 | |
CY2020Q1 | us-gaap |
Marketable Securities Current
MarketableSecuritiesCurrent
|
19084814 | |
CY2020Q4 | us-gaap |
Marketable Securities Noncurrent
MarketableSecuritiesNoncurrent
|
40656967 | |
CY2020Q1 | us-gaap |
Marketable Securities Noncurrent
MarketableSecuritiesNoncurrent
|
43606495 | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-14594727 | ||
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-14538030 | ||
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
11986373 | ||
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
5277594 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
8531068 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
12536305 | ||
CY2020Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3925709 | |
CY2019Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3730664 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
8559914 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
11160145 | ||
CY2020Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2411865 | |
CY2020Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2222340 | |
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3607419 | |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3822062 | |
us-gaap |
Open Tax Year
OpenTaxYear
|
2016 2017 2018 2019 | ||
CY2020Q4 | us-gaap |
Operating Expenses
OperatingExpenses
|
1013572 | |
CY2019Q4 | us-gaap |
Operating Expenses
OperatingExpenses
|
1099457 | |
us-gaap |
Operating Expenses
OperatingExpenses
|
3423713 | ||
us-gaap |
Operating Expenses
OperatingExpenses
|
3697579 | ||
CY2020Q4 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
4444742 | |
CY2019Q4 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
4101333 | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
9226939 | ||
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
11861717 | ||
CY2020Q4 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
38641 | |
us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
115923 | ||
CY2020Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
720618 | |
CY2020Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
106843 | |
CY2020Q1 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
127134 | |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
613775 | |
CY2020Q1 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
706600 | |
CY2020Q4 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
44433 | |
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
133299 | ||
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
720618 | |
CY2020Q1 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
816358 | |
CY2020Q4 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-145452 | |
CY2019Q4 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
31237 | |
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
966886 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
780016 | ||
CY2020Q2 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
1242662 | |
CY2020Q3 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-130324 | |
CY2019Q2 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
570063 | |
CY2019Q3 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
178716 | |
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
91419 | ||
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
|||
us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
14503308 | ||
us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
14538030 | ||
us-gaap |
Payments To Acquire Marketable Securities
PaymentsToAcquireMarketableSecurities
|
|||
us-gaap |
Payments To Acquire Marketable Securities
PaymentsToAcquireMarketableSecurities
|
7196330 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
13627 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
26076 | ||
CY2020Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
570018 | |
CY2020Q1 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
655835 | |
us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
12000000 | ||
us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
12500000 | ||
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
11090934 | |
CY2020Q1 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
11077307 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
366068 | |
CY2020Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
582467 | |
CY2020Q4 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
702216 | |
CY2019Q4 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
771468 | |
us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
2399164 | ||
us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
2671131 | ||
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
52103126 | |
CY2020Q1 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
58046520 | |
CY2020Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
6533362 | |
CY2019Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
6464596 | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
15503409 | ||
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
19261237 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
4846010 | ||
CY2020Q4 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
311356 | |
CY2019Q4 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
327989 | |
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
1024549 | ||
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
1026448 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
41297 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
48360 | ||
CY2020Q4 | us-gaap |
Significant Change In Unrecognized Tax Benefits Is Reasonably Possible Amount Of Unrecorded Benefit
SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit
|
0 | |
CY2020Q3 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
91419 | |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
72968719 | |
CY2020Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
77995349 | |
CY2020Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
76817545 | |
CY2020Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
74017419 | |
CY2019Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
82780211 | |
CY2019Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
82111683 | |
CY2019Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
81314811 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
80230702 | |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
0 | |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Accrued
UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued
|
0 | |
CY2020Q4 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
30608 | |
us-gaap |
Variable Lease Cost
VariableLeaseCost
|
91824 | ||
CY2020Q4 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
4833261 | |
CY2019Q4 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
4847436 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
4834411 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
4848506 | ||
CY2020Q4 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
4833232 | |
CY2019Q4 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
4846010 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
4834324 |