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:
Components | Value |
---|---|
Apply to | Invoices > Line item description contains all of the following: AvaTax |
Effective period | Start: All past dates - End: Indefinite |
Treatments | Tax (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:
Account | April |
---|---|
AccountsReceivable | 10 USD |
TaxLiability | 10 USD |
Passthrough fees 
To categorize 10% of an amount as a passthrough fee, you can set one rule like the following example:
Components | Value |
---|---|
Apply to | Invoices > All line items |
Effective period | Start: All past dates—End: Indefinite |
Treatments | Amortization 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:
Account | April |
---|---|
AccountsReceivable | 100 USD |
Revenue | 90 USD |
PassthroughFees | 10 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:
Components | Value |
---|---|
Apply to | Customers > Customer email contains all of the following: test@stripe.com Other payments > All other payments |
Effective period | Start: All past dates—End: Indefinite |
Treatments | Exclude 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:
Components | Value |
---|---|
Apply to | Other payments > All other payments |
Effective period | Start: All past dates—End: Indefinite |
Treatments | Exclude 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_
and cus_
) 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
Components | Value |
---|---|
Apply to | Customers > Customer ID matches any of the following: cus_AAA, cus_BBB Other payments > All other payments |
Effective period | Start: All past dates - End: Indefinite |
Treatments | Amortization over custom service period (100%) > Amortization starting 0 days from paid time over 1 year |
Rule 2: Amortize other payments over one month
Components | Value |
---|---|
Apply to | Other payments > All other payments |
Effective period | Start: All past dates - End: Indefinite |
Treatments | Amortization over custom service period (100%) > Amortization starting 0 days from paid time over 1 month |
Other payments from cus_
or cus_
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.