Read off this file, not a second data pull
The same verified income, typed obligations and account behavior the report already carries.
Connect a bank or upload a statement. Twelve months of activity come back as one report you decide from.



Cash flow underwriting reads an applicant’s bank transaction data to answer whether they can repay, from evidence rather than from how they paid in the past. A thin file or no score changes nothing.
Every number is computed across twelve months of transaction history, and again for the last 3 and 6, so a trend never hides behind an average.
Bank statement underwriting begins with the statement itself: read, its own arithmetic recomputed, its origin tested, before a single number enters the analysis.
Real-time income verification separates recurring income from everything else. Which inflows count, and on what basis, is your policy.
See how it approves more borrowersEvery stream found and typed, each rated for stability.
The verified figure moves with the call you make.
Every obligation read from the bank feed, the debt service coverage (DSCR) it implies, and the ceiling it sets on what an applicant can carry.
Twelve loan types resolved from the feed, including the payday, BNPL and title borrowing a bureau never files.
Status and a month-by-month payment history per obligation, read off the account rather than a tradeline.
The limit, whether rent counts, and the payment-to-income cap. The affordable payment moves with them.
Overdraft and NSF patterns show up in the account long before a bureau file. One applicant, three books, three answers, on thresholds you set.
overdrafts > 3any payday drawKoraScore turns the analysis above into a single default-likelihood number, on the 300 to 850 scale your team already reads, and every point of it traces back to transactions.
The same verified income, typed obligations and account behavior the report already carries.
Funded files paired with what happened to them, so a weight is earned rather than assumed.
Charge-off and early delinquency are different risks, so each gets its own number on the same file.
An open banking connection, an upload, or transactions you already hold: four intake paths, and four delivery surfaces so the report lands where your team already works.
See it run end to endCommon questions about cash flow underwriting.
We can go back up to 12 months, as long as the institution shares that much. We run the numbers twice, once for the whole window, and again just for the last 3, 6, and 12 months, so you can see when something recent breaks from the trend.
Whatever you’ve got: a live bank connection, uploaded PDF statements, or transaction data you’re already pulling from a connector. All three feed the same pipeline and come out as the same report.
One report, built to make a decision from. It’s got verified income broken out by stream, your obligations broken out by type with a debt-to-income calculated before the loan, every risk indicator with its severity and what caused it, a KoraScore with its top drivers and reason codes, and the identity and document checks. You can pull it up in the dashboard, get it over the API, or export it as a PDF.
We’ll always take a live connection first, it’s real-time and there’s nothing to fake. But uploaded statements aren’t just taken on faith either. We extract the data, reconcile every balance line by line, and scan for signs of tampering before we trust any number. That’s a lot more scrutiny than a person skimming a PDF would give it.
Yep, any time. Add more bank statements, re-invite the applicant for a fresh snapshot, or just refresh a connected account. The new analysis reflects current data, which is handy when an application’s gotten a little stale or you want a last check right before funding.
Backtesting is free. Send applicants you’ve already decided and we’ll show the report on each one against how those loans actually performed.