--- title: Revenue Recognition methodology subtitle: Learn how Revenue Recognition works within Stripe. route: /revenue-recognition/methodology --- # Revenue Recognition methodology Learn how Revenue Recognition works within Stripe. Revenue Recognition is integrated with other Stripe objects to provide intelligent default settings for how to recognize revenue. Revenue Recognition automatically calculates all transactions that happen within Stripe down to the millisecond, including subscriptions, invoices, one-time payments, refunds, disputes, and so on. ## Chart of accounts Stripe built Revenue Recognition on top of a double-entry accounting ledger that tracks debits and credits resulting from your business activity. To get the most out of Revenue Recognition, it helps to understand the default chart of accounts and the debits and credits that impact those accounts. | Account | Debit or Credit type | Description | | ------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Revenue | Revenue (credit) | Recognizable portion of finalized invoices, prorated invoice items, and metered billing that count towards revenue during the month. For example, if an invoice line item is for 90 USD with 10 USD in taxes, the total invoice is 100 USD, but the recognizable portion is only 90 USD. | | Refunds | Contra revenue (debit) | Portion of the refunded amount previously recognized. For example, if you issue a 120 USD refund on an annual subscription during the second month, 20 USD for the first 2 months is contra revenue. The remaining 100 USD is adjusted and reflected in your deferred revenue balance in the balance sheet. | | Disputes | Contra revenue (debit) | Portion of the disputed amount previously recognized. For example, if there’s a 120 USD dispute on an annual subscription during the second month, 20 USD for the first 2 months is contra revenue. The remaining 100 USD is adjusted and reflected in your deferred revenue balance in the balance sheet. | | Credit notes | Contra revenue (debit) | Portion of the credit note amount previously recognized. For example, if there’s a 120 USD credit note on an annual subscription during the second month, 20 USD for the first 2 months is contra revenue. The remaining 100 USD is adjusted and reflected in your deferred revenue balance in the balance sheet. | | Bad debt | Contra revenue (debit) | Previously recognized revenue from invoices that have been marked as uncollectible. | | Voids | Contra revenue (debit) | Previously recognized revenue from invoices that have been voided. | | Unbilled voids | Contra revenue (debit) | Previously recognized revenue from prorated invoice items that have been deleted. These items are sometimes deleted when they generate unbilled accounts receivable and revenue. | | Transfer | Contra revenue (debit) | Previously recognized revenue from separate transfers. | | Discounts | Contra revenue (debit) | Recognized revenue from invoices that received discounts. Revenue Recognition discount as contra revenue support is currently in private beta. | | Customer balance adjustments | Expense (debit) | Expenses incurred due to manual adjustments to a customer credit balance or exclusion associated with post-paid credit notes on customer balance. | | External customer balance adjustments | Expense (debit) | Expenses incurred due to exclusion associated with post-paid credit notes on external customer balance. | | Underpayments | Expense (debit) | Expenses incurred due to transfers that underpay an invoice, as used by the [customer credit balance](https://docs.stripe.com/invoicing/bank-transfer.md#underpayments) payment method or [Sources](https://docs.stripe.com/sources/customers.md). | | Fees | Expenses (debit) | Expenses incurred due to Stripe fees. | | Recoverables | Gains (credit) | Recovered funds that aren’t attributable to revenue. For example, if you have a 120 USD dispute on an annual subscription during the second month, 20 USD for the first 2 months is contra revenue and the remaining 100 USD is adjusted from the deferred revenue balance. If you win the dispute and 120 USD is returned to you, 20 USD is reflected as revenue and the remaining 100 USD is reflected as recoverables. | | Exclusion | Gains (credit) | Excluded funds that aren’t attributable to revenue. To exclude transactions, set up [exclusion rules](https://docs.stripe.com/revenue-recognition/rules/create-a-rule.md#treatments) or use [exclusion import](https://docs.stripe.com/revenue-recognition/data-import.md#exclusion-import). | | Fx loss | Loss (debit) | Total loss due to foreign currency exchange rates. | | Other loss | Loss (debit) | The portion of contra revenue that exceeds the total invoice represents an overcompensation in cash to the customer. For example, if a 100 USD invoice is partially refunded by 80 USD and then disputed for an additional 80 USD, 60 USD will be categorized as “Other loss.” | | Connect transfer loss | Loss (debit) | Total loss due to destination charge refund, and the transfer reversal will reverse the ConnectTransferLoss account. | | Account | Debit/Credit type | Description | | ---------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Accounts receivable | Assets (debit) | AccountsReceivable represents the amount you bill to customers and may be inclusive of taxes and other amounts that aren’t included in recognizable revenue. This account increases when invoices are finalized and decreases when invoices are paid. The ending balance reflects the amount due from customers at the end of each month. | | Cash | Assets (debit) | Cash is the net cash amount received. **This doesn’t include Stripe fees or payouts.** It’s calculated by subtracting refunds, disputes, and dispute reversals from your Stripe Balance Net Charge amount. Cash increases when customers pay their outstanding invoice balance. This also results in a corresponding decrease in AccountsReceivable. | | Deferred revenue | Liabilities (credit) | Services that have been invoiced but not yet recognized as revenue. This represents a liability on your balance sheet because you have received cash for services that your business must deliver in future periods. The month end balance reflects the amount expected to be recognized in future periods. | | Tax liability | Liabilities (credit) | The tax component of issued invoices. The ending balance represents the tax amount invoiced to customers but is still owed to relevant tax authorities. | | Unbilled accounts receivable | Assets (debit) | Transactions (such as prorations due to upgrades or downgrades) that have service periods that start before an invoice is issued. The ending balance reflects the transactions that have accrued revenue but haven’t been invoiced yet. | | External asset | Assets (debit) | Invoices you manually mark as paid when you receive funds outside of Stripe. The ending balance reflects the amount of invoices that were marked as paid using the Stripe Dashboard. This reduces AccountsReceivable. | | Customer balance | Liabilities (credit) | Credits that your customers accrue. The ending balance reflects the amount of invoices that were paid using customer credit balance. This reduces AccountsReceivable. | | External customer balance | Liabilities (credit) | External credits that your customers accrue. The ending balance reflects the amount of credit notes that credit outside of Stripe. | | Passthrough fees | Liabilities (credit) | Passthrough fees occur when you’re expected to collect cash from a customer on behalf of a third party. The account can be set up by rules. | | Deferred tax liability | Liabilities (credit) | The deferred tax liability of issued invoices. The month end balance reflects the amount expected to be booked as tax liability in future periods. Revenue Recognition deferred tax liability support is currently in private beta. | | Deferred discounts | Liabilities (credit) | The deferred discount of issued invoices. The month end balance reflects the amount expected to be booked as discount in future periods. Revenue Recognition discount as contra revenue support is currently in private beta. | | Pending cash | Assets (debit) | Cash from payments that haven’t been confirmed. It can take several days to confirm whether a payment is successful. When the amount is confirmed, it’s transferred to the Cash account. This happens with [delayed notification payment methods](https://docs.stripe.com/payments/payment-methods.md#payment-notification) like ACH debit. | ## Data modeling for Revenue Recognition See the following descriptions of how Revenue Recognition handles common Stripe resources to learn how Revenue Recognition uses data modeling. ### Subscriptions and Invoicing Subscriptions and Invoices are higher level resources that contain detailed information about each transaction. Subscriptions create invoices on each cycle, with each subscription item corresponding to an invoice line item. The period of each line item is automatically populated with the period of the subscription item. Revenue Recognition treats each invoice line item as its own performance obligation. When the invoice finalizes, the total recognizable amount is deferred and subsequently amortized evenly over the period of each invoice line item. If a period isn’t set on an invoice line item, the amount on that invoice line item is recognized entirely when the invoice is finalized. Use the [Data Import feature](https://docs.stripe.com/revenue-recognition/data-import.md) to configure your invoice data, or set [rules](https://docs.stripe.com/revenue-recognition/rules.md) to customize when and how invoice line items are recognized. For more details and examples regarding how Revenue Recognition handles subscriptions and invoices with specific scenarios involving upgrades, downgrades, discounts, taxes, and so on, review the [Subscriptions and Invoicing](https://docs.stripe.com/revenue-recognition/methodology/subscriptions-and-invoicing.md) page. ### One-time payments One-time payments created in the Dashboard or through the [Charges](https://docs.stripe.com/api/charges.md) and [PaymentIntents](https://docs.stripe.com/api/payment_intents.md) APIs don’t contain as much information as invoices. Because no service period or *fulfillment* information exists for them, by default, one-time payments are recognized immediately when the payment occurs. [Import data](https://docs.stripe.com/revenue-recognition/data-import.md) to add a service period or split a payment into different revenue recognition schedules. This allows you to customize revenue treatment behavior and configure rules such as payment amount, description, and customer email. For more details and examples on how Revenue Recognition handles one-time payments, review the [One-time payments](https://docs.stripe.com/revenue-recognition/methodology/one-time-payments.md) page. ### Refunds and disputes Revenue Recognition handles refunds and disputes by generating contra revenue to offset already recognized revenue. For transactions with both already-recognized and deferred revenue, the recognized portion is added to either the refunds or disputes contra revenue account, which cancels out the deferred revenue. For more details and examples on how Revenue Recognition handles refunds and disputes, review the [Refunds and Disputes](https://docs.stripe.com/revenue-recognition/methodology/refunds-and-disputes.md) page. ### External transactions You can track revenue collected outside of Stripe using invoices. Configure the invoice as you would any other, and then mark the invoice as paid either directly in the Dashboard, or through the `paid_out_of_band` option in the API. Invoices marked as paid outside of Stripe contribute not to the cash account, but rather to the external asset account. If you’d like to consolidate your financial data from outside Stripe onto Revenue Recognition, review the [Data import](https://docs.stripe.com/revenue-recognition/data-import.md) page. ### Multi-currency If your business handles transactions in multiple currencies, accurately recognizing revenue can be complicated. Revenue Recognition processes transactions and generates journal entries based on your account’s settlement currencies. Transactions with presentment currencies that aren’t supported as settlement currencies are automatically converted to your account’s default *settlement currency*. For payments and paid invoices, we use the exchange rate for the actual money movement (that is, reflected on the balance transaction). If you incur a time delay between issuing a bill (for example, an invoice) and it getting paid, the difference in amounts because of changing exchange rates between the two times is added to the FxLoss account. For more details and examples on how Revenue Recognition handles multiple currencies, review the [Multi-currency](https://docs.stripe.com/revenue-recognition/methodology/multi-currency.md) page. ### Data availability Revenue Recognition computes your data twice daily, at 0:00am UTC and at 12:00pm UTC. The data processed at 0:00am UTC encompasses account activity from the prior day’s 12:00pm to that day’s 11:59pm UTC. The 12:00pm UTC update covers activity from 0:00am to 11:59am UTC of the same day. It can take up to 24 hours to process the data. Users in time zones far from UTC might notice slight delays in reports because late-day activity in PST corresponds to early hours of the following day in UTC. As an example, you might have account activity occurring on August 1, 2023, from 0:00 am to 11:59 am UTC. You can expect to see this activity reflected in the Revenue Recognition reports by August 4, 2023, at 12:00 pm UTC. Similarly, you can access reports for activity from 12:00 pm to 11:59 pm UTC on August 1, 2023 by August 5, 2023, at 0:00 am UTC. ## Journal entries Every billing activity in Stripe generates a set of journal entries. A journal entry is a record of a transaction. Each journal entry consists of a debit and a credit account. For example, an entry which finalizes an invoice would debit AccountsReceivable and credit DeferredRevenue. Paying an invoice would debit Cash and credit AccountsReceivable. These entries can occur in asset, liability, equity, expense, or revenue accounts. You can learn more about the definitions of each account that will appear in a journal entry under our [Chart of accounts](https://docs.stripe.com/revenue-recognition/methodology.md#chart-of-accounts) section. The table below shows the applicable billing activities for common journal entries. You can export journal entries to CSV using the debits and credits report, which you can find in the [Reports tab in the Dashboard](https://dashboard.stripe.com/revenue-recognition). In addition, there are options to download debits and credits reports by the event type, which provide a brief description of the recorded event, which can help you understand the nature of each journal entry. The following table isn’t the complete set of entries. We’ll be periodically updating the entries. If there’s a specific entry that you require assistance with, please [create a ticket](https://support.stripe.com/contact/email?topic=financial_reports) on our support page. | Debit | Credit | Definition | | ---------------------------- | ---------------------------- | ----------------------------------------------------------------------------------------- | | Accounts receivable | Deferred revenue | Invoice being finalized | | | Unbilled accounts receivable | Unbilled invoice item being invoiced | | | Passthrough fees | Finalize an invoice with passthrough fees | | | Tax liability | Finalize an invoice with tax | | Bad debt | Accounts receivable | Mark an invoice as uncollectible | | | Pending cash | Mark an invoice with a pending ACH as uncollectible | | | Recoverables | Mark an invoice which is partially paid with customer balance as uncollectible | | Cash | Accounts receivable | Invoice is paid | | | Customer balance | Paying for a negative customer balance | | | Exclusion | Cash is excluded | | | Pending cash | ACH paying invoice is confirmed | | | Recoverables | Winning a dispute for amounts that were previously adjusted from deferred revenue balance | | Connect transfer loss | Cash | Loss from a transfer | | Credit notes | Accounts receivable | Prepaid credit note is issued on an unpaid invoice | | | Customer balance | Post paid credit note credits customer balance | | | External customer balance | Post paid credit note credits external customer balance | | Customer balance | Customer balance adjustments | Reduce the amount owned by the customer | | Customer balance adjustments | Customer balance | Increase the amount owned by the customer | | Deferred revenue | Cash | Caused by Refunds and Disputes | | | Revenue | Revenue is recognized | | External asset | Accounts receivable | Mark an invoice as paid outside of Stripe | | Refunds | Cash | Refund | | Tax liability | Customer balance | Credit note on an invoice with tax, and it credits customer balance | | | External customer balance | Credit note on an invoice with tax, and it credits external customer balance | | Unbilled accounts receivable | Revenue | Revenue recognized on unbilled invoice item | | Unbilled voids | Unbilled accounts receivable | Unbilled invoice item is deleted | | Voids | Accounts receivable | Void an invoice | | | Bad debt | Void an uncollectible invoice | | | Customer balance | Void an invoice partially paid with customer balance | The activities above are all based on positive amounts. It is important to note that these billing activities can be reversed. These reverse activities occur when activities are triggered on negative invoice line item amounts. ## Negative Line Item A negative line item occurs when the value of the line item becomes higher than the amount it is paid for. This occurs typically during a subscription downgrade or upgrade when the product tier changes. Here is an example of journal entries which contains a negative line item caused by a downgrade: - On April 1, the invoice is generated for a monthly subscription worth 90 USD and the customer pays for it. - On April 21, the customer requests a downgrade of their service to a 30 USD subscription. This results in 2 unbilled line items for the remaining time of the subscription. - il_1 is for the remaining time on new plan worth 10 USD - il_2 is for the remaining time of old plan worth -30 USD - On May 1, the invoice is generated containing the line items generated by the downgrade as well for the new line item, il_3, representing the month of May. The customer pays for the invoice on the same day. - On May 4, the customer requests a full refund on the invoice for May, resulting in full refunds on the line item created by the downgrade as well as the new line item for May. We process the refund. | Date | Debit | Credit | Amount | Line Item | | ---------- | ---------------------------- | ---------------------------- | ------ | --------- | | 2022-04-21 | Unbilled accounts receivable | Revenue | 10 USD | il_1 | | | Revenue | Unbilled accounts receivable | 30 USD | il_2 | | 2022-05-01 | Accounts receivable | Deferred revenue | 30 USD | il_3 | | | Cash | Accounts receivable | 30 USD | il_3 | | | Deferred revenue | Revenue | 30 USD | il_3 | | | Accounts receivable | Unbilled accounts receivable | 10 USD | il_1 | | | Cash | Accounts receivable | 10 USD | il_1 | | | Unbilled accounts receivable | Accounts receivable | 30 USD | il_2 | | | Accounts receivable | Cash | 30 USD | il_2 | | 2022-05-04 | Refunds | Cash | 10 USD | il_1 | | | Cash | Refunds | 30 USD | il_2 | | | Revenue | Cash | 30 USD | il_3 |