The reporting flow
1
Hello Clever generates the report
After the end-of-day settlement run, a report is generated at 09:00 in your account’s configured time zone — one per enabled frequency, per currency.
2
You list what was generated
Call Get Settlement Reports with
from_date and to_date. This returns metadata only: file name, the period covered, a summary object with the period’s totals, and file_url. No file content is transferred.3
You fetch the file from its link
file_url is the file. Issue a plain GET against it and the response is the CSV. The link is pre-signed, so it carries no app-id or secret-key, and there is no second API call to make.Fetch a report file
Reporting frequencies
A report is generated for each frequency enabled on your account, in the time zone configured on your account:period_start and period_end on each entry give the exact window, so you never have to derive it.
Periods overlap across frequencies. With daily and monthly reporting both enabled, a settlement on 14 September appears in the daily report for 14 September and again in the monthly report generated on 1 October. Filter by
report_frequency so your ledger posts each settlement once.File format
The file name contains spaces and parentheses, for example
Daily Report (AUD) (Sep 06, 2026 - Sep 07, 2026).csv. URL-encode it if you use it in a path.
Columns
Each row is one settlement included in the period:
A file looks like this:
Daily Report (AUD) (Sep 06, 2026 - Sep 07, 2026).csv
The summary object
summary describes the period the report covers. Every figure is derived from the rows in the file, rounded to your currency’s precision the same way the file rounds them, so the two always agree:
closing_balance is the ledger’s own running balance for the last settlement in the period, not a figure computed from the file.
closing_balance and closing_balance_at are null when no settlement in the period carries a ledger-stamped balance yet. The other three figures are always present.Link expiry
file_url is minted when you list the report and is valid for 3 minutes.
Because the link carries its own signature, anyone holding it can read the file until it expires. Treat it like the file contents themselves, and never put it in a URL that gets logged or shared.
Reconciling a period
1
Pull the reports for the period
Call Get Settlement Reports for the window you are closing, filtering by
report_frequency so overlapping frequencies do not double-post. Remember the range matches generation time, so widen it by one period to catch the report that covers your window’s start.2
Fetch each file
GET the file_url on each entry, in the same run while the link is valid, and page until has_more is false.3
Match deposits on your bank statement
Use
Reference as the matching key against Amount less Fee amount. One reference corresponds to one deposit, and the period’s totals are summary.settled_amount and summary.settled_fee.4
Trace anything that does not tie
Pass
Balance ID to Get Balance History V2 to see the settlement in your balance timeline, alongside the payments, refunds, and fees that built the balance it drew from.Payments Accounts
A report covers the settlements for one currency, across the Payments Accounts that settled in the period. The file’sAccount Nickname column tells you which account each settlement came from, so a report spanning several accounts can still be split per account on your side.
There is currently no way to request reports for a single Payments Account. If you need that, talk to us — see Balance Models for how accounts hold balances under each model.