A full-stack collections management system with AI-powered document processing, structured payment plans, and real-time financial clarity. Built from scratch as a solo product owner, designer, and developer for an active consulting client.
Live on VercelAn active consulting client was tracking client debt, payment history, and consulting fees inside a patchwork of spreadsheets. There was no structured follow-up, no document trail, and no single view of what was owed, what had been paid, and what was still pending.
Every payment existed only in a spreadsheet cell. There was no record of when it happened, what it applied to, or who confirmed it. Auditing a client's account required reconstructing history manually from scattered files.
Installment payments (cuotas), general charges (cobros), and consulting fees (consultorias) were all mixed together. This made the real debt balance misleading: consulting fees were never part of the debt, but there was no system to enforce that distinction.
Contracts, invoices, and payment confirmations existed as loose files on a local drive. None were linked to a client record. Resolving a dispute required searching through folders and hoping the right file was still there.
A FastAPI backend with SQLite persistence, a Material Design 3 dark-theme frontend, and Claude AI handling document ingestion. All deployed on Vercel. The interface centers on a 256px left sidebar with sectioned navigation, surfacing financial summaries at every level.
Upload a contract, invoice, or payment confirmation. Claude API reads the document, extracts the relevant transaction data, and categorizes it automatically into the correct payment type.
Installment plans with per-cuota status, amounts, and due dates. Each payment is tracked individually, so the client and consultant always know exactly where things stand in the repayment schedule.
Per-client financial summaries, document libraries, and transaction histories. Each account shows total debt, confirmed payments, and outstanding balance without any manual calculation.
The hardest part of manual collections work is data entry: reading a document, finding the relevant numbers, deciding which category it belongs to, and entering it in the right place. The AI layer removes this entirely.
When a document is uploaded, it passes to Claude API with a structured prompt. The model returns a categorized transaction record that feeds directly into the database. No re-typing. No mis-categorization.
The single most important business rule: consulting fees must never inflate the debt total. The system enforces three categories with hard separation:
"Before this, reconciling one client account took half a day. Now the balance is just there, with every transaction behind it."
Consultant, active user