How to Set Up SFTP Reports
This guide walks you through setting up automated SFTP delivery of Forage CSV reports.
This guide walks you through setting up automated SFTP delivery of Forage CSV reports. By the end, you'll have an SFTP server configured to receive daily reports and you'll have verified the first delivery. It's written for operations, finance, or engineering staff at a merchant or platform that wants Forage to deliver daily CSV reports automatically, and it's the right path when manual Forage Dashboard downloads or on-demand API calls don't fit your reporting cadence. For background concepts, see Understanding Forage reporting; for field details and conventions, see CSV report conventions.
Prerequisites
You need:
- An active Forage merchant or platform account with dashboard access.
- Reporting privileges on your Forage Dashboard account. If you're not sure whether you have these, check with an admin on your account or email [email protected].
Set up SFTP delivery
To set up SFTP delivery:
- Add an SFTP destination in the Forage Dashboard.
- Choose your authentication method and fill in your server details.
- If you're hosting your own server with key-pair authentication, add Forage's public key to it.
- Create a report schedule and pick your destination.
- Verify your first delivery in the destination folder.
This configures Forage to deliver your CSV reports automatically each day.
Each step is detailed below.
1. Add an SFTP destination
In the Forage Dashboard, go to Reports → File Destinations and select + Add Destination. Choose one of three options:
- SFTP Server (Password). Forage delivers reports to a server you host, authenticating with a username and password.
- SFTP Server (Keypair). Forage delivers reports to a server you host, authenticating with an SSH key pair.
- Pull from Forage SFTP Server. Forage hosts the server; you pull reports from it instead of hosting your own.
2. Fill in your server details
For a self-hosted server (Password or Keypair), you'll need:
- Hostname — e.g.
sftp.example.com. - Port.
- Username. Must be unique; you can't reuse a username from another destination.
- Remote Path — e.g.
/reports,/data/exports,/uploads. - Password, or Host Keys (optional for key-pair mode — if you don't provide them, Forage retrieves them from your server).
Make sure the destination folder grants Forage both write and rename permissions. Rename permission is required because Forage uploads each report as a .tmp file and renames it to .csv once the upload completes (see CSV report conventions — Delivery schedule).
If you choose Pull from Forage SFTP Server, Forage provisions the server; you only need to name the destination.
3. Add Forage's public key (key-pair authentication only)
If you chose SFTP Server (Keypair), Forage generates an SSH key pair for the connection. After you save the destination, the dashboard shows you Forage's public key. Copy it and add it to your own SFTP server's authorized keys before the connection can succeed.
4. Create a report schedule
Go to Reports → Report Schedules and create a new schedule. Choose:
- Report Types — Payout Summary & Payout Transactions, and optionally a Transactions Log if you need a complete audit trail of every fund movement (see the report-specific reference for the fields it includes).
- Report Delivery — the destination you created in step 1.
5. Verify your first delivery
Once your schedule is active, watch the destination folder for the first daily report. Reports are generated at approximately 10:00 PM UTC and uploaded shortly after.
Check the following on the first delivery:
- Files arrive with the expected
.csvextension (no leftover.tmpfiles). - The filename matches the documented pattern for your report flavor. See CSV report conventions — Filename pattern.
- The CSV opens cleanly in your spreadsheet tool of choice (Excel, Numbers, Google Sheets, or any CSV reader).
- Field names match what's documented in your report's reference page. See Merchant (Charging to Merchant), Merchant (Charging to Platform), or Platform.
If anything's off, check your destination settings under Reports → File Destinations before you build reconciliation logic on top of the file.
Troubleshooting
No file arrived. Reports are generated at approximately 10:00 PM UTC and uploaded shortly after. If nothing has landed well past that, check that the destination folder still grants Forage write and rename permissions, then check your destination settings under Reports → File Destinations or email [email protected].
Only a .tmp file, no .csv. Forage uploads each report as a .tmp file and renames it to .csv once the upload finishes. A lingering .tmp means the upload was interrupted. Wait for the next daily cycle, and if it persists, email [email protected].
Fields or columns look wrong. Confirm you're reading the reference for your report flavor. The field set differs across Merchant (Charging to Merchant), Merchant (Charging to Platform), and Platform reports.
Still stuck. For anything not covered here, including delivery-timing questions, email [email protected].
Updated 1 day ago
