Bank Statement Analysis

Automated bank statement analysis for businesses and individual applicants: turn PDF statements into reconciled transactions, monthly cash flow metrics, salary and debt burden checks, and risk flags. Running balance checks and metric status labels help your team assess the results.

Request demo
Statement parsing
"transactions": 847
"accounts": 2
"balance_chain": "verified"

See it in action

From uploaded statements to a finished report, for a business or an individual applicant.

What you get

Every row reconciled

A dedicated parser for each statement layout reads every transaction. The running balance is checked line by line, and a statement that does not reconcile is stopped, not guessed.

Classification you can read

Readable rules classify salaries, rent, loans, cheque returns and other transactions. Analysts can review unclear classifications and override transaction types.

Many accounts, many months

Up to 50 PDFs in one job. Overlapping periods are de-duplicated, and missing or partial months are listed in the report.

50 business cash flow metrics

Business credits, daily balances, repayments and cheque returns, split by month. Add a company profile to keep transfers between own accounts and related parties separate from revenue.

Salary and affordability

Monthly salary, employers and declared-income checks. Loans, cards and BNPL feed into debt burden against 50%, an affordable new payment and an indicative 20× salary loan ceiling.

Risk checks with evidence

12 business checks and 17 applicant signals, linked to the underlying transactions: circular transfers, returned payments, stopped salary, income discrepancies, gambling and more.

Bank coverage

Every major UAE bank is covered, often with several layouts per bank. Each layout gets its own parser, built and tested on real statements. A layout we have not seen yet is returned as unsupported instead of being guessed, and we add new banks on request.

  • Native and scanned PDFs
  • Password-protected PDFs
  • English and bilingual Arabic statements
96
statement layouts
30
banks
Emirates NBDFABADCBMashreqADIBDubai Islamic BankEmirates IslamicRAKBANKCommercial Bank of DubaiSharjah Islamic BankAjman BankNational Bank of FujairahWioHSBCStandard Chartered+15 more

Bank statement analysis API, Excel and dashboard

Send PDFs over the REST API or upload them in the dashboard. A business job returns cash flow metrics split by month and marked as verified or estimated; an individual job adds the applicant report with income, debt burden and signals.

REST API with API keys
JSON with monthly values
Excel export
Review mode for analysts
Password-protected PDFs
Paper OS Ledger agent
GET /api/v1/bsa/jobs/{job_id}
Authorization: Bearer sk-paperwork-...

# Example response (excerpt)
{
  "status": "COMPLETED",
  "result": {
    "revision_id": "018f5b36-...",
    "reports": [{
      "currency": "AED",
      "period_start": "2025-09-01",
      "period_end": "2025-12-31",
      "metrics": [{
        "metric_id": "net_business_credit_amount",
        "value": "939757.02",
        "status": "VERIFIED"
      }]
    }]
  }
}

Frequently asked questions

Have a question that is not here?

How should we read a metric’s status?

Read the status alongside the number. Verified values are supported by the analysis; estimated values include a qualification. An unavailable value cannot be calculated from the available data or supported checks and should not be treated as zero.

When should we use review mode?

Use review mode when an analyst needs to confirm unclear classifications or change transaction types before relying on the analysis. Automatic mode is available for workflows that use the initial classifications.

Can it analyse an individual’s statements?

Yes. Choose Individual when you upload, and the job returns an applicant report: salary by month, loans, cards and BNPL, debt burden against the 50% limit, a personal loan ceiling and 17 review signals. Add the declared income and card limits to check them against the statements.

Does it give a credit score?

No. It reports income, debt payments, affordability and signals with the transactions behind them, and leaves the decision and any scoring to your credit policy.

How should we prepare a company profile?

Add the legal entity and its own accounts, then list related people and companies relevant to the analysis. The profile helps classify transfers involving those parties.

Do you accept scans and password-protected PDFs?

Yes. Native and scanned PDFs are accepted, and scanned pages are read with OCR. If a PDF is locked, the job pauses and asks for the password.

How do we get the results?

Over the REST API with an API key, as JSON. You can also export to Excel or work in the dashboard, and the Paper OS Ledger agent reads the results inside a case.

Can it run on our own servers?

Yes, with a software license: the platform runs on your servers or private cloud. OCR and AI processing may use external providers, depending on your deployment configuration.

Does it detect forged statements?

Yes, together with Fraud Detection, which runs on the same statements and checks them for edits. Use both in one case.

Which banks do you support?

Every layout gets its own parser that checks the running balance on each row. Today that is 96 statement layouts from 30 banks, including Emirates NBD, FAB, ADCB, Mashreq, ADIB, Dubai Islamic Bank, RAKBANK and Wio. A new bank layout is added on request.

Try it on your own statements

Request demo