Termco
Termco

One Customer, Three Scale Houses

18 October 2026

Brandt Excavating pulled about 2,500 tons out of you last month. He loaded at three of your sites and paid three different prices for the same stone. Nobody in your building knows that, because nobody there has ever had a reason to put those tickets side by side.

Brandt has. His job costing runs on delivered cost per ton, and all three sites' tickets land on one desk.

The account is one record. The price isn't.

On paper you have one rate sheet and one customer. In practice a rate lives wherever somebody keys it, and three pits means three places where that happens.

Here's how the spread forms. Your GM cut Brandt to $13.90 on 57 stone last spring at the Henley pit, because Henley had the inventory and Brandt had the bridge job. The deal was real, and it was also a phone call confirmed in a parking lot. At the north pit, the operator never heard about it and has no way to hear about it, so Brandt loads at list, $14.60. At the Dayton yard, the long-timer who knew Brandt's father writes "contractor rate" in the corner the way he always has, and the clerk reads that as $13.75, a number Dayton has used since before the current rate sheet.

Three prices, each correct inside the building it came from. Nobody is careless; every scale house is applying the most recent thing it was told.

What keeps this alive is that every check your office runs is a check inside one site. Henley's tickets agree with Henley's tickets. The north pit's month ties out to the north pit's invoices. Run a price audit at any one of the three and it passes clean. The only view that would show the problem is one customer across all sites in the same month, and nothing in an ordinary month produces it. If you invoice per site, the spread stays invisible on your end.

flowchart TD
    A["Brandt, 57 stone, 2,500 tons"] --> B["Henley ticket: $13.90"]
    A --> C["North pit ticket: $14.60"]
    A --> D["Dayton ticket: $13.75"]
    B --> E["Henley's month ties out"]
    C --> F["North pit's month ties out"]
    D --> G["Dayton's month ties out"]
    E --> H["Only Brandt's desk sees all three"]
    F --> H
    G --> H

The extra seventy cents is not a win

Say the month breaks 1,500 tons at Henley, 600 at the north pit, 400 at Dayton. The north pit's 600 tons at $14.60 run $420 above the Henley price, collected and banked. Your GM sees money there. He's the one who should read the next paragraph twice.

When Brandt works this out, he isn't going to call about $420. He's going to call with a short list of ticket numbers showing that your price for 57 stone depends on which gate he pulls into, and the conversation won't start at $14.60 or even $13.90. It starts at $13.75, the lowest number any of your scale houses ever gave him.

Run that out. Brandt's blended price across those 2,500 tons is about $14.04. At $13.75 everywhere, the giveback is $735 a month, call it $8,800 a year, and that's before he asks what you intend to do about the last twelve months he's already paid. You collected $420 at one gate and put the whole account's rate on the table to keep it.

"We came out ahead on those loads" is the wrong way to score it. A customer who finds one arbitrary price assumes there are others. He's right. The same gap is sitting on every multi-site account you have, and Brandt is just the one who added it up.

Ticket 44312, twice

Those same three desks cost you money inside your own office too.

Your sites buy carbon books from the same supply house in the same stock numbering, because somebody ordered them once and the reorder has gone out that way since. Henley is working through the 44000s. So is the north pit. Same month, same customer, two tickets numbered 44312, both for 57 stone, written 40 miles apart.

Watch the office handle that. If your keying has a duplicate check, the second 44312 gets kicked back, and the fastest resolution at a busy desk is to call it a re-key and drop it: a load delivered and never billed. If there's no duplicate check, both get keyed, and Brandt's invoice carries 44312 twice at two weights. His AP won't pay that line, and some shops won't pay the invoice. Or the clerk fixes it by writing an A after one number, and now your paper and your system disagree about what the ticket is called.

Counting books like cash is a real control, and it's a control inside one book. It was never built to tell two books apart, and the day you opened a second scale house you started asking it to. That one's cheap to fix: order each site's books with a site letter ahead of the number. H44312 and N44312 are different tickets forever, and it costs nothing at the window.

The gate is fine. The office is where this lives.

None of this is a scale house problem, and the operators are the last people who should fix it. The Dayton long-timer writing "contractor rate" in ink has done that successfully for twenty years. The weak link is that the three books never meet until month end, when the only person reading them is trying to get invoices out the door.

A rate belongs to the customer, not to the gate. If Henley should be $13.90 on freight or inventory, fine: write it down as an exception with a date on it, instead of leaving it as something one scale house happens to remember.

That consolidation is office work, and it's the part Termco is built for. Tickets from every site get digitized the day they're written, as written, smudges and corner notes included. Billing rules and reference data are held once for the whole company, so Brandt's price on 57 stone exists in one place and a site exception has to be written as one. A ticket priced off anything else gets flagged that week, whichever gate wrote it, and invoice totals get assembled from the tickets that cleared. Nobody at the north pit installs anything, no driver gets an app, and a shop that never computerized its scale house starts from the books it already keeps.

Build the grid before he does

Run this yourself this week, before you buy anything from anyone.

Pull 90 days of tickets and find every customer who loaded at more than one site. Make a grid: product down the side, site across the top, the price billed in each cell. Most cells will agree. The ones that don't are a conversation you'll have eventually, and the spread times the tonnage is what it's worth. Then sort the same 90 days by ticket number, look for one number appearing twice at two sites, and find out what your office did with each pair.

If you'd like a second reader on the paper itself, send 10-20 sample tickets to hi@termco.ai, from more than one site if you can, and we'll send back what we find within 48 hours.

Brandt will build that grid with a highlighter and a stack of white copies. It takes him an hour, and he'll own the number before you do.