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
Overview
Fraud detection
Stripe data
Financial reports
Payment authentication reports
Revenue recognition
    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
      Manage imported data
      Error handling
      Examples
    Export data from Stripe
Startup incorporation
Climate
Identity
Tax
Financial Connections
Account
Dashboard
Revenue Recognition
·
HomeBusiness operationsRevenue recognition

Revenue Recognition data import
Beta

Import data from other sources to manage all of your revenue recognition in Stripe.

Perform revenue recognition on non-Stripe transactions and adjust the recognition schedules of existing Stripe transactions, or exclude the existing Stripe transactions from the revenue.

Data import is categorized by general import or exclusion import.

General import allows you to upload revenue data with CSV files. You can import transactions processed completely outside of Stripe and customize the recognition terms of existing Stripe transactions to fit your business model. For example, you can import data to:

  • Add a service period to a Stripe payment.
  • Override the service period of a line item in a Stripe invoice.
  • Split a payment into multiple different revenue schedules.
  • Import an external payment processor’s data with a service period, amount, and currency.

Exclusion import allows you to exclude transactions from your revenue by uploading the IDs of the transactions to exclude. You can exclude the following types of transactions: invoice, invoice item, invoice line item, standalone payment.

When you import data related to India, make sure you’re in compliance with India data locality requirements.

General import

You can import data into Revenue Recognition reports and view all the data you’ve imported from the Data import page. Click Download CSV template and select General import CSV to see the required format for the data import feature. You can then click Import CSV and select General import to upload your completed template. See the following descriptions of the CSV format:

Source

The provider of the original transaction. Examples:

  • Stripe (case-insensitive) for transactions processed by Stripe
  • Any value such as Checks or App Store, an arbitrary identifier that helps you group the source of a set of transactions

Transaction ID

The ID of a transaction. Examples:

  • An ID such as ch_123456 or py_1234 for Stripe payments
  • An ID such as in_12345 for Stripe invoices
  • Any value such as my_internal_id or Check Number 1234, an arbitrary identifier that helps you track a single transaction

Split transaction ID

If you’re not overriding an invoice line item service period or splitting a transaction, you can leave this blank.

When overriding an invoice line item service period, this is the invoice line item ID. Examples:

  • An ID such as il_1234, that you can find from your Revenue Recognition reports at the invoice line item level

If you’re splitting a transaction, this is an arbitrary identifier that differentiates between different parts of the same transaction. Examples:

  • bike
  • my_internal_id

Booked date

This is the date that you recorded the transaction in YYYY-MM-DD format in the UTC timezone.

Recognition start date

This is the date that you want to start recognizing revenue in YYYY-MM-DD format in the UTC timezone.

Recognition end date

This is the date that you want to stop recognizing revenue in YYYY-MM-DD format in the UTC timezone.

Amount

This is the numeric amount of the transaction without any currency symbols. For example, for 10.95 USD, you would specify 10.95.

Currency

This is the three-letter ISO 4217 currency code for the currency of the recognized revenue of the transaction. For example, for 10.95 USD, you would specify usd. Your Stripe account must be set up to support the specified currency.

Description

This can be any arbitrary description. You can use these in combination with Revenue Recognition rules to further customize your recognized revenue.

Additional verifications

  • All rows must have a transaction ID.
  • All of the split parts of a transaction must have an amount that adds up to the original transaction.
  • External transactions must provide a booked date, revenue recognition start and end date, amount, and currency.
  • We ignore overrides on payments attached to Stripe invoices, so if you want to override such a payment, use the invoice itself as the transaction.

Exclusion import

You can exclude transactions from revenue and view the excluded transactions that you imported from the Data import page. Click Download CSV template and select Exclusion import CSV to see the required format for the exclusion data import feature. You can then click Import CSV and select Exclusion import to upload your completed template.

Transaction ID

Transaction ID examples include:

  • ch_123456 or py_1234 – An ID for a standalone Stripe payment. If a payment or charge is linked with an invoice, don’t use the charge or payment ID. Use the invoice ID for exclusion instead.
  • in_12345 – An ID for Stripe invoices.
  • ii_12345 – An ID for Stripe invoice items.
  • il_12345 – An ID for Stripe invoice line items.

Opening accounting periods

Applying a transaction to a closed accounting period generates corrections. If you want to apply past transactions directly to a past accounting period, make sure that the past accounting period is open. If you forgot to do this, you don’t need to re-import data, you can open the relevant accounting period and wait for the reports to be recalculated.

See also

  • Manage imported data
  • Examples
Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
General import
Exclusion import
Opening accounting periods
See also
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe 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.
$