Verified Bank Statement Ingestion API

FinVerify converts bank statement PDFs into structured transactions only when reconciliation can be proven. Otherwise it returns FAILED with machine-readable reason codes.

Quick StartcURL
curl -X POST https://api.finverify.tools/v1/process   -H "Authorization: Bearer fv_live_xxx"   -F "file=@statement.pdf"

A Verification Gate for Bank Statement PDFs

FinVerify enforces a hard invariant: Opening + Σ transactions = Closing. If it can't be proven, the job fails explicitly. Returns VERIFIED, AMBER, or FAILED — designed to route jobs automatically.

Deterministic Verdict

Every job returns a reconciliation verdict. If the math can't be proven, you get FAILED with reason codes — not silent errors.

Developer Experience

Headless by design. Workspace-scoped API keys, sub-second status checks, and structured JSON output ready for your pipeline.

Predictable Metering

We charge by Document Units (page-equivalent). Costs scale linearly with volume — no surprises.

How It Works

Upload a PDF. Get verified transactions or an explicit failure. FinVerify handles extraction and reconciliation in one API call.

Pipeline Diagram: Bank statement PDF flows into FinVerify API which extracts and verifies, then routes GREEN to downstream systems, AMBER to review, or RED to reject

How FinVerify Produces a Deterministic Verdict

Three steps to a reconciliation verdict you can trust.

1

Layout Normalization

We normalize table structure so columns are stable — regardless of bank format or language.

2

Constraint-Based Reconciliation

We use balances and totals as constraints. Every row must satisfy the running balance.

3

Ambiguity Handling

When layouts are ambiguous, we search for a reconciliation-consistent interpretation and mark ambiguity as AMBER — not silent success.

Scalable Workspace Management

Built for teams that need control over their financial data pipelines.

Workspace Scoping

Manage multiple projects, clients, or environments under a single account.

Granular API Keys

Create, revoke, and monitor keys with workspace-level permissions.

Metered Page-Units

No more “per job” gaming. Our ceil(pageCount/2) logic ensures fair pricing for all document sizes.

Common Use Cases

Underwriting

Route only verified statements into credit decisions.

KYC / Onboarding

Accept PDFs when bank feeds fail — with proof.

Compliance

Audit trail with deterministic reason codes.

Developer FAQ

What is a “Document Unit”?

We measure usage in Document Units (DU). 1 DU covers up to 2 pages of a PDF. This ensures predictable pricing for modern fintech apps.

How do you handle “silent” OCR failures?

We don't. If our geometric reconciler cannot prove the math of a statement, the status is returned as RED with an explicit reason code. We prefer to fail loudly than to return wrong data.

Can I do this with OCR alone?

OCR extracts text. FinVerify returns a reconciliation verdict with reason codes. That verdict — not raw extraction — is the product.

Ready to build with verified data?

Get your API key and start ingesting bank statements in minutes.