All documentation
Guides

Quoting and estimating

Pricing a job up from what it costs you, the difference between margin and markup that quietly costs builders thousands, and what happens when somebody says yes.

Updated 17 September 2026

A quote is the most consequential thing a small builder writes. Price it too high and the year is quiet; too low and you work eight months for nothing and find out in January. BuildFlow will not tell you what to charge — nothing can — but it will stop three specific mistakes that cost real money and are almost invisible while they happen.

Quoting is on Pro and above.

Margin is not markup

This one is worth reading even if you skip the rest.

A job costs you £40,000. You want 20%. So you add 20% and quote £48,000. That feels like a 20% margin. It is not: £8,000 of £48,000 is 16.7%. To actually keep 20% you would have to charge £50,000 — you are £2,000 short, on that job, and on every job you have ever priced that way.

You want to keepSo add this to your costsAdding the first number instead leaves you
10%11.1%9.1%
15%17.6%13%
20%25%16.7%
25%33.3%20%
30%42.9%23.1%
50%100%33.3%

The error survives because both numbers are "20%", the resulting price looks perfectly plausible, and the shortfall never appears as a line anywhere. It just shows up as a business that is busier than it is profitable.

BuildFlow works in margin

You tell it what you want to keep, and it works out the price by dividing rather than adding. The box shows both numbers together — set 20% and it says "that is 25% added to your costs". Markup is never stored, because margin is the number you actually meant.

Building the price up

From an enquiry, or a job: Price it up. Then add lines — but you enter what each one costs you, never what you are charging. BuildFlow works out the charge.

That is deliberate and it is the second mistake it prevents. A price typed straight in has no margin behind it, so at the end of the job nobody can answer whether it made money — and the next quote for similar work is a guess built on a guess.

Kind of costWhat it is for
LabourYour own people. Days × day rate is usually the honest way in.
MaterialsWhat you buy.
SubcontractorWhat somebody else charges you. Their price, not what you pass on.
Plant and hireScaffold, diggers, skips, the welfare unit.
OtherEverything else — permits, surveys, waste.

The kind of cost is yours and never prints. It is there so you can see where the money on your jobs actually goes, which is the answer to "why do my extensions make less than my lofts".

Each line can carry its own margin, because most builders really do price labour and materials differently. Leave it blank and it uses the quote's default.

Included, allowance, not included

Every line is one of three things, and the customer sees which.

What it means to themWhat it means to you
IncludedCovered by this price.Priced and in the total.
AllowanceA sum set aside. The final figure is whatever it actually costs, agreed before ordering.A provisional sum. In the total, but not a promise.
Not includedNot covered.Printed with no price, so nobody can say they assumed.

An allowance read as a price is the third mistake

It is the commonest way a final bill shocks a homeowner: £7,000 was set aside for kitchen units, they chose £11,000 of units, and nobody said the word "allowance" out loud. BuildFlow prints it on the line itself and again in its own section, in plain English, because small print at the bottom is not saying it.

Exclusions are worth more effort than they look. The argument at the end of a job is almost always about something the customer assumed was in and you assumed was out. Writing "taking up the existing patio — happy to price separately" costs you thirty seconds now and saves a fortnight of bad feeling later.

Quotation or estimate?

These are different promises in law, they are used interchangeably on building sites, and the customer is the one who finds out.

What you are committing to
QuotationA fixed price. Accept it and that is what the work costs. Changing it means a variation, priced and agreed.
EstimateA considered guess. The final figure can move. Not something a customer can hold you to — but also not something that wins trust if it moves a lot.

BuildFlow asks which when you start, prints it in full across the top of the document, and says what it means in a sentence the customer will actually read. If you genuinely cannot fix the price — unknown ground, a roof nobody has been up on — say estimate and say what would move it. That is a stronger position than a quotation you have to renegotiate.

VAT

Three rates apply to domestic building work, and BuildFlow does not decide which is yours.

