Importing a rate library means loading your priced items, usually from Excel or CSV, into the software or spreadsheet that builds your bill of quantities, so each measured item picks up a rate without retyping. Done well, it takes a clean file, consistent item descriptions, mapped columns and a check of every rate against its source and date. Done badly, it copies years of stale or duplicated rates into a live tender. This guide covers the file preparation, the mapping, the checks, and the extra step needed for materials you buy from overseas, where duty and import VAT change the rate.
TL;DR
- Clean the source file before importing: one row per item, one unit per item, no merged cells, no blank rate cells.
- Map every column deliberately: reference, NRM2 work section, description, unit, rate, rate date and source.
- Keep the rate date and origin with each rate, so you can see what is out of date after the import.
- For imported materials, build the rate from the landed cost: goods value, freight, insurance, any customs duty, then import VAT where it applies.
- Test the import on a small sample bill and reconcile totals before the library goes near a live project.
Table of Contents
- What a rate library is, and why importing it goes wrong
- Step 1: Audit the source file
- Step 2: Structure the file for import
- Step 3: Map the columns and run a test import
- Step 4: Check rates against source and date
- Importing rates for materials you buy from overseas
- Step 5: Keep the library maintained after import
- Where drawings and rates meet
- Common import mistakes to avoid
- FAQ
- Sources
What a rate library is, and why importing it goes wrong
A rate library is your reusable set of priced items: a description, a unit of measurement, a rate, and ideally some record of where the rate came from. Most small QS and builder teams already have one, spread across old tender spreadsheets, supplier quotes and a few trusted price books.
Importing it goes wrong for predictable reasons:
- Mixed units. The same item appears as m2 in one row and nr in another.
- Descriptions that cannot be matched. "100 mm blockwork" in one file, "Blockwork, 100mm, dense" in another, so a search finds one and misses the other.
- Undated rates. Nobody can tell whether a figure is from last month or from three years ago.
- Composite rates with no build-up. A single number covers labour, plant and material, and nobody knows which part moved.
- Duplicates. The import brings in three rates for one item and the estimator picks whichever appears first.
None of these is a software fault. They are data problems that the import simply makes visible, usually at the worst moment.
Step 1: Audit the source file
Before you touch any import tool, open the file and decide what is worth keeping. A rate you would not use on a live tender should not be imported.
- Remove retired items. Delete rows for suppliers you no longer use and specifications you no longer build.
- Resolve duplicates. Where two rates exist for one item, keep one and note why.
- Fix the units. Each item gets one unit, written the same way throughout (m, m2, m3, nr, kg, item).
- Split the build-up where you can. Separate labour, materials, plant and subcontract elements if your records allow it. A split rate is far easier to update later than a lump sum.
- Add a date and a source to every row. Even "supplier quote, March 2026" is enough to begin with.
If you are starting from scratch rather than from an old spreadsheet, our guide to building an NRM2 aligned custom rate library covers how to structure one for a small team.
Step 2: Structure the file for import
Most tools that accept a rate import want a flat table: one header row, one item per row, and no formatting tricks. Save as CSV or a plain .xlsx with a single sheet.
A workable column layout looks like this:
| Column | Purpose | Example |
|---|---|---|
| Item code | Your own unique reference | WL-0142 |
| Work section | NRM2 work section the item sits in | Masonry |
| Description | Short, consistent, searchable text | Blockwork wall, 100 mm, dense concrete block |
| Unit | One unit per item | m2 |
| Labour rate | Per unit | Entered as a number, no currency symbol |
| Material rate | Per unit | Entered as a number, no currency symbol |
| Total rate | Per unit | Formula result pasted as a value |
| Rate date | When the rate was last confirmed | 2026-03 |
| Source | Where the rate came from | Supplier quote, own tender return |
A few habits save hours:
- Keep currency symbols and the word "per" out of rate cells. Software reads numbers, not text.
- Use a full stop as the decimal separator and no thousands separators in a CSV, to avoid regional parsing errors.
- Paste formulas as values before saving.
- Keep descriptions free of line breaks and stray commas, or wrap them in quotes.
The point of a shared structure is consistency. Our piece on six fields to standardise BoQ items goes through the fields that make items comparable between projects and between people.
Step 3: Map the columns and run a test import
Most import screens ask you to match your column headings to the fields the system expects. Do this by hand, even if the tool offers automatic matching.
- Import only 20 to 50 rows first, covering several work sections and a mix of units.
- Check that units, rates and descriptions landed in the right fields, with no truncated text.
- Look for rows that were skipped or merged, and find out why.
- Build a small sample bill using the imported items and compare its total with the same quantities priced by hand from your original file.
- Only when the totals reconcile, import the rest.
Keep the original file unchanged and archived with the date of import. If a rate is queried later, you want to be able to show what you loaded.
Step 4: Check rates against source and date
An import copies data. It does not make that data current. After loading, review the library by age and by volatility.
- Sort by rate date. Anything older than your own review cycle is flagged for re-quoting.
- Start with volatile items. Materials that move with the market, such as steel, timber and insulation, need checking more often than a fixed subcontract price.
- Compare with a second source. Check a sample of rates against a recent supplier quote or a published price book you subscribe to.
- Record the review. A "reviewed by" and date field costs nothing and protects you if a pricing assumption is questioned.
We cover the update process in more detail in how to update rates in a BoQ, including how to handle a live bill when a rate changes mid-tender.
Importing rates for materials you buy from overseas
Some rate libraries include goods that are shipped in: specialist cladding, tiles, ironmongery, sanitaryware, electrical equipment. For these, a supplier's ex-works price is not your rate. The rate you import should reflect the landed cost, and that can include customs duty and import VAT.
The usual build-up runs in this order:
- Goods value (the price you pay the supplier).
- Freight and insurance to the UK.
- Customs duty, if any applies.
- Import VAT, if you cannot recover it or if your pricing is VAT-inclusive.
- Handling, delivery to site, wastage and your own allowances.
Finding the duty rate
The duty depends on the commodity code of the product. The UK Integrated Online Tariff lets you search for your product, find its commodity code and look up duty and VAT rates. Commodity codes are reference numbers used on customs declarations, so it is worth getting the code right before you put a duty figure in your library.
If the classification is uncertain, importers into Great Britain can apply for an Advance Tariff Ruling, and importers into Northern Ireland or the EU can apply for a Binding Tariff Information decision, which gives a legally binding decision on the commodity code, as set out in the GOV.UK guidance on applying for a decision.
Origin changes the rate
The country the goods come from can change what you pay. The UK Global Tariff applies to goods imported into the UK unless the country has a trade agreement with the UK, an exception applies, or the goods come from a country covered by the Developing Countries Trading Scheme. Goods claiming a preferential tariff need proof of origin, and origin is also used for measures such as anti-dumping duties, according to the Trade Tariff's explanation of origin.
For a QS, the practical consequence is that two identical-looking items from different countries can carry different duty. Record the country of origin alongside the rate.

