Importing properties from CSV
Properties → Import brings your stock in from a spreadsheet export — the same importer used by the setup wizard’s Properties step.
What it is
The importer parses a CSV or Excel file entirely in your browser — nothing uploads until you confirm — and auto-maps headers regardless of order or case. Address line 1 and postcode are required; UPRN, address line 2, local authority, tenure and property type are all optional. Rows missing a required field are skipped and listed with the reason, never silently dropped.
Before you start
Importing needs Edit-level access to Properties. A file over 50,000 rows must be split and imported in parts.
How to do it
- Open Properties → Import.
- Select Download example CSV to see the exact expected layout, or drop your own file straight onto the upload area.
- Review the preview — row count, any skipped rows and why, and whether a UPRN column was found.
- Select Import [n] properties to write the batch.
- Fix any skipped rows in your source file and re-import — a row carrying a UPRN you’ve already imported updates that property rather than creating a duplicate.
How it integrates
UPRN becomes the property’s document id when present, which is what makes re-imports merge instead of duplicate — it’s also what keys the tamper-evident evidence chain for that address as surveys accumulate against it. A property imported with no UPRN is flagged for review rather than rejected; it can still receive surveys, and a UPRN can be added later by editing the record or through address lookup (see Adding a property manually and address lookup). Column headers are matched case-insensitively with common aliases (address, street and line1 all resolve to address line 1, for example), and extra columns in your file are simply ignored rather than causing an error.
Common problems
- A row was skipped. Open the skipped-rows list — the most common reasons are a missing address or postcode, or a UPRN with no digits in it (leave the column blank rather than entering a non-numeric placeholder).
- My re-import created duplicates instead of updating. Check the file actually carries a UPRN column and that your UPRNs match exactly (digits only) — without a UPRN, each row is a genuinely new property with no way to match it to an existing one.
- The import stopped partway through. Rows already written before the failure are kept — fix the underlying problem and re-import the same file; UPRN rows merge cleanly rather than duplicating what already landed.
Related