Revenue RecognitionDisaggregation of Revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services, and geographic regions, and includes a reconciliation of the disaggregated revenue. The geographic regions that are tracked are the Americas (United States, Canada, and Latin America), EMEA (Europe, Middle East, and Africa), and APAC (Australia, New Zealand, Southeast Asia, and China).
Disaggregated information is as follows (in thousands): | | | | | | | | | | | | | | | | | | | | | | | |
| Year Ended December 31, | | |
| 2025 | | 2024 | | 2023 | | | | | | |
| Major products and service: | | | | | | | | | | | |
| Product revenue | $ | 26,028 | | | $ | 36,786 | | | $ | 42,906 | | | | | | | |
| Research and development revenue | 44,359 | | | 22,559 | | | 27,237 | | | | | | | |
| Total revenues | $ | 70,387 | | | $ | 59,345 | | | $ | 70,143 | | | | | | | |
| | | | | | | | | | | |
| Primary geographical markets: | | | | | | | | | | | |
Americas | $ | 43,537 | | | $ | 21,278 | | | $ | 13,733 | | | | | | | |
EMEA | 9,292 | | | 10,359 | | | 22,907 | | | | | | | |
APAC | 17,558 | | | 27,708 | | | 33,503 | | | | | | | |
| Total revenues | $ | 70,387 | | | $ | 59,345 | | | $ | 70,143 | | | | | | | |
| | | | | | | | | | | |
For additional information regarding revenue disaggregated by geography, see Note 15, “Segment, Geographical and Other Revenue Information.”
Contract Balances
The following table presents balances of contract assets, unbilled receivables, and contract liabilities (in thousands): | | | | | | | | | | | |
| December 31, 2025 | | December 31, 2024 |
| Contract assets | $ | 492 | | | $ | 4,375 | |
| Unbilled receivables | $ | 1,741 | | | $ | 3,208 | |
| | | |
| Contract liabilities: deferred revenue | $ | 7,369 | | | $ | 450 | |
We recognize accounts receivable when we have an unconditional right to recognize revenue and have issued an invoice to the customer. Our payment terms are generally between 30 and 90 days. We recognize unbilled receivables when we have an unconditional right to recognize revenue and have not issued an invoice to our customer. Unbilled receivables are transferred to accounts receivable on issuance of an invoice. Unbilled receivables are classified separately on the consolidated balance sheets as an asset. We maintain an allowance for credit losses on accounts receivable and unbilled receivables. As of December 31, 2025, we have $1.5 million of short-term unbilled receivables presented as unbilled receivables within current assets and $0.3 million of long-term unbilled receivables that is included within the other non-current assets line item in the consolidated balance sheets. As of December 31, 2024, we had $2.8 million of short-term unbilled receivables presented as unbilled receivables within current asset and $0.5 million of long-term unbilled receivables that is included within the other non-current assets line item in the consolidated balance sheets.
Contract assets represent our right to recognize revenue for custom products with no alternate use and under binding non-cancellable contracts and are largely related to our procurement of product. We recognize contract assets when we have a conditional right to recognize revenue. The transfer of control of certain products occurs in advance of the invoicing process, which generates contract assets. In addition, we recognize a contract asset related to milestones when we assess it is probable of being achieved and there will be no significant reversal of cumulative revenues. Contract assets are classified separately on the consolidated balance sheets as an asset and transferred to accounts receivables when our rights to payment become unconditional.
Contract liabilities, or deferred revenue, represent our obligation to transfer a product or service to the customer, and for which we have received consideration from the customer. We recognize a contract liability when we receive advance customer payments under development agreements for research and development services, upfront license payments, and from upfront customer payments received under product supply agreements. Contract liabilities are classified as a liability on the consolidated balance sheets.
During the years ended December 31, 2025, 2024 and 2023, we had no asset impairment charges related to contract assets.
We recognized the following revenues (in thousands): | | | | | | | | | | | |
| Year Ended December 31, |
| Revenue recognized in the period for: | 2025 | | 2024 |
| Amounts included in contract liabilities at the beginning of the period: | | | |
| Performance obligations satisfied | $ | 350 | | | $ | 10,121 | |
| Changes in the period: | | | |
| Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods | (13) | | | 314 | |
| Revenue recognized on performance obligations previously completed upon the customer achieving a milestone | 4,700 | | | — | |
| Performance obligations satisfied from new activities in the period - contract revenue | 65,350 | | | 48,910 | |
| Total revenues | $ | 70,387 | | | $ | 59,345 | |
| | | |
Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of December 31, 2025.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts (in thousands): | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| 2026 | | 2027 | | 2028 | | 2029 and Thereafter | | Total |
| Product revenue | $ | 640 | | | $ | 40 | | | $ | 40 | | | $ | 280 | | | $ | 1,000 | |
| Research and development revenue | 6,369 | | | — | | | — | | | — | | | 6,369 | |
| Total | $ | 7,009 | | | $ | 40 | | | $ | 40 | | | $ | 280 | | | $ | 7,369 | |
| | | | | | | | | |