Skip to content

Bulk import — bringing your data in from CSV

Habitia’s Bulk import brings an entire portfolio in from CSV files in one sitting — useful when you’re moving from a spreadsheet, another tool, or paper records. The flow runs in a fixed order, with each step referencing names from the step before.

Note: Only admin and manager roles can see the Bulk import page.

When to use bulk import

  • You’re switching to Habitia from a spreadsheet or another tool.
  • You have 10+ properties or 20+ units, and adding them one at a time would take all day.
  • Not for day-to-day work — once you’re set up, use the regular Add buttons.

1. Open the Bulk import page

From the left sidebar, click Bulk import (the upload icon). The page walks you through five entity types in a fixed order:

properties → units → spaces → assets → leases

Each step references the previous one, so the order matters.

Screenshot: Bulk import page with the five-entity workflow strip

2. Download the CSV template

Each entity card has a Download template button. Click it — you’ll get a <entity>_template.csv file with the header row Habitia expects, plus a comment row of hints for each column.

Open it in Numbers, Excel, Google Sheets — whatever you use.

Tip: Don’t rename or remove the header columns. Habitia matches by header name. If you delete or change a column header, that field won’t import.

3. Fill in your data

A few row-level rules:

  • Properties first. Required. Every later CSV references properties by name. Use names you’ll recognize (“Calle Luna 12” works; “Property A” doesn’t).
  • Units reference the property by its exact name. Match capitalization and spelling.
  • Spaces and assets are optional. Skip them entirely if you don’t track rooms or appliances individually.
  • Leases auto-create tenants. If a tenant in your CSV doesn’t already exist in Habitia, they’re created from the email and name. You don’t import tenants separately.

4. Upload one CSV at a time

  1. Save the filled-in CSV.
  2. On the Bulk import page, click Upload CSV under the matching entity card.
  3. Wait. You’ll see one of:
    • N rows imported (green check) — success.
    • N rows skipped (orange triangle) — some rows failed validation. The page expands to show each error with row number, field name, and message. Fix the CSV and re-upload — Habitia skips rows that already exist, so you can re-upload the whole file safely.

Note: Each upload is partial-commit. Valid rows are inserted, invalid rows are skipped and reported. There’s no atomic rollback — if 95 of 100 rows pass, those 95 are in.

5. Move to the next entity

Once properties are in, do units. Then optionally spaces and assets. Then leases. Working out of order will create errors because later CSVs reference names that don’t exist yet.

File size and format

  • Max 5 MB per file (roughly 50,000 rows — well past any realistic single portfolio).
  • CSV only (.csv). Excel files don’t work — export to CSV first.
  • UTF-8 encoding is safest. If your CSV has accents or ñ, save as UTF-8 so the characters survive the upload.

Common errors and fixes

Error messageWhat it means
”Property not found”The property name in this row doesn’t match any property you’ve imported. Check spelling and capitalization.
”Required field missing”A required column is blank. The template’s comment row marks required fields.
”Invalid date”Date isn’t in YYYY-MM-DD format. Use 2026-05-12, not 5/12/26.
”Unit already exists”That unit number is already in that property. Habitia skips the duplicate.

What’s next

  • Adding a property — for adding more after the bulk import is done.
  • Sending a lease for signature — for leases that came in as drafts and now need signatures.