FlowParse

Company Document Extraction API for Fintech Onboarding

The documents a company submits during fintech onboarding — a bank statement, a set of financials — read and structured over one API call. FlowParse embeds directly into your onboarding pipeline, distinct from registry lookups and screening checks.

FlowParse
flowparse.io
flowparse.iono audio needed
0:00 / 0:00

The document layer under your onboarding flow

"Company document extraction" is a deliberately narrow name — it doesn't mean reading every document a company might ever produce, and it specifically doesn't mean reading incorporation certificates or registry filings. It means reading the two documents a fintech's onboarding flow actually asks applicants to submit as financial evidence: a bank statement, and, for higher-risk tiers, a set of financials.

A fintech onboarding a new business customer doesn't have one document to read — it has whatever the applicant submits, in whatever format their bank or accounting software produces. Every one of those documents needs to become clean, structured data before your name-match logic or risk decisioning can do anything useful with it.

This tool reads every one of those documents the same way, regardless of source or layout, and embeds directly into your platform's own onboarding pipeline over a single API call — no separate UI, no workflow of its own, just the structured data your risk logic already expects.

FlowParse
flowparse.io

Think of it as the layer that sits between a raw document an applicant uploads and everything your onboarding flow needs from it — name matching, activity verification, risk scoring. All of those downstream steps depend on the underlying document data being extracted accurately and consistently first.

Why onboarding is only as reliable as the documents behind it

A name-match and activity check is only as reliable as its weakest input, and the document is usually the one arriving as an unstructured PDF from an applicant your platform doesn't control. A verification flow built on inconsistent or partially-read document data produces false mismatches that erode trust in the automation, even when the registry and screening checks alongside it are perfectly accurate.

This isn't a hypothetical edge case — it's the normal state of a growing fintech. As the applicant base diversifies across countries and bank relationships, a reading process that only worked reliably against a narrow set of well-behaved statement formats breaks down exactly where it matters most: an applicant from a bank or region your platform has never onboarded before.

What it reads

Bank statements

From any bank, digital or scanned, classified and read automatically.

Financial reports

P&L statements, balance sheets, annual accounts, with a totals check.

Multi-page documents

Statements and reports with line-item tables spanning several pages.

FlowParse
flowparse.io

What fields get extracted

FieldExample
Bank name, account holder, statement periodExample Bank, Acme Trading Ltd, 2026-06-01 to 2026-06-30
TransactionsDate, description, signed amount, running balance — every row
Report entity, period, currencyAcme Trading Ltd, Year ended 2025, GBP
Report line-item sections and totals checkRevenue, expenses, whether totals tie out

How it works

1

Your pipeline sends the document

One POST to /extract, whichever way your platform already collects onboarding documents.

2

Automatic classification and extraction

Bank statement or financial report, read from the document's own layout.

3

Confidence-based routing

Your platform decides the threshold for auto-approval versus manual review.

4

Feeds your risk logic

Structured JSON, or a file export, ready for your own onboarding decision.

A batch of applicant documents, processed

A fintech onboarding a cohort of new business applicants processes a first batch of 20 documents — mostly bank statements, a few financial reports for higher-limit applications — from banks and accounting systems it has never seen before.

Document typeCountResult
Bank statements from known banks13All fields read with high confidence
Bank statements from new banks5Read the same way, no template needed
Financial reports2Both classified correctly, totals tie out

All 20 documents ended up in the same structured output — the new applicant cohort's unfamiliar bank mix didn't slow down onboarding, which is exactly the scenario a narrow, template-based in-house parser tends to struggle with most.

A high-volume fintech, at scale

A larger fintech processes roughly 8,000 onboarding applications a month, each submitting at least one document, across hundreds of distinct banks and accounting systems.

MetricBeforeWith embedded extraction
Engineering time on extraction maintenanceRoughly a third of an engineer's time monthlyNone — extraction is a vendor dependency, not internal code
Onboarding friction from unfamiliar banksCommon source of applicant support ticketsNo noticeable friction tied to unfamiliar sources
Straight-through approval rateHeld back by low-confidence extraction on some documentsImproved once confidence scoring routed only genuinely uncertain ones

Applicants from unfamiliar banks aren't an edge case

A fintech growing beyond its initial launch market inevitably starts onboarding applicants whose banking relationships fall outside whatever set of banks its team originally tested against. For a template-based in-house parser, this is where accuracy quietly degrades — a new bank means a new layout, and a new layout means either a support ticket or a manual workaround until someone builds a new template.

Because extraction here reads from each document's own printed structure rather than a fixed per-bank template, an applicant from a bank processed for the first time is handled exactly like one from a bank seen a thousand times before — which matters directly for a fintech whose growth plan depends on onboarding an increasingly diverse applicant base, not a static one.

What precision looks like across applicants

Field accuracy on a clean, digitally-generated document sits near the top of the range regardless of which bank or applicant it came from. A scanned or photographed submission introduces more variability, which is exactly where per-field confidence scoring earns its keep — flagging the specific fields worth a second look rather than treating the whole document as suspect.

Across a typical fintech's diversifying applicant base, overall field accuracy lands around 99% — and because extraction doesn't depend on a fixed template tied to any one bank, an applicant from a bank your platform has never onboarded before doesn't require you to notice and adapt.

FlowParse
flowparse.io

Output formats

JSON by default for direct integration into your platform's own risk logic, or Excel and CSV via /export when your compliance team needs a file attached to a case record.

