Skip to content
Finovel
API documentation

Bank statement analysis

Analyses a bank statement: every transaction, balances, inflows and outflows, bounces and monthly totals.

Endpoint

POST https://api.finovel.in/v1/bank-statement-analysis

Charged only when the call succeeds. Errors are never charged. See how every API works for keys, retries and status codes.

Request fields

FieldTypeRequiredDescription
filefileYesStatement PDF or image
pdf_passwordtextNoPDF password. Only for a password-protected PDF.

Example request

curl -X POST https://api.finovel.in/v1/bank-statement-analysis \
  -H "Authorization: Bearer fin_test_your_key" \
  -H "Content-Type: application/json" \
  -d '{}'

Response fields

Inside data:

FieldDescription
statusResult
bankNameBank
accountNameAccount holder
period.fromFrom
period.toTo
summary.transactionCountTransactions
summary.totalCreditsTotal credits
summary.totalDebitsTotal debits
summary.averageBalanceAverage day-end balance
summary.possibleBounceCountPossible bounces

Example response from the sandbox

{
  "request_id": "req_...",
  "success": true,
  "status": "success",
  "environment": "sandbox",
  "message": "OK",
  "data": {
    "period": {
      "to": "2026-09-30",
      "from": "2026-04-01"
    },
    "status": "COMPLETED",
    "summary": {
      "totalDebits": 12000,
      "totalCredits": 50000,
      "averageBalance": 38000,
      "transactionCount": 2,
      "possibleBounceCount": 0
    },
    "bankName": "Sandbox Bank",
    "warnings": [],
    "accountName": "SANDBOX TEST USER",
    "transactions": [
      {
        "date": "2026-04-01",
        "debit": null,
        "credit": 50000,
        "balance": 50000,
        "description": "SALARY"
      },
      {
        "date": "2026-04-05",
        "debit": 12000,
        "credit": null,
        "balance": 38000,
        "description": "RENT"
      }
    ]
  },
  "error": null,
  "charged_paise": 0
}

Sandbox scenarios

With a test key, this API can return:

  • Statement analysed (default)