Revenue Recognition API ​
Access Stripe Revenue Recognition reports programmatically to automate your accrual accounting.
For accrual accounting, Stripe Revenue Recognition provides downloadable reports, such as a period summary and a revenue waterfall. You can download these reports in CSV format through the Dashboard or you can programmatically access them through the API.
Stripe Revenue Recognition has six supported report types:
revenue_recognition.debit_credit_summary.1revenue_recognition.debit_credit_by_price.1revenue_recognition.debit_credit_by_product.1revenue_recognition.debit_credit_by_customer.1revenue_recognition.debit_credit_by_invoice.1revenue_recognition.debit_credit_by_invoice_line_item.1
Because this feature is in beta, the data fields might change.
Download a report ​
The following example downloads the debits and credits by summary for May 2025.
First, create a report run using Create a Report Run.
To get a report for May 2025, set parameters[interval_start] to 1 May 2025 and parameters[interval_end] to 1 Jun 2025.
curl
curl https://api.stripe.com/v1/reporting/report_runs \
-u "<<YOUR_SECRET_KEY>>:" \
-d "report_type=revenue_recognition.debit_credit_summary.1" \
-d "parameters[interval_start]=1746057600" \
-d "parameters[interval_end]=1748736000"Next, check whether the Report Run object succeeds by fetching the report run object:
The report run object ID starts with frr_.
curl
curl https://api.stripe.com/v1/reporting/report_runs/{{REPORT_RUN_OBJECT_ID}} \
-u "<<YOUR_SECRET_KEY>>:"When the object’s status is succeeded, you can download the CSV using its result.id value, as in the following example:
The report run result ID starts with file_.
curl ​
bash
curl https://files.stripe.com/v1/files/{{REPORT_RUN_RESULT_ID}}/contents \
-u <<YOUR_SECRET_KEY>>:Report Run Parameters ​
| Report Type | Required Run Parameters | Optional Run Parameters |
|---|---|---|
| revenue_recognition.debit_credit_summary.1 | - interval_start |
interval_end| -decimal_format| | revenue_recognition.debit_credit_by_price.1 | -interval_startinterval_end| -customerdecimal_format| | revenue_recognition.debit_credit_by_product.1 | -interval_startinterval_end| -customerdecimal_format| | revenue_recognition.debit_credit_by_customer.1 | -interval_startinterval_end| -decimal_format| | revenue_recognition.debit_credit_by_invoice.1 | -interval_startinterval_end| -customerinvoiceinvoice_line_itemdecimal_format| | revenue_recognition.debit_credit_by_invoice_line_item.1 | -interval_startinterval_end| -customerinvoiceinvoice_line_itemdecimal_format|
Report Run Columns ​
By default, reports are run with the default set of columns. You can customize the selection and ordering of columns in the output by including the optional columns parameter with a list of column names. You can find the supported columns for each report type below.
Summary ​
API report type: revenue_recognition.debit_credit_summary.1
| Column Name | Default | Description |
|---|---|---|
| accounting_period | ✓ default | The accounting period |
| open_accounting_period | ✓ default | The open accounting period; entries in open periods are subject to change |
| currency | ✓ default | Three-letter ISO code for the currency of the amount. |
| debit | ✓ default | The debited account |
| credit | ✓ default | The credited account |
| amount | ✓ default | Amount change, expressed in major units of the currency (for example, dollars for USD, or pesos for MXN). |
| credit_gl_code | The credited general ledger code | |
| debit_gl_code | The debited general ledger code |
By Price ​
API report type: revenue_recognition.debit_credit_by_price.1
| Column Name | Default | Description |
|---|---|---|
| accounting_period | ✓ default | The accounting period |
| open_accounting_period | ✓ default | The open accounting period; entries in open periods are subject to change |
| currency | ✓ default | Three-letter ISO code for the currency of the amount. |
| price_id | ✓ default | The price associated with this change. |
| debit | ✓ default | The debited account |
| credit | ✓ default | The credited account |
| amount | ✓ default | Amount change, expressed in major units of the currency (for example, dollars for USD, or pesos for MXN). |
| credit_gl_code | The credited general ledger code | |
| debit_gl_code | The debited general ledger code |
By Product ​
API report type: revenue_recognition.debit_credit_by_product.1
| Column Name | Default | Description |
|---|---|---|
| accounting_period | ✓ default | The accounting period |
| open_accounting_period | ✓ default | The open accounting period; entries in open periods are subject to change |
| currency | ✓ default | Three-letter ISO code for the currency of the amount. |
| product_id | ✓ default | The product associated with this change. |
| debit | ✓ default | The debited account |
| credit | ✓ default | The credited account |
| amount | ✓ default | Amount change, expressed in major units of the currency (for example, dollars for USD, or pesos for MXN). |
| credit_gl_code | The credited general ledger code | |
| debit_gl_code | The debited general ledger code |
By Customer ​
API report type: revenue_recognition.debit_credit_by_customer.1
| Column Name | Default | Description |
|---|---|---|
| accounting_period | ✓ default | The accounting period |
| open_accounting_period | ✓ default | The open accounting period; entries in open periods are subject to change |
| currency | ✓ default | Three-letter ISO code for the currency of the amount. |
| customer_id | ✓ default | The customer associated with this change. |
| debit | ✓ default | The debited account |
| credit | ✓ default | The credited account |
| amount | ✓ default | Amount change, expressed in major units of the currency (for example, dollars for USD, or pesos for MXN). |
| credit_gl_code | The credited general ledger code | |
| debit_gl_code | The debited general ledger code |
By Invoice ​
API report type: revenue_recognition.debit_credit_by_invoice.1
| Column Name | Default | Description |
|---|---|---|
| accounting_period | ✓ default | The accounting period |
| open_accounting_period | ✓ default | The open accounting period; entries in open periods are subject to change |
| currency | ✓ default | Three-letter ISO code for the currency of the amount. |
| transaction_model_id | ✓ default | The model in Stripe associated with this change - either an invoice line item, invoice, invoiceitem, charge, or and so on |
| debit | ✓ default | The debited account |
| credit | ✓ default | The credited account |
| booked_date | ✓ default | The date that the ledger entry is added to the books. |
| amount | ✓ default | Amount change, expressed in major units of the currency (for example, dollars for USD, or pesos for MXN). |
| debit_gl_code | The debited general ledger code | |
| credit_gl_code | The credited general ledger code | |
| invoice_id | The invoice associated with this change. Standalone charges or invoice items not associated with an invoice are null. | |
| invoice_line_item_id | The ID of the invoice line_item. | |
| invoice_item_id | The ID of the invoice item | |
| invoice_number | The customer unique number associated with the invoice. | |
| subscription_item_id | The ID of the subscription_item. | |
| price_id | The price associated with this change. Standalone charges or invoice items not associated with a price are null. | |
| product_id | The product associated with this price. | |
| customer_id | The customer associated with this change. | |
| subscription_id | The subscription associated with this change. | |
| charge_id | The charge associated with this change. | |
| refund_id | The refund associated with this change. | |
| dispute_id | The dispute associated with this change. | |
| presentment_currency | The presentment (customer facing) currency of the transaction. | |
| presentment_amount | The presentment (customer facing) amount. |
By Invoice Line Item ​
API report type: revenue_recognition.debit_credit_by_invoice_line_item.1
| Column Name | Default | Description |
|---|---|---|
| accounting_period | ✓ default | The accounting period |
| open_accounting_period | ✓ default | The open accounting period; entries in open periods are subject to change |
| currency | ✓ default | Three-letter ISO code for the currency of the amount. |
| transaction_model_id | ✓ default | The model in Stripe associated with this change - an invoice line item, invoice, invoice item, charge, and so on. |
| debit | ✓ default | The debited account |
| credit | ✓ default | The credited account |
| booked_date | ✓ default | The date that the ledger entry is added to the books. |
| amount | ✓ default | Amount change, expressed in major units of the currency (for example, dollars for USD, or pesos for MXN). |
| debit_gl_code | The debited general ledger code | |
| credit_gl_code | The credited general ledger code | |
| invoice_id | The invoice associated with this change. Standalone charges or invoice items not associated with an invoice are null. | |
| invoice_line_item_id | The ID of the invoice line_item. | |
| invoice_item_id | The ID of the invoice item | |
| subscription_item_id | The ID of the subscription_item. | |
| price_id | The price associated with this change. Standalone charges or invoice items not associated with a price are null. | |
| product_id | The product associated with this price. | |
| customer_id | The customer associated with this change. | |
| subscription_id | The subscription associated with this change. | |
| charge_id | The charge associated with this change. | |
| refund_id | The refund associated with this change. | |
| dispute_id | The dispute associated with this change. | |
| presentment_currency | The presentment (customer facing) currency of the transaction. | |
| presentment_amount | The presentment (customer facing) amount. |
If you encounter any issues, you can contact revenue-recognition-api-beta@stripe.com.