Skip to content
Create account or Sign in
The Stripe Docs logo
/
Ask AI
Create accountSign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
APIs & SDKsHelp
Overview
Billing
OverviewAbout the Billing APIs
Subscriptions
Invoicing
Usage-based billing
Advanced 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 for multiple accounts
Reports API
Revenue recognition
    Overview
    How Revenue Recognition works
    Set up revenue recognition
    Data freshness
    Pricing
    Multi-currency
    Connect platforms
    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
    Standalone selling price
Data
Overview
Query business data
Sigma
Data Pipeline
Import external data
United States
English (United Kingdom)
HomeRevenueRevenue recognition

Recognise 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 customise 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 (such as monthly, quarterly and so on), no further setup is required. Stripe Revenue Recognition automatically recognises this revenue for you.

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

Note

If you want to recognise 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 1 September for the price of US$365. If you want to recognise 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

No further setup is required if you have a usage-based billing metered event through Stripe Billing. Stripe Revenue Recognition automatically recognises this revenue for you.

As an example, say you have a customer on a pricing model where it costs US$1 per unit with a subscription for 100 units. They consume these units over multiple days and months as follows:

  • 20 units on 2 March
  • 25 units on 30 March
  • 15 units on 1 April
  • 25 units on 20 April
  • 15 units on 28 April

In this case, the customer consumes a total of 45 units in March and 55 units in April without being billed. The ledger entries for this revenue recognition are as follows:

MonthDebitCreditAmountDescription
MarchUnbilledAccountsReceivableRevenue45.00Revenue in March from 45 usage units.
AprilUnbilledAccountsReceivableRevenue55.00Revenue in April from 55 usage units.

Billed usage-based metered event

Based on your configuration, Stripe creates an invoice for the consumed units that reflects the recorded usage.

To continue with the previous example, Stripe finalises an invoice on 1 April, for a total consumption of 60 units. At the end of the month, the journal entries appear as follows:

MonthDebitCreditAmountDescription
MarchUnbilledAccountsReceivableRevenue45.00Revenue in March from 45 usage units.
AprilUnbilledAccountsReceivableRevenue55.00Revenue in April from 55 usage units.
AprilRevenueUnbilledAccountsReceivable60.00The reversal of revenue with the April invoice for billed usage units.

Third-party recurring billing

You can set up rules to automatically recognise 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 US$10 payment and a US$120 payment. You need to recognise the US$10 payment over one month, and the US$120 payment over one year, so you create these revenue recognition rules:

NameApply toTreatment
Recognise US$10.00 over 1 monthOther payments
  • Amount is equal to US$10.00 ****
Amortise over custom service period
  • Amortise starting 0 Days from paid time over 1 Months
Recognise US$120.00 over 12 monthsOther payments
  • Amount is equal to US$120.00 ****
Amortise over custom service period
  • Amortise 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 recognise 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 recognise revenue differently for any invoice item, import the recognition dates that Stripe should use.

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

DateInvoice

Jan 2021

9.00 monthly service fee

50.00 one-off 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 recognise 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 recognised 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 recognisable 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 ageingDetails 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, amortisation granularity, and catch-up revenue. You can further set up revenue recognition so Stripe can handle it for you.

Recognise 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 recognise 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
Recognise 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 US$100. You want to recognise US$10 as passthrough fees and recognise US$90 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 & amortise over line item service period

  • Allocation 90%
  • Defer from finalised time and amortise 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 amortisation granularity and catch-up revenue treatment.

See also

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