Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Overview
Get started
Recognize revenue with Stripe
How revenue recognition works
Methodology
Subscriptions and Invoicing
One-time payments
Refunds and disputes
Multi-currency
Connect platforms
Frequently asked questions
Reports and features
Revenue recognition reports
Monthly summary
Revenue waterfall
Overrides
Audit your numbers
Examples
Configure reports
Revenue recognition rules
Accounting period control
Revenue controls
Map to your chart of accounts
Data import and export
Import data to Stripe
Export data from Stripe
Revenue recognition
·
HomeBusiness operationsRevenue recognition

Revenue Recognition FAQ

Get answers to common questions about Revenue Recognition.

Methodology

  • Why doesn’t a one-off invoice amortize revenue?

    ​​Revenue Recognition recognizes 100% of an invoice’s revenue only when the invoice is finalized and the service period isn’t set.

    You can use the data import feature to set the service period on an invoice line item after the invoice is finalized.

  • Can we set the service period on an invoice line item?

    ​​Use the data import feature to set a new service period on an invoice line item.

  • Can we set a service period on a charge?

    Use the data import feature to set a new service period on a specific charge.

  • How do we move from cash accounting to accrual accounting?

    ​​To configure revenue recognition for cash accounting, set a rule that matches all line items and select Amortize over custom service period from the treatment drop-down menu. Enter 0 for the Amortize starting and the from paid time over fields. ​​ ​​Set the rule’s effective period to All past dates through the date of your accounting switchover. ​​ ​​This rule ensures that Revenue Recognition doesn’t amortize revenue before the date of the switchover, and effectively uses the cash accounting for a period before switching to accrual accounting.

  • How accurate is Revenue Recognition? How does Revenue Recognition comply with ASC 606 and IFRS 15?

    Stripe Revenue Recognition automates the tedious part of revenue calculation, which follows the guidelines from ASC 606 and IFRS 15.

    Nevertheless, being compliant is fully your responsibility.

  • Can we modify the revenue schedule of a metered billing line item?

    Not currently, but please contact us at stripe-revenue-recognition@stripe.com if you need this functionality.

  • Can I test Revenue Recognition to see if it works for my use case?

    Yes. Stripe offers a 30-day free trial for Revenue Recognition. You can also use Revenue Recognition in test mode to explore all of its features for free. To use test mode, toggle View test data to on when you sign up.

    Reports in test mode are based on existing test mode transaction data. Settings, rules, and transaction overrides in test mode don’t affect your live mode reports. Using test mode is a great way to test customized settings or evaluate whether Revenue Recognition works for you.

Reconciliation

  • ​​How do we reconcile data from Revenue Recognition with other financial reports?

    You can reconcile the cash account from Revenue Recognition and the Balance change from activity report within the same month.

    Because Revenue Recognition currently focuses on revenue-generating activities, you must exclude fees, network costs, contributions, and financing paydowns from the Balance change from activity report before reconciling.

    Let’s say you want to reconcile cash accounts in USD. Here’s an example of how to do that:

    To get the cash amount in Revenue Recognition, download the balance sheet report in summary format. Let’s assume the report looks something like this, and the amount is 100 USD:

    accountcurrencynet change
    Cashusd+100.00
    Casheur+15.00

    To get the cash amount in the Balance change from activity report, set the currency to USD, and the report timezone to UTC. After downloading the report in the summary format, the report looks something like this:

    reporting categorycurrencygross
    chargeusd+140.00
    refundusd-40.00
    refund_failureusd+20.00
    partial_capture_reversalusd-20.00
    feeusd-10.00
    network_costusd-10.00
    contributionusd-10.00
    financing_paydownusd-10.00
    totalusd+60.00

    The total gross already excludes some Stripe fees. After deducting rows for additional Stripe fees, network costs, contributions, and financing paydowns, the calculated cash amount is 100 USD.

  • ​​How do we create journal entries for fees, network costs, contributions, and financing paydowns?

    The journal entries in the Debits and Credits report don’t consider fees, network costs, contributions, and financing paydowns. Use the Balance change from activity report to calculate these fees and manually create a journal entry.

    Download the Balance change from activity report in summary format. Make sure you select the Reporting Category, Gross, and Fee columns.

    Calculate the total fee by summing the fee, network cost, and contribution in the gross column, and the total of the fee column.

    reporting categorygrossfee
    charge100.00-4.00
    refund-100.003.00
    platform earning refund-0.100.00
    fee-1000.000.00
    network cost-0.500.00
    contribution-0.400.00
    total-1001.00-1.00

    In the above example, the total fees would be -1000.00 + -0.50 + -0.04 + -1.00 which sums to -1001.00

    You can now make a manual journal entry debiting Fees, an expense account, and crediting Cash by -1001.0

