XML 42 R28.htm IDEA: XBRL DOCUMENT
v3.25.1

Summary of Significant Accounting Policies (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Accounting Policies [Abstract] |
We determine the allowance for credit losses by identifying troubled accounts and by using historical experience applied to an aging of accounts, as well as expected losses based on the current and anticipated macroeconomic environment. | Trade accounts receivable are carried at original invoice amount less an estimate made for future credit losses based on a review of all outstanding amounts on a monthly basis, and written off when deemed uncollectible We determine the allowance for credit losses by identifying troubled accounts and by using historical experience applied to an aging of accounts, as well as expected losses based on the current and anticipated macroeconomic environment. Recoveries of trade accounts receivable previously written off are recorded when received. Our typical credit terms are between thirty and sixty days from shipment and invoicing.
|  | 2024 |  | 2023
Balance, beginning |  | $ | 225 |  | $ | 139
Current period provisions |  |  | 564 |  |  | 95
Write offs |  |  | (3) |  |  | (9)
Balance, ending |  | $ | 786 |  | $ | 225
Contract balances for the years ended December 31, 2024, 2023, and 2022 are as follows: | Contract balances for the years ended December 31, 2024, 2023, and 2022 are as follows:
|  |  | Accounts Receivable |  |  | Contract Liabilities |
2022 |  |  | $ | 4,734 |  |  |  | 2,188 |
2023 |  |  |  | 3,467 |  |  |  | 2,353 |
2024 |  |  |  | 4,869 |  |  |  | 5,571 |
Earnings applicable to common stock and common stock shares used in the calculation of basic and diluted earnings per share are as follows | Earnings applicable to common stock and common stock shares used in the calculation of basic and diluted earnings per share are as follows:
|  | Years Ended December 31, |
|  | 2024 |  |  | 2023 |
Numerator: (in Thousands) |  |  |  |  |  |  |  |
Net income (loss) |  | $ | 4,235 |  |  | $ | (4,390 | )
Denominator: |  |  |  |  |  |  |  |
Weighted average number of basic common shares outstanding |  |  | 62,350,459 |  |  |  | 49,556,305 |
Weighted average additional shares assuming conversion of in-the-money stock options to common shares |  |  | 2,678,356 |  |  |  | — |
Weighted average number of diluted common shares outstanding |  |  | 65,028,815 |  |  |  | 49,556,305 |
Basic earnings per common share: |  |  |  |  |  |  |  |
Net income (loss) per share – basic |  | $ | 0.07 |  |  | $ | (0.09 | )
Diluted earnings per common share: |  |  |  |  |  |  |  |
Net income (loss) per share – diluted |  | $ | 0.07 |  |  | $ | (0.09 | )

X
- References No definition available. + Details
Name: | us-gaap_AccountingPoliciesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of allowance for credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration