Docs

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

  1. Monato generates a report file.
  2. Monato sends a report webhook to your server.
  3. Your server returns an HTTP success response.
  4. Your server calls Download a report file.
  5. Monato returns the download metadata: file_name and download_url.
  6. 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"
}

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"
  }'
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:

Daily transactions report request
{
  "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.
  • trackingId or tracking_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.