SpreadSpace vs Ocrolus

SpreadSpace gives commercial lenders bank analysis that stays connected to the borrower's tax returns, related entities and financing evidence. Ocrolus delivers document analytics through its own dashboard and an API.

An extracted figure opens its supporting document with the printed line boxed.

Three reasons to choose SpreadSpace

Understand who moves the money

SpreadSpace groups bank transactions under named counterparties with money in, money out and their relationship to the borrower. Uncertain classifications remain visible for analyst review. The reviewer can distinguish operating payments from owner activity and financing without losing the underlying transactions.

Let the documents explain affiliations

A business or personal return can establish that a bank counterparty is an affiliate, even when it arrives after the statements. SpreadSpace applies that relationship to the matching activity and opens the naming line behind it. The analyst can separate intercompany movement from operating cash flow using evidence from the same loan.

Investigate financing at the transaction

SpreadSpace identifies financing relationships from payment cadence and transaction text, including merchant cash advance activity. Each relationship shows advances, repayments and the supporting activity in its own analysis. Analysts can review the evidence behind debt service before using it in coverage.

Why SpreadSpace is the stronger choice

SpreadSpace is the stronger choice when a lender needs to explain the activity behind a borrower's cash flow. Transactions roll up by counterparty, an affiliate named in another document changes the relationship classification, and financing activity retains its supporting transactions. Analysts can challenge those results on the same canvas as the tax spread and memo. Ocrolus takes scans and photographed statements, while its dashboard and API delivery leave the lender to connect that output to the rest of the credit review.

Choose SpreadSpace when

  • Your analysts underwrite commercial borrowers on bank statements and need every transaction classified under its counterparty, with daily balances, overdrafts, insufficient funds, chargebacks and returned items on the same board as the tax spread.
  • You want the tax return, the personal financial statement, the balance sheet and the debt schedule on the loan to correct the bank classification on their own, with the naming line boxed behind every re-tag.
  • You need every financing relationship in the statements found and scheduled, merchant cash advances included, with advances, repayments, net, cost of capital and the payment cadence stated per lender.
  • You want an analyst's reclassification to be the final word, kept through every reprocess, logged, and reversible with one undo from the log.
  • You want the bank cash flow to feed a DSCR configured per entity and per year, an adjusted EBITDA on the basis you chose and the memo template your team already uses, without leaving the tab in your loan origination system.
  • You want source-backed transactions to open their boxed statement lines, while calculated balances and counterparty totals reveal the activity behind them.

Where Ocrolus falls short

  • Results arrive through a separate dashboard or an API, leaving the lender to connect them to its credit workflow.
  • Difficult documents can pass through human review before the complete output is delivered.
  • The dashboard workflow organizes the review in fixed screens, so the lender carries the analysis into its own credit work product.

Compare SpreadSpace and Ocrolus

SpreadSpace and Ocrolus, feature by feature
FeatureSpreadSpaceOcrolus
Integration
Versioned API with three SDKs and an agent guide

One REST API with a dated version pinned per request, three hand-typed SDKs in TypeScript, Python and C#, fourteen signed webhook event types with automatic retries, and a skill file that lets a coding agent build the embed and the webhook receiver.

IncludedNot demonstrated
Loan-inbox intake with automatic linking

A webhook forwards every file that lands in a loan's inbox to an intake endpoint that resolves the borrower and the loan from your own reference, and a repeat upload of content already extracted is answered as a duplicate rather than processed twice.

IncludedNot demonstrated
Bank statement extraction
Every transaction with its box

Every transaction is extracted with its posting date, the description as printed, the signed amount, the check number, its kind and its position on the statement, and each one gets a page box so a click opens the statement with the row boxed. Wire and ACH descriptions split into who sent it, who received it and what it was for.

IncludedNot demonstrated
Daily-liquidity bands on the spreading canvas

A balance for every day of the period with opening, deposits, withdrawals and closing, plus the statement's average, minimum and maximum daily balance and the number of days negative, so the liquidity cushion bands the lowest, average and highest balances with their dates. The liquidity view sits on the same canvas as the rest of the loan.

