A BOQ in Revit is not one button. Revit has no “Bill of Quantities” command, but everything a BOQ is built on is already in your model: counts, lengths, areas and volumes. This guide shows how to create a BOQ in Revit 2027 with two schedule types, group it by trade, add a cost column, and export it to Excel for pricing. It also shows where Revit’s numbers and a quantity surveyor’s numbers will not match.
Quick answer
To create a BOQ in Revit, go to View tab > Create panel > Schedules. Use Schedule/Quantities for counts, lengths and areas of elements, and Material Takeoff for the area and volume of each material.
Then export each schedule with File > Export > Reports > Schedule and add units, rates and amounts in Excel. Revit gives you the quantities. The priced BOQ is finished outside it.
Next in the free course
Documentation
Schedules and quantities are part of the documentation module. See the other lessons that turn a model into a drawing set.
Open this module in the free course
Free, tick off lessons as you go. Want a Revit file to follow along? See the practice files ($5.5/month on Patreon).
What Is a BOQ in Revit?
A Bill of Quantities (BOQ) is a list of every work item in a building. Each line has a description, a unit, a measured quantity and a rate. Contractors price it, and clients use it to compare bids.
Revit is very good at the quantity column and weak at the other three. Three terms get mixed up, so here is how they relate:
| Term | What it is | In Revit |
|---|---|---|
| Quantity takeoff (QTO) | Measuring the model: how many, how long, how much area and volume. | Schedule/Quantities and Material Takeoff. Live and always current. |
| Bill of Materials (BOM) | A list of materials and products to buy. | A Material Takeoff grouped by material name. |
| Bill of Quantities (BOQ) | Work items by trade, with description, unit, quantity, rate and amount. | Quantities from Revit. Wording, measurement rules and rates from you or the quantity surveyor (QS). |
So the honest workflow is Revit measures, Excel prices. For a student project or an early design estimate, that is enough. For a tender BOQ, your Revit quantities are the surveyor’s starting point, not the final document.
How to Create a BOQ in Revit: The 5 Steps
- Schedule the elements. Use Schedule/Quantities for doors, windows, fixtures and anything counted or measured by length.
- Take off the materials. Use Material Takeoff for concrete, blockwork, plaster, tiles and paint.
- Group like a BOQ. Sort by Assembly Code or Keynote so the lines fall into trade sections.
- Add a cost column if you want a quick total inside Revit. This step is optional.
- Export to Excel and add units, rates and the items Revit cannot measure.
Each step is explained below. First, one check that decides whether the numbers can be trusted.
Before You Schedule: Model It the Way It Is Built
A schedule can only count what is in the model. Most “Revit gave me wrong quantities” stories are modelling problems. Check these four things first:
- Real materials on every layer. A wall type whose layers are all “<By Category>” reports one anonymous volume. Give the block, plaster and insulation their own materials.
- Separate elements where trades separate. If floor finishes are priced apart from the slab, model them as a separate floor, or at least as a separate layer with its own material.
- Clean joins. Where walls, floors and columns overlap, the join decides which element owns the shared volume. Bad joins mean concrete counted twice or not at all.
- Phases set correctly. Existing walls you are keeping should not end up in the new-build quantities. See Phases in Revit.
Step 1: Count and Measure Elements with Schedule/Quantities
Use a normal schedule for anything measured by count, by length, or by the element’s own area: doors, windows, sanitary fixtures, wall areas by type, railing lengths. If you have not made one before, start with how to create a schedule in Revit, then:
- Go to the View tab > Create panel > Schedules drop-down > click Schedule/Quantities, then pick the category (for example, Walls).
- Add the fields Type, Count, Length, Area and Volume. Add Assembly Code or Keynote if you use them.
- On the Sorting/Grouping tab, sort by Type and untick Itemize every instance. Each wall type collapses into a single line.
- On the Formatting tab, select Length, Area and Volume in turn and set Calculate totals, so each line shows the total for that type.
You now have lines such as “Wall Type A: 412 m²”. Repeat for each category you need. Doors and windows only need Type and Count.
Step 2: Revit Material Takeoff for Areas and Volumes
A wall type is not one item in a BOQ. Blockwork, plaster on both faces and paint are priced separately. A Revit Material Takeoff breaks every element into the materials it is made of. It is the closest thing Revit has to a BOQ engine.
- Go to the View tab > Create panel > Schedules drop-down > click Material Takeoff (Autodesk help).
- In the New Material Takeoff window, choose a category (Walls, Floors, Roofs and so on) or <Multi-Category> to get everything in one table. Click OK.
- Add Material: Name, Material: Area and Material: Volume. Add Family and Type if you want to see which elements each material comes from.
- On the Sorting/Grouping tab, sort by Material: Name, tick Grand totals, and untick Itemize every instance.
- On the Formatting tab, set Calculate totals for Material: Area and Material: Volume. Click OK.
The result is one line per material, for example “Concrete C30: 186.4 m³” or “Gypsum plaster: 1,240 m²”. Revit lists the takeoff under Schedules/Quantities in the Project Browser.
Use area for finishes (plaster, tiles, paint, cladding) and volume for structure (concrete, blockwork). Note the difference between the two area fields: a wall’s Area is one face, while Material: Area counts each layer, so plaster on both sides is measured twice. That is what a BOQ needs.
✨ Tip: To measure only painted surfaces, add the Material: As Paint field. It separates materials applied with the Paint tool from the materials in the wall layers.
✨ Tip: A curtain wall reports no material quantities of its own. Schedule the Curtain Panels and Curtain Wall Mullions categories instead. Learn more about curtain walls
Step 3: Group the Schedules Like a BOQ
A surveyor reads a BOQ by trade section: substructure, frame, masonry, finishes, openings. Your schedules should follow the same order, or someone will spend a day re-sorting them.
- Group by Assembly Code. This is the Uniformat classification built into Revit types. Sorting by it gives you trade-style sections automatically.
- Or group by Keynote if your office uses a keynote file. The keynote text then becomes your item description. See Keynotes in Revit.
- Use the material’s Description field for the wording you want in the BOQ, and schedule it next to the name.
- Tick Include elements in links on the Fields tab if the structure or another building sits in a linked model. Without it, the quantities stop at the edge of your file.
- Name the schedules by section, for example “BOQ 03 Masonry”, so they sort in BOQ order in the Project Browser.
This table shows which schedule fits each kind of BOQ item:
| BOQ item | Revit schedule | Field | Unit |
|---|---|---|---|
| Concrete in footings, slabs, columns | Material Takeoff | Material: Volume | m³ |
| Blockwork and masonry | Material Takeoff (Walls) | Material: Area | m² |
| Plaster, paint, tiles, cladding | Material Takeoff | Material: Area | m² |
| Doors, windows, sanitary fixtures | Schedule/Quantities | Count, by Type | nr |
| Railings and other linear items | Schedule/Quantities | Length | m |
| Floor finishes per room | Schedule/Quantities (Rooms) | Area, Floor Finish | m² |
| Curtain walling | Schedule/Quantities (Curtain Panels, Mullions) | Area, Length | m², m |
Step 4: Add a Cost Column in Revit (Optional)
Revit can hold a rate and multiply it for you. Every type has a Cost parameter in its Type Properties, and every material has a Cost field in the Material Browser. To calculate a BOQ amount inside a schedule:
- Enter the rate in the material’s Cost field (Manage tab > Materials > Identity tab).
- Open the takeoff’s Fields tab and add Material: Cost.
- Click Add calculated parameter. Name it “Amount” and set the Type to Currency.
- Enter the formula
Material: Cost * (Material: Volume / 1 m³). For finishes, use Material: Area and 1 m². - On the Formatting tab, set Calculate totals for Amount.
The division by one unit is needed because a currency and a volume do not have matching units. Dividing by 1 m³ turns the volume into a plain number that Revit can multiply.
This is fine for a quick budget check or a student submission. For real pricing it is hard to maintain: a calculated value only sees its own row, rates change per project, and Revit has no place for labour, overheads or profit. Most teams keep rates in Excel.
Step 5: Export the Revit BOQ to Excel
- Open the schedule so it is the active view. The export command is greyed out in any other view.
- Go to the File tab > Export > Reports > click Schedule.
- Save as CSV, which is the default file type in Revit 2022 and later.
- In the Export Schedule window, set column headers to One row and untick group headers, footers and blank lines. This gives you a clean table.
- Open the file in Excel and add three columns: Unit, Rate and Amount = Quantity × Rate.
- Add the lines Revit cannot measure (formwork, preliminaries, wastage) as manual items below each section.
✨ Tip: If Excel puts everything in one column, your regional settings use a different list separator. Export again as a .txt file with a Tab delimiter and open it with Data > From Text/CSV.
Keep the Excel file as a pricing sheet that you refresh, not edit. When the design changes, export the quantities again and paste them over the old ones. Your rates and formulas stay in place. For a live two-way link, see How to Export Revit Schedules to Excel.
Why Revit Quantities and the QS’s BOQ Differ
These are not bugs. They are differences between what the model contains and how measurement standards say things should be measured. Knowing them makes your numbers easier to defend.
- Openings. Revit reports net wall area with every door and window cut out. Many measurement standards only deduct openings above a certain size, so a surveyor’s wall area can come out higher than yours.
- Overlaps. Where a slab sits on a wall, the join decides who owns the concrete. Check it once in 3D before you trust a volume.
- Layer volumes are approximate in places. Autodesk notes that Revit approximates the volume of wall layers to keep performance up. Differences show mostly where a wall has a sweep or a reveal, and at some joins.
- Things you did not model do not exist for Revit: formwork, laps, wastage, temporary works.
- Reinforcement. If the rebar is modelled, Revit 2027 calculates its mass automatically and shows it in schedules. If it is not modelled, the usual method is a kg per m³ ratio added in Excel.
- Level of detail. A concept model at massing level gives an order-of-magnitude estimate, not a tender figure. Say so in the cover note.
Revit BOQ Add-ins, Dynamo and Forma Takeoff
Schedules plus Excel cover most architects and students. If you produce a BOQ every week, three other routes save time:
- Add-ins. The Autodesk App Store lists several BOQ tools, such as Smart BOQ, UnoTool BOQ Extraction and BoQExport. They export quantities to Excel in one pass. I have not tested them, so check the Revit version and price on each listing.
- Dynamo. A Dynamo script can write schedule data into a formatted Excel template, so your BOQ layout and rates stay untouched on every update.
- Forma Takeoff. Autodesk Takeoff was renamed Forma Takeoff in March 2026, when Autodesk Construction Cloud became Autodesk Forma. It lets estimators run 2D and 3D takeoffs and apply unit costs in one place (Autodesk). It is built for estimating teams, not for a single designer.
All three depend on the same thing: a Revit model with real materials and clean joins. More on the bigger picture in Will Forma Replace Revit?
BOQ in Revit FAQs
How do I create a BOQ in Revit?
Create Schedule/Quantities views for counts and lengths, and Material Takeoff views for material areas and volumes. Group them by Assembly Code or Keynote, export each one with File, Export, Reports, Schedule, then add descriptions, units and rates in Excel.
Can Revit generate a BOQ automatically?
Revit generates the quantities automatically and keeps them up to date as the model changes. It does not generate the full priced BOQ. Item wording, measurement rules and rates are added in Excel, in an add-in or in an estimating tool.
How do I calculate BOQ amounts in Revit?
Enter a rate in the Cost field of the type or material, add it to the schedule, then add a calculated parameter of type Currency that multiplies the cost by the quantity divided by one unit, for example Material: Cost * (Material: Volume / 1 m³). Most teams do this step in Excel.
What is the difference between a schedule and a material takeoff in Revit?
A schedule lists elements such as walls or doors with their own parameters. A material takeoff lists the materials inside those elements, so one compound wall becomes separate lines for blockwork, plaster and insulation, each with its own area and volume.
Is a quantity takeoff the same as a BOQ?
No. A quantity takeoff is the measuring step: counts, lengths, areas and volumes. A BOQ arranges those quantities into work items by trade and adds a description, a unit and a rate to each line.
Are Revit quantities accurate enough for a BOQ?
They are accurate for what is modelled. Differences come from measurement rules (for example, which openings are deducted), joins between elements, and items that are not modelled. Use them as the basis for a BOQ and have a quantity surveyor check the measurement rules for tender documents.
How do I export a BOQ from Revit to Excel?
Open the schedule, go to File, Export, Reports, Schedule and save it as a CSV file. Open the file in Excel. If the data lands in one column, export as tab-delimited text and use Data, From Text/CSV.
Can I make a BOQ in Revit LT?
Yes. Revit LT has both Schedule/Quantities and Material Takeoff, and the same export command. Dynamo and most add-ins are not available in Revit LT, so the schedules plus Excel route is the one to use.
Mohamed Fakhry has helped thousands of architects and designers find their next project with step-by-step guidance on his blog, mashyo.com. About Mohamed
His journey began during his university years when he recognized the need for information-rich 3D models to accelerate learning and improve production processes. Now, Mohamed shares his expertise through Revit tutorials that are accessible to all.

