Note 3 - Revenues (Tables)
|
6 Months Ended |
Jun. 30, 2026 |
| Notes Tables |
|
| Disaggregation of Revenue [Table Text Block] |
| |
|
Three Months Ended June 30,
|
|
|
Six Months Ended June 30,
|
|
|
(in thousands)
|
|
2026
|
|
|
2025
|
|
|
2026
|
|
|
2025
|
|
|
Instruments, equipment, software and accessories
|
|
$ |
20,304 |
|
|
$ |
18,178 |
|
|
$ |
38,870 |
|
|
$ |
38,043 |
|
|
Service, maintenance and warranty contracts
|
|
|
2,423 |
|
|
|
2,272 |
|
|
|
4,612 |
|
|
|
4,181 |
|
|
Total revenues
|
|
$ |
22,727 |
|
|
$ |
20,450 |
|
|
$ |
43,482 |
|
|
$ |
42,224 |
|
| |
|
Three Months Ended June 30,
|
|
|
Six Months Ended June 30,
|
|
|
(in thousands)
|
|
2026
|
|
|
2025
|
|
|
2026
|
|
|
2025
|
|
|
Goods and services transferred at a point in time
|
|
$ |
21,361 |
|
|
$ |
19,269 |
|
|
$ |
40,796 |
|
|
$ |
40,214 |
|
|
Goods and services transferred over time
|
|
|
1,366 |
|
|
|
1,181 |
|
|
|
2,686 |
|
|
|
2,010 |
|
|
Total revenues
|
|
$ |
22,727 |
|
|
$ |
20,450 |
|
|
$ |
43,482 |
|
|
$ |
42,224 |
|
|
| Segment Reporting, Entity-Wide Information Not Provided as Part of Reportable Segment, Geographical Area, Revenue [Table Text Block] |
| |
|
Three Months Ended June 30,
|
|
|
Six Months Ended June 30,
|
|
|
(in thousands)
|
|
2026
|
|
|
2025
|
|
|
2026
|
|
|
2025
|
|
|
Americas
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
United States
|
|
$ |
10,503 |
|
|
|
9,656 |
|
|
$ |
19,308 |
|
|
$ |
19,483 |
|
|
Americas - Other
|
|
|
878 |
|
|
|
422 |
|
|
|
1,725 |
|
|
|
1,251 |
|
|
Europe, Middle East and Africa
|
|
|
6,783 |
|
|
|
6,588 |
|
|
|
13,254 |
|
|
|
12,618 |
|
|
Asia
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
China
|
|
|
3,076 |
|
|
|
2,451 |
|
|
|
5,883 |
|
|
|
5,185 |
|
|
Asia - Other
|
|
|
1,487 |
|
|
|
1,333 |
|
|
|
3,312 |
|
|
|
3,687 |
|
| |
|
$ |
22,727 |
|
|
$ |
20,450 |
|
|
$ |
43,482 |
|
|
$ |
42,224 |
|
|
| Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] |
| |
|
June 30,
|
|
|
December 31,
|
|
|
|
|
|
|
|
|
|
|
(in thousands)
|
|
2026
|
|
|
2025
|
|
|
Change
|
|
|
Percentage
|
|
|
Deferred revenue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Service, maintenance and warranty contracts
|
|
$ |
2,181 |
|
|
$ |
1,934 |
|
|
$ |
247 |
|
|
|
13 |
% |
|
Installation and training
|
|
|
770 |
|
|
|
711 |
|
|
|
59 |
|
|
|
8 |
% |
|
Customer advances
|
|
|
650 |
|
|
|
802 |
|
|
|
(152 |
) |
|
|
-19 |
% |
|
Total short-term contract liabilities
|
|
|
3,601 |
|
|
|
3,447 |
|
|
|
154 |
|
|
|
4 |
% |
|
Long-term service, maintenance and warranty contracts
|
|
|
135 |
|
|
|
198 |
|
|
|
(63 |
) |
|
|
-32 |
% |
|
Total contract liabilities
|
|
$ |
3,736 |
|
|
$ |
3,645 |
|
|
$ |
91 |
|
|
|
2 |
% |
|
| Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] |
| |
|
Remaining Performance Obligations
|
|
|
(in thousands)
|
|
|
2026 * |
|
|
|
2027 |
|
|
|
2028 |
|
|
|
2029 |
|
|
|
2030 |
|
|
Thereafter
|
|
|
Total
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Service, maintenance and warranty contracts
|
|
$ |
1,750 |
|
|
$ |
513 |
|
|
$ |
49 |
|
|
$ |
4 |
|
|
$ |
- |
|
|
$ |
- |
|
|
$ |
2,316 |
|
|
| Financing Receivable, Allowance for Credit Loss [Table Text Block] |
| |
|
Six Months Ended June 30,
|
|
|
(in thousands)
|
|
2026
|
|
|
2025
|
|
|
Balance, beginning of period
|
|
$ |
207 |
|
|
$ |
215 |
|
|
Provision for expected credit losses
|
|
|
(7 |
) |
|
|
(39 |
) |
|
Charge-offs and other
|
|
|
(1 |
) |
|
|
(12 |
) |
|
Balance, end of period
|
|
$ |
199 |
|
|
$ |
164 |
|
|
| Schedule of Product Warranty Liability [Table Text Block] |
| |
|
Six Months Ended June 30,
|
|
|
(in thousands)
|
|
2026
|
|
|
2025
|
|
|
Balance, beginning of period
|
|
$ |
214 |
|
|
$ |
318 |
|
|
Provision for warranties
|
|
|
44 |
|
|
|
68 |
|
|
Warranty claims
|
|
|
(68 |
) |
|
|
(47 |
) |
|
Balance, end of period
|
|
$ |
190 |
|
|
$ |
339 |
|
|