IncludedNot demonstrated
Counterparty signal tallies over daily balances

Five transaction signals, overdraft, insufficient funds, chargeback, returned item and service fee, are detected from the descriptions in severity order, tallied on every counterparty row, counted per month or per year, and plotted over the daily balance.

IncludedNot demonstrated
Layout extraction reconciled to statement totals

234 registered bank layouts plus a generic fallback, detection in three tiers, and every parse reconciled to the printed totals and balances before it ships, with an incomplete slice or a fee summary with no transactions refused with a stated reason rather than extracted.

IncludedNot demonstrated
Missing-account flags that clear on upload

Accounts the transactions reference with no statement uploaded are derived as undisclosed business accounts, named by bank and last four with the transactions that revealed each one, and the flag clears itself as statements arrive.

IncludedNot demonstrated
Transfer matching against uploaded account tails

Transfers between the borrower's own accounts are decided by parsing the account tails out of the description and joining them against the roster of uploaded accounts, failing toward counting the cash rather than wrongly excluding it, so matched transfers are excluded from the operating numbers.

IncludedNot demonstrated
Classification and counterparties
Separate sub-merchants with counterparty signal tallies

Every transaction resolves to a named counterparty from the structured rail fields first and the cleaned description otherwise, two sub-merchants settled by one processor never collapse into one, and each counterparty row carries money in, money out, net, transaction count, business type, class, relationship and a signal tally.

IncludedNot demonstrated
58 classes across 13 sections

Operating income, operating outflows with 24 subclasses such as payroll, payroll tax, employee benefits, contract labor, rent, utilities, insurance, professional services, marketing, advertising, software, travel, vehicle, repairs, supplies, shipping, bank fees and cost of goods sold, other income, financing, owner draws and contributions, personal, investing, taxes, internal transfers, intercompany and affiliate transfers, neutralized checks, neutralized reversals and under review. Every class carries a direction and an opposite analog, so an advance and its remittance are a pair.

IncludedNot demonstrated
Financing cadence with relationship-level investigation

A fixed daily or weekly run of equal debits reads as a merchant cash advance remittance stream and a monthly varying run across three or more months reads as a term loan schedule, and the implied debt schedule states every relationship with advances, repayments, net, cost of capital, dormancy and the payment cadence, asserted only when at least three payment days exist.

IncludedNot demonstrated
Cross-document re-tagging

An affiliate, an owner, an officer or a lender named on a tax return, a personal financial statement, a balance sheet or a debt schedule re-tags its matching counterparty at read time through a six rung bind ladder, so a return uploaded days after the statements moves the rows on the next read, and the document link on the counterparty row opens the naming line boxed.

IncludedNot demonstrated
Review queue and under review

Every row is classified optimistically and a review queue surfaces five candidate buckets, affiliate candidate, nondescript check, nondescript wire, internal transfer candidate and outlier, each with a one click reclassification and a materiality floor per class, while rows placed without confidence sit in the under review section.

IncludedNot demonstrated
Discretionary-spend candidates awaiting analyst approval

Owner personal, discretionary and commingled spend is recognized from the memo phrases on the transactions and offered as add-back candidates for the analyst rather than reclassified silently.

IncludedNot demonstrated
Analyst control
Overrides that stand

An override of a counterparty's class or relationship is one row per loan and counterparty, survives every reprocess, is never re-inferred and stands above the registry and every heuristic. Overrides apply per counterparty or per transaction, in bulk up to 500 at a time, and come off one by one or all at once.

IncludedNot demonstrated
One confirmation, no double handling

After an analyst accepts a link or confirms an entity, sibling rows already wearing that registry entity pool into the same relationship group without inference, and the same entity fold pulls only byte exact matches, so nothing is moved twice and nothing unreviewed is auto confirmed.

IncludedNot demonstrated
The counterparty audit log with undo