Quotas, suspensions and additional duties
Some goods are covered by a tariff quota, a temporary suspension or an additional duty. The Trade Remedies Authority investigates dumped and subsidised goods and surges in imports, and the GOV.UK tariff guidance points to where those measures are listed. Suspensions also change: the Customs (Tariff and Miscellaneous Amendments) (No. 3) Regulations 2026 introduce exceptional 0% duty suspensions on 135 commodity codes until 31 December 2028. Whether one touches a construction product is a question for the commodity code lookup, not an assumption.
Customs duty versus import VAT
The two are calculated differently. Customs duty can be a percentage of the value (ad valorem), a fixed amount per quantity (specific), or a combination of both (compound), as described in the explanatory notes to the Taxation (Cross-border Trade) Bill. Import VAT is then worked out on the customs value, which includes costs such as transport and insurance, plus any duties and levies. The Customs Declaration Service adds declared duties, levies and additional costs to the overall value when it calculates the VAT due, per the GOV.UK guidance on valuing goods for import VAT.

In other words, duty goes into the VAT base. If you are checking your spreadsheet arithmetic, a short refresher on the VAT calculation formula shows how to add or remove VAT from a figure using one plus the rate.
VAT treatment depends on your VAT registration and the type of work, so confirm it with your accountant before you decide whether the library holds net or gross rates. Most QS libraries hold net rates and apply VAT at the summary stage.
Check the rate is current for your dates
Duties, quotas and classifications change over time. The Trade Tariff service lets you enter the specific date you plan to trade the goods, so you can check the rate that will apply then, as noted on the commodity lookup page. For a long programme with deliveries months after tender, check the date of delivery, not the date of pricing, and state any duty assumption as a qualification in your tender.
Step 5: Keep the library maintained after import
The import is the start. A library stays useful when it has an owner and a routine.
- Name one person responsible for the library, even in a three-person firm.
- Set a review cycle by item type: market-sensitive materials more often, stable items less often.
- Log changes with the old rate, new rate, date and reason.
- Retire rates instead of overwriting them, so a past tender can still be explained.
- Feed tender returns back in. Won and lost prices from subcontractors are the best evidence you have.
If your estimating tools are part of a wider review, the comparison in our guide to builder estimating software for UK SMEs sets out the questions worth asking about rate handling.
Where drawings and rates meet
A tidy rate library only helps if the quantities it prices are measured properly. We are developing QuantiFlow to read construction drawings and produce a draft Bill of Quantities for a quantity surveyor to review and sign off. It is in development, and the judgement over every item and rate stays with you.
Common import mistakes to avoid
- Importing straight over an existing library without a backup.
- Letting the tool auto-match columns and not checking the result.
- Mixing net and gross rates in the same file.
- Loading overseas materials at the supplier's price without duty, freight or import VAT considered.
- Leaving out the rate date, so nothing can ever be flagged as out of date.
- Skipping the sample bill reconciliation.
FAQ
What file format is best for importing a rate library?
CSV is the safest choice because it carries no formatting, formulas or hidden sheets that can confuse an import. A single-sheet .xlsx also works in many tools. Whichever you choose, keep one header row and one item per row.
Should my rate library hold net or VAT-inclusive rates?
Most UK QS libraries hold net rates and add VAT at the summary stage, because the VAT treatment can differ between projects. Your accountant can confirm what applies to your VAT position. Mixing the two in one file is the main thing to avoid.
How do I find the duty on an imported product?
Search for the product in the UK Integrated Online Tariff, confirm its commodity code, then check the duty and VAT rates for the date you expect to import. If the classification is unclear, an Advance Tariff Ruling gives a legally binding decision for Great Britain.
How often should I review imported rates?
There is no fixed rule, so set a cycle that suits your work. Review market-sensitive materials more often than stable items, and re-quote anything whose rate date is older than your own limit. Record each review with a date.
Sources
- UK Integrated Online Tariff: look up commodity codes, duty and VAT
- Apply for a Binding Tariff Information decision, GOV.UK
- Tariffs on goods imported into the UK, GOV.UK
- What is origin and why is it important, UK Trade Tariff
- The Customs (Tariff and Miscellaneous Amendments) (No. 3) Regulations 2026
- Taxation (Cross-border Trade) Bill explanatory notes
- How to value goods for import VAT, GOV.UK
Recommended
- Rate Build Up vs Library Rates: How UK QSs Price Risky BoQ Items
- Build an NRM2 Aligned Custom Rate Library for UK SME QS Teams
- How to Update Rates in a BoQ: A Guide for UK QSs
- Speed up BoQ production in nine steps for UK SME QSs
This article is for general information only and is not professional, legal or commercial advice. Quantity surveying decisions should be taken by a qualified professional with reference to the specific project, drawings and contract in question. Content is produced with AI assistance and reviewed before publication. QuantiFlow Ltd accepts no liability for reliance on it.