RateRoughly when
20% standardMost work on an existing home. If you are not sure, it is this.
5% reducedA property empty for two years or more, or a conversion that changes the number of dwellings. Conditions apply and you need evidence on file.
0% zero ratedA genuinely new dwelling, and certain work for disabled people. Rare on refurbishment.

The picker states the test and records your answer. It will not guess, for the same reason it will not decide whether a job needs an F10: the test turns on facts the app cannot see, and the wrong rate is an assessment plus interest years later. HMRC Notice 708 is the authority, and it is free to read.

VAT is worked out per line and then added up, which is the same thing invoicing does — so the quote and the invoice that follows it agree to the penny rather than drifting by however many lines there were.

Sending it

Send it assigns the next number in your own series and freezes the wording. From that point it cannot be edited, by you or by us. If it needs to change, you revise it: a new version starts from the current wording, the old one is marked superseded, and both stay on the record.

A draft has no number

Numbers are assigned when you send, not when you start. Open four and bin three and you have not burned three numbers out of your series.

How long the price holds

A quotation has to say. Timber, insulation and labour all move, and a fixed price with no end date is one somebody can accept next spring at last autumn's prices with nothing you can say about it.

BuildFlow defaults to thirty days when you send, warns you on the quote and in the list when a price has a week left, and marks it expired when the date passes. That last one matters more than it sounds: a sent quote *feels* finished, so it is the thing a builder is least likely to chase — and most jobs at that stage are won by the phone call nobody makes.

When they say yes

Press They accepted. This is the one action in BuildFlow that turns a price into a contract, and it does four things at once:

  1. 1.Starts the job, if it was quoted against an enquiry — with the address already filled in.
  2. 2.Sets the contract sum to the net total, and the VAT rate with it.
  3. 3.Writes the scope of works from your lines, including the exclusions and keeping allowances marked as allowances.
  4. 4.Marks the enquiry won, and supersedes any other quote still out for that job.

From there everything else in BuildFlow is already pointing at the right numbers. A change the customer asks for is a variation measured against that contract sum. An invoice comes from the payment schedule. The handover pack knows what was agreed. Nothing is retyped and nothing can drift, because there is only one set of figures.

The contract sum is net

Not the VAT-inclusive total. BuildFlow keeps the rate in its own column and everything downstream assumes it — writing the gross figure in would inflate the contract by a fifth and make every payment stage and variation wrong in the same direction, which is the kind of error that looks like a good month.

Acceptance is recorded by an owner or admin, because it sets the contract sum and can create a project. An employee can build the quote and send it.

When they say no

They said no, and write down what they told you. It takes a line and it is the only thing that makes a year of lost quotes worth anything — the same argument as the lost-enquiry reason, and for the same reason: too expensive and too slow need opposite fixes.

Who can see what

Quotes carry your costs and your margin on every line, which makes them the most commercially sensitive thing in BuildFlow.

  • Owners, admins and employees see everything, including the build-up.
  • Subcontractors see nothing. They are on your company's books but a subbie who can see what you add to their price is a subbie you are about to lose.
  • Clients have no access at all — not even to a quote addressed to them.

That last one is deliberate rather than an oversight. A quotation is a document you send, not a screen you share, and most are written before the customer is in BuildFlow at all. Giving them a view would mean trusting every query in the app never to show a column — one slip away from a homeowner reading your margin on their own extension. They get the PDF; you record what they said.

What it will not do

  • It will not price the work. No rate library, no square-metre guesses. Your costs are yours and a national average would be worse than useless on your street.
  • It will not decide your VAT rate.
  • It will not send the email. Download the PDF and send it the way you normally would, from your own address, where the reply lands in your own inbox.
  • It will not chase the customer. It tells you the price is running out. The call is yours.

FlowAI can read a quote, not write one

Ask what is still out, what you won, or what margin you priced a job at, and it answers from the record. It will not suggest a price, a margin or a VAT rate — those are yours, and a confident wrong answer about any of them is expensive.

Try it on a real job

The free plan runs one project end to end — the fastest way to find out whether any of this fits how you work.

Quoting and estimating — BuildFlow documentation · BuildFlow