Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Billing
Tax
Reporting
    Overview
    Select a report
    Filters and settings
    Categories and types
    Connect an accounting tool
    Reports API
    Reports for multiple accounts
    Revenue recognition
      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
      Revenue Recognition settings
      Map to your chart of accounts
      Performance obligations API
      Import data to Stripe
        Manage imported data
        Error handling
        Examples
        Stripe Connector for Apple App Store
        Stripe Connector for Google Play
      Export data from Stripe
    Bank reconciliation
Data
Startup incorporation
HomeFinance automationReportingRevenue recognition

Revenue Recognition data importPublic preview

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

Copy page

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 categorised by general import or exclusion import.

General import allows you to upload revenue data with CSV files. You can import transactions processed completely outside Stripe and customise 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.

Caution

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 customise your recognised 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. Instead, 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?
YesNo
Need help? Contact Support.
Join our early access programme.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc