Smart import

Preparing your data for the smart importer

The smart importer accepts CSV or Excel files and figures out which of your columns map to which BuildingHQ fields — you don't need to reshape a spreadsheet into a template first. This page covers what a "good" file looks like, what the importer will quietly drop, and how to fix the two or three things that typically trip it up.

What the smart importer can accept

Files the importer handles well today

Equipment

Boilers, elevators, pumps, fire panels, intercoms, backflow preventers, any other equipment with a name and a location.

Columns it recognises: name, kind/type, model, serial, manufacturer, install date, location (building / floor / room), last-serviced date, vendor.

Units, parking, lockers

The register of what your building actually contains. Handled as one file: units, parking stalls, and storage lockers can all live on the same spreadsheet.

Columns it recognises: unit code, floor, tower/building, square footage, stall number, level, locker number, size.

Vendors

The contractors you use — plumbers, electricians, elevator co., landscapers. Contact info is optional; a name is enough to link vendors to equipment and log entries.

Columns it recognises: company name, contact person, phone, email, kind/trade, notes.

The three habits of a clean spreadsheet

1. One row per thing

Every row should represent one entity — one piece of equipment, one unit, one vendor. Merged cells, section headers, sub-totals, or "Boiler Room:" mini-headers followed by rows below all confuse the importer. If your file has those, unflatten the layout so every relevant row carries a full set of values.

2. One kind per file (usually)

Equipment goes in an equipment file. Vendors go in a vendors file. The one exception is the units + parking + lockers file, which is designed to be one spreadsheet because in practice strata plans keep them together. If you're not sure, split into one-kind-per-file — the importer will thank you.

3. Put dates in a real date column

"Last serviced" as a real Excel date column beats "Last serviced" as text like "Sept 2023", "2023/09", or "last fall". The importer handles all three, but real date cells are read without ambiguity. If your file has dates as text, format them as YYYY-MM-DD before uploading.

Columns to leave in

Even if you're not sure a column is useful, leave it in. The importer is good at ignoring what it doesn't need. The columns it looks for and lifts into useful shape include:

Columns to leave out

The review step — this is where you catch things

Nothing commits until you approve it. After the smart importer finishes, the review grid shows:

If something is off — the importer picked the wrong column for a field, or missed a column you care about — click "Re-run with a hint" and give it a plain-English correction like "Use column 'Zone' for the location, not column 'Room'". It's usually right on the second pass.

Two-minute checklist before you upload

  1. Save the file as .csv or .xlsx.
  2. Row 1 is a header row. Every column has a name.
  3. No merged cells, no section titles inside the data.
  4. Dates in real date cells or in ISO (YYYY-MM-DD) text.
  5. PII columns removed (resident names, phones, emails).
  6. Create the areas first (towers, parkade levels, mechanical rooms) so location strings in your file can link cleanly.

What if the smart importer isn't right for me?

Every screen also supports plain manual entry, and every importer has a "skip AI" option that treats the file as a literal column-for-column match. If you'd rather map the columns yourself, click "Skip smart mapping" on the upload screen — you'll get the same review grid, just without the pre-filled proposals.

Try it on your file

Start on the free Basic tier — two import runs per kind per month are included, plenty to shake out how the importer reads your specific spreadsheet before you commit to more.

Questions? hello@buildinghq.app.