Contractor Accounts Receivable
How a Contractor Went From AR Spreadsheets to a Real-Time Payment Dashboard
2026-09-23 · by Talha Jaleel

A contractor in Colorado was running four divisions, insulation, gutters, windows, and drywall, across two states. Revenue was healthy. Collections were not. Their accounts receivable lived in one spreadsheet per division, maintained by hand by whoever had time that week. Invoices came out of Housecall Pro for some divisions and ServiceMinder for others, and nobody had a unified view of who owed what. Aging invoices slipped through the cracks and follow-ups happened when someone remembered, not on a schedule. The owner knew money was sitting out there; he just could not see it clearly enough to act on it. I built him a dashboard that fixed this. Here is what the problem actually looked like, what I built, and why it worked.
The Real Problem Was Not Tracking, It Was Visibility
Plenty of contractors track receivables. The issue is how. When your AR lives in a spreadsheet, it suffers from three problems that compound over time.
It is always stale. Someone has to pull invoice data from the CRM, cross-reference payments, and update the sheet by hand. By the time that is done, new invoices have arrived and old ones have been paid, so the spreadsheet is a snapshot that is outdated the moment it is saved.
It does not prioritize. A flat list of invoices does not tell you which ones need attention right now. A $12,000 invoice that is 90 days overdue looks the same as a $400 invoice from last week, so your office manager has to scan, sort, and mentally triage every single time.
It cannot trigger action. A spreadsheet does not send alerts, does not know that a given customer has a pattern of paying late, and does not escalate. It just sits there. For this contractor, the office manager was spending roughly 4 to 5 hours per week maintaining and cross-referencing AR spreadsheets, over 200 hours a year on a task that should be automated.
What I Built
The AR dashboard is a standalone web app, a Next.js frontend with a FastAPI backend on Railway Postgres, that connects to both Housecall Pro and ServiceMinder through their APIs. It does six things the spreadsheets could not.
Automatic invoice sync. Every invoice, payment, and credit from both CRMs syncs into one database on a schedule, so there is no manual data entry and no copy-pasting between systems, and the dashboard always shows current data rather than a snapshot from last Tuesday.
Aging buckets. Invoices are grouped automatically into current, 1 to 30 days, 31 to 60 days, 61 to 90 days, and 90+ days. Each bucket shows the total outstanding and the number of invoices, so you can see at a glance that you have $47,000 in the 60-day bucket across two divisions and drill into the details.
Aging that respects customer terms. Not every customer is on the same terms; some are net-15, some net-30, some net-60 by contract. The dashboard honors these, so a net-60 customer with a 45-day-old invoice is not flagged as overdue while a net-15 customer with a 20-day-old invoice is. Off-the-shelf tools almost never handle this and treat every invoice the same, which is misleading in contracting where you have a mix of homeowners due on receipt and builders on net-30 or net-60.
Customer profiles with payment history. Each customer profile shows their full payment history across all divisions. A customer who always pays on time is flagged green, so a late invoice is probably just an oversight; a customer who has hit 90+ days three times is flagged red, so you escalate immediately. That context changes how your office handles a follow-up call, without asking anyone to remember it.
Escalation protocols. The dashboard does not just show what is overdue, it tells you what to do about it, with configurable steps: a friendly reminder at 15 days, a firm follow-up at 30, an account review at 60, and collections at 90. Each step is tracked so you know where every overdue invoice sits in the process.
Multi-division view. One dashboard covers all four divisions. The owner can see total AR exposure across the company or drill into a single division, and the office staff can filter by division, customer, aging bucket, or escalation status.
What Changed
The spreadsheets disappeared within the first week. The office manager went from 4 to 5 hours a week on AR tracking to checking the dashboard for about 15 minutes each morning.
More importantly, invoices stopped slipping through the cracks. When you can see that a builder owes you $23,000 across three jobs and the oldest invoice is at 67 days, you pick up the phone. Without that visibility, the same $23,000 would sit at 90+ days before anyone noticed.
The owner's review, verified on Clutch: 'I'm impressed with Talha Jaleel's grasp of our world. He's a pleasure to work with — made this process easy and respectfully pushes for feedback where he needs it.'
This Is Not a Product, It Is a Custom Build
I want to be clear about what this is and is not. It is not a SaaS product you can sign up for. It is a custom dashboard I built for one contractor's specific situation: their CRMs, their customer terms, their escalation process, and their divisions.
That is also why it works so well. It does not try to be everything for everyone. It solves this contractor's AR problem exactly the way they need it solved.
If your operation has a similar problem, AR in spreadsheets, invoices from multiple systems, no aging visibility, and no automated follow-ups, I can build the same thing for your setup. The architecture is proven and the timeline is typically 4 to 6 weeks. What changes is the specific CRMs you use, your customer terms, and your escalation process. This is the AR and payments dashboard package, and it is one piece of the broader contractor operations case study.
Frequently Asked Questions
How should contractors track accounts receivable?
The goal is real-time visibility rather than a manually maintained spreadsheet. A good setup syncs invoices and payments from your CRMs automatically, groups outstanding balances into aging buckets, respects each customer's payment terms, and triggers follow-ups on a schedule instead of when someone remembers. That turns AR from a weekly data-entry chore into a dashboard you check for a few minutes a day.
What is wrong with tracking invoices in a spreadsheet?
Three things compound over time: the sheet is always stale because someone has to update it by hand, it does not prioritize so a large 90-day invoice looks the same as a small recent one, and it cannot trigger action because it does not send alerts or escalate. For the contractor in this case study, maintaining AR spreadsheets was consuming 4 to 5 hours a week, over 200 hours a year.
Can an AR dashboard sync with Housecall Pro and ServiceMinder?
Yes. Both provide APIs, so invoices, payments, and credits from one or both systems can sync into a single database on a schedule. The dashboard in this case study pulls from Housecall Pro and ServiceMinder at the same time and presents one unified, multi-division view.
How long does it take to build an AR dashboard?
A standalone accounts receivable dashboard is typically a 4 to 6 week build. What drives the timeline is which CRMs it integrates with, how your customer terms and aging rules work, and the escalation process you want automated, rather than the dashboard itself.
Why build custom instead of using off-the-shelf AR software?
Generic AR tools usually treat every invoice the same and ignore per-customer payment terms, which is misleading in contracting where homeowners are due on receipt and builders may be net-30 or net-60. A custom build matches your CRMs, your terms, your divisions, and your escalation steps exactly, which is what makes it something the office actually uses every day.
Further Reading
Building something like this?
I build real-time accounts receivable dashboards for contractors, syncing invoices from your CRMs into one view.If you're scoping a project, I can tell you what it would take for your setup in a quick call.