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)