v3.26.1
Revenue Recognition
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
Revenue
Sales of hardware and accessories as well as revenue from coordination of freight for our customers is recognized at a point in time. Services include enhanced warranty and training revenue and are recognized over time. Revenue from software-as-a-service ("SaaS") is also recognized over time.
The following table presents the Company’s revenue disaggregated based on the revenue source and the timing of revenue recognition:
Six Months Ended June 30,
2026
2025
Revenue from hardware, proprietary embedded firmware and accessories
$
66,985 
$
83,352 
Revenue from services
3,867 
3,586 
Revenue from SaaS
2,518 
2,334 
Total revenue
$
73,369 
$
89,272 
Revenue Disaggregation
The following table presents the Company’s revenue disaggregated based on geographic location of customers:
Six Months Ended June 30,
2026
2025
United States
$
50,262 
$
64,465 
Rest of World
23,107 
24,807 
Total revenue
$
73,369 
$
89,272 
Contract Liabilities
June 30, 2026
December 31, 2025
Deferred revenue: enhanced warranties
$
16,722 
$
18,617 
Deferred revenue: SaaS
10,800 
8,989 
Deferred revenue: other services
2,635 
2,637 
Total contract liabilities
$
30,157 
$
30,243 
The contract liabilities listed above represent deferred revenue associated with sales of enhanced warranties, SaaS, and services such as training revenue. The deferred revenue amounts included as contract liabilities represent the aggregate amount of the transaction price allocated to performance obligations that are unsatisfied (or partially satisfied). These performance obligations are expected to be satisfied as follows:
Enhanced warranties
SaaS services
Other services
Remainder of 2026
$
3,017 
$
2,114 
$
465 
2027
4,914 
2,810 
2,170 
2028
3,893 
2,034 
— 
2029
2,707 
1,725 
— 
2030
1,391 
1,537 
— 
2031
531 
578 
— 
Thereafter
269 
— 
Total contract liabilities
$
16,722 
$
10,800 
$
2,635 
During the six months ended June 30, 2026 and 2025, the Company recognized $5,587 and $5,246, respectively, in revenue that was included in contract liabilities as of January 1, 2026 and 2025, respectively. The Company did not have any contract assets as of June 30, 2026 and December 31, 2025.