GoCardlessDeveloper Docs
Create a sandbox account

Automated Payout Reporting#

View as Markdown

Automated Payout Reporting means GoCardless will automatically generate a daily payout report for all your creditors, accessible to you in a single comprehensive report.

GoCardless will generate a csv report for each currency you receive payouts in. The report will contain all the payouts you have received the previous business day (in UTC timezone), including any refunds, chargebacks or late failures incurred. More details on this format are in the reconciling payouts section of our docs.

If you require more historical information or reports that aggregate payouts across wider time frames you can generate manual payout reconciliation reports via the dashboard using the payout reconciliation button and exporting the transactions.

Getting your automated reports#

In this step of the GoCardless Embed guide, you will use GoCardless' APIs to retrieve the payout reports and download them to be consumed in your own reconciliation flows.

Using the Exports API#

GET /exports#

You can retrieve the list of exports available for download by performing a GET request to the /exports endpoint. Exports are available for download for up to **3 days **after they are generated, after which they will no longer be available.

GET https://api.gocardless.com/exports HTTP/1.1

HTTP/1.1 200 OK
Content-Type: application/json
{
"exports": [
{
"id": "EX123",
"created_at": "2014-01-01T12:00:00.000Z",
"export_type": "payout_transactions_reconciliation",
"currency": "GBP"
},
{
"id": "EX456",
"created_at": "2014-01-01T12:00:00.000Z",
"export_type": "payout_transactions_reconciliation",
"currency": "EUR"
}
]
}
$client->exports()->list();
client.exports.list().records
@client.exports.list
for (Export export : client.exports().all().execute()) {
System.out.println(export.getId());
}
const exports = await client.exports.list();
var exportListResponse = gocardless.Exports.All();
foreach (GoCardless.Resources.Export export in exportListResponse)
{
Console.WriteLine(export.Id);
}
exportListParams := gocardless.ExportListParams{}
exportListResult, err := client.Exports.List(context, exportListParams)
for _, export := range exportListResult.Exports {
fmt.Println(export.Id)
}
curl --silent \
-H "Content-Type: application/json" \
-H "Gocardless-Version: 2015-07-06" \
-H "Authorization: Bearer ${API_ACCESS_TOKEN}" \
"https://api.gocardless.com/exports"

GET /exports/EX123#

To download an export, you can retrieve the download URL by performing a GET request to the /exports/EX123 endpoint, providing the export ID as a path parameter. Once a download_url is generated, the link is accessible for up to 1 hour before it expires.

GET https://api.gocardless.com/exports/EX123 HTTP/1.1

HTTP/1.1 200 OK
Content-Type: application/json
{
"exports": {
"id": "EX123",
"created_at": "2014-01-01T12:00:00.000Z",
"export_type": "payout_transactions_reconciliation",
"download_url": "https://downloads.gocardless.com/EX123/example.csv",
"currency": "GBP"
}
}
$client->exports()->get('EX123');
client.exports.get("EX123")
@client.exports.get("EX123")
Export export = client.exports().get("EX123").execute();
const exportData = await client.exports.find("EX123");
var exportResponse = await gocardless.Exports.GetAsync("EX123");
GoCardless.Resources.Export export = exportResponse.Export;
export, err := client.Exports.Get(context, "EX123")
curl --silent \
-H "Content-Type: application/json" \
-H "Gocardless-Version: 2015-07-06" \
-H "Authorization: Bearer ${API_ACCESS_TOKEN}" \
"https://api.gocardless.com/exports/EX123"

For more details, see the API reference docs for Exports.

What's next?#