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
Manage imported data
Error handling
Examples
Export data from Stripe
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.

Data 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

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

Importing data

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 to see the format required for the data import feature. You can then click Import CSV to upload your filled-in 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.

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?
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
Importing data
Additional verifications
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 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.
$