Daily-installment lendersmall loansMendoza

13,052payments recorded, across 20,218 documents

From five spreadsheets to one panel.

How it was before

A lender in Mendoza that makes small loans repaid in daily installments. Four collectors go out every day but Sunday and pick up the payments in person, and the owner enters them all in under ten minutes a day.

The portfolio was split across five Excel spreadsheets and a paper card file with each client’s latest loans, where every payment was written in by hand with its date and amount. Keeping up took a full-time employee, and the spreadsheets still did not match each other. Whether a client had ever let a payment slip, the question that matters before lending to them again, was answered from memory.

What I built

One panel for the whole portfolio: a printable daily sheet for each collector, organized by route; the collections ledger; a file for each client with a reliability score built from how they paid; and charts of the portfolio. It is the highest-volume system I run, with 381 loans to 116 clients. A 26-test audit I wrote over the live data found 25 loans whose recorded payments added up to more than the loan total, and it reported them without changing a single record. They were typing mistakes and were corrected in time, so no client paid for them.

Plain JavaScript in one file, no build step · Firebase · Chart.js · print-ready collector sheets

The interface is in Spanish today. Which language it ships in is set per build.

The portfolio dashboard: what came in today, what is owed, who is at risk and who to visit first. It is the real panel with sample data: the clients and amounts in all three screenshots are made up.
The portfolio dashboard: what came in today, what is owed, who is at risk and who to visit first. It is the real panel with sample data: the clients and amounts in all three screenshots are made up.

The decisions, and why

  1. The client file shows how likely they are to stop paying.

    Before lending again, the owner needed to see who had already let a payment slip. That used to be answered from memory; now it is on the file.

  2. The daily sheet follows the route.

    The collector walks a route. With an alphabetical list, he has to reorder it himself every morning.

  3. The daily ledger writes itself, one entry per payment.

    Closing the day by hand is the step that brought back the five-spreadsheet problem.

  4. The audit reads and never writes.

    Changing a payment record changes what a person owes. The audit finds the mismatch; a person decides what to do with it.

The day’s sheet, whole: who paid, how much, in cash or by transfer, who did not pay and which loan is already past due.
The day’s sheet, whole: who paid, how much, in cash or by transfer, who did not pay and which loan is already past due.

Before and after

BeforeAfter
Five spreadsheets and a card fileOne panel with the whole portfolio
A full-time employee keeping upUnder ten minutes a day
No warning before a defaultA reliability score on every client
The day closed by handA daily ledger with automatic entries
One spreadsheet per collectorRoutes, each with its settlement
The file of a client with six loans over two years: three paid off, two up to date and one behind. The number at the top is how reliable they are, calculated from how each loan was paid.
The file of a client with six loans over two years: three paid off, two up to date and one behind. The number at the top is how reliable they are, calculated from how each loan was paid.

My portfolio was spread across five spreadsheets, a total mess. Now it is one panel with risk alerts, and I have not let an installment slip since.

The ownertranslated from Spanish

The system, running

No sound, with subtitles and made-up data.

Email me about a system like this, or about a role

I quote a custom system within 24 hours. If you are hiring, my resume is one page.

WhatsApp: +54 9 11 2469-3394

Next case: Yusta HQBack to all five