Fincore · Guides
Reports
Get notified when transaction reports and account statements are generated, and download them for reconciliation.
Reports help you reconcile transactions and account statements. Monato generates report files automatically and notifies you with a REPORT webhook when a file is ready.
Flow
- Monato generates a report file.
- Monato sends a report webhook to your server.
- Your server returns an HTTP success response.
- Your server calls Download a report file.
- Monato returns the download metadata:
file_nameanddownload_url. - Your server delivers the file, or notifies your own users that it is available.
Configure report notifications
Register a webhook with webhook_type REPORT using Create webhook configuration.
Respond to the report webhook within 5 seconds. Persist the notification before you acknowledge it, then download or process the report asynchronously. See Respond to events.
The report webhook request includes an Authorization: Bearer <token> header. No endpoint-specific error response is documented for this webhook event.
{
"client_id": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
"file_type": "TRANSACTIONS",
"period": "DAILY",
"file_name": "transactions_daily_20260224.csv",
"created_at": "2026-02-24T10:30:15Z"
}{
"client_id": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
"file_type": "ACCOUNT_STATEMENT",
"period": "MONTHLY",
"file_name": "account_statement_1234567890_202602.csv",
"created_at": "2026-03-01T02:10:00Z",
"account_id": "1234567890"
}file_type is TRANSACTIONS or ACCOUNT_STATEMENT, and period is DAILY or MONTHLY. account_id is only present when file_type is ACCOUNT_STATEMENT.
Download a report
Call the download operation after you receive the report webhook, or proactively to check whether a file exists for a given date and type.
Endpoint: POST /v1/reports/clients/{client_id}/report/download
curl -X POST https://apicore.stg.finch.lat/v1/reports/clients/$CLIENT_ID/report/download \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"clabe_number": "123456789012345678",
"report_type": "DAILY_ACCOUNT_STATEMENT",
"operation_date": "2025-08-25"
}'{
"file_name": "daily_account_statement_123456789012345678_20260224.csv",
"download_url": "https://..."
}| Field | Rule |
|---|---|
report_type |
Required. DAILY, MONTHLY, DAILY_ACCOUNT_STATEMENT or MONTHLY_ACCOUNT_STATEMENT. |
operation_date |
Required. YYYY-MM-DD. |
clabe_number |
18 digits. Required for DAILY_ACCOUNT_STATEMENT and MONTHLY_ACCOUNT_STATEMENT. The CLABE must belong to your client. |
client_id |
Optional in the body. The client is in the path. |
For a transactions report, send only report_type and operation_date:
{
"report_type": "DAILY",
"operation_date": "2025-08-25"
}For MONTHLY and MONTHLY_ACCOUNT_STATEMENT, Fincore normalizes operation_date to the last day of the month. For example, 2025-08-25 becomes 2025-08-31.
Missing files
If no matching file is found, the response returns 200 with file_name and download_url empty.
What to store for reconciliation
Store IDs and operational references, not sensitive payloads:
- Monato transaction ID.
trackingIdortracking_key.- Webhook message ID.
client_id.- Operation status.
- Report file name when available.
Do not log full CLABEs, card numbers, API keys, secrets, or personally identifiable information.
Errors
See the Error catalog for the error shape.
| HTTP | When it happens |
|---|---|
400 |
Invalid report type, date, client ID or CLABE ownership. Messages include Invalid UUID format for client_id, Invalid report_type: <value>, clabe_number is required for account statement reports Invalid clabe number, or an invalid operation_date format. |
401 |
The bearer token is missing, expired, invalid, or not valid for the environment. |
404 |
No matching client, report or account statement was found. |
500 |
Unexpected server error. |