The quote engine itself: costs in, markup applied once, and a record the client answers.
Quotes and client estimates. 5 questions answered below, each with the arithmetic behind it and the limits of what the tool decides. Open the Client Estimate and Quote Engine tool.
A client estimate is where a calculation becomes an offer. The engine has already produced the quantities; this is the layer that turns them into lines with prices, a total, a validity date and a document a client can accept. It is deliberately the least clever part of the system, because an offer has to be stable. That stability is why an approved quote stops changing. Once a client has agreed a number, editing it in place would mean the document they accepted and the document in the system no longer match. The engine recalculates when the job changes, the quote records what was agreed, and a revision becomes a new document with its own date rather than an edit to a settled one.
A job of four lines, masonry, concrete, roofing and labour, totals from the quantities the engines produced and the rates you set. Add transport as a single line if you charge it, and leave tax out where no rule applies, so the total is the sum it appears to be. Send it, and the client sees those lines in that order with that total. If they ask for a cheaper roof covering, the job is re measured, a new draft is produced, and the approved original stays as it was, which is what makes a comparison possible and an argument shorter.
From the priced lines. Each line carries a quantity from a calculator and a rate you set, and the total is their sum, not a rate applied to a floor area. Transport and tax appear as their own lines when they are configured, so the arithmetic is visible at every step. That structure is deliberate: a client who queries a total can be shown which line produced it, which is not possible with a single figure carrying an undisclosed loading.
A draft does, because a quote should follow the job. Change a dimension and the quantity changes, so the draft recalculates and the total reflects what is now being offered. An approved quote does not, because it is a record of an agreement rather than a working document. That split is the whole reason the system distinguishes the two states, and it is what allows a revision to be compared against the original.
Because the client agreed to a specific document. Editing an approved quote in place would leave the copy they hold and the copy you hold describing different jobs, which is where disputes start. If the scope changes, the job is re measured and a new quote is issued with its own validity date, so the history shows what was offered, what was accepted and what changed. The approved original stays visible, which is the point of keeping it.
The same lines and the same total, in the order they appear, with the validity date the quote carries. There is no separate client view that rounds or hides a line, and no price that appears only on one side. If transport or tax was not included, the document shows the total without it, which is more honest than an inclusive figure that nobody can decompose when a client asks why the number moved.
Only where they are configured. Transport is a line you add when you charge it. Tax is not determined by the engine: where a rule applies to your market it appears with its basis stated, and where none applies the quote shows a total without tax and says so. That refusal is deliberate, because an invented percentage produces a number that looks final, is wrong for the jurisdiction, and is very hard to correct once a client has accepted it.