Every correction sits in one table with its source, and each row carries an undo that reverts what that action wrote while skipping keys an analyst hand edited since. In session undo and redo cover reclassify, merge, split, rename and section moves with a batch sweep undone as one step, and a reset returns the whole analysis to its system generated state.

IncludedNot demonstrated
Boxed source lines inside the spread

Source-backed transactions open the statement page with the row boxed, from the spread and source-linked memo figures. Calculated daily balances and counterparty totals reveal their contributing rows and available source links.

IncludedNot demonstrated
The rest of the loan on the same canvas
Tax detail with boxed source review

Every line of Form 1065, Form 1120-S, Form 1120 and Form 1040 with their schedules, every Schedule K-1 in the packet, the supporting statement behind every overflow line and the per asset depreciation registers, so a large return yields several hundred lines with a box on every figure. Every parent return checks its own arithmetic, and a failing check ships as an underwriting signal beside the data.

IncludedNot demonstrated
Schedule K-1 pairing and owner linking

Each K-1 is bound to its own supporting statements by a cascade of printed name, partner number, page order and capital account, and its recipient is matched to a person on the loan by identifier, name and address, so a K-1 that lands days later still reaches the right guarantor. No fuzzy person matching exists anywhere, so an unmatched name stays unmatched rather than guessed.

IncludedNot demonstrated
Statement of cash flows from the return

One statement of cash flows per return year is derived from the return, in operating, investing and financing blocks that tie to the change in cash on Schedule L. It renders as a bridge and as the formal three block table.

IncludedNot demonstrated
Basis-aware EBITDA and per-entity DSCR inputs

EBITDA starts from the company statements, from the return on a book basis or from ordinary business income on a tax basis, with add-backs that follow the basis, and DSCR is configured per entity and per year with debt service drawn from the Schedule L balances, the business debt schedule or the implied debt schedule from the bank statements, pro forma with proposed debt and historical.

IncludedNot demonstrated
Rental real estate by property

Every property on Form 8825, across continuation sheets, and each property on Schedule E Part I becomes a row with income, itemized operating expenses and printed depreciation, with years side by side. Each property keeps its source lines, while Form 4562 and the depreciation registers provide the supporting depreciation detail in the return viewer.

IncludedNot demonstrated
Return-detected affiliates and bank reclassification

Every affiliated and intercompany entity named anywhere on the business and personal returns lands on one schedule, ownership link or not, K-1 or not, from the ownership tables on Form 1120 and Form 1120-S, the issuer behind every K-1, affiliates named in return statements, the personal return's pass through and qualified business income rosters, and related party receivable and payable lines. The schedule feeds the entity roster and re-tags matching bank counterparties to intercompany with the naming line boxed.

IncludedNot demonstrated
Working the spread and the memo
Free placement and resizing on a canvas

The spread is a canvas rather than a form. Every chart, table, KPI card, text box, line and comment pin lands where the pointer releases, drags anywhere, resizes from any edge and magnifies on its own axis, and the canvas grows sideways and downward as the work needs it.

IncludedNot demonstrated
Bank graphs with monthly and weekly ledgers

The bank tab offers 20 fixed tiles, the five main cash flow buckets, the liquidity cushion, customer and vendor concentration, the undisclosed accounts roster, the implied debt schedule, the counterparty graph and nine other buckets, plus 7 KPI cards and one investigate graph per financing relationship on the loan. Each tile has a graph face and a ledger table by month unfolding to weeks, with a period selector over the data's real month range.

IncludedNot demonstrated
Shared bank canvas with reusable layouts

Up to twenty five analysts work one board with live cursors and comment threads pinned to a visual or the canvas, every save is a restorable revision, and a finished board saves as a global template that carries its visuals and arrangement to every loan of that type.

IncludedNot demonstrated
Company memo template with source-linked figures

Upload your existing memo as a PDF or a Word file and it is rebuilt from the builder's own blocks over the page, made once and shared across the team, and the bank charts drop in as vector graphics that keep their source link, so source-backed figures open their printed rows from the memo.

