XML 36 R25.htm IDEA: XBRL DOCUMENT v3.26.1
Revenue (Tables)
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
Summary of Revenues by Revenue Stream and Customer Type
We derive our revenues from the following revenue streams:
Three Months Ended
June 30,
Six Months Ended
June 30,
(in thousands)2026202520262025
Recurring revenues:
Fulfillment$169,979 $158,991 $334,288 $311,622 
Analytics14,139 13,944 28,271 27,646 
Other6,304 6,186 12,383 12,182 
Recurring revenues190,422 179,121 374,942 351,450 
One-time revenues7,393 8,279 14,994 17,499 
Total revenue$197,815 $187,400 $389,936 $368,949 
Summary of Percentage of Domestic Revenue
Domestic revenue, which we define as revenue that was attributable to customers based within the United States ("U.S."), was as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2026202520262025
Domestic revenue83 %85 %83 %85 %
Summary of Deferred Revenue Liability Relating to Set-Up Fees
The table below presents the activity of the portion of the deferred revenue liability relating to set-up fees. We expect to recognize $10.6 million of the balance as of June 30, 2026 as revenue over the next 12 months with the remaining amount recognized thereafter.
Three Months Ended
June 30,
Six Months Ended
June 30,
(in thousands)2026202520262025
Balance, beginning of period$14,426 $15,696 $14,625 $16,735 
Invoiced set-up fees3,276 3,542 6,934 6,949 
Recognized set-up fees(3,733)(4,231)(7,590)(8,677)
Balance, end of period$13,969 $15,007 $13,969 $15,007