F&I Scoreboard
A 15-second deal log that grew into a personal F&I operating board.
the problem
F&I performance lives across deal logs, pay-plan math, chargebacks, product penetration, lender mix, funding status, and a lot of mental arithmetic that is easy to do badly in the middle of a month.
what i built
A local-first F&I scoreboard with deal logging, pay-plan math, chargebacks, VIN decode, dealership inventory autocomplete, daily inventory ingestion, encrypted optional sync, funding/CIT tracking, bonus-gap math, and action prompts.
current state
It still behaves like a personal operating tool rather than a dealership system of record. the inventory feed continues to update automatically, and the rule remains simple: no customer PII belongs in it.
a 15-second deal tracker slowly ate the dealership spreadsheet.
this one came directly out of F&I work. the first version was almost aggressively boring: log a deal fast, know the month, know the pay plan, and keep customer PII out of it. then the useful annoyances kept showing up.
PVR, penetration, chargebacks, pay. fifteen seconds per deal.
the first commit was a static browser app with local-only deal data, product penetration, lender mix, six-month history, tiered pay, bonuses, backups, and CSV export. no login, no server, no database, and no customer names.
stock number became a shortcut instead of another field.
VIN decode and inventory autocomplete turned the deal log into a dealership-aware tool. scheduled new and used inventory reports could be ingested automatically, merged, and committed only when the lot actually changed.
daily inventory commits turned a static page into an operating feed.
the history is full of automatic Update inventory commits. that is the unglamorous proof that the app stopped being a mockup and started depending on current dealership state.
eventually it started telling me what the month was missing.
the current build adds bonus-gap math, funding and CIT tracking, stale stips, money-left-on-the-table flags, goal pace, and propensity prompts derived from the user's own entered history. encrypted optional sync came later without moving plaintext deal data into a normal cloud database.