2021 Q4 Form 10-K Financial Statement
#000165495422002481 Filed on March 03, 2022
Income Statement
Concept | 2021 Q4 | 2021 | 2020 Q4 |
---|---|---|---|
Revenue | $5.718M | $21.88M | $4.744M |
YoY Change | 20.53% | 18.12% | 19.83% |
Cost Of Revenue | $1.519M | $5.748M | $1.413M |
YoY Change | 7.5% | 6.15% | 8.19% |
Gross Profit | $4.199M | $16.14M | $3.331M |
YoY Change | 26.06% | 23.06% | 25.56% |
Gross Profit Margin | 73.43% | 73.73% | 70.22% |
Selling, General & Admin | $3.355M | $10.57M | $2.811M |
YoY Change | 19.35% | 19.56% | 16.64% |
% of Gross Profit | 79.9% | 65.51% | 84.39% |
Research & Development | $1.219M | ||
YoY Change | 47.76% | ||
% of Gross Profit | 7.56% | ||
Depreciation & Amortization | $289.0K | $1.143M | $296.0K |
YoY Change | -2.36% | -15.21% | -27.09% |
% of Gross Profit | 6.88% | 7.08% | 8.89% |
Operating Expenses | $3.501M | $12.39M | $2.962M |
YoY Change | 18.2% | 18.96% | 12.37% |
Operating Profit | $698.0K | $3.743M | $369.0K |
YoY Change | 89.16% | 38.94% | 2070.59% |
Interest Expense | -$365.0K | $3.000K | $1.000K |
YoY Change | -36600.0% | -94.64% | -98.21% |
% of Operating Profit | -52.29% | 0.08% | 0.27% |
Other Income/Expense, Net | |||
YoY Change | |||
Pretax Income | $699.0K | $307.0K | $450.0K |
YoY Change | 55.33% | -31.93% | 516.44% |
Income Tax | $83.00K | $821.0K | $131.0K |
% Of Pretax Income | 11.87% | 267.43% | 29.11% |
Net Earnings | $616.0K | $3.291M | $319.0K |
YoY Change | 93.1% | 56.27% | 362.32% |
Net Earnings / Revenue | 10.77% | 15.04% | 6.72% |
Basic Earnings Per Share | $0.87 | ||
Diluted Earnings Per Share | $161.0K | $0.86 | $83.90K |
COMMON SHARES | |||
Basic Shares Outstanding | 3.780M shares | ||
Diluted Shares Outstanding | 3.820M shares |
Balance Sheet
Concept | 2021 Q4 | 2021 | 2020 Q4 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $23.85M | $23.85M | $19.56M |
YoY Change | 21.97% | 21.97% | 24.04% |
Cash & Equivalents | $23.85M | $23.85M | $19.56M |
Short-Term Investments | |||
Other Short-Term Assets | $750.0K | $750.0K | $298.0K |
YoY Change | 151.68% | 151.68% | 111.35% |
Inventory | |||
Prepaid Expenses | |||
Receivables | $3.291M | $3.291M | $2.514M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $27.89M | $27.89M | $22.37M |
YoY Change | 24.7% | 24.7% | 24.23% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $713.0K | $2.246M | $795.0K |
YoY Change | -10.31% | -14.44% | -73.73% |
Goodwill | $6.376M | $6.376M | |
YoY Change | 0.0% | ||
Intangibles | $2.447M | $2.906M | |
YoY Change | -15.79% | ||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $94.00K | $94.00K | $88.00K |
YoY Change | 6.82% | 6.82% | -73.57% |
Total Long-Term Assets | $11.36M | $11.36M | $12.52M |
YoY Change | -9.24% | -9.24% | -12.95% |
TOTAL ASSETS | |||
Total Short-Term Assets | $27.89M | $27.89M | $22.37M |
Total Long-Term Assets | $11.36M | $11.36M | $12.52M |
Total Assets | $39.26M | $39.26M | $34.89M |
YoY Change | 12.52% | 12.52% | 7.72% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $695.0K | $695.0K | $304.0K |
YoY Change | 128.62% | 128.62% | 14.29% |
Accrued Expenses | $1.975M | $1.975M | $1.805M |
YoY Change | 9.42% | 9.42% | 56.82% |
Deferred Revenue | |||
YoY Change | |||
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | -100.0% | ||
Long-Term Debt Due | |||
YoY Change | |||
Total Short-Term Liabilities | $5.802M | $5.802M | $4.579M |
YoY Change | 26.71% | 26.71% | 19.24% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $1.659M | $1.659M | $1.971M |
YoY Change | -15.83% | -15.83% | -14.64% |
Total Long-Term Liabilities | $1.659M | $1.659M | $1.971M |
YoY Change | -15.83% | -15.83% | -14.64% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $5.802M | $5.802M | $4.579M |
Total Long-Term Liabilities | $1.659M | $1.659M | $1.971M |
Total Liabilities | $7.637M | $7.637M | $6.747M |
YoY Change | 13.19% | 13.19% | 7.27% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $9.234M | $5.943M | |
YoY Change | 55.38% | ||
Common Stock | $4.000K | $4.000K | |
YoY Change | 0.0% | ||
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $31.62M | $31.62M | $28.14M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $39.26M | $39.26M | $34.89M |
YoY Change | 12.52% | 12.52% | 7.72% |
Cashflow Statement
Concept | 2021 Q4 | 2021 | 2020 Q4 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $616.0K | $3.291M | $319.0K |
YoY Change | 93.1% | 56.27% | 362.32% |
Depreciation, Depletion And Amortization | $289.0K | $1.143M | $296.0K |
YoY Change | -2.36% | -15.21% | -27.09% |
Cash From Operating Activities | $1.412M | $4.731M | $986.0K |
YoY Change | 43.2% | 7.87% | 8.47% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$13.00K | $62.00K | -$12.00K |
YoY Change | 8.33% | 129.63% | -89.83% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $0.00 | ||
YoY Change | |||
Cash From Investing Activities | -$13.00K | -$277.0K | -$12.00K |
YoY Change | 8.33% | 925.93% | -89.83% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | $0.00 | ||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $453.0K | ||
YoY Change | -42.29% | ||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | 32.00K | -$146.0K | 145.0K |
YoY Change | -77.93% | -74.56% | -116.92% |
NET CHANGE | |||
Cash From Operating Activities | 1.412M | $4.731M | 986.0K |
Cash From Investing Activities | -13.00K | -$277.0K | -12.00K |
Cash From Financing Activities | 32.00K | -$146.0K | 145.0K |
Net Change In Cash | 1.431M | $4.308M | 1.119M |
YoY Change | 27.88% | 13.82% | -1795.45% |
FREE CASH FLOW | |||
Cash From Operating Activities | $1.412M | $4.731M | $986.0K |
Capital Expenditures | -$13.00K | $62.00K | -$12.00K |
Free Cash Flow | $1.425M | $4.669M | $998.0K |
YoY Change | 42.79% | 7.11% | -2.82% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2021 | dei |
Auditor Location
AuditorLocation
|
Raleigh, North Carolina | |
CY2021Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
675000 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
657000 | USD |
CY2021Q4 | us-gaap |
Capitalized Computer Software Accumulated Amortization
CapitalizedComputerSoftwareAccumulatedAmortization
|
3301000 | USD |
CY2020Q4 | us-gaap |
Capitalized Computer Software Accumulated Amortization
CapitalizedComputerSoftwareAccumulatedAmortization
|
2761000 | USD |
CY2021Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
456000 | USD |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
312000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
6005000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
5546000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Noncurrent
DeferredTaxLiabilitiesNoncurrent
|
197000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
1971000 | USD |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
6747000 | USD |
CY2021Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.001 | |
CY2021Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
1000000 | shares |
CY2021Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | shares |
CY2021Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.001 | |
CY2021Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
20000000 | shares |
CY2021Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
3793538 | shares |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
3770752 | shares |
CY2021Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
4000 | USD |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
4000 | USD |
CY2021 | us-gaap |
Revenues
Revenues
|
21883000 | USD |
CY2020 | us-gaap |
Revenues
Revenues
|
18526000 | USD |
CY2021 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
5748000 | USD |
CY2020 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
5415000 | USD |
CY2021 | us-gaap |
Gross Profit
GrossProfit
|
16135000 | USD |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
13111000 | USD |
CY2021 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
5491000 | USD |
CY2020 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
5029000 | USD |
CY2021 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
5079000 | USD |
CY2020 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
3812000 | USD |
CY2021 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
1219000 | USD |
CY2020 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
825000 | USD |
CY2021 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
603000 | USD |
CY2020 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
751000 | USD |
CY2021 | us-gaap |
Operating Expenses
OperatingExpenses
|
12392000 | USD |
CY2020 | us-gaap |
Operating Expenses
OperatingExpenses
|
10417000 | USD |
CY2021 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
3743000 | USD |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2694000 | USD |
CY2021 | us-gaap |
Other Operating Income Expense Net
OtherOperatingIncomeExpenseNet
|
366000 | USD |
CY2020 | us-gaap |
Other Operating Income Expense Net
OtherOperatingIncomeExpenseNet
|
80000 | USD |
CY2021 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
3000 | USD |
CY2020 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
56000 | USD |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
4112000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
2830000 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
821000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
724000 | USD |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.87 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.56 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.86 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.56 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
3780000 | shares |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
3755000 | shares |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
3820000 | shares |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
3784000 | shares |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3291000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2106000 | USD |
CY2021 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
0 | USD |
CY2020 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
-3000 | USD |
CY2021 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
3291000 | USD |
CY2020 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
2103000 | USD |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
26100000 | USD |
CY2020 | isdr |
Stock Based Compensation Expense
StockBasedCompensationExpense
|
273000 | USD |
CY2020 | isdr |
Exercise Of Stock Awards Net Of Tax Amount
ExerciseOfStockAwardsNetOfTaxAmount
|
451000 | USD |
CY2020 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-785000 | USD |
CY2020 | isdr |
Foreign Currency Translation
ForeignCurrencyTranslation
|
-3000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2106000 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
28142000 | USD |
CY2021 | isdr |
Stock Based Compensation Expense
StockBasedCompensationExpense
|
333000 | USD |
CY2021 | isdr |
Exercise Of Stock Awards Net Of Tax Amount
ExerciseOfStockAwardsNetOfTaxAmount
|
307000 | USD |
CY2021 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-453000 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3291000 | USD |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
31620000 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3291000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2106000 | USD |
CY2021 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
257000 | USD |
CY2020 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
304000 | USD |
CY2021 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1143000 | USD |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1348000 | USD |
CY2021 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-106000 | USD |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
312000 | USD |
CY2021 | us-gaap |
Other Noncash Expense
OtherNoncashExpense
|
0 | USD |
CY2020 | us-gaap |
Other Noncash Expense
OtherNoncashExpense
|
19000 | USD |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
333000 | USD |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
273000 | USD |
CY2021 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
0 | USD |
CY2020 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-80000 | USD |
CY2021 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-1042000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-761000 | USD |
CY2021 | us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
-160000 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
177000 | USD |
CY2021 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
393000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
37000 | USD |
CY2021 | us-gaap |
Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
|
887000 | USD |
CY2020 | us-gaap |
Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
|
391000 | USD |
CY2021 | us-gaap |
Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
|
-265000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
|
260000 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
4731000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
4386000 | USD |
CY2021 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
62000 | USD |
CY2020 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
27000 | USD |
CY2021 | isdr |
Capitalized Software
CapitalizedSoftware
|
-215000 | USD |
CY2020 | isdr |
Capitalized Software
CapitalizedSoftware
|
0 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-277000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-27000 | USD |
CY2021 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
453000 | USD |
CY2020 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
785000 | USD |
CY2021 | us-gaap |
Repayments Of Notes Payable
RepaymentsOfNotesPayable
|
0 | USD |
CY2020 | us-gaap |
Repayments Of Notes Payable
RepaymentsOfNotesPayable
|
240000 | USD |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
307000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
451000 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-146000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-574000 | USD |
CY2021 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Excluding Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
|
4308000 | USD |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Excluding Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
|
3785000 | USD |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
15766000 | USD |
CY2021 | us-gaap |
Effect Of Exchange Rate On Cash
EffectOfExchangeRateOnCash
|
-12000 | USD |
CY2020 | us-gaap |
Effect Of Exchange Rate On Cash
EffectOfExchangeRateOnCash
|
5000 | USD |
CY2021Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
23852000 | USD |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
19556000 | USD |
CY2021 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
1050000 | USD |
CY2020 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
458000 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
657000 | USD |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
700000 | USD |
CY2021 | us-gaap |
Interest And Debt Expense
InterestAndDebtExpense
|
257000 | USD |
CY2020 | us-gaap |
Interest And Debt Expense
InterestAndDebtExpense
|
304000 | USD |
CY2021 | us-gaap |
Fdic Indemnification Asset Net Write Offs
FDICIndemnificationAssetNetWriteOffs
|
239000 | USD |
CY2020 | us-gaap |
Fdic Indemnification Asset Net Write Offs
FDICIndemnificationAssetNetWriteOffs
|
347000 | USD |
CY2021Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
675000 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
657000 | USD |
CY2021Q4 | us-gaap |
Cash Fdic Insured Amount
CashFDICInsuredAmount
|
250000 | USD |
CY2021Q4 | us-gaap |
Time Deposits At Or Above Fdic Insurance Limit
TimeDepositsAtOrAboveFDICInsuranceLimit
|
22099000 | USD |
CY2021Q4 | us-gaap |
Deferred Revenue Current
DeferredRevenueCurrent
|
3086000 | USD |
CY2020Q4 | us-gaap |
Deferred Revenue Current
DeferredRevenueCurrent
|
2212000 | USD |
CY2021 | isdr |
Revenue Recognized Included In The Deferred Revenue
RevenueRecognizedIncludedInTheDeferredRevenue
|
2212000 | USD |
CY2020 | isdr |
Revenue Recognized Included In The Deferred Revenue
RevenueRecognizedIncludedInTheDeferredRevenue
|
11812000 | USD |
CY2021Q4 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
3291000 | USD |
CY2020Q4 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
2514000 | USD |
CY2021Q4 | us-gaap |
Capitalized Contract Cost Net
CapitalizedContractCostNet
|
53000 | USD |
CY2020Q4 | us-gaap |
Capitalized Contract Cost Net
CapitalizedContractCostNet
|
44000 | USD |
CY2021 | us-gaap |
Revenue Recognition Software
RevenueRecognitionSoftware
|
<p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Costs incurred to develop the Company’s cloud-based platform products are capitalized when the preliminary project phase is complete, management commits to fund the project and it is probable the project will be completed and used for its intended purposes. Once the software is substantially complete and ready for its intended use, the software is amortized over its estimated useful life, which is typically four years. Costs related to design or maintenance of the software are expensed as incurred. Capitalized costs and amortization for the years ended December 31, 2021 and 2020, are as follows (in thousands): </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2021</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2020</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capitalized software development costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">215</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization included in cost of revenues</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">540</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">599</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization included in depreciation and amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> | |
CY2020 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
40000000 | shares |
CY2021 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The preparation of financial statements in conformity with United States Generally Accepted Accounting Principles (“GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates include the allowance for doubtful accounts and the valuation of goodwill, intangible assets, deferred tax assets, and stock-based compensation. Actual results could differ from those estimates.</p> | |
CY2017Q4 | isdr |
Stock Purchase Agreement Description
StockPurchaseAgreementDescription
|
Company paid $1,935,000 at closing, $288,000 on the first anniversary of the closing, $320,000 on the second anniversary of the closing and called for another $320,000 to be paid upon the third anniversary date of the closing. The Company also issued 25,235 shares of restricted common stock of the Company at closing. | |
CY2020 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-80000 | USD |
CY2021 | isdr |
Capitalized Software Development Costs
CapitalizedSoftwareDevelopmentCosts
|
215000 | USD |
CY2020 | isdr |
Capitalized Software Development Costs
CapitalizedSoftwareDevelopmentCosts
|
0 | USD |
CY2021 | isdr |
Summary Of Capitalized Costs And Amortization
SummaryOfCapitalizedCostsAndAmortization
|
540000 | USD |
CY2020 | isdr |
Summary Of Capitalized Costs And Amortization
SummaryOfCapitalizedCostsAndAmortization
|
599000 | USD |
CY2021 | isdr |
Amortization Included In Depreciation And Amortization
AmortizationIncludedInDepreciationAndAmortization
|
0 | USD |
CY2020 | isdr |
Amortization Included In Depreciation And Amortization
AmortizationIncludedInDepreciationAndAmortization
|
9000 | USD |
CY2021 | us-gaap |
Revenue Recognition Leases Operating
RevenueRecognitionLeasesOperating
|
<p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Company determines if an arrangement is a lease at inception. Operating lease agreements are primarily for office space and are included within lease right-of-use (“ROU”) assets and lease liabilities on the consolidated balance sheet.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are recognized at the commencement date based on the present value of lease payments over the lease term. Variable lease payments consist of non-lease services related to the lease and payments under operating leases classified as short-term. Variable lease payments are excluded from the ROU assets and lease liabilities and are recognized in the period in which the obligation for those payments is incurred. As most of the leases do not provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. ROU assets include any lease payments due and exclude lease incentives. Rental expense for lease payments related to operating leases is recognized on a straight-line basis over the lease term.</p> | |
CY2021 | us-gaap |
Advertising Expense
AdvertisingExpense
|
250000 | USD |
CY2020 | us-gaap |
Advertising Expense
AdvertisingExpense
|
245000 | USD |
CY2021 | isdr |
Fixed Assets Textblock
FixedAssetsTextblock
|
<p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><em>Note 3: Fixed Assets</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>in $000’s</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2021</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2020</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computer equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">163</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">122</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture & equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">301</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">280</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">705</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">705</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total fixed assets, gross</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,169</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,107</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(456 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(312 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total fixed assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">713</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">795</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Included in leasehold improvements is $488,000 of tenant improvement allowance associated with a lease signed in March 2019 related to the Company’s new corporate headquarters. Depreciation expense on fixed assets for the years ended December 31, 2021 and 2020 totaled $144,000 and $131,000, respectively. No disposals were made during the years ended December 31, 2021 and 2020. </p> | |
CY2021Q4 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
163000 | USD |
CY2020Q4 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
122000 | USD |
CY2021Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
301000 | USD |
CY2020Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
280000 | USD |
CY2021Q4 | us-gaap |
Leasehold Improvements Gross
LeaseholdImprovementsGross
|
705000 | USD |
CY2020Q4 | us-gaap |
Leasehold Improvements Gross
LeaseholdImprovementsGross
|
705000 | USD |
CY2021Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
1169000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
1107000 | USD |
CY2021Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
456000 | USD |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
312000 | USD |
CY2021Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
713000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
795000 | USD |
CY2021 | us-gaap |
Depreciation
Depreciation
|
144000 | USD |
CY2020 | us-gaap |
Depreciation
Depreciation
|
131000 | USD |
CY2021 | isdr |
Disposal Of Fixed Assets
DisposalOfFixedAssets
|
0 | USD |
CY2021 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
459000 | USD |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
609000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
431000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
431000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
418000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
319000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
291000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
|
149000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
2039000 | USD |
CY2021Q4 | us-gaap |
Goodwill
Goodwill
|
6376000 | USD |
CY2021Q4 | us-gaap |
Line Of Credit Facility Interest Rate At Period End
LineOfCreditFacilityInterestRateAtPeriodEnd
|
0.0180 | pure |
CY2021 | us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
0 | USD |
CY2021 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
179845 | shares |
CY2021 | us-gaap |
Stock Repurchased And Retired During Period Shares
StockRepurchasedAndRetiredDuringPeriodShares
|
179845 | shares |
CY2021 | us-gaap |
Accelerated Share Repurchases Final Price Paid Per Share
AcceleratedShareRepurchasesFinalPricePaidPerShare
|
11.15 | |
CY2021 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
179845 | shares |
CY2021Q3 | us-gaap |
Stock Repurchase Program Remaining Authorized Repurchase Amount1
StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
|
0 | USD |
CY2021Q4 | us-gaap |
Share Price
SharePrice
|
29.45 | |
CY2020Q4 | us-gaap |
Share Price
SharePrice
|
17.51 | |
CY2019Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
|
29000 | shares |
CY2019Q4 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Weighted Average Exercise Price
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageExercisePrice
|
12.87 | |
CY2019Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
|
5.47 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
|
14500 | shares |
CY2020 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Exercise Price
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageExercisePrice
|
12.87 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
|
5.47 | |
CY2020 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Options Forfeited Weighted Average Exercise Price
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageExercisePrice
|
0 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Options Forfeited Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
|
0 | |
CY2020Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
|
14500 | shares |
CY2020Q4 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Weighted Average Exercise Price
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageExercisePrice
|
12.87 | |
CY2020Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
|
5.47 | |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
|
14500 | shares |
CY2021 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Exercise Price
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageExercisePrice
|
12.87 | |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
|
5.47 | |
CY2021 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Options Forfeited Weighted Average Exercise Price
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageExercisePrice
|
0 | |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Options Forfeited Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
|
0 | |
CY2021Q4 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Weighted Average Exercise Price
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageExercisePrice
|
0 | |
CY2021Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
|
0 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
47167 | shares |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P5Y1M28D | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
11.81 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
47167 | shares |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
47167 | shares |
CY2021Q4 | us-gaap |
Preferred Stock Share Subscriptions
PreferredStockShareSubscriptions
|
21000 | shares |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Non Option Equity Instruments Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
|
48002 | shares |
CY2019Q4 | isdr |
Share Based Compensation Arrangement By Share Based Payment Award Non Option Equity Instruments Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingWeightedAverageExercisePrice
|
11.55 | |
CY2019Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Outstanding
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
|
554388 | USD |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
|
18000 | shares |
CY2020 | isdr |
Share Based Compensation Arrangements By Share Based Payment Award Equity Instruments Other Than Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageExercisePrice
|
10.67 | |
CY2020 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Granted
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted
|
192060 | USD |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
|
32002 | shares |
CY2020 | isdr |
Share Based Compensation Arrangements By Share Based Payment Award Equity Instruments Other Than Options Vested In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageExercisePrice
|
11.61 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Vested
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
|
353948 | USD |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Forfeited In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
|
15000 | shares |
CY2020 | isdr |
Share Based Compensation Arrangements By Share Based Payment Award Equity Instruments Other Than Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
11.35 | |
CY2020 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Forfeited
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited
|
156665 | USD |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Non Option Equity Instruments Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
|
19000 | shares |
CY2020Q4 | isdr |
Share Based Compensation Arrangement By Share Based Payment Award Non Option Equity Instruments Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingWeightedAverageExercisePrice
|
10.78 | |
CY2020Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Outstanding
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
|
332690 | USD |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
|
17765 | shares |
CY2021 | isdr |
Share Based Compensation Arrangements By Share Based Payment Award Equity Instruments Other Than Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageExercisePrice
|
25.92 | |
CY2021 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Granted
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted
|
460504 | USD |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
|
19000 | shares |
CY2021 | isdr |
Share Based Compensation Arrangements By Share Based Payment Award Equity Instruments Other Than Options Vested In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageExercisePrice
|
10.78 | |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Vested
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
|
464400 | USD |
CY2021 | isdr |
Share Based Compensation Arrangements By Share Based Payment Award Equity Instruments Other Than Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
0 | |
CY2021 | isdr |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Forfeited
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited
|
0 | USD |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Non Option Equity Instruments Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
|
17765 | shares |
CY2021Q4 | isdr |
Share Based Compensation Arrangement By Share Based Payment Award Non Option Equity Instruments Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingWeightedAverageExercisePrice
|
25.92 | |
CY2021Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Outstanding
SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
|
523197 | USD |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
|
17765 | shares |
CY2021Q4 | us-gaap |
Temporary Equity Par Or Stated Value Per Share
TemporaryEquityParOrStatedValuePerShare
|
25.92 | |
CY2021 | us-gaap |
Share Based Goods And Nonemployee Services Transaction Stockholders Equity
ShareBasedGoodsAndNonemployeeServicesTransactionStockholdersEquity
|
12765 | USD |
CY2021 | isdr |
Description Of Restricted Stock Units
DescriptionOfRestrictedStockUnits
|
The other 5,000 restricted stock units were granted to an employee and vest 50% during each of the first and second anniversary dates of the date of grant, which was May 17, 2021 | |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
|
19000 | shares |
CY2021 | isdr |
Share Based Compensation Arrangements By Share Based Payment Award Equity Instruments Other Than Options Vested In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageExercisePrice
|
10.78 | |
CY2021Q4 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Share Based Awards Other Than Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
|
234000000 | USD |
CY2021 | us-gaap |
Stock Option Plan Expense
StockOptionPlanExpense
|
333000 | USD |
CY2020 | us-gaap |
Stock Option Plan Expense
StockOptionPlanExpense
|
273000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
358000 | USD |
CY2021 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
347000 | USD |
CY2020 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
347000 | USD |
CY2020 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
84000 | USD |
CY2021 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
116000 | USD |
CY2020 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
132000 | USD |
CY2021 | us-gaap |
Lease Cost
LeaseCost
|
463000 | USD |
CY2020 | us-gaap |
Lease Cost
LeaseCost
|
479000 | USD |
CY2021 | isdr |
Weighted Average Non Cancelable Lease Term
WeightedAverageNonCancelableLeaseTerm
|
P6Y | |
CY2021Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0377 | pure |
CY2021 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
109000 | USD |
CY2021Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Two Years
OperatingLeasesFutureMinimumPaymentsDueInTwoYears
|
369000 | USD |
CY2020 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
21000 | USD |
CY2021 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
927000 | USD |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
412000 | USD |
CY2021Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Three Years
OperatingLeasesFutureMinimumPaymentsDueInThreeYears
|
379000 | USD |
CY2021 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-40000 | USD |
CY2020 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
283000 | USD |
CY2021 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-7000 | USD |
CY2020 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
50000 | USD |
CY2021 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-59000 | USD |
CY2020 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-21000 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
|
359000 | USD |
CY2021 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
-106000 | USD |
CY2020 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
312000 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
821000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
724000 | USD |
CY2021Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Four Years
OperatingLeasesFutureMinimumPaymentsDueInFourYears
|
389000 | USD |
CY2021Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Five Years
OperatingLeasesFutureMinimumPaymentsDueInFiveYears
|
399000 | USD |
CY2021Q4 | us-gaap |
Operating Leases Future Minimum Payments Due Thereafter
OperatingLeasesFutureMinimumPaymentsDueThereafter
|
413000 | USD |
CY2021Q4 | us-gaap |
Operating Leases Future Minimum Payments Due
OperatingLeasesFutureMinimumPaymentsDue
|
2308000 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
291000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
2017000 | USD |
CY2021 | us-gaap |
Revenues
Revenues
|
21883000 | USD |
CY2021 | us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
1.000 | pure |
CY2020 | us-gaap |
Revenues
Revenues
|
18526000 | USD |
CY2020 | us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
1.000 | pure |
CY2021 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
632000 | USD |
CY2020 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
307000 | USD |
CY2021 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
186000 | USD |
CY2021 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
864000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
594000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
139000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.034 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
117000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.041 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-55000 | USD |
CY2021 | isdr |
Effective Income Tax Rate Reconciliation Share Based Compensation
EffectiveIncomeTaxRateReconciliationShareBasedCompensation
|
-0.013 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
29000 | USD |
CY2020 | isdr |
Effective Income Tax Rate Reconciliation Share Based Compensation
EffectiveIncomeTaxRateReconciliationShareBasedCompensation
|
0.011 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
-83000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
|
-0.020 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
16000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
|
0.005 | pure |
CY2021 | isdr |
Income Tax Reconciliation Foreign Tax Credit Generated
IncomeTaxReconciliationForeignTaxCreditGenerated
|
-55000 | USD |
CY2021 | isdr |
Effective Income Tax Rate Reconciliation Foreign Tax Credit Generated
EffectiveIncomeTaxRateReconciliationForeignTaxCreditGenerated
|
-0.013 | pure |
CY2020 | isdr |
Income Tax Reconciliation Foreign Tax Credit Generated
IncomeTaxReconciliationForeignTaxCreditGenerated
|
-15000 | USD |
CY2020 | isdr |
Effective Income Tax Rate Reconciliation Foreign Tax Credit Generated
EffectiveIncomeTaxRateReconciliationForeignTaxCreditGenerated
|
-0.005 | pure |
CY2021 | isdr |
Income Tax Reconciliation Foreign Earnings Tax Reform
IncomeTaxReconciliationForeignEarningsTaxReform
|
55000 | USD |
CY2021 | isdr |
Effective Income Tax Rate Reconciliation Foreign Earnings Tax Reform
EffectiveIncomeTaxRateReconciliationForeignEarningsTaxReform
|
0.013 | pure |
CY2020 | isdr |
Income Tax Reconciliation Foreign Earnings Tax Reform
IncomeTaxReconciliationForeignEarningsTaxReform
|
17000 | USD |
CY2020 | isdr |
Effective Income Tax Rate Reconciliation Foreign Earnings Tax Reform
EffectiveIncomeTaxRateReconciliationForeignEarningsTaxReform
|
0.006 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
|
13000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
|
0.003 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
|
-2000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
|
-0.001 | pure |
CY2021 | isdr |
Income Tax Reconciliation Fdii Deduction
IncomeTaxReconciliationFDIIDeduction
|
-57000 | USD |
CY2021 | isdr |
Effective Income Tax Rate Reconciliation Fdii Deduction
EffectiveIncomeTaxRateReconciliationFDIIDeduction
|
-0.013 | pure |
CY2020 | isdr |
Income Tax Reconciliation Fdii Deduction
IncomeTaxReconciliationFDIIDeduction
|
-32000 | USD |
CY2020 | isdr |
Effective Income Tax Rate Reconciliation Fdii Deduction
EffectiveIncomeTaxRateReconciliationFDIIDeduction
|
-0.011 | pure |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
821000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.201 | pure |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
724000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.256 | pure |
CY2021Q4 | us-gaap |
Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
|
89000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
|
24000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
152000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
149000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
88000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
108000 | USD |
CY2021Q4 | isdr |
Deferred Tax Assets Transaction Costs
DeferredTaxAssetsTransactionCosts
|
44000 | USD |
CY2020Q4 | isdr |
Deferred Tax Assets Transaction Costs
DeferredTaxAssetsTransactionCosts
|
46000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
80000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
138000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
453000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
465000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
5000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
15000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
174000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
188000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Deferred Expense Capitalized Software
DeferredTaxLiabilitiesDeferredExpenseCapitalizedSoftware
|
50000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Deferred Expense Capitalized Software
DeferredTaxLiabilitiesDeferredExpenseCapitalizedSoftware
|
0 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
400000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
459000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
629000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
662000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
176000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
197000 | USD |
CY2021 | us-gaap |
Deferred Compensation Arrangement With Individual Contributions By Employer
DeferredCompensationArrangementWithIndividualContributionsByEmployer
|
64000 | USD |
CY2020 | us-gaap |
Deferred Compensation Arrangement With Individual Contributions By Employer
DeferredCompensationArrangementWithIndividualContributionsByEmployer
|
24000 | USD |