Why three systems became one
Merchant cash advance is a speed business with a risk problem attached. A deal that takes two days to underwrite loses to one that takes two hours, but a deal underwritten carelessly costs far more than the spread it earned. Those two pressures pull in opposite directions, and most lenders resolve them by adding people.
Here the work crossed three systems by hand: sales in a generic CRM, underwriting in spreadsheets, servicing in email. Every handoff was a retyping step, and every retyping step was a place for a number to change. The reporting problem downstream was not a reporting problem at all — it was three systems that had never agreed what a deal was.
What made this a bespoke build rather than a configuration
The instinct is to configure a standard CRM and move on, and for many lenders that is the right answer. It was not here, for one specific reason: the underwriting stage gates were the business. Which documents block funding, which exceptions a senior underwriter may override, what happens when bank data contradicts a stated revenue figure — that logic was the client's actual competitive position, and it did not fit a pipeline designed around opportunities and close dates.
Configuring around it would have produced a system the underwriters worked around within a quarter. That is the failure mode we see most often in lending: a CRM that records what already happened, while the real process continues in a spreadsheet nobody admits to.
The hard part
Bank-data integration was the technically interesting piece, but the difficult work was defining exposure. Three people in the business could each produce a defensible number for what was currently at risk, and the three numbers differed — not because anyone was wrong, but because "funded", "outstanding" and "at risk" had never been written down.
No amount of engineering resolves that. It took a series of short, uncomfortable sessions to agree definitions before a line of the reporting layer was built. That sequencing is the part worth copying.
What transfers to other lenders
- If your underwriting logic is your differentiator, configuring it into a generic pipeline will fight you permanently.
- Agree the definition of every risk number before building the dashboard that displays it.
- Automating document collection buys back more underwriter hours than automating the decision itself.
- One deal record from first touch to payoff is worth more than any individual feature on top of it.