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
      Create a rule
    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
Business and product data use cases
SchemaData freshness
Sigma
Data Pipeline
Import external data
HomeRevenueRevenue recognitionRevenue recognition rules

Create a rule

Learn how to create a Revenue Recognition rule.

You can create and manage Revenue Recognition rules from the Stripe Dashboard. To create a rule, click Add rule from the Rules page.

A rule consists of the following key components:

  • Name
  • Apply to
  • Revenue treatment and allocation
  • Effective period

Conditions

Under Apply to, you can set conditions specifying which transactions (for example, charges, invoice line items) a rule applies to.

Caution

A transaction fulfills the condition requirement when all the conditions are true.

Effective period

An effective period specifies the time period that a rule applies to. For an invoice line item, if the finalization time for the invoice falls within the specified effective period, the invoice line item fulfills the effective period requirement. For a charge, if the balance transaction that it corresponds to has a creation time that falls within the specified effective period, the charge fulfills the effective period requirement.

For a rule to apply to a transaction, the transaction must fulfill both the effective period and condition requirements. When you update the effective period, the rule retroactively applies to previous accounting periods. If the previous periods are closed, changes are reflected in the first open accounting period. You can avoid corrections by reopening previous periods.

Treatments

When a transaction fulfills both the effective period and condition requirement, a set of defined treatments are applied. A treatment consists of its type and the allocation percentage. The allocation percentage specifies how much of the amount the type of treatment applies to. The type of treatment specifies how to treat the amount. We support the following treatment types:

  • Defer and recognize revenue at a specified time (applicable to charges only)
  • Categorize the amount as passthrough fees
  • Categorize the amount as tax
  • Exclude the amount
  • Amortize the amount over a specified period (applicable to charges only)
  • Amortize the amount over the service period for an invoice line item (applicable to invoice line items only)

Rule examples

The following examples demonstrate common Revenue Recognition rule configurations. Each example shows how to set up rules for different business scenarios, from tax categorization to revenue amortization.

Tax treatment

To categorize a tax line item (for example, created by Avalara), you can set one rule, such as the following example:

ComponentsValue
Apply toInvoices > Line item description contains all of the following: AvaTax
Effective periodStart: All past dates - End: Indefinite
TreatmentsTax (100%)

If you have a 10 USD invoice line item with the description “Sales Tax calculated by AvaTax," and the invoice finalizes in April, you’d see the account balances as in the following example:

AccountApril
AccountsReceivable10 USD
TaxLiability10 USD

Passthrough fees

To categorize 10% of an amount as a passthrough fee, you can set one rule like the following example:

ComponentsValue
Apply toInvoices > All line items
Effective periodStart: All past dates—End: Indefinite
TreatmentsAmortization over line item service period (90%) and Passthrough fee (10%)

If you have a 100 USD invoice line item (without a service period) that finalizes in April, you’d see the account balances like the following example:

AccountApril
AccountsReceivable100 USD
Revenue90 USD
PassthroughFees10 USD

Exclude transactions from a test customer

To exclude all the standalone payments from a test customer, you can set one rule like the following example:

ComponentsValue

Apply to

Customers > Customer email contains all of the following: test@stripe.com

Other payments > All other payments

Effective periodStart: All past dates—End: Indefinite
TreatmentsExclude revenue (100%)

The report excludes other payments from the customer, whose email is test@stripe.com.

Exclude standalone payments

To exclude all standalone payments from the report, set a rule like the following:

ComponentsValue
Apply toOther payments > All other payments
Effective periodStart: All past dates—End: Indefinite
TreatmentsExclude revenue (100%)

This rule restricts Revenue Recognition to only include recurring payments and one-time invoice payments in your revenue accounting reports. Standalone payments are excluded from the report.

Amortize revenue over custom time period

In this example, we want to (1) amortize other payments from a small set of customers (for example, cus_AAA and cus_BBB) over one year and (2) amortize the remaining other payments over one month.

We can make two rules and use the order of the rules as shown in the following example:

Rule 1: Amortize other payments over one year

ComponentsValue

Apply to

Customers > Customer ID matches any of the following: cus_AAA, cus_BBB

Other payments > All other payments

Effective periodStart: All past dates - End: Indefinite
TreatmentsAmortization over custom service period (100%) > Amortization starting 0 days from paid time over 1 year

Rule 2: Amortize other payments over one month

ComponentsValue
Apply toOther payments > All other payments
Effective periodStart: All past dates - End: Indefinite
TreatmentsAmortization over custom service period (100%) > Amortization starting 0 days from paid time over 1 month

Other payments from cus_AAA or cus_BBB match Rule 1, and the revenue amortizes over one year. Other payments from any other customer match Rule 2, and the revenue amortizes over one month.

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