Schedule of works

Send us the spreadsheet they sent you.

Upload a client's schedule of works with an empty rate column. BuiltUp prices every item and gives you back the same workbook, same sections, same item numbers, same wording, same order. Your original is never modified.

Start free

No card. Three AI estimates on the free plan, enough to test it on a job you already know the answer to.

At a glance

Four things, before you read any further.

Their workbook, handed back

Same sections, same item references, same wording, same order. Column widths, merged cells and their logo block are all still theirs, because it is a copy of their file rather than a rebuild of it.

Almost any spreadsheet goes in

xlsx, xlsm, xlsb, xls, OpenDocument, Numbers, CSV and TSV. It finds the header row wherever it is, under the title block and the blank rows, and works out which column is the rate.

Priced off your rate book

Your materials, your labour roles, your markup. If yours are not loaded yet, 27 UK trades across twelve regions load in one click and get replaced as you go.

Gaps stay visible

A line it cannot stand behind comes back blank, with the reason written in the comments column beside it. Never a plausible number, and never quietly dropped from the schedule.

The same document, with the rate column filled in.

Not a report about their schedule. Their schedule. The export opens the workbook you uploaded, writes only the rate, total and comment cells, and closes it again, which is why their headings, their column widths and their formulas are all still exactly where they left them.

As it arrived

Their workbook. Rate and total columns empty, waiting on you.

Schedule of Works, Flats 1–4, refurbishment

Tender return · Section 11–12 of 17

A client's schedule of works as it arrives, with the rate and total columns empty.
ItemDescriptionQtyRate £Total £
11.0   Internal finishes
11.1Prepare and make good plaster to walls; fill cracks and rake out84.00
11.2Two coats emulsion to walls and ceilings, colour to client132.00
11.3Renew softwood skirting 19 × 144mm; prime and paint46.00 m
12.0   Sanitaryware
12.1Remove existing WC suite; set aside for disposal2 nr
12.2Supply and fit close-coupled WC; connect to existing soil2 nr
12.3Contractor-designed alteration to below-ground drainage1 item
Section total  =SUM(H7:H78)

As it comes back

A copy, priced against your rates. One line left blank on purpose.

Schedule of Works, Flats 1–4, refurbishment

Tender return · Section 11–12 of 17

The same schedule of works after pricing, with the rate and total columns filled in and a comment against every line.
ItemDescriptionQtyRate £Total £
11.0   Internal finishes
11.1Prepare and make good plaster to walls; fill cracks and rake outPlaster, sundries, labourer 1.1h/10m²84.00 14.501,218.00
11.2Two coats emulsion to walls and ceilings, colour to clientTrade emulsion, painter 0.18h/m²132.00 6.20818.40
11.3Renew softwood skirting 19 × 144mm; prime and paintSoftwood, fixings, carpenter 0.35h/m46.00 m22.801,048.80
12.0   Sanitaryware
12.1Remove existing WC suite; set aside for disposalPlumber 0.75h each2 nr48.0096.00
12.2Supply and fit close-coupled WC; connect to existing soilSuite, connectors, plumber 2.2h each2 nr315.00630.00
12.3Contractor-designed alteration to below-ground drainageNot priced, contractor-designed, provisional. Needs your figure.1 item
Section total  =SUM(H7:H78)3,811.20

An illustration of the mechanism, not a customer's document and not evidence of accuracy. The one real outcome we hold is described below, and it is one job.

What you get back.

Four things, and every one of them is a property of how the export is built rather than a promise about how carefully we work.

Their document, not ours.
What comes back is a copy of the workbook you uploaded, same sections, same item numbers, same wording, same order. Column widths, merged cells, their headings, their logo block and their borders are all still theirs, because nothing was rebuilt. Only the rate, total and comment cells are written.
Their original is never touched.
The file you upload is kept exactly as it arrived and is never written back to. The priced copy downloads under its own name, next to it. There is never a version of the client's document that has quietly changed underneath them.
Nothing is guessed.
A line it cannot price comes back blank, with the reason written in the comments column beside it. It is not filled with a plausible number and it is not dropped from the schedule. A wrong rate on a tender is worse than a gap you can see.
Three ways to read it.
The working estimate, the same numbers laid out as the document you uploaded so you can read across against theirs, and a comparison against your own estimator's figure. The variances are kept apart and never averaged. They answer different questions.
The estimate builder in BuiltUp, open on a washroom refurbishment priced against a client's schedule of works. The totals bar reads materials £22,993.23, labour £33,139.18, cost £47,569.84, net £56,132.41 and profit £8,562.57 at 15.3%, with a gross of £67,358.89. Below it a Preliminaries section and a Measured Works, Washrooms section, each a dark band carrying its own subtotal, with ruled rows underneath broken into material and labour and a Site Manager rate against the labour line.