IncludedNot demonstrated
Immutable log with one-click undo

Every action, the counterparty corrections included, lands in an append only log that records who, what, when and the before and after values, kept immutably for up to seven years, and a mistake from last week comes out with one undo from the log even after later actions, with the undo itself logged.

IncludedNot demonstrated

Setup and pricing

SpreadSpace and Ocrolus, setup comparison
DetailSpreadSpaceOcrolus
Relationship to the loan origination systemSpreadSpace runs as a tab on each loan inside your loan origination system, with no separate login, no data sync and no redirect, and the loan links itself the moment the first document arrives. The unbranded workspace is bundled with the cost of extraction.Its own dashboard, with results delivered through an API and webhooks.
Time to go liveEmbedding the workspace and wiring the upload webhook takes a day, and no policy setup project stands in front of the first spread.Not specified
Pricing modelThe workspace is bundled with the cost of extraction, and a test mode key runs the whole integration against an isolated sandbox at no charge.Pricing by quote through a demo request.

Ocrolus column from its public material, reviewed September 2026. An x marks a feature that material does not demonstrate.

Questions lenders ask

Does SpreadSpace replace Ocrolus?

Yes. SpreadSpace extracts every transaction from the statements, rolls it up under a named counterparty in one of 58 classes, finds every financing relationship, lets the tax return and the other documents on the loan re-tag the rows, and puts the bank figures on the same canvas as the tax spread, the DSCR and the memo, inside the tab in your loan origination system.

How long does it take to add SpreadSpace to my loan origination system?

A day. The embedded workspace and the upload webhook are the two pieces. The workspace opens as a tab on each loan, the webhook forwards every file that reaches the loan's inbox, and the loan links itself when the first document arrives.

What happens to a transaction SpreadSpace cannot classify?

It lands in the under review section with its own class, so the analyst sees exactly what was speculative, and the review queue offers a one click reclassification for the usual cases, a nondescript check, a nondescript wire, an internal transfer candidate, an affiliate candidate or an outlier. The analyst classes it once, the override stands through every reprocess, and any byte exact siblings pool with it so nothing is moved twice.

How do tax returns change the bank statement analysis?

A counterparty that a tax return names, as an owner, an officer, an affiliate or a lender, is re-tagged from the registry at read time, even when the return arrives days after the statements. In an illustrative example, a $9,000,000 net outflow to a body shop moved from repairs to intercompany the moment the partnership's return named that shop as an affiliate, and the document link on the counterparty row opens the return with the naming line boxed. A personal financial statement, a balance sheet or a debt schedule that names a creditor does the same.

Can an analyst change a classification, and does the change stick?

Any counterparty or transaction can be moved to any class, its relationship to the borrower changed, and rows merged, split or renamed. The override is one row per loan and counterparty, survives every reprocess, is never re-inferred and stands above every heuristic. Each action lands in the counterparty audit log with its own undo, and a reset returns the whole analysis to its system generated state.

How does the bank cash flow feed DSCR and adjusted EBITDA?

The bank figures sit on the same canvas as the tax spread, so a DSCR configured per entity and per year can draw its debt service from the implied debt schedule the statements produce, from the business debt schedule or from the Schedule L balances, pro forma with proposed debt or historical. Adjusted EBITDA starts from the company statements, from the return on a book basis or from ordinary business income on a tax basis, with add-backs that follow the basis and owner spend from the statements offered as candidates.

Does SpreadSpace use AI to read bank statements?

Extraction is proprietary, and AI handles document screening and splitting. No figure on a tax return or a financial statement comes from a language model. Every bank statement parse is reconciled to the printed totals and balances before it ships, and a statement that fails that check is stopped with the reason rather than extracted wrongly.

How is SpreadSpace priced against Ocrolus?

The workspace is bundled with the cost of extraction, so a lender pays for the documents SpreadSpace extracts and gets the counterparty board, the canvas, the source drawer and the memo builder with it. Contact sales for a quote sized to your volume. Ocrolus quotes after a demo request.