POST /export — Excel file
curl -X POST https://flowparse.io/api/v1/export \
  -H "Authorization: Bearer pf_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "format": "xlsx", "type": "bank_statement", "data": { ... } }'

How pricing works

Extraction is billed per page, in complexity tiers — a clean single-page bank statement costs less than a dense multi-page financial report or a lower-quality scan. There's no per-seat licensing and no minimum monthly commitment required to start.

GET /usage — check your plan and balance
curl https://flowparse.io/api/v1/usage \
  -H "Authorization: Bearer pf_live_xxx"
# → { "plan":"PRO", "pageRangeEur": { "minEur":0.01, "maxEur":0.15 },
#     "balance": { "pages":812, "monthlyRemaining":712, "bonusPages":100 } }

For an onboarding pipeline, this maps directly onto a per-application cost — the cost of verifying one applicant's submitted documents becomes a known, predictable number your platform can fold into its own onboarding pricing or cost model, rather than an unpredictable infrastructure line item.

Monitoring accuracy as your applicant base grows

A fintech's applicant mix rarely stays static — new markets, new banking relationships, new document formats show up as the business grows. Worth tracking over time: the share of documents landing below your confidence threshold, broken down by document type and, where practical, by source bank or report format. A rising trend in any one slice is a concrete, early signal — far more useful than waiting for a broader drop in overall approval rates to notice something has shifted.

Because extraction quality is maintained centrally rather than by your own team's parsing code, a gap discovered this way is a report worth raising, not a bug your engineers need to schedule time to fix themselves.

Manual vs. embedded

TaskBuilding it yourselfEmbedded via API
Handling an applicant from an unfamiliar bankA new rule or template built or a workaroundRead the same way as any other bank
Multi-page financial reportsA recurring source of parsing bugsLine items reassembled and totals checked automatically
Scaling to more applicants and geographiesMaintenance burden grows with document diversityNo incremental engineering work required

From a pilot cohort to production onboarding

The same call handles a pilot cohort of a handful of applicants a day or a production platform onboarding thousands a month — review effort scales with the flagged exceptions, not with raw volume, since pricing and throughput are usage-based rather than tied to infrastructure your platform would otherwise need to provision ahead of demand.

Common situations this handles

An applicant whose bank is entirely unfamiliar to your platform — read the same way as any known bank, with no onboarding delay while a new template gets built. An applicant submitting a document with a legal name that doesn't exactly match your registry data due to formatting differences — read exactly as printed, leaving the matching logic to your platform. A financial report in an unfamiliar layout — line items read from the document's own structure, not a fixed template.

A statement submitted as a low-resolution phone photo rather than a clean export — read through the same pipeline, with per-field confidence scoring surfacing exactly which parts of it, if any, are genuinely uncertain rather than treating the whole submission as unreliable.

In each case, the value isn't a special-purpose feature built for that specific situation — the same general reading process handles all of them without requiring your engineering team to build a workaround.

Why embedding beats a separate verification tool

Some document-verification products are built as their own standalone workflow — a separate portal an applicant or a reviewer logs into, outside your own onboarding UI. That can work, but it fragments the applicant experience across two systems and gives your platform less control over exactly when and how the check runs relative to the rest of your risk decision.

Embedding extraction as a direct API call keeps the entire onboarding experience inside your own product — the applicant never sees a second system, and your platform decides exactly where in the flow the document check happens, how its result combines with the registry and screening checks, and what the applicant sees if something needs a second look.

Who uses this

Fintech and neobank onboarding teams

Embed document verification without building or maintaining an in-house extraction layer.

KYB and business verification platforms

Structured, confidence-scored document data feeding your own risk logic.

Embedded finance and BaaS platforms

Document verification for business accounts opened through your own product.

Compliance and risk engineering

Auditable extraction output that traces every field back to the submitted document.

Integrating this into your onboarding pipeline

For a platform receiving documents from dozens or hundreds of applicants every day, this is designed to be called directly from wherever your onboarding flow already collects documents — without a person needing to touch every individual submission.

Most teams start with a handful of manual test calls to confirm the response shape matches their internal risk model, then wire it into the real onboarding pipeline once confidence-threshold routing is tuned to their own risk tolerance.

A common integration pattern is to call /extract synchronously right after upload, so the applicant sees an immediate status — approved, or a short note that their submission is under review — rather than a delayed follow-up days later.

What this doesn't do

Doesn't confirm legal existence

That's registry data — a separate check from a company registry provider, not a document-reading problem.

Doesn't run sanctions screening

Watchlist and PEP checks come from a dedicated screening provider, run alongside this API.

Doesn't decide your risk score

Surfaces confidence-scored fields; the workflow and threshold logic stay entirely yours.

Errors and rate limits

CodeMeaning
400Malformed request body or unsupported format
401Missing, invalid or revoked API key
422No extractable data in the supplied document
429Page balance exhausted — top up to continue

There's no request-per-second throttling to design around — the only limit is your page balance, so a burst of new applications arriving together doesn't need any special-cased handling in your onboarding pipeline.

Security

Uploaded documents are processed encrypted and not shared with third parties. Full detail is on the security page.

Applicant document data is never used to train AI models or shared with third parties.

For a compliance-adjacent flow specifically, this is worth confirming explicitly with your own security or legal team before launch, rather than assuming any document-processing vendor meets the bar by default.

Frequently asked questions

Try it with a real applicant document

No signup required for a first call — get a free API key and see the response shape.

Keep reading