The working estimate the handback is written from. Net, VAT and grand total at the top, every revision kept with the figure it was accepted at, and each line opened up into the material and the labour behind it.

One real job

A 33-item schedule, priced to within about 6% of their own estimator.

A client sent a 33-item schedule of works. BuiltUp priced it and handed back the same spreadsheet. Their sections, their item numbers, their wording. The total came in within about 6% of the figure their own estimator had reached by hand.

One job, not a benchmark, and it is not being presented as one. Check it against a job you already know the answer to. That is the only test that will convince you, and it is why the free plan exists.

One file goes out. Two come back.

The whole argument of this page is that your client's document survives the trip. That is easier to see than to read.

  1. What you upload

    Washroom_Refurb_SoW.xlsx33 items, in their sections. Rate, total and comments columns empty.
  2. What BuiltUp does

    • Finds the header row wherever it is, and maps their item, description, quantity, unit, rate, total and comments columns.
    • Prices every line against your own material catalogue and labour roles, in source order, never re-sorted.
    • Leaves what it cannot stand behind blank, with the reason written beside it.
  3. What you end up with

    Washroom_Refurb_SoW - priced.xlsxTheir layout, their wording. Only the rate, total and comment cells written.
    Washroom_Refurb_SoW.xlsxYour upload, exactly as it arrived. Never written back to.

Three steps, and what it reads.

  1. Upload the workbook

    Almost any spreadsheet: .xlsx, .xlsm, .xlsb, .xls, an OpenDocument .ods, a Numbers file, a CSV or a TSV. It finds the header row wherever it is. Most schedules have a title block, a project name and a blank row before the columns start, and maps the item reference, description, quantity, unit, rate, total and comments columns from whatever they happen to be called. A schedule with no header row at all is read positionally rather than refused.

  2. It prices every line against your rates

    Section headings, item references like 11.2 or 17.9, notes and continuation lines are all kept, in source order. Order is never inferred and never re-sorted, because the whole point is that you can read the return against the original. Priced lines carry the materials and labour behind the figure, so you can see what the number is made of.

  3. Download the priced copy

    Excel workbooks, .xlsx and .xlsm, come back filled in, in their own layout, under a name of their own: your file with “-BuiltUp-Estimate” on the end, so it can never be mistaken for theirs in a downloads folder. Cells carrying a formula are skipped rather than overwritten, and their =SUM() recalculates the moment they open it. Anything else is read and priced on screen and exports from there, but only an Excel workbook can be handed back as itself.

The three things people ask before they upload.

What if my rates aren't in there yet?

You are not starting from an empty rate book. BuiltUp ships regional labour benchmarks in pounds, 27 trades across twelve UK regions, with a regional index applied, so a London day rate and a North East day rate are not the same number. You load them in one click from the Labour Rates settings page and the region comes off your postcode. There is a small set of starter materials for common trades as well. The first estimate has real figures behind it before you have typed a single rate of your own. Every rate you load afterwards makes more of it yours and less of it ours, and anything you have edited is never overwritten. This is the objection that stops most people trying estimating software, and it is the one that is actually solved.

What if it can't price a line?

It leaves the rate cell blank and writes “not priced, needs further information” in the comments column next to the item. Provisional sums, prime cost sums, contractor-designed items and anything genuinely ambiguous come back flagged rather than filled. If their schedule has no comments column, the cell is left empty rather than filled with a number to make the sheet look complete. Either way you can see exactly which lines need your judgement before it goes anywhere near a client.

What happens to my client's file?

A schedule of works is a confidential commercial document, so it is treated as one. The upload is kept privately and is never modified. Nothing is published, nothing is shared, and what you download is a separate copy under a separate name. If you want the detail on hosting, retention and deletion before you upload a client's tender, ask us and we will tell you what is actually true rather than what sounds reassuring.

FAQ

Before you upload the workbook.

File types, what happens to the original, and what it does when it can't price a line.

Got a question we missed? Email support@builtup.io.

Upload the last schedule you priced by hand.

You already know what the answer should be. That is the best possible first test.

Start free

No card. One active project free, with no expiry.

Or set it up with us, 30 minutes, screen-shared