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
- CSV or Excel (.xlsx). One entity per row. Column headers in the first row.
- Any column names. "Unit #", "Suite", "Apt", "Unit Number" — all work. The importer maps whatever you have onto BuildingHQ fields. It doesn't require an exact match.
- Mixed content in one file. A units spreadsheet that also lists parking stalls and storage lockers on other sheets, or as extra columns, is fine — the importer pulls the three kinds out into the right tabs of the review grid.
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:
- Location strings. "Tower A / Boiler Room" or "Building 2 / Level P1" — the importer tries to link these to real areas that already exist in your building. Create the towers, floors, and parkade areas in BuildingHQ first if you haven't yet, and location matching will be sharper.
- Service-history / notes columns. "Last Inspection", "Service Notes", "Comments", "Status", "Recent Repairs" — the importer lifts these out into log entries attached to the equipment, so the boiler's inspection history becomes searchable log entries on the boiler's page.
- Vendor mentions. "Vendor", "Contractor", "Service Provider", "Supplier" — the importer extracts these into your vendor directory, and links each vendor to the equipment they're mentioned against.
Columns to leave out
- Resident personal information. Names, phone numbers, and email addresses of residents. BuildingHQ doesn't require any of these to operate, and the importer will flag columns that look like PII and ask before it commits them.
- Financial columns. Costs, budgets, invoices. BuildingHQ isn't an accounting system — invoice amounts live in your accounting tool, and cross-linking is done by an attachment or a log-entry reference, not a numeric field on the equipment record.
- Free-form "extra" columns that duplicate structured columns. If you already have "Install Date" as a column, a second "Installed:" text column is noise. Delete the duplicate before uploading.
The review step — this is where you catch things
Nothing commits until you approve it. After the smart importer finishes, the review grid shows:
- What it plans to create. Every proposed equipment (or unit, or vendor) row with its source-row number, so you can trace back to the exact row of your original spreadsheet.
- What columns it dropped, and why. Usually because the column looked like PII, or because it duplicated another column. Overrideable.
- What log entries it lifted out of your file. Service-history notes attached to the right equipment. You can edit, delete, or re-attach any of them before committing.
- What vendors it detected. A separate tab with the vendor records the importer found in your file. You can merge duplicates or drop rows before committing.
- A plain-language summary + warnings. "Found 47 items across Boiler Room, Parkade, and Penthouse Mech. Skipped 3 rows with no name."
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
- Save the file as .csv or .xlsx.
- Row 1 is a header row. Every column has a name.
- No merged cells, no section titles inside the data.
- Dates in real date cells or in ISO (YYYY-MM-DD) text.
- PII columns removed (resident names, phones, emails).
- 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.