stmtscan: statements read by AI
Each PDF is split into pages and read with AI: bank, month, balances, deposits, NSF fees, negative days and every transaction, with payments to other lenders flagged. Under $0.01 for a 10-page statement.
named client case · internal AI tool · merchant cash advance
DocUp is an internal tool for the merchant cash advance industry. It takes in merchant leads, reads their bank statements, follows up by SMS and hands leads on to clients and their CRMs. The reading is done by stmtscan, an AI tool we built for it, and the rest by automations that took enough work off the team for DocUp to run with fewer people.
DocUp's owners run the business. I have worked on its technology since March 2021, with 651 of the repository's 979 commits, and we built stmtscan for it.
the original condition
A merchant's bank statements show what the business earns and who it already owes: deposits, balances, NSF fees, negative days and payments to other lenders. DocUp reads them for its leads. It was paying another provider $0.70 to read each 10-page statement, and its people were still checking, sorting and chasing much of the work around it.
what runs it
Each one takes a step off the team. stmtscan is the one we built from scratch for it.
Each PDF is split into pages and read with AI: bank, month, balances, deposits, NSF fees, negative days and every transaction, with payments to other lenders flagged. Under $0.01 for a 10-page statement.
Every scanned statement comes back labeled ready, other payments, inconsistent, failed or corrupt. A statement that duplicates one already on file for the same lead is removed.
Statements with a watermark are detected and cleaned before they are read.
Spreadsheets and ZIP files of leads import in the background, with a dry run first. Duplicates by phone, email or tax ID and blacklisted leads are caught, and the rejects come back as their own file.
Every phone number is validated and sorted into cell, landline or VoIP, and every email is validated, before anyone calls or writes.
SMS campaigns go out in batches on a weekday schedule, replies land in one inbox and STOP opts a lead out. Leads go to the client's CRM, DebtPayPro, Velocify or Centrex, or out as an export with a record of who received them.
by the numbers
how it was built
From March 2021: services for leads, imports, exports, SMS campaigns and three CRM connectors, with organizations, roles and permissions.
From October 2023: an integration for statement data from an outside provider, then blacklists, a reviewer queue and saved filters for the team working through it.
A separate service on AWS that splits each PDF, reads it with AI, checks it and labels it. Merged into DocUp on 1 April 2025, with the cost of every statement logged.
April and May 2025: watermark detection and removal, and duplicate statements removed before they cost anything twice.
the stack
Three services on ECS talking over NATS, MongoDB, and Lambda functions for the background work, in the Frankfurt region.
PDFs split with Ghostscript and read with OpenAI, with a dead-letter queue that keeps any statement that fails.
Twilio for SMS and its delivery reports, DebtPayPro, Velocify and Centrex for lead hand-off, Sendinblue for export links.
what this case does not claim
Tell me which documents your team reads, checks or retypes every day. In 15 minutes you know whether a tool can take it on and what the pilot would test.