Revenue recognition Our revenue is primarily generated from the following sources: (i) charging for the use of our software solutions in cloud-based and hosted environments; (ii) providing payment and transaction services; (iii) providing software maintenance and support services; and (iv) providing professional services, including implementation, consulting, training, analytic and other services. Revenues are recognized when control of these services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those services. We determine revenue recognition through the following steps:  Identification of the contract, or contracts, with a customer;  Identification of the performance obligations in the contract;  Determination of the transaction price;  Allocation of the transaction price to the performance obligations in the contract; and  Recognition of revenue when, or as, we satisfy a performance obligation. Recurring Recurring revenue represents stand-ready performance obligations in which we are making our solutions or services available to our customers continuously over time or the value of the contract renews. Therefore, recurring revenue is generally recognized over time on a ratable basis over the contract term, beginning on the date that the solution or service is made available to the customer. Our recurring revenue contracts are generally for a term of three years at contract inception with one to three -year renewals thereafter, billed annually in advance and non-cancelable. Recurring revenue is comprised of fees for the use of our subscription-based software solutions, which includes providing access to cloud-based solutions, hosting services, online training programs, subscription-based analytic services, such as donor acquisitions and data enrichment, and payment services. Recurring revenue also includes fees from maintenance services for our on-premises solutions, services included in our renewable subscription contracts, subscription-based contracts for professional services and variable transaction revenue associated with the use of our solutions. Our payment services are offered with the assistance of third-party vendors. In general, when we are the principal in a transaction based on the factors identified in ASC 606-10-55-36 through 55-40, we record the revenue and related costs on a gross basis. Otherwise, we net the cost of revenue associated with the service against the gross revenue (amount billed to the customer) and record the net amount as revenue. For payment and transaction services, we have the right to invoice the customer in an amount that directly corresponds with the value to the customer of our performance to date. Therefore, we recognize revenue for these services over time based on the amount billable to the customer in accordance with the 'as invoiced' practical expedient in ASC 606-10-55-18. One-time services and other One-time services and other revenue primarily consists of fees for one-time consulting, analytic and onsite training services. We generally bill consulting services based on hourly rates plus reimbursable travel-related expenses. Fixed price consulting engagements are generally billed as milestones towards completion are reached. Revenue for all consulting services is recognized over time as the services are performed. We generally recognize analytic services revenue from donor prospect research engagements, the sale of lists of potential donors, data enrichment engagements and benchmarking studies at a point in time (upon delivery). In certain cases, we sell training at a fixed rate for each specific class at a per attendee price or at a packaged price for several attendees, and recognize the related revenue upon the customer attending and completing training. Contracts with multiple performance obligations Some of our contracts with customers contain multiple performance obligations. For these contracts, we account for individual performance obligations separately if they are distinct. The transaction price is allocated to the separate performance obligations on a relative standalone selling price basis. Standalone selling prices of our solutions and services are typically estimated based on observable transactions when the solutions or services are sold on a standalone basis. Costs of obtaining contracts, contract assets and deferred revenue We pay sales commissions at the time contracts with customers are signed or shortly thereafter, depending on the size and duration of the sales contract. Sales commissions and related fringe benefits earned by our sales force are considered incremental and recoverable costs of obtaining a contract with a customer. These costs are deferred and then amortized in a manner that aligns with the expected period of benefit, which we have determined to be five years. We determined the period of benefit by taking into consideration our customer contracts, including renewals, retention, our technology and other factors. We do not generally pay commissions for contract renewals. The related amortization expense is included in sales, marketing and customer success expense in our consolidated statements of comprehensive income. A contract asset is recorded when revenue is recognized in advance of our right to receive consideration (i.e., we must satisfy additional performance obligations in order to receive consideration). Amounts are recorded as receivables when our right to consideration is unconditional (i.e., only the passage of time is required before payment of the consideration is due). Our contract assets are recorded within prepaid expenses and other current assets on our consolidated balance sheets. To the extent that our customers are billed for our solutions and services in advance of us satisfying the related performance obligations, we record such amounts in deferred revenue.