Revenue, Contract Assets, Contract Liabilities and Remaining Performance Obligations (Tables)
|
6 Months Ended |
Jun. 30, 2026 |
| Revenue from Contract with Customer [Abstract] |
|
| Schedule of Revenue from Subscription and Non-Subscription Contracts |
The following shows revenue from subscription and non-subscription contracts (dollars in thousands):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Three Months Ended June 30, |
|
|
Six Months Ended June 30, |
|
|
|
2026 |
|
|
2025 |
|
|
2026 |
|
|
2025 |
|
Subscription revenue |
|
$ |
12,572 |
|
|
|
70 |
% |
|
$ |
14,572 |
|
|
|
76 |
% |
|
$ |
25,793 |
|
|
|
76 |
% |
|
$ |
34,082 |
|
|
|
79 |
% |
Non-subscription revenue |
|
|
5,476 |
|
|
|
30 |
% |
|
|
4,610 |
|
|
|
24 |
% |
|
|
8,089 |
|
|
|
24 |
% |
|
|
8,976 |
|
|
|
21 |
% |
|
|
$ |
18,048 |
|
|
|
100 |
% |
|
$ |
19,182 |
|
|
|
100 |
% |
|
$ |
33,882 |
|
|
|
100 |
% |
|
$ |
43,058 |
|
|
|
100 |
% |
|
| Schedule of Disaggregation of Revenue by Geography |
The following revenue disaggregated by geography was recognized (dollars in thousands):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Three Months Ended June 30, |
|
|
Six Months Ended June 30, |
|
|
2026 |
|
|
2025 |
|
|
2026 |
|
|
2025 |
|
Americas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
U.S. |
$ |
8,131 |
|
|
|
45 |
% |
|
$ |
10,376 |
|
|
|
54 |
% |
|
$ |
16,769 |
|
|
|
50 |
% |
|
$ |
22,361 |
|
|
|
52 |
% |
Canada |
|
3,883 |
|
|
|
22 |
% |
|
|
2,177 |
|
|
|
11 |
% |
|
|
5,479 |
|
|
|
16 |
% |
|
|
3,673 |
|
|
|
9 |
% |
Other(1) |
|
19 |
|
|
|
0 |
% |
|
|
31 |
|
|
|
0 |
% |
|
|
68 |
|
|
|
0 |
% |
|
|
130 |
|
|
|
0 |
% |
Total Americas |
|
12,033 |
|
|
|
67 |
% |
|
|
12,584 |
|
|
|
65 |
% |
|
|
22,316 |
|
|
|
66 |
% |
|
|
26,164 |
|
|
|
61 |
% |
EMEA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
United Kingdom |
|
1,129 |
|
|
|
6 |
% |
|
|
1,831 |
|
|
|
10 |
% |
|
|
2,052 |
|
|
|
6 |
% |
|
|
5,104 |
|
|
|
12 |
% |
Belgium |
|
1,493 |
|
|
|
8 |
% |
|
|
988 |
|
|
|
5 |
% |
|
|
3,183 |
|
|
|
9 |
% |
|
|
1,004 |
|
|
|
2 |
% |
Germany |
|
1,567 |
|
|
|
9 |
% |
|
|
1,086 |
|
|
|
6 |
% |
|
|
3,149 |
|
|
|
9 |
% |
|
|
2,375 |
|
|
|
6 |
% |
Other(1) |
|
1,313 |
|
|
|
7 |
% |
|
|
2,082 |
|
|
|
11 |
% |
|
|
2,250 |
|
|
|
7 |
% |
|
|
5,721 |
|
|
|
13 |
% |
Total EMEA |
|
5,502 |
|
|
|
30 |
% |
|
|
5,987 |
|
|
|
32 |
% |
|
|
10,634 |
|
|
|
31 |
% |
|
|
14,204 |
|
|
|
33 |
% |
Asia Pacific |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Other(1) |
|
513 |
|
|
|
3 |
% |
|
|
611 |
|
|
|
3 |
% |
|
|
932 |
|
|
|
3 |
% |
|
|
2,690 |
|
|
|
6 |
% |
|
|
513 |
|
|
|
3 |
% |
|
|
611 |
|
|
|
3 |
% |
|
|
932 |
|
|
|
3 |
% |
|
|
2,690 |
|
|
|
6 |
% |
Total |
$ |
18,048 |
|
|
|
100 |
% |
|
$ |
19,182 |
|
|
|
100 |
% |
|
$ |
33,882 |
|
|
|
100 |
% |
|
$ |
43,058 |
|
|
|
100 |
% |
(1) Revenue from individual geographic regions that represent less than 10% of total revenue for the periods presented are not separately disclosed.
|
| Schedule of Changes in Contract With Customer Asset |
Changes in contract assets were as follows (in thousands):
|
|
|
|
|
|
|
|
|
|
|
2026 |
|
|
2025 |
|
Balance as of January 1, |
|
$ |
1,778 |
|
|
$ |
785 |
|
Contract assets recorded during the period |
|
|
4,161 |
|
|
|
3,048 |
|
Reclassified to accounts receivable |
|
|
(1,269 |
) |
|
|
(1,539 |
) |
Other |
|
|
(24 |
) |
|
|
82 |
|
Balance as of June 30, |
|
$ |
4,646 |
|
|
$ |
2,376 |
|
|
| Schedule Of Changes In Contract With Customer Liability Reported on Consolidated Balance Sheets |
Contract liabilities were reported on the Company's condensed consolidated balance sheets as follows (in thousands):
|
|
|
|
|
|
|
|
|
|
|
June 30, |
|
|
December 31, |
|
|
|
2026 |
|
|
2025 |
|
Contract liabilities, current portion |
|
$ |
32,625 |
|
|
$ |
35,160 |
|
Contract liabilities, non-current |
|
|
13,869 |
|
|
|
14,207 |
|
Contract liabilities |
|
$ |
46,494 |
|
|
$ |
49,367 |
|
|
| Schedule of Changes in Contract With Customer Liability |
Changes in contract liabilities were as follows (in thousands):
|
|
|
|
|
|
|
|
|
|
|
2026 |
|
|
2025 |
|
Balance as of January 1, |
|
$ |
49,367 |
|
|
$ |
45,526 |
|
Contract liabilities recorded during the period |
|
|
14,457 |
|
|
|
21,549 |
|
Revenue recognized during the period |
|
|
(16,925 |
) |
|
|
(18,281 |
) |
Other |
|
|
(405 |
) |
|
|
316 |
|
Balance as of June 30, |
|
$ |
46,494 |
|
|
$ |
49,110 |
|
|
| Schedule of Revenue Remaining Performance Obligation Expected Timing of Satisfaction |
The Company expects to recognize its remaining performance obligations as of June 30, 2026, over the following periods (dollars in thousands):
|
|
|
|
|
|
|
|
|
|
|
June 30, 2026 |
|
1 to 12 months |
|
$ |
51,390 |
|
|
|
38 |
% |
13 to 24 months |
|
|
41,433 |
|
|
|
31 |
% |
25 to 36 months |
|
|
27,005 |
|
|
|
20 |
% |
37 to 48 months |
|
|
11,022 |
|
|
|
8 |
% |
Remaining |
|
|
3,617 |
|
|
|
3 |
% |
Total |
|
$ |
134,467 |
|
|
|
100 |
% |
|