Rules

  • I set a rule yesterday. Why doesn’t the rule impact the report?

    ​​Rules are typically applied to reports 24-48 hours after setting them. For more details, read the rules docs.

    ​​If the rule’s status is active, the rule has been applied to the report. If the rule’s status is processing, the rule hasn’t been applied to the report yet.

  • Can we open accounting periods after setting rules?

    Yes. The order of these operations doesn’t matter, except when you intend to issue corrections. In that case, you must close the accounting period before setting any rules.

Pricing

  • How much does Stripe Revenue Recognition cost?

    We charge 0.25% on payments volume in Stripe Revenue Recognition. If your volume in a given month exceeds the threshold in your local market, we’ll lower our fee from 0.25% to 0.20% of volume in that particular month. Learn more about Revenue Recognition’s pricing.

  • When do you charge a fee for Stripe Revenue Recognition?

    We charge a fee for every payment processed through Stripe. To see what fees have been charged, read the fees report, which Stripe updates daily. Some fees for line items may take a few days to appear in the report.

    The following table explains when Revenue Recognition charges fees.

    SituationRevenue Recognition fees charged
    Successful transactionsStripe applies the fee only when a payment succeeds, for instance, when an invoice has been paid or when a one-time payment has been made.
    Transactions processed by StripeThe fee is calculated based on the volume processed, rather than the volume recognized. In other words, if a user paid 120 USD for an annual subscription on December 1, Stripe calculates the fee based on the 120 USD volume in December, rather than the 10 USD recognized in December.
    Refunded transactionsIf the corresponding payment is refunded at a later date, the Revenue Recognition fee won’t be refunded.
    Excluded transactionsIf a user excludes a Stripe transaction from Revenue Recognition using custom rules, the transaction still counts toward a user’s volume because the transaction was successfully processed by Stripe.
  • Do you refund the Revenue Recognition fee when a payment is refunded?

    No. The Stripe Revenue Recognition fee isn’t refunded if the corresponding payment is refunded.

  • If an invoice is voided, do I still get charged a fee on that invoice if it’s used by Revenue Recognition?

    No. Stripe only charges Revenue Recognition fees on transactions that have been successfully processed. If an invoice is voided, it won’t be included in your monthly volume.

  • Do you charge a fee for additional features?

    We currently don’t charge fees for:

    • Rules
    • Reports
    • Accounting period controls
    • Data export
  • Do you charge a fee when I exclude a transaction from Revenue Recognition?

    We charge a fee for all transactions processed by Stripe, which means you incur a fee even if you exclude a transaction from Revenue Recognition.

  • If I handle multiple currencies (for example, dollars and euros), do I need to reach 100,000 USD or 100,000 EUR in monthly volume to reach the lower-priced tier?

    Each currency has an equivalent threshold. To see the thresholds for your supported currencies, go to the Revenue Recognition pricing page.

    If you have multiple settlement currencies, the combined percentage of thresholds met determines the final fee tier. For each currency, we compute the percentage of volume to the currency’s volume threshold. We call this percentage-to-threshold volume. If the total percentage-to-threshold-volume is more than 100, you qualify for the lower tier.

    Here are two example scenarios:

    Scenario 1

    In this case, the total percentage-to-threshold-volume is 82%, which means you don’t qualify for the discount.

    CurrencyMerchant volumeThreshold volumePercentage-to-threshold volume
    USD80,000100,00080%
    GBP1,00050,0002%

    Scenario 2

    In this case, the total percentage-to-threshold-volume is 120%, which means you get the discount.

    CurrencyMerchant volumeThreshold volumePercentage-to-threshold volume
    USD80,000100,00080%
    GBP20,00050,00040%
Was this page helpful?
Questions? Contact us.
Watch our developer tutorials.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Methodology
Reconciliation
Rules
Pricing
Stripe Shell
Test mode
▗▄ ▄▟█ █▀▀ ▗▟████▙▖ ██████ ███▗▟█ ███ ███▗▟██▙▖ ▗▟█████▙▖ ███▖ ▀▀ ███ ███▀▀▀ ███ ███▀ ███ ███ ███ ▝▜████▙▖ ███ ███ ███ ███ ███ █████████ ▄▄ ▝███ ███ ▄ ███ ███ ███▄ ███ ███ ▄▄ ▝▜████▛▘ ▝▜███▛ ███ ███ ███▝▜██▛▘ ▝▜█████▛▘ ███ ▀▘
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to Stripe docs and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$