Estimating, quotes and invoicing

A quote and an invoice are the same document

They are the same thing at two different stages of its life. So an accepted quote becomes the invoice — it is not retyped, re-priced, or rebuilt from memory by somebody in the office at nine at night.

That one decision removes a whole category of argument: the number the customer agreed to and the number on the bill cannot drift apart, because there was only ever one of them.

This is a module. Take it for the estimating loop and keep invoicing where it is, or take both. It needs the parts catalogue and a rate card; it does not need the field app, though the draft is much better when a technician fed it.

One document, two stages

The billing screen listing sales documents: quotes and invoices together, each with its stage, its customer and its total.

Quotes and invoices in one list, because they are one kind of record.

  1. It starts as a quote

    Lines for parts and labor, priced from your own books. Built on the job it belongs to, so the photographs and readings the technician captured are already attached to the thing you are quoting from.

  2. It is issued

    And what goes out is stored as it went out. A document you re-render next year against today’s rate card and today’s address is a document the customer never received — and handing them that in a dispute is worse than having nothing.

  3. Somebody decides

    Won or lost, on the record, with a reason from a list you control.

  4. Won, it converts

    Same document, next stage. The labor actually recorded on the job can be pulled across, so what you bill matches what the visits say happened rather than what the estimate guessed.

  5. Posted — and only then does it take a number

    An invoice number is allocated at post, not when the row is created. A half-finished document somebody abandons must not eat a number, because a gap in an invoice sequence is a question from an accountant every single year.

Every financial document stamps the customer, the site and the relationship between them as values, the moment it is created. So ending a relationship next year does not silently rewrite last year’s revenue.

Where the price comes from

Nobody should be typing a price. The estimating machinery is configuration, and it is the part that decides whether a quote is consistent between two people on a Tuesday.

💰

Rate cards

Labor classes and their rates, per customer relationship — because a negotiated rate belongs to the account, not to the address. Rate modifiers handle after-hours, weekend and emergency without a second card for each.

📕

Price books and tiers

What a part costs and what it sells for, with tiers for the accounts that have earned one. An override on a single part is possible and is recorded as an override rather than as the price.

📈

Markup bands

The schedule every shop actually runs and almost none writes down: cheap parts carry more, expensive parts carry less. Bands, in a schedule, applied consistently instead of from somebody’s head.

The pricing setup screen: rate cards, price books, price tiers and markup bands.

Rate cards, price books and markup bands, all configuration.

And money is money. Stored to four decimal places as a decimal, never as a floating-point number. That sounds like an implementation detail until you meet a system where a total is 2441.5999999999999 and the reconciliation is off by cents nobody can find.

The catalogue and the supply houses

One catalogue, whether the part is being quoted, bought, fitted or counted. So the same item has one identity across the estimate, the purchase order and the van.

Parts

Code, description, category, cost and price — and each supplier’s own code for the same item alongside, because two supply houses have never agreed on a part number in the history of the trade.

⚠ Resist “Misc part” as a habit. It is the line that makes stock counts meaningless and margins unknowable, and it is always easier at the time.

Vendors

Who you buy from, and where — a trade counter you collect from and a depot that delivers are different addresses with different hours, and the technician needs the first one.

The parts catalogue: every part with its code, category, cost and price.

One catalogue for quoting, buying and fitting.

The suppliers screen: each vendor with its branches, terms and delivery addresses.

Suppliers, and the branch the van actually drives to.

Won, lost, and why

A quote that is decided is worth more than a quote that fades. Won or lost is recorded, and lost carries a reason from a list you maintain — price, timing, went with the incumbent, never heard back.

Which turns a pile of dead quotes into the only honest answer to “why are we not winning commercial work in the west zone?”

Most systems let a quote expire quietly. That is comfortable and it costs you the one piece of information you would actually have paid for.

And the field half of it

The office is one end. The other end is a technician standing in front of the thing.

A finding on a preventive maintenance visit — photographs of the failed part, readings off the nameplate — raises an event, and the estimator’s queue lights up with the evidence already attached. That is the gap every field service company loses money in, closed with a rule instead of a phone call.

In build The guided estimator — madlib screens that walk a reviewer through the quote before it goes out, with prior-art pricing and the checks that stop things being missed. The documents, the pricing and the decision are shipped; the walkthrough on top of them is not.