Reference

Import SOQ from Excel

5 min read

Import SOQ from Excel / CSV

You can bulk-import your Schedule of Quantities (SOQ) — estimated scope and prices — into QSME from an Excel workbook (.xlsx) or a CSV file. This is useful when you already have a spreadsheet of tender pockets, jobs, materials and labour.

Anything you export from QSME imports straight back in. Export the schedule as Excel or CSV, edit it wherever you like, and bring the same file back through Import — no reformatting, no re-typing the headers.

SOQ = estimated prices (this screen/import). BOQ = actual trade prices submitted by contractors in response to tenders.


File format

  • File type: `.xlsx` (Excel workbook) or `.csv`. Old `.xls` files aren't supported — open them in Excel and use Save As → Excel Workbook (.xlsx).
  • Header row: The row naming the columns. It doesn't have to be the very first row — a title line or a blank row above it is fine.
  • Data rows: One row per material line or labour line. Tender pockets and jobs are repeated on each row (or named once and left blank down the block — merged-cell style works too).

Columns

Column names are matched however they're written — spacing, punctuation and capitals don't matter, and each column accepts several common wordings.

ColumnAlso accepted asRequiredDescription
Tender PocketCategory, Section, Trade, Package, ElementNo*Name of the tender pocket. If there is no pocket column at all, everything is imported into one pocket named after the file.
JobWork Item, Task, ActivityNoJob title within that pocket. Defaults to the pocket name.
TypeItem Type, KindNoMaterial or Labor. If there's no Type column, a line measured in hours or days is imported as labour and everything else as a material.
ItemDescription, Item Name, ParticularsYesThe line description.
UnitUOM, Unit of MeasureNoUnit of measure (m², each, hrs…).
QuantityQtyNoNumeric quantity. For labour, total hours.
Unit RateRate, Unit Price, Price, CostNoPrice per unit, or hourly rate for labour.
TotalAmount, Total Cost, Line TotalNoLine total. If Quantity × Rate is blank, the total is used to work the rate out.
NotesComments, RemarksNoOptional notes; also used as the material description.

Money is read the way spreadsheets write it: $1,250.00, (120) for a negative, and semicolon-separated CSVs (what Excel produces in some regions) all work.


Example CSV

Tender Pocket,Job,Type,Item,Unit,Quantity,Unit Rate,Total,Notes
Concrete,Footings,Material,Concrete 25MPa,m³,10,250,2500,Grade 25
Concrete,Footings,Material,Reinforcement,t,2.5,1200,3000,
Concrete,Footings,Labor,Pour & finish,hrs,40,45,1800,
Electrical,Installation,Material,Cable 2.5mm,m,100,3.50,350,
Electrical,Installation,Labor,Termination,hrs,8,55,440,

This creates:

  • Tender pocket: Concrete → Job: Footings → 2 materials + 1 labour
  • Tender pocket: Electrical → Job: Installation → 1 material + 1 labour

Everything imports as draft pockets, so you can review before activating them.


How to get the correct format

  1. Open the SOQ for a project and use ExportExcel (.xlsx) or CSV.
  2. Edit that file in Excel or any spreadsheet.
  3. Use Import and pick the file. That's it — the file you exported is a file the importer reads.

Save a template instead

If you're re-using a schedule rather than editing one, you don't need files at all. Templates → My templates → Save this schedule as a template keeps it on your account, and Insert drops it into any project you're on. Templates are private to you, and saving under a name you've used before replaces that template rather than making a second copy.


Tips

  • Unpriced lines are fine. A line with quantity 0 and rate 0 is a normal placeholder and imports as one.
  • Subtotal and GRAND TOTAL rows are skipped so importing an export doesn't double the money.
  • Quotes: In CSV, wrap a value containing commas or line breaks in double quotes; a literal quote inside a field is written as "".
  • Encoding: Save CSV as UTF-8 so special characters display correctly.
  • Duplicate names: Rows sharing a pocket + job name are grouped into that one job.
  • Multiple sheets: In an .xlsx, the sheet named SOQ/BOQ is used if there is one; otherwise the first sheet with rows.