2024 Q1 Form 10-K Financial Statement
#000165495424004045 Filed on April 01, 2024
Income Statement
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
Revenue | $1.114M | $1.528M | $7.355M |
YoY Change | -29.58% | -45.66% | -11.8% |
Cost Of Revenue | $443.4K | $688.6K | $3.065M |
YoY Change | -30.82% | -40.84% | -6.49% |
Gross Profit | $670.7K | $839.1K | $4.290M |
YoY Change | -28.75% | -49.07% | -15.23% |
Gross Profit Margin | 60.2% | 54.93% | 58.32% |
Selling, General & Admin | $1.638M | $1.552M | $6.498M |
YoY Change | -13.57% | -26.28% | -7.78% |
% of Gross Profit | 244.18% | 184.94% | 151.48% |
Research & Development | $67.97K | $271.2K | $491.8K |
YoY Change | -3.61% | 177.79% | 39.62% |
% of Gross Profit | 10.13% | 32.32% | 11.47% |
Depreciation & Amortization | $73.04K | $93.41K | $366.7K |
YoY Change | -14.07% | 14.61% | 16.53% |
% of Gross Profit | 10.89% | 11.13% | 8.55% |
Operating Expenses | $1.897M | $2.010M | $7.639M |
YoY Change | -10.91% | -14.58% | -3.82% |
Operating Profit | -$1.226M | -$1.171M | -$3.349M |
YoY Change | 3.23% | 65.9% | 16.21% |
Interest Expense | $93.62K | -$54.58K | -$53.32K |
YoY Change | 14084.85% | -6232.58% | |
% of Operating Profit | |||
Other Income/Expense, Net | -$83.71K | -$53.32K | |
YoY Change | -12803.19% | -2849.61% | |
Pretax Income | -$1.310M | -$1.226M | -$3.403M |
YoY Change | 10.33% | 73.85% | 18.14% |
Income Tax | $0.00 | $0.00 | $0.00 |
% Of Pretax Income | |||
Net Earnings | -$1.310M | -$1.226M | -$3.403M |
YoY Change | 10.33% | 73.85% | 18.14% |
Net Earnings / Revenue | -117.6% | -80.24% | -46.27% |
Basic Earnings Per Share | -$0.07 | -$0.17 | |
Diluted Earnings Per Share | -$0.07 | -$0.06 | -$0.17 |
COMMON SHARES | |||
Basic Shares Outstanding | 19.96M shares | 19.82M shares | 19.83M shares |
Diluted Shares Outstanding | 19.95M shares | 19.83M shares |
Balance Sheet
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $1.093M | $2.339M | $2.339M |
YoY Change | -55.73% | -39.51% | -39.51% |
Cash & Equivalents | $1.093M | $2.339M | $2.339M |
Short-Term Investments | |||
Other Short-Term Assets | $508.4K | $400.6K | $400.6K |
YoY Change | -2.35% | -52.04% | -52.04% |
Inventory | $4.646M | $4.627M | $4.627M |
Prepaid Expenses | $384.0K | $371.3K | |
Receivables | $2.116M | $2.430M | $2.430M |
Other Receivables | $164.2K | $164.1K | $164.1K |
Total Short-Term Assets | $8.527M | $9.961M | $9.961M |
YoY Change | -18.04% | -17.91% | -17.91% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $1.061M | $1.517M | $1.517M |
YoY Change | -16.79% | 13.57% | -18.65% |
Goodwill | |||
YoY Change | |||
Intangibles | $1.949M | $1.954M | |
YoY Change | 90.73% | 7.0% | |
Long-Term Investments | |||
YoY Change | |||
Other Assets | $593.9K | $550.7K | $550.7K |
YoY Change | 14.07% | 15.91% | 15.91% |
Total Long-Term Assets | $3.431M | $3.397M | $3.397M |
YoY Change | 2.97% | 0.94% | 0.94% |
TOTAL ASSETS | |||
Total Short-Term Assets | $8.527M | $9.961M | $9.961M |
Total Long-Term Assets | $3.431M | $3.397M | $3.397M |
Total Assets | $11.96M | $13.36M | $13.36M |
YoY Change | -12.95% | -13.82% | -13.82% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $1.351M | $1.267M | $1.267M |
YoY Change | 5.44% | -28.08% | -28.08% |
Accrued Expenses | $591.4K | $791.2K | $791.2K |
YoY Change | -6.86% | -4.56% | -4.56% |
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 | $1.956M | $2.058M | $2.058M |
YoY Change | -22.83% | -37.45% | -37.45% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $2.314M | $2.298M | $2.298M |
YoY Change | |||
Other Long-Term Liabilities | $612.0K | $642.5K | $642.5K |
YoY Change | -16.27% | -15.58% | -15.58% |
Total Long-Term Liabilities | $2.926M | $2.941M | $2.941M |
YoY Change | 300.27% | 286.34% | 286.34% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $1.956M | $2.058M | $2.058M |
Total Long-Term Liabilities | $2.926M | $2.941M | $2.941M |
Total Liabilities | $4.882M | $4.999M | $4.999M |
YoY Change | 49.48% | 23.38% | 23.38% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | -$51.14M | -$49.83M | |
YoY Change | 7.4% | 7.33% | |
Common Stock | $199.6K | $199.2K | |
YoY Change | 0.66% | 0.81% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $7.076M | $8.359M | $8.359M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $11.96M | $13.36M | $13.36M |
YoY Change | -12.95% | -13.82% | -13.82% |
Cashflow Statement
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | -$1.310M | -$1.226M | -$3.403M |
YoY Change | 10.33% | 73.85% | 18.14% |
Depreciation, Depletion And Amortization | $73.04K | $93.41K | $366.7K |
YoY Change | -14.07% | 14.61% | 16.53% |
Cash From Operating Activities | -$1.178M | -$1.237M | -$3.599M |
YoY Change | -13.56% | 304.9% | 191.56% |
INVESTING ACTIVITIES | |||
Capital Expenditures | $94.84K | $122.4K | $216.7K |
YoY Change | 178.24% | -25.04% | -10.25% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | |||
YoY Change | |||
Cash From Investing Activities | -$94.84K | -$122.4K | -$216.7K |
YoY Change | 178.24% | -25.04% | -10.25% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $0.00 | ||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | $27.50K | 2.288M | 2.288M |
YoY Change | 9050.4% | ||
NET CHANGE | |||
Cash From Operating Activities | -$1.178M | -1.237M | -3.599M |
Cash From Investing Activities | -$94.84K | -122.4K | -216.7K |
Cash From Financing Activities | $27.50K | 2.288M | 2.288M |
Net Change In Cash | -$1.246M | 928.4K | -1.528M |
YoY Change | -10.85% | -298.05% | 5.31% |
FREE CASH FLOW | |||
Cash From Operating Activities | -$1.178M | -$1.237M | -$3.599M |
Capital Expenditures | $94.84K | $122.4K | $216.7K |
Free Cash Flow | -$1.273M | -$1.359M | -$3.815M |
YoY Change | -8.88% | 189.97% | 158.54% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2022Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
475103 | usd |
CY2022Q4 | us-gaap |
Other Assets
OtherAssets
|
2029835 | usd |
CY2023Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
642527 | usd |
CY2022Q4 | us-gaap |
Accrued Liabilities And Other Liabilities
AccruedLiabilitiesAndOtherLiabilities
|
728703 | usd |
CY2022Q4 | us-gaap |
Customer Deposits Current
CustomerDepositsCurrent
|
699732 | usd |
CY2022Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
100282 | usd |
CY2022Q4 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
3866733 | usd |
CY2022Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
2772340 | usd |
CY2022Q4 | us-gaap |
Other Receivables Net Current
OtherReceivablesNetCurrent
|
164150 | usd |
CY2022Q4 | us-gaap |
Deposits Assets Current
DepositsAssetsCurrent
|
447052 | usd |
CY2022Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
388359 | usd |
CY2022Q4 | us-gaap |
Assets Current
AssetsCurrent
|
12134633 | usd |
CY2022Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
1335331 | usd |
CY2022Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1025736 | usd |
CY2022Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
528996 | usd |
CY2022Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
761132 | usd |
CY2023 | us-gaap |
Professional Fees
ProfessionalFees
|
575728 | usd |
CY2022 | us-gaap |
Professional Fees
ProfessionalFees
|
536311 | usd |
CY2022Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1025736 | usd |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-2880060 | usd |
CY2023 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0000314227 | |
CY2023 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2023 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--12-31 | |
CY2023 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2023 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2023 | |
CY2023 | dei |
Document Fin Stmt Error Correction Flag
DocumentFinStmtErrorCorrectionFlag
|
false | |
CY2022Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2022Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | shares |
CY2023Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
19923955 | shares |
CY2022Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
19763955 | shares |
CY2022 | tomz |
Amortization Of Tenant Improvement Allowance
AmortizationOfTenantImprovementAllowance
|
39194 | usd |
CY2022 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Amortization
IncomeTaxReconciliationNondeductibleExpenseAmortization
|
0 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Amortization
IncomeTaxReconciliationNondeductibleExpenseAmortization
|
0 | usd |
CY2023 | dei |
Document Type
DocumentType
|
10-K | |
CY2023 | dei |
Document Annual Report
DocumentAnnualReport
|
true | |
CY2023 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2023-12-31 | |
CY2023 | dei |
Document Transition Report
DocumentTransitionReport
|
false | |
CY2023 | dei |
Entity File Number
EntityFileNumber
|
000-09908 | |
CY2023 | dei |
Entity Registrant Name
EntityRegistrantName
|
TOMI ENVIRONMENTAL SOLUTIONS, INC. | |
CY2023 | dei |
Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
|
FL | |
CY2023 | dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
59-1947988 | |
CY2023 | dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
8430 Spires Way | |
CY2023 | dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
Frederick | |
CY2023 | dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
MD | |
CY2023 | dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
21701 | |
CY2023 | dei |
City Area Code
CityAreaCode
|
800 | |
CY2023 | dei |
Local Phone Number
LocalPhoneNumber
|
525-1698 | |
CY2023 | dei |
Security12b Title
Security12bTitle
|
Common Stock, par value $0.001 per share | |
CY2023 | dei |
Trading Symbol
TradingSymbol
|
TOMZ | |
CY2023 | dei |
Security Exchange Name
SecurityExchangeName
|
NASDAQ | |
CY2023 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
No | |
CY2023 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2023 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2023 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2023 | dei |
Entity Filer Category
EntityFilerCategory
|
Non-accelerated Filer | |
CY2023 | dei |
Entity Small Business
EntitySmallBusiness
|
true | |
CY2023 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2023 | dei |
Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
|
false | |
CY2023 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2023Q2 | dei |
Entity Public Float
EntityPublicFloat
|
9612000 | usd |
CY2024Q1 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
19955205 | shares |
CY2023 | dei |
Auditor Firm
AuditorFirmId
|
89 | |
CY2023 | dei |
Auditor Name
AuditorName
|
Rosenberg Rich Baker Berman, P.A. | |
CY2023 | dei |
Auditor Location
AuditorLocation
|
Somerset, New Jersey | |
CY2023Q4 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
2339059 | usd |
CY2022Q4 | tomz |
Inventory Current
InventoryCurrent
|
4495999 | usd |
CY2022Q4 | us-gaap |
Accounts Receivable Net Noncurrent
AccountsReceivableNetNoncurrent
|
0 | usd |
CY2022Q4 | us-gaap |
Assets
Assets
|
15499799 | usd |
CY2022Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1761750 | usd |
CY2023Q4 | us-gaap |
Customer Deposits Current
CustomerDepositsCurrent
|
0 | usd |
CY2022Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
3290467 | usd |
CY2023Q4 | us-gaap |
Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
|
301985 | usd |
CY2022Q4 | us-gaap |
Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
|
0 | usd |
CY2023Q4 | us-gaap |
Convertible Notes Payable
ConvertibleNotesPayable
|
2298015 | usd |
CY2022Q4 | us-gaap |
Convertible Notes Payable
ConvertibleNotesPayable
|
0 | usd |
CY2023Q4 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
2940542 | usd |
CY2022Q4 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
761132 | usd |
CY2023Q4 | us-gaap |
Liabilities
Liabilities
|
4998720 | usd |
CY2022Q4 | us-gaap |
Liabilities
Liabilities
|
4051599 | usd |
CY2023Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2023Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | shares |
CY2023Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
19923955 | shares |
CY2022Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
19763955 | shares |
CY2023Q4 | us-gaap |
Common Stocks Including Additional Paid In Capital
CommonStocksIncludingAdditionalPaidInCapital
|
199240 | usd |
CY2022Q4 | us-gaap |
Common Stocks Including Additional Paid In Capital
CommonStocksIncludingAdditionalPaidInCapital
|
197640 | usd |
CY2022Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
57673559 | usd |
CY2022Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
-46423637 | usd |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
11448200 | usd |
CY2022Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
15499799 | usd |
CY2023 | us-gaap |
Revenues
Revenues
|
7354564 | usd |
CY2022 | us-gaap |
Revenues
Revenues
|
8338099 | usd |
CY2023 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
3065028 | usd |
CY2022 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
3277644 | usd |
CY2023 | us-gaap |
Gross Profit
GrossProfit
|
4289536 | usd |
CY2022 | us-gaap |
Gross Profit
GrossProfit
|
5060455 | usd |
CY2023 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
366677 | usd |
CY2022 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
329164 | usd |
CY2023 | us-gaap |
Selling Expense
SellingExpense
|
1351465 | usd |
CY2022 | us-gaap |
Selling Expense
SellingExpense
|
1867013 | usd |
CY2023 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
491798 | usd |
CY2022 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
352238 | usd |
CY2023 | us-gaap |
Legal Fees
LegalFees
|
282548 | usd |
CY2022 | us-gaap |
Legal Fees
LegalFees
|
215180 | usd |
CY2023 | us-gaap |
Other General And Administrative Expense
OtherGeneralAndAdministrativeExpense
|
4570597 | usd |
CY2022 | us-gaap |
Other General And Administrative Expense
OtherGeneralAndAdministrativeExpense
|
4642548 | usd |
CY2023 | us-gaap |
Operating Expenses
OperatingExpenses
|
7638813 | usd |
CY2022 | us-gaap |
Operating Expenses
OperatingExpenses
|
7942454 | usd |
CY2023 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-3349277 | usd |
CY2022 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-2881999 | usd |
CY2023 | us-gaap |
Interest Income Other
InterestIncomeOther
|
11990 | usd |
CY2022 | us-gaap |
Interest Income Other
InterestIncomeOther
|
1939 | usd |
CY2023 | us-gaap |
Interest Expense
InterestExpense
|
63305 | usd |
CY2022 | us-gaap |
Interest Expense
InterestExpense
|
0 | usd |
CY2023 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-53315 | usd |
CY2022 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
1939 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-3402592 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-2880060 | usd |
CY2023 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-3402592 | usd |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-2880060 | usd |
CY2023 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.17 | |
CY2022 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.15 | |
CY2023 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.17 | |
CY2022 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.15 | |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
19834476 | shares |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
19743544 | shares |
CY2023 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
19834476 | shares |
CY2022 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
19743544 | shares |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
13595080 | usd |
CY2022 | tomz |
Equity Compensation
EquityCompensation
|
653843 | usd |
CY2022 | tomz |
Common Stock Issued For Services Provided Amount
CommonStockIssuedForServicesProvidedAmount
|
54338 | usd |
CY2022 | tomz |
Warrants And Options Exercised Amount
WarrantsAndOptionsExercisedAmount
|
25000 | usd |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-2880060 | usd |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
11448200 | usd |
CY2023 | tomz |
Equity Compensation
EquityCompensation
|
163286 | usd |
CY2023 | tomz |
Common Stock Issued For Services Provided Amount
CommonStockIssuedForServicesProvidedAmount
|
150000 | usd |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-3402592 | usd |
CY2023Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
8358894 | usd |
CY2023 | us-gaap |
Profit Loss
ProfitLoss
|
-3402592 | usd |
CY2022 | us-gaap |
Profit Loss
ProfitLoss
|
-2880060 | usd |
CY2023 | us-gaap |
Other Depreciation And Amortization
OtherDepreciationAndAmortization
|
366677 | usd |
CY2022 | us-gaap |
Other Depreciation And Amortization
OtherDepreciationAndAmortization
|
329164 | usd |
CY2023 | us-gaap |
Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
|
157315 | usd |
CY2022 | us-gaap |
Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
|
157315 | usd |
CY2023 | us-gaap |
Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
|
0 | usd |
CY2022 | us-gaap |
Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
|
10475 | usd |
CY2023 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
10413 | usd |
CY2023 | tomz |
Equity Compensation Expense
EquityCompensationExpense
|
163286 | usd |
CY2022 | tomz |
Equity Compensation Expense
EquityCompensationExpense
|
653843 | usd |
CY2023 | us-gaap |
Issuance Of Stock And Warrants For Services Or Claims
IssuanceOfStockAndWarrantsForServicesOrClaims
|
150000 | usd |
CY2022 | us-gaap |
Issuance Of Stock And Warrants For Services Or Claims
IssuanceOfStockAndWarrantsForServicesOrClaims
|
54338 | usd |
CY2023 | us-gaap |
Allowance For Loan And Lease Loss Recovery Of Bad Debts
AllowanceForLoanAndLeaseLossRecoveryOfBadDebts
|
183653 | usd |
CY2022 | us-gaap |
Allowance For Loan And Lease Loss Recovery Of Bad Debts
AllowanceForLoanAndLeaseLossRecoveryOfBadDebts
|
0 | usd |
CY2023 | us-gaap |
Inventory Lifo Reserve Period Charge
InventoryLIFOReservePeriodCharge
|
0 | usd |
CY2022 | us-gaap |
Inventory Lifo Reserve Period Charge
InventoryLIFOReservePeriodCharge
|
95000 | usd |
CY2023 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-526064 | usd |
CY2022 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
807564 | usd |
CY2023 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
131104 | usd |
CY2022 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-152281 | usd |
CY2023 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-17061 | usd |
CY2022 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
44786 | usd |
CY2023 | us-gaap |
Increase Decrease In Deposits
IncreaseDecreaseInDeposits
|
417718 | usd |
CY2022 | us-gaap |
Increase Decrease In Deposits
IncreaseDecreaseInDeposits
|
-158466 | usd |
CY2023 | us-gaap |
Increase Decrease In Other Receivables
IncreaseDecreaseInOtherReceivables
|
0 | usd |
CY2022 | us-gaap |
Increase Decrease In Other Receivables
IncreaseDecreaseInOtherReceivables
|
-71754 | usd |
CY2023 | us-gaap |
Accounts Receivable Sale
AccountsReceivableSale
|
206240 | usd |
CY2023 | us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
75574 | usd |
CY2022 | us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
177474 | usd |
CY2023 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-494721 | usd |
CY2022 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
707711 | usd |
CY2023 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-53212 | usd |
CY2022 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
64095 | usd |
CY2023 | tomz |
Customer Deposits
CustomerDeposits
|
-699732 | usd |
CY2022 | tomz |
Customer Deposits
CustomerDeposits
|
693732 | usd |
CY2023 | us-gaap |
Increase Decrease In Operating Lease Liability
IncreaseDecreaseInOperatingLeaseLiability
|
-160291 | usd |
CY2022 | us-gaap |
Increase Decrease In Operating Lease Liability
IncreaseDecreaseInOperatingLeaseLiability
|
-155622 | usd |
CY2023 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-3598585 | usd |
CY2022 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-1234264 | usd |
CY2023 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
118630 | usd |
CY2022 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
40570 | usd |
CY2023 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
98060 | usd |
CY2022 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
200876 | usd |
CY2023 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-216690 | usd |
CY2022 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-241446 | usd |
CY2023 | us-gaap |
Proceeds From Issuance Of Warrants
ProceedsFromIssuanceOfWarrants
|
2287601 | usd |
CY2022 | us-gaap |
Proceeds From Issuance Of Warrants
ProceedsFromIssuanceOfWarrants
|
0 | usd |
CY2023 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
0 | usd |
CY2022 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
25000 | usd |
CY2023 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
2287601 | usd |
CY2022 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
25000 | usd |
CY2023 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Excluding Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
|
-1527674 | usd |
CY2022 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Excluding Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
|
-1450710 | usd |
CY2022Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
3866733 | usd |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
5317443 | usd |
CY2023Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
2339059 | usd |
CY2022Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
3866733 | usd |
CY2023 | us-gaap |
Interest Paid Net
InterestPaidNet
|
0 | usd |
CY2022 | us-gaap |
Interest Paid Net
InterestPaidNet
|
28892 | usd |
CY2023 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
0 | usd |
CY2022 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
-72086 | usd |
CY2023 | tomz |
Patent And Trademark Costs Reclassified From Other Assets
PatentAndTrademarkCostsReclassifiedFromOtherAssets
|
0 | usd |
CY2022 | tomz |
Patent And Trademark Costs Reclassified From Other Assets
PatentAndTrademarkCostsReclassifiedFromOtherAssets
|
43377 | usd |
CY2023 | us-gaap |
Nature Of Operations
NatureOfOperations
|
<p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 1. DESCRIPTION OF BUSINESS</strong></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;">TOMI Environmental Solutions, Inc., a Florida corporation (“TOMI”, the “Company”, “we”, “our” and “us”) is a global provider of disinfection and decontamination essentials through our premier Binary Ionization Technology® (BIT™) platform, under which we manufacture, license, service and sell our SteraMist® brand of products, including SteraMist® BIT™, a hydrogen peroxide-based mist and fog. Our solution and process are environmentally friendly as the only by-product from our decontamination process is oxygen and water in the form of humidity. Our solution is organically listed in the United States and Canada as a sustainably green product with no or very little carbon footprint. Our business is organized into five divisions: Life Sciences, Healthcare, TOMI Service Network, Food Safety and Commercial.</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;">Invented under a defense grant in association with the Defense Advanced Research Projects Agency (“DARPA”) of the U.S. Department of Defense, BIT™ is registered with the U.S. Environmental Protection Agency (the “EPA”) and uses a low percentage hydrogen peroxide as its only active ingredient to produce a fog composed mostly of a hydroxyl radical (.OH ion), known as ionized Hydrogen Peroxide (iHP™). Represented by the SteraMist® brand of products, iHP™ produces a germ-killing aerosol that works like a visual non-caustic gas. </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;">Our products are designed to service a broad spectrum of commercial structures, including, but not limited to, hospitals and medical facilities, bio-safety labs, pharmaceutical facilities, meat and produce processing facilities, universities and research facilities, vivarium labs, other service industries including cruise ships, office buildings, hotel and motel rooms, schools, restaurants, military barracks, police and fire departments, prisons, and athletic facilities. Our products are also used in single-family homes and multi-unit residences. Additionally, our products have been listed on the EPA’s List N as products that help combat COVID-19 and are actively being used for this purpose.</p> | |
CY2023 | us-gaap |
Prior Period Reclassification Adjustment Description
PriorPeriodReclassificationAdjustmentDescription
|
<p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Certain reclassifications have been made to prior-year comparative financial statements to conform to the current year presentation. These reclassifications had no material effect on previously reported results of operations or financial position.</p> | |
CY2023 | 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 the consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the amounts reported and disclosed in the accompanying consolidated financial statements and the accompanying notes. Actual results could differ materially from these estimates. On an ongoing basis, we evaluate our estimates, including those related to accounts receivable, inventory, fair values of financial instruments, intangible assets, useful lives of intangible assets and property and equipment, fair values of stock-based awards, income taxes, and contingent liabilities, among others. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable, the results of which form the basis for making judgments about the carrying values of our assets and liabilities.</p> | |
CY2023 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
272517 | usd |
CY2022 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
142188 | usd |
CY2023Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
1494347 | usd |
CY2022Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
1678000 | usd |
CY2023Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
95000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Warranty Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
|
30000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Warranty Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
|
68000 | usd |
CY2023Q4 | tomz |
Common Stock Issuable Upon Conversion Of Outstanding Shares
CommonStockIssuableUponConversionOfOutstandingShares
|
63750 | shares |
CY2022Q4 | tomz |
Common Stock Issuable Upon Conversion Of Outstanding Shares
CommonStockIssuableUponConversionOfOutstandingShares
|
63750 | shares |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-3402592 | usd |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-2880060 | usd |
CY2023 | tomz |
Net Loss Attributable To Common Shareholders
NetLossAttributableToCommonShareholders
|
-3402592 | usd |
CY2022 | tomz |
Net Loss Attributable To Common Shareholders
NetLossAttributableToCommonShareholders
|
-2880060 | usd |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
19834476 | shares |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
19743544 | shares |
CY2023 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
19834476 | shares |
CY2022 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
19743544 | shares |
CY2023 | tomz |
Basic
Basic
|
-0.17 | |
CY2022 | tomz |
Basic
Basic
|
-0.15 | |
CY2023 | tomz |
Diluted
Diluted
|
-0.17 | |
CY2022 | tomz |
Diluted
Diluted
|
-0.15 | |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-3402592 | usd |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
19834476 | shares |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
19743544 | shares |
CY2023 | tomz |
Weighted Average Number Of Diluted Share Outstanding1
WeightedAverageNumberOfDilutedShareOutstanding1
|
19834476 | shares |
CY2022 | tomz |
Weighted Average Number Of Diluted Share Outstanding1
WeightedAverageNumberOfDilutedShareOutstanding1
|
19743544 | shares |
CY2023 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.17 | |
CY2022 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.15 | |
CY2023 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.17 | |
CY2022 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.15 | |
CY2023 | us-gaap |
Sales Type Lease Revenue
SalesTypeLeaseRevenue
|
7355000 | usd |
CY2022 | us-gaap |
Sales Type Lease Revenue
SalesTypeLeaseRevenue
|
8338000 | usd |
CY2023 | tomz |
Changes In Revenue
ChangesInRevenue
|
-983000 | usd |
CY2023 | us-gaap |
Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
|
<p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Financial instruments that potentially subject us to significant concentrations of credit risk consist principally of cash and cash equivalents. We maintain cash balances at financial institutions which exceed the current Federal Deposit Insurance Corporation limit of $250,000 at times during the year.</p> | |
CY2023 | us-gaap |
Federal Deposit Insurance Corporation Premium Expense
FederalDepositInsuranceCorporationPremiumExpense
|
250000 | usd |
CY2023 | tomz |
Longlived Assets Including Acquired Intangible Assets
LonglivedAssetsIncludingAcquiredIntangibleAssets
|
<p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We assess long-lived assets for potential impairments at the end of each year, or during the year if an event or other circumstance indicates that we may not be able to recover the carrying amount of the asset. In evaluating long-lived assets for impairment, we measure recoverability of these assets by comparing the carrying amounts to the future undiscounted cash flows the assets are expected to generate. If our long-lived assets are considered to be impaired, the impairment to be recognized equals the amount by which the carrying value of the asset exceeds its fair market value. We base the calculations of the estimated fair value of our long-lived assets on the income approach. For the income approach, we use an internally developed discounted cash flow model that includes, among others, the following assumptions: projections of revenues and expenses and related cash flows based on assumed long-term growth rates and demand trends; expected future investments to grow new units; and estimated discount rates. We base these assumptions on our historical data and experience, industry projections, micro and macro general economic condition projections, and our expectations. We had no long-lived asset impairment charges for the years ended December 31, 2023 and 2022.</p> | |
CY2023 | us-gaap |
Advertising Expense
AdvertisingExpense
|
498000 | usd |
CY2022 | us-gaap |
Advertising Expense
AdvertisingExpense
|
653000 | usd |
CY2023 | tomz |
Research And Developments Expense
ResearchAndDevelopmentsExpense
|
492000 | usd |
CY2022 | tomz |
Research And Developments Expense
ResearchAndDevelopmentsExpense
|
352000 | usd |
CY2023Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
3980000 | usd |
CY2022Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
3929000 | usd |
CY2023Q4 | us-gaap |
Inventory Raw Materials
InventoryRawMaterials
|
742000 | usd |
CY2022Q4 | us-gaap |
Inventory Raw Materials
InventoryRawMaterials
|
662000 | usd |
CY2023Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
95000 | usd |
CY2022Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
95000 | usd |
CY2023Q4 | us-gaap |
Inventory Net
InventoryNet
|
4627000 | usd |
CY2022Q4 | us-gaap |
Inventory Net
InventoryNet
|
4496000 | usd |
CY2023Q4 | us-gaap |
Deposits
Deposits
|
29335 | usd |
CY2022Q4 | us-gaap |
Deposits
Deposits
|
447052 | usd |
CY2023 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
21121 | usd |
CY2023Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
364819 | usd |
CY2022Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
364819 | usd |
CY2023Q4 | tomz |
Equipments
Equipments
|
2269185 | usd |
CY2022Q4 | tomz |
Equipments
Equipments
|
2236510 | usd |
CY2023Q4 | us-gaap |
Public Utilities Property Plant And Equipment Vehicles
PublicUtilitiesPropertyPlantAndEquipmentVehicles
|
66170 | usd |
CY2022Q4 | us-gaap |
Public Utilities Property Plant And Equipment Vehicles
PublicUtilitiesPropertyPlantAndEquipmentVehicles
|
60703 | usd |
CY2023Q4 | tomz |
Computer Software
ComputerSoftware
|
306556 | usd |
CY2022Q4 | tomz |
Computer Software
ComputerSoftware
|
246638 | usd |
CY2023Q4 | us-gaap |
Leasehold Improvements Gross
LeaseholdImprovementsGross
|
393381 | usd |
CY2022Q4 | us-gaap |
Leasehold Improvements Gross
LeaseholdImprovementsGross
|
393381 | usd |
CY2023Q4 | us-gaap |
Construction In Progress Gross
ConstructionInProgressGross
|
405000 | usd |
CY2022Q4 | us-gaap |
Construction In Progress Gross
ConstructionInProgressGross
|
405000 | usd |
CY2023Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
3805111 | usd |
CY2022Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
3707051 | usd |
CY2023Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
2756469 | usd |
CY2022Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
2371720 | usd |
CY2023Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
1048642 | usd |
CY2022Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
1335331 | usd |
CY2023 | us-gaap |
Depreciation
Depreciation
|
345556 | usd |
CY2022 | us-gaap |
Depreciation
Depreciation
|
314669 | usd |
CY2023 | tomz |
Amortization Of Tenant Improvement Allowance
AmortizationOfTenantImprovementAllowance
|
39194 | usd |
CY2022Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
861414 | usd |
CY2022 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
14495 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
3196396 | usd |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
3108063 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
2904013 | usd |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
2882892 | usd |
CY2023Q4 | tomz |
Intangible Assets Net
IntangibleAssetsNet
|
292383 | usd |
CY2022Q4 | tomz |
Intangible Assets Net
IntangibleAssetsNet
|
225171 | usd |
CY2023Q4 | us-gaap |
Indefinite Lived Trademarks
IndefiniteLivedTrademarks
|
830863 | usd |
CY2022Q4 | us-gaap |
Indefinite Lived Trademarks
IndefiniteLivedTrademarks
|
800565 | usd |
CY2023Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1123246 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
20000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
20000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
20000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
20000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
20000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
|
192000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
292000 | usd |
CY2023 | tomz |
Term Lease
TermLease
|
P10Y | |
CY2018Q2 | us-gaap |
Area Of Land
AreaOfLand
|
9000 | sqft |
CY2018Q2 | us-gaap |
Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
|
143460 | usd |
CY2018Q2 | tomz |
Maximum Increases Rent Percentage
MaximumIncreasesRentPercentage
|
0.03 | pure |
CY2018Q2 | us-gaap |
Payments For Proceeds From Tenant Allowance
PaymentsForProceedsFromTenantAllowance
|
405000 | usd |
CY2018Q2 | us-gaap |
Workers Compensation Discount Percent
WorkersCompensationDiscountPercent
|
0.07 | pure |
CY2023Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
467935 | usd |
CY2022Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
528996 | usd |
CY2023Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
115658 | usd |
CY2022Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
100282 | usd |
CY2023Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
642527 | usd |
CY2022Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
761132 | usd |
CY2023Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
758185 | usd |
CY2023 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
157315 | usd |
CY2022 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
157315 | usd |
CY2023 | tomz |
Operating Lease Weighted Averages Remaining Lease Term
OperatingLeaseWeightedAveragesRemainingLeaseTerm
|
5.00 | |
CY2022 | tomz |
Operating Lease Weighted Averages Remaining Lease Term
OperatingLeaseWeightedAveragesRemainingLeaseTerm
|
6.00 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Discount Rate
LesseeOperatingLeaseDiscountRate
|
0.0700 | pure |
CY2022Q4 | us-gaap |
Lessee Operating Lease Discount Rate
LesseeOperatingLeaseDiscountRate
|
0.0700 | pure |
CY2023 | us-gaap |
Operating Lease Initial Direct Cost Expense Over Term
OperatingLeaseInitialDirectCostExpenseOverTerm
|
160290 | usd |
CY2022 | us-gaap |
Operating Lease Initial Direct Cost Expense Over Term
OperatingLeaseInitialDirectCostExpenseOverTerm
|
155621 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
165098 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
170051 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
175153 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
180408 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
185819 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
33751 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
910281 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
152096 | usd |
CY2023Q4 | us-gaap |
Capital Lease Obligations Current
CapitalLeaseObligationsCurrent
|
758185 | usd |
CY2023Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
115658 | usd |
CY2023Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
642527 | usd |
CY2023Q4 | us-gaap |
Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
|
125704 | usd |
CY2022Q4 | us-gaap |
Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
|
125704 | usd |
CY2023Q4 | us-gaap |
Capitalized Computer Software Accumulated Amortization
CapitalizedComputerSoftwareAccumulatedAmortization
|
125704 | usd |
CY2022Q4 | us-gaap |
Capitalized Computer Software Accumulated Amortization
CapitalizedComputerSoftwareAccumulatedAmortization
|
125704 | usd |
CY2023Q4 | us-gaap |
Capitalized Computer Software Net
CapitalizedComputerSoftwareNet
|
0 | usd |
CY2022Q4 | us-gaap |
Capitalized Computer Software Net
CapitalizedComputerSoftwareNet
|
0 | usd |
CY2021Q2 | tomz |
Proceeds From Service Contract Of Receivables
ProceedsFromServiceContractOfReceivables
|
30409 | usd |
CY2023 | tomz |
Annual Payments On Contract Term
AnnualPaymentsOnContractTerm
|
P5Y | |
CY2023Q4 | us-gaap |
Prepaid Expense And Other Assets
PrepaidExpenseAndOtherAssets
|
66857 | usd |
CY2023 | us-gaap |
Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
|
15063 | usd |
CY2022 | us-gaap |
Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
|
15027 | usd |
CY2023Q4 | us-gaap |
Investment Owned Balance Principal Amount
InvestmentOwnedBalancePrincipalAmount
|
5000000 | usd |
CY2023Q4 | us-gaap |
Investment Sold Not Yet Purchased Balance Principal Amount
InvestmentSoldNotYetPurchasedBalancePrincipalAmount
|
2600000 | usd |
CY2023Q4 | us-gaap |
Stock Issued During Period Shares Conversion Of Convertible Securities
StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
|
2080000 | shares |
CY2023Q4 | us-gaap |
Shares Issued Price Per Share
SharesIssuedPricePerShare
|
1.25 | |
CY2023Q4 | tomz |
Proceeds From Convertible Promissory Notes Issuance
ProceedsFromConvertiblePromissoryNotesIssuance
|
2600000 | usd |
CY2023Q4 | us-gaap |
Debt Instrument Interest Rate During Period
DebtInstrumentInterestRateDuringPeriod
|
0.12 | pure |
CY2023Q4 | tomz |
Description Of Convertible Note
DescriptionOfConvertibleNote
|
The Notes are convertible into shares of our Common Stock, at the option of the holder, at a conversion price of $1.25 per share, which shall not exceed $1.55 per share. In addition, we can require Investors to convert the Notes at the then current conversion price at any time after 90 days from the issue date if the Common Stock has a closing bid price of $1.55 per share or higher on any twenty (20) days within a thirty (30) day period of consecutive trading days, or if a “fundamental change” occurs (as defined in the Securities Purchase Agreement) | |
CY2023 | us-gaap |
Interest Expense Debt
InterestExpenseDebt
|
54892 | usd |
CY2022 | us-gaap |
Interest Expense Debt
InterestExpenseDebt
|
0 | usd |
CY2023 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
10413 | usd |
CY2022 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
0 | usd |
CY2023Q4 | us-gaap |
Convertible Notes Payable Current
ConvertibleNotesPayableCurrent
|
2600000 | usd |
CY2022Q4 | us-gaap |
Convertible Notes Payable Current
ConvertibleNotesPayableCurrent
|
0 | usd |
CY2023Q4 | us-gaap |
Debt Issuance Costs Line Of Credit Arrangements Net
DebtIssuanceCostsLineOfCreditArrangementsNet
|
312398 | usd |
CY2022Q4 | us-gaap |
Debt Issuance Costs Line Of Credit Arrangements Net
DebtIssuanceCostsLineOfCreditArrangementsNet
|
0 | usd |
CY2023Q4 | us-gaap |
Ground Leases Accumulated Amortization
GroundLeasesAccumulatedAmortization
|
10413 | usd |
CY2022Q4 | us-gaap |
Ground Leases Accumulated Amortization
GroundLeasesAccumulatedAmortization
|
0 | usd |
CY2023Q4 | us-gaap |
Convertible Notes Payable
ConvertibleNotesPayable
|
2298015 | usd |
CY2022Q4 | us-gaap |
Convertible Notes Payable
ConvertibleNotesPayable
|
0 | usd |
CY2023 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
163286 | usd |
CY2022 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
653843 | usd |
CY2022Q4 | us-gaap |
Contractual Obligation Due In Second Year
ContractualObligationDueInSecondYear
|
30000 | usd |
CY2022Q4 | us-gaap |
Extended Product Warranty Accrual
ExtendedProductWarrantyAccrual
|
68000 | usd |
CY2022Q4 | us-gaap |
Contractual Obligation Due In Third Year
ContractualObligationDueInThirdYear
|
0 | usd |
CY2022Q4 | us-gaap |
Contractual Obligation Due In Fourth Year
ContractualObligationDueInFourthYear
|
0 | usd |
CY2022Q4 | us-gaap |
Contractual Obligation
ContractualObligation
|
30000 | usd |
CY2023Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
617542 | shares |
CY2023 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P7Y18D | |
CY2023Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
617542 | shares |
CY2023Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
1.38 | |
CY2023 | tomz |
Warrants Outstanding And Exercisable By Price Range
WarrantsOutstandingAndExercisableByPriceRange
|
<table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Outstanding Warrants</strong></p></td><td style="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"></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="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercisable Warrants</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 colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</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;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</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;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Average Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Remaining Contractual</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Life in Years</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;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</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;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</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="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.64</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:17%;vertical-align:bottom;text-align:right;">31,250</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:17%;vertical-align:bottom;text-align:right;">9.89</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:17%;vertical-align:bottom;text-align:right;">31,250</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:17%;vertical-align:bottom;text-align:right;">0.64</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:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.80</p></td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">125,000</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10.08</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">125,000</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.80</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;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.96</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="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="ffcell" style="vertical-align:bottom;text-align:right;">442,708</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">8.98</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">442,708</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.96</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;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.12</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="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="ffcell" style="vertical-align:bottom;text-align:right;">6,250</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.30</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6,250</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.12</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;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.20</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="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="ffcell" style="vertical-align:bottom;text-align:right;">156,250</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.09</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">156,250</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.20</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;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.68</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="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="ffcell" style="vertical-align:bottom;text-align:right;">1,434,721</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.75</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1,434,721</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.68</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;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">2.18</p></td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">172,167</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.75</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">172,167</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.18</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;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">4.00</p></td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">28,750</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6.32</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">28,750</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">4.00</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;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">6.95</p></td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">375,000</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">7.75</td><td style="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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">375,000</td><td style="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 style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6.95</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;background-color:#ffffff"><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </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 style="BORDER-BOTTOM: 1px solid;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;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </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 style="BORDER-BOTTOM: 1px solid;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;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </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 style="BORDER-BOTTOM: 1px solid;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;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </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 style="BORDER-BOTTOM: 1px solid;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;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </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="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><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 style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;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 style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">4.62</td><td style="PADDING-BOTTOM: 3px;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 style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;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 style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2.25</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> | |
CY2023Q4 | us-gaap |
Employee Related Liabilities Current And Noncurrent
EmployeeRelatedLiabilitiesCurrentAndNoncurrent
|
200837 | usd |
CY2022Q4 | us-gaap |
Employee Related Liabilities Current And Noncurrent
EmployeeRelatedLiabilitiesCurrentAndNoncurrent
|
442805 | usd |
CY2023Q4 | us-gaap |
Accrued Payroll Taxes Current And Noncurrent
AccruedPayrollTaxesCurrentAndNoncurrent
|
201009 | usd |
CY2022Q4 | us-gaap |
Accrued Payroll Taxes Current And Noncurrent
AccruedPayrollTaxesCurrentAndNoncurrent
|
136000 | usd |
CY2023Q4 | tomz |
Director Fees Current And Noncurrent
DirectorFeesCurrentAndNoncurrent
|
37650 | usd |
CY2022Q4 | tomz |
Director Fees Current And Noncurrent
DirectorFeesCurrentAndNoncurrent
|
34650 | usd |
CY2023Q4 | tomz |
Sales Tax Payable
SalesTaxPayable
|
5707 | usd |
CY2022Q4 | tomz |
Sales Tax Payable
SalesTaxPayable
|
-1351 | usd |
CY2023Q4 | us-gaap |
Extended Product Warranty Accrual Current
ExtendedProductWarrantyAccrualCurrent
|
30000 | usd |
CY2022Q4 | us-gaap |
Extended Product Warranty Accrual Current
ExtendedProductWarrantyAccrualCurrent
|
68000 | usd |
CY2023Q4 | us-gaap |
Allowance For Notes And Loans Receivable Current
AllowanceForNotesAndLoansReceivableCurrent
|
128390 | usd |
CY2022Q4 | us-gaap |
Allowance For Notes And Loans Receivable Current
AllowanceForNotesAndLoansReceivableCurrent
|
0 | usd |
CY2023Q4 | us-gaap |
Other Accrued Liabilities Current And Noncurrent
OtherAccruedLiabilitiesCurrentAndNoncurrent
|
71898 | usd |
CY2022Q4 | us-gaap |
Other Accrued Liabilities Current And Noncurrent
OtherAccruedLiabilitiesCurrentAndNoncurrent
|
48599 | usd |
CY2023Q4 | us-gaap |
Accrued Liabilities And Other Liabilities
AccruedLiabilitiesAndOtherLiabilities
|
675491 | usd |
CY2022Q4 | us-gaap |
Accrued Liabilities And Other Liabilities
AccruedLiabilitiesAndOtherLiabilities
|
728703 | usd |
CY2022Q4 | us-gaap |
Extended Product Warranty Accrual
ExtendedProductWarrantyAccrual
|
68000 | usd |
CY2021Q4 | us-gaap |
Extended Product Warranty Accrual
ExtendedProductWarrantyAccrual
|
68000 | usd |
CY2023 | us-gaap |
Product Warranty Accrual Period Increase Decrease
ProductWarrantyAccrualPeriodIncreaseDecrease
|
26911 | usd |
CY2022 | us-gaap |
Product Warranty Accrual Period Increase Decrease
ProductWarrantyAccrualPeriodIncreaseDecrease
|
24158 | usd |
CY2023 | tomz |
Settlement Of Warranty Claims
SettlementOfWarrantyClaims
|
-64911 | usd |
CY2022 | tomz |
Settlement Of Warranty Claims
SettlementOfWarrantyClaims
|
-24158 | usd |
CY2023Q4 | us-gaap |
Extended Product Warranty Accrual
ExtendedProductWarrantyAccrual
|
30000 | usd |
CY2023 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
0 | usd |
CY2023 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
0 | usd |
CY2023 | tomz |
Provision For Income Taxes
ProvisionForIncomeTaxes
|
0 | usd |
CY2022 | tomz |
Provision For Income Taxes
ProvisionForIncomeTaxes
|
0 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
-3402592 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
-2880060 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
0 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
0 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
-3402592 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
-2880060 | usd |
CY2023 | tomz |
Federal Corpo Rate Tax Rate Description
FederalCorpoRateTaxRateDescription
|
federal corporate tax rate decrease from 35% to 21% for tax years beginning after December 31, 2017 | |
CY2023 | tomz |
Income Loss Before Income Tax
IncomeLossBeforeIncomeTax
|
-3402592 | usd |
CY2022 | tomz |
Income Loss Before Income Tax
IncomeLossBeforeIncomeTax
|
-2880060 | usd |
CY2023 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.28 | pure |
CY2022 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.28 | pure |
CY2023 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-952726 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-806417 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
2121178 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
553005 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Prior Year Income Taxes
IncomeTaxReconciliationPriorYearIncomeTaxes
|
-1188884 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Prior Year Income Taxes
IncomeTaxReconciliationPriorYearIncomeTaxes
|
36032 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
45720 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
183076 | usd |
CY2023 | us-gaap |
Travel And Entertainment Expense
TravelAndEntertainmentExpense
|
3347 | usd |
CY2022 | us-gaap |
Travel And Entertainment Expense
TravelAndEntertainmentExpense
|
0 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
-29235 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
34304 | usd |
CY2023 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
0 | usd |
CY2022 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
0 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
418000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
470000 | usd |
CY2023Q4 | tomz |
Inventory Reserve
InventoryReserve
|
27000 | usd |
CY2022Q4 | tomz |
Inventory Reserve
InventoryReserve
|
27000 | usd |
CY2023Q4 | tomz |
Deferred Tax Assets Accrued Vacation
DeferredTaxAssetsAccruedVacation
|
53000 | usd |
CY2022Q4 | tomz |
Deferred Tax Assets Accrued Vacation
DeferredTaxAssetsAccruedVacation
|
38000 | usd |
CY2023Q4 | tomz |
Deferred Tax Assets Tax Deferred Expense Warranty Reserve
DeferredTaxAssetsTaxDeferredExpenseWarrantyReserve
|
8000 | usd |
CY2022Q4 | tomz |
Deferred Tax Assets Tax Deferred Expense Warranty Reserve
DeferredTaxAssetsTaxDeferredExpenseWarrantyReserve
|
19000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
|
181000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
|
257000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Deferred Expense Capitalized Research And Development Costs
DeferredTaxLiabilitiesDeferredExpenseCapitalizedResearchAndDevelopmentCosts
|
148000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Deferred Expense Capitalized Research And Development Costs
DeferredTaxLiabilitiesDeferredExpenseCapitalizedResearchAndDevelopmentCosts
|
67000 | usd |
CY2023Q4 | tomz |
Stock Based Compensation
StockBasedCompensation
|
1246000 | usd |
CY2022Q4 | tomz |
Stock Based Compensation
StockBasedCompensation
|
0 | usd |
CY2023Q4 | tomz |
Deferred Tax Asset Operating Lease Rightofuse Liabilities
DeferredTaxAssetOperatingLeaseRightofuseLiabilities
|
212000 | usd |
CY2022Q4 | tomz |
Deferred Tax Asset Operating Lease Rightofuse Liabilities
DeferredTaxAssetOperatingLeaseRightofuseLiabilities
|
241000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
5568000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
4639000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
7539000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
5332000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
322000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
426000 | usd |
CY2023Q4 | tomz |
Deferred Tax Liability Operating Lease Rightofuse Assets
DeferredTaxLiabilityOperatingLeaseRightofuseAssets
|
-189000 | usd |
CY2022Q4 | tomz |
Deferred Tax Liability Operating Lease Rightofuse Assets
DeferredTaxLiabilityOperatingLeaseRightofuseAssets
|
-217000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
133000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
209000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
322000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
426000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
0 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
0 | usd |
CY2023Q4 | tomz |
Net Deferred Tax Assets Valuation Allowance
NetDeferredTaxAssetsValuationAllowance
|
-7539000 | usd |
CY2023 | tomz |
Net Deferred Tax Assets Increased Valuation Allowance
NetDeferredTaxAssetsIncreasedValuationAllowance
|
999000 | usd |
CY2023Q4 | us-gaap |
Operating Loss Carryforwards
OperatingLossCarryforwards
|
20796000 | usd |
CY2022Q4 | us-gaap |
Operating Loss Carryforwards
OperatingLossCarryforwards
|
17479000 | usd |
CY2023Q4 | tomz |
State Net Operating Loss Carryforwards
StateNetOperatingLossCarryforwards
|
17153000 | usd |
CY2022Q4 | tomz |
State Net Operating Loss Carryforwards
StateNetOperatingLossCarryforwards
|
13835000 | usd |
CY2023 | us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | pure |