← All guides
Materials

Five Supply Houses, One Ledger: Keeping Materials Straight When Graybar, Ferguson, CED, Home Depot, and Your Local Winsupply All Bill Differently

September 10, 2026 · 7 min read

Nobody buys from one supply house. The electrician has a Graybar account and a CED account and a Home Depot Pro Xtra card in the truck. The plumber has Ferguson for most of it, the local Winnelson for the stuff Ferguson is out of, and a Webb account from the last company. Every one of those houses prints a different ticket, structures the account differently, and sends the statement its own way — and the job still needs one number: what did the materials cost.

Why five suppliers feels like five bookkeeping systems

The differences aren't cosmetic. They change how many statements you get and whose name is on the ticket:

  • One company, one account — Graybar, Ferguson, Rexel, Border States, F.W. Webb. Buy at any branch, everything rolls up to one customer number and one statement. Easy at the counter; the job reference does all the sorting.
  • One company, branch-by-branch books — CED, City Electric, Hajoca. The branch you opened the account with is your supplier. A second branch is, for statement purposes, a second supplier.
  • Separately owned locations under one brand— Winsupply (Winnelson, Winlectric, Winair), Johnstone. The ticket prints the local company's name; the account and statement are theirs alone.
  • Registers, not counters— Home Depot, Lowe's. Receipts with store SKUs, no job unless somebody types one at checkout, a statement only if you carry the commercial account.

A sub with five houses can easily have seven statements arriving in three formats, with tickets that name the job in three different places. That's the problem to solve — not the number of suppliers.

The ledger that doesn't care who printed the ticket

The fix is to stop organizing by supplier and organize by job. One ledger per job; every ticket from every house lands in the ledger for the job it was bought for; the supplier is just a column. That sounds obvious, and then you look at how most shops actually file: a Graybar folder, a Ferguson folder, a shoebox for Home Depot. Those folders answer “what do I owe Graybar,” which the statement already answers. They never answer “what did the Miller job cost,” which is the question that decides whether you made money.

Three things make a per-job ledger work across mismatched suppliers:

  • The same job name at every counter. Set up the job account (or the required job reference) at every house you buy from — and at every location for the branch-model and locally-owned houses — using the exact same spoken name. SMITH-KITCHEN at Graybar is SMITH-KITCHEN at CED is SMITH-KITCHEN typed at the Home Depot register.
  • Capture at the moment of purchase, not at month end. Photo at the counter, packing slip at receiving, register receipt before the truck moves. The ledger is only as good as your side of the paper, and your side of the paper is only complete if it was captured when the ticket was in your hand.
  • Reconcile per statement, cost per job. Month end is one pass per statement — however many that is — ticking invoice numbers against captured tickets. Job costing is a different report from the same ledger: every ticket, every supplier, one job.

The two numbers the ledger is for

Once every ticket lands on its job, the ledger can carry the two switches that decide margin: paid to the supplier and billed to the customer. A ticket that's been paid but not billed is material you carried and never recovered — the amber gap. Across five suppliers that gap hides in five places; on one per-job ledger it's one number, per job, every week.

Where RevnuPros fits
RevnuPros is the per-job ledger. Snap any house's ticket — no template for Graybar versus Ferguson versus a Home Depot register receipt — and the AI reads the supplier, invoice number, job reference, and line items, then files the purchase to its job with unbilled material flagged. Drop in each supplier's statement and it reconciles the rows against tickets already filed. Five houses, one ledger, two switches per ticket.

Let RevnuPros keep the materials ledger for you.

Snap the ticket at the counter — the AI reads the supplier, invoice number, and line items, and files the purchase to its job with unbilled material flagged.

More guides