Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
Billing
OverviewAbout the Billing APIs
Subscriptions
Invoicing
Usage-based billing
Quotes
Customer management
Billing with other products
Revenue recovery
Automations
Test your integration
Tax
Overview
Use Stripe tax
Manage compliance
Reporting
Overview
Select a report
Configure reports
Reports API
Reports for multiple accounts
Revenue recognition
    Overview
    Get started
    How Revenue Recognition works
    Data freshness
    Pricing
    Multi-currency
    Connect platforms
    Revenue Recognition for Usage-Based Billing
    Revenue contracts
    Reports
    Overrides
    Audit your numbers
    Examples
    Revenue recognition rules
    Revenue Recognition settings
    Map to your chart of accounts
    Performance obligations API
    Import data to Stripe
    Export data from Stripe
Data
OverviewSchema
Custom reports
Data Pipeline
Data management
HomeRevenueRevenue recognition

Recognize revenue with Stripe

Learn how to use Stripe for your revenue recognition.

You can import your transaction data, set up rules to automate your revenue recognition, generate and customize revenue reports, and test your transaction model before going live.

All Stripe Revenue Recognition features are available from the Dashboard.

Try for free

Stripe offers a 30-day free trial for Revenue Recognition if you want to preview it. When you sign up, use a sandbox to explore all the features for free.

Set up revenue recognition

Revenue Recognition is already automated for some business use cases but requires additional setup for others. Below is a list of some common billing models. Click them to learn more:

Simple subscriptions

If you have subscriptions through Stripe Billing (like monthly, quarterly, and so on), no further setup is required. Stripe Revenue Recognition automatically recognizes this revenue for you.

Stripe recognizes the transaction amount by the service period for each invoice line item. By default, we recognize the revenue by the millisecond.

Note

If you want to recognize your subscription revenue by the month, instead of by the millisecond, please create a ticket on our support page to join our beta.

As an example, say you have a customer who started an annual subscription on September 1 for the price of 365 USD. If you want to recognize the amount monthly, your report at the end of December would show this:

AccountSep 2021Oct 2021Nov 2021Dec 2021
Revenue+30.00+31.00+30.00+31.00
DeferredRevenue+335.00-31.00-30.00-31.00

Usage-based billing subscriptions

If you have usage-based billing subscriptions through Stripe Billing, no further setup is required. Stripe Revenue Recognition automatically recognizes this revenue for you.

As an example, say you have a customer on a usage-based billing plan where it costs 1 USD per API call and the next invoice is on September 10. They make ten API calls in July so, at the end of the month, the journal entries look something like:

MonthDebitCreditAmountDescription
JulUnbilledARRevenue10.00Revenue in July.

They make six API calls in August:

MonthDebitCreditAmountDescription
JulUnbilledARRevenue10.00Revenue in July.
AugUnbilledARRevenue6.00Revenue in August.

They make three API calls in September. They make one before September 10 and two after. At the end of the month, the journal entries look something like:

MonthDebitCreditAmountDescription
JulUnbilledARRevenue10.00Revenue from usage in July.
AugUnbilledARRevenue6.00Revenue from usage in August.
SepRevenueUnbilledAR16.00The reversal of revenue from July and August for September’s invoice.
SepUnbilledARRevenue2.00Revenue from usage after September 10.
SepRevenueUnbilledAR1.00Billed usage in September.
SepARRevenue17.00Invoice on September 10 for 17 API calls.

Third-party recurring billing

You can set up rules to automatically recognize your recurring revenue even if you don’t use Stripe Billing (but still use Stripe as a payment gateway).

As an example, say you receive two types of recurring payments from your customers: a 10 USD payment and a 120 USD payment. You need to recognize the 10 USD payment over 1 month, and the 120 USD payment over 1 year, so you create these revenue recognition rules:

NameApply toTreatment
Recognize 10.00 USD over 1 monthOther payments
  • Amount is equal to 10.00 USD
Amortize over custom service period
  • Amortize starting 0 Days from paid time over 1 Months
Recognize 120.00 USD over 12 monthsOther payments
  • Amount is equal to 120.00 USD
Amortize over custom service period
  • Amortize starting 0 Days from paid time over 1 Years

Product bundles

Use more than one invoice item to structure a product bundle so you can recognize the revenue from more than one product. Each invoice item represents a different product with its own amount and service period.

You can create invoice items with these APIs:

  • Invoice Items—Create an invoice item with a specific service period and amount. When you create an invoice, Stripe automatically includes the invoice items in the invoice for you.
  • Subscription Schedules—Create a schedule for a subscription. You can add one-time invoice items to a subscription schedule that would show up in an invoice. This can be useful for one-time fees on a recurring service.

If you want to recognize revenue differently for any invoice item, import the recognition dates that Stripe should use.

As an example, say you offer a 9 USD monthly service with a one-time setup fee of 50 USD. The invoices would look something like:

DateInvoice

Jan 2021

9.00 monthly service fee

50.00 one-time setup fee

Feb 20219.00 monthly service fee
Mar 20219.00 monthly service fee

The revenue schedule would look something like:

MonthRevenue
Jan 202159.00
Feb 20219.00
Mar 20219.00

Generate reports and charts

By default, the Dashboard displays all revenue recognition reports and charts by accounting periods (which we define as the start and end dates of a given month). It takes up to 24 hours for reports to generate and become available for download.

Note

If you’d like to recognize revenue based on custom accounting periods such as the 4-5-4 retail calendar, please create a ticket on our support page to join our beta.

Below is a short summary of the reports and charts you can view, download, or both.

Reports and chartsDescription
Revenue overviewHigh-level bar graphs that show your revenue activity (that is, your net recognized revenue and your ending balance per month) over time.
Monthly summaryDetails of the accounting activities for the last month or a specified previous month. See Monthly summary for more information.
Revenue waterfallDisplays expected recognizable revenue over time. This is also referred to as a revenue schedule chart. See Revenue waterfall for more information.
Income statementDetails of the revenue and contra revenue by month.
Balance sheetDetails of the balance sheet account by month.
Debits and creditsDetails of the monthly debit-credit journal entries for accounts with activity.
Accounts receivable agingDetails of the monthly and MTD outstanding invoice amounts that affect the accounts receivable ledger account.
CorrectionsDetails of the monthly debit-credit correction journal entries for accounts.
Trial balanceShows the account balances for each general ledger account during each accounting period. See Trial balance for more information.

Sometimes you’ll see mismatches between your accounting reports after you import the data and set up Stripe.

Test your transaction model

Use a sandbox in the Dashboard to generate test revenue reports based on your transactions.

Before going live, you can test the transaction model without your test transactions. Create rules to exclude transactions from specific customers, products, invoices, or payments.

For example, you can exclude all revenues produced by a test customer, named test@example.com. Create a rule that applies to this customer and choose Exclude revenue 100% as the revenue treatment.

Other considerations

You might need to handle other considerations such as tax revenue, passthrough fees, amortization granularity, and catch-up revenue. You can further set up revenue recognition so Stripe can handle it for you.

Recognize tax revenue from third-party solutions

You can set up rules for Stripe Revenue Recognition to automatically calculate your tax revenue if you’re not using Stripe Tax.

First, set the tax amount to the tax parameter of an invoice or an invoice line item. Then, set up a rule to recognize the amount as tax. You can track the revenue from tax in the reports under Tax liability.

As an example, say you’re using Avalara AvaTax to calculate sales tax for your products. You want to treat the invoice line item for AvaTax as tax so you create this rule:

NameApply toTreatment
Recognize tax revenue from AvaTaxInvoices
  • Line item description contains all of the following: AvaTax
Treat as tax
  • Allocation 100%

Calculate passthrough fees

You can set up rules so Stripe can automatically calculate the passthrough fees and, separately, your revenue on invoice line items or a portion of an invoice line item.

For example, say you have an invoice line item Service A that costs 100 USD. You want to recognize 10 USD as passthrough fees and recognize 90 USD as revenue, so you create this rule:

NameApply toTreatment

Service A includes passthrough fees

Invoices

  • Line item description contains all of the following: Service A

Defer upon event & amortize over line item service period

  • Allocation 90%
  • Defer from finalized time and amortize over line item service period

Treatment as passthrough fees

  • Allocation 10%

Adjust revenue recognition controls

While Stripe Revenue Recognition is designed to work out-of-the-box for many business types, we understand that each business might have unique needs. We offer advanced configurations on your revenue recognition reporting through our Controls page, where you can easily adjust for settings like revenue amortization granularity and catch-up revenue treatment.

See also

  • Subscriptions and Tax
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access program.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc