Reports in Paddle let you export CSV formatted spreadsheets with your account data.
You can use them as part of your financial processes, like calculating revenue and analyzing trends. They're often used for working with data in other applications, like accounting or ERP solutions.
Reports available
Information about revenue received, past due invoices, draft and issued invoices, and canceled transactions.
The same data as on transactions reports, but broken down by transaction line item.
Information about refunds, credits, and chargebacks.
The same data as on adjustments reports, but broken down by adjustment line item.
Get information about products and prices.
Get information about discounts.
Get complete transparency into how your payout amounts are calculated, and reconcile remittance reports.
Get an overview of your account balance activity. Use payout reconciliation reports instead.
DeprecatedHow it works
When you build a report, you can filter to choose the data that you include on it. Reports are always sorted by when they were last updated, and date range filters work using the date an entity was last updated. This is so you always see the most relevant data. For example, invoices created a few months before being issued and paid are included on reports when they're issued and paid.
Data on reports may be delayed for up to 24 hours. This means you might not see entities created in the last 24 hours on your reports.
It might take a little while to generate a report, depending on the amount of data you include on it. The Reports screen in the Paddle dashboard updates when your report is ready, and you'll get an email to let you know, too. Reports are available to download for 14 days once generated.
Reports are CSV files
Paddle produces reports as CSV (comma-separated values) files. CSV files are text files that use commas to separate cells of data. You can open CSV files with any spreadsheet app, like Microsoft Excel, Google Sheets, and Apple Numbers.
Your computer or device may open CSV files in your default text editor. If this happens, open your spreadsheet app and use File > Open to open it, or look for an import option.
Paddle exports CSV files using UTF-8/Unicode character encoding, with a comma as the delimiter.
Generate a report
- Go to Paddle > Reports.
- Find the report you want to generate under the Build reports tab, then click Build report
- Use the options to filter the data you want to include on your report. Check the available filter options to learn more about how they work.
- When you're done, click Generate report
- Look out for an email from Paddle, then click Download report in the email.
Each report type has different filter options available. See the individual report pages for details on available filters:
Use the Paddle API to generate reports programmatically as part of your workflows.
Generate reports using the API in three steps:
- Create your report
Build a request that includes the kind of report you want to generate and how you want to filter the data. - Check the status of your report
Wait for Paddle to generate the report. - Download the report
Send a request to get the download URL for the report, then download the file.
Create report
Send a POST request to the /reports endpoint to create a report.
Include type in your request to specify the report kind.
Optionally include filters to narrow the data. Each filter object needs name and value, and date filters can use an operator for date ranges. If omitted, defaults to data updated in the last 30 days.
The report is created as pending while Paddle processes your data. rows and expires_at are null until it's ready.
{ "type": "transactions", "filters": [ { "name": "collection_mode", "value": ["manual"] }, { "name": "updated_at", "value": "2024-04-15", "operator": "lt" }, { "name": "updated_at", "value": "2024-01-01", "operator": "gte" } ]}{ "data": { "id": "rep_01hvgdhtthn1q35n79dgeqm3pv", "type": "transactions", "rows": null, "status": "pending", "filters": [ { "name": "collection_mode", "value": ["manual"], "operator": null }, { "name": "updated_at", "value": "2024-04-15", "operator": "lt" }, { "name": "updated_at", "value": "2024-01-01", "operator": "gte" } ], "expires_at": null, "created_at": "2024-04-15T08:21:36.209Z", "updated_at": "2024-04-15T08:21:36.209Z" }, "meta": { "request_id": "0774e52b-fcc3-4d7e-8047-b1b1a05a3f27" }}Check report status Optional
Reports are created as pending initially, which means Paddle is processing them. During this stage, Paddle finds records that match your criteria and generates CSV files of your reports.
When Paddle has completed processing your report, its status changes to ready. At this point you can download a CSV file with your data.
You can check to see if a report is ready by:
- Polling the
/reports/{report_id}endpoint, checking to see if the status isready. - Subscribing to the
report.updatedwebhook. Paddle sends a notification when the status for a report changes toready.
Download file
Send a GET request to the /reports/{report_id}/download-url endpoint to get the download URL for the report.
The download URL expires after 72 hours.
{ "data": { "url": "https://reports.paddle.com/transactions-10889-2024-04-15-08-21-37.csv" }, "meta": { "request_id": "91899157-4d2a-432c-aa5b-041bb6266b55" }}