Reports & formats
Once a request is ready, its report is available. Every report is built from the transactions in the accounts the customer chose to share, reconciled against their banking data, and carries a verification ID and method note.
Report types
- Expense summary (
expense_summary) — verified income, categorised expenses, and the customer’s monthly position (income, expenses, surplus). Built for hardship and debt-management assessments. - Affordability (
affordability) — a per-account view with income verification and risk indicators (for example small-amount credit contracts), aimed at responsible-lending and broking use.
Fetch the report
/v1/requests/{id}/reportReturns the structured report as JSON:
curl https://api.statementiq.com.au/v1/requests/req_1a2b3c/report \
-H "X-API-Key: siq_test_your_key"The JSON includes the client block (name, verification ID, generated date), the position summary, categorised transactions, and a compliance disclaimer. A ready-to-share HTML version is available at:
/v1/requests/{id}/report.htmlTransaction categorisation
Every transaction in the report carries two labels:
category— StatementIQ’s classification, from a model trained on Australian bank-statement descriptions and tuned for hardship and affordability work (wages, Centrelink, loan repayments, BNPL, gambling, dishonours, and so on). This is what the report’s summaries, streams and totals are built from.fiskil_category— the CDR feed’s own enrichment label (Fiskil’sprimary_category, e.g.GROCERIES), passed through untouched. It’s empty when the bank or Fiskil didn’t supply one. Use it to reconcile against the bank’s view, or to drive your own rules where a general-purpose merchant category is more useful than an affordability one.
{
"date": "05/03/2026",
"description": "WOOLWORTHS 1234 SYDNEY",
"amount": -150.00,
"balance": 2250.00,
"category": "Groceries",
"fiskil_category": "GROCERIES"
}Where our model is unsure, it uses the Fiskil label as a tie-breaker when grouping expenses — so the two usually agree, but category is the one the figures in the report follow.
PDF and XML
From the portal you can download each report as PDF, HTML or XML — open a request and use the download buttons once it is ready. The PDF mirrors the on-screen report for sharing with assessors, creditors or lenders.
Breakdowns — one analysis, several documents
Lenders often want the same data split into separate documents. Choose which in Portal → Settings → Report breakdowns, or per request with report_breakdowns:
summary— one combined report covering every connected account.by_bank— one report per institution.by_bank_account— one report per individual account.
List what a request produced:
/v1/requests/{id}/reports{
"reports": [
{ "breakdown": "summary", "scope": null, "label": "Summary" },
{ "breakdown": "by_bank", "scope": "ING", "label": "ING" },
{ "breakdown": "by_bank_account", "scope": "ING/····6789", "label": "ING ····6789" }
]
}Every report endpoint accepts ?breakdown= and ?scope= to select one of them. Omit both and you get the summary — so existing integrations are unaffected.
curl "https://api.statementiq.com.au/v1/requests/req_1a2b3c/report.pdf?breakdown=by_bank&scope=ING" \
-H "X-API-Key: siq_live_your_key" -o ing.pdfOr take everything in one archive — one file per report per format:
/v1/requests/{id}/reports.zipDefaults to HTML and XML; add ?formats=pdf,html,xml to include PDFs. In the portal the same archive is the “Download all” button, and report email delivery attaches it when a request produced more than one document.
Using reports responsibly
A report is an information tool, not financial product advice, credit assistance, or an audit. Automated categorisation is not error-free — material items should be reviewed, and a report should not be the sole basis for a decision. Each report carries its own method note and disclaimer. See our Terms of Service.