Skip to main content

Import contacts

Customers & trades5 min read

Import many customers or partners from a spreadsheet instead of typing each record. Use the blank template so the column keys match.

When to use this

Use this when you already have a contact list and want it in SiteHut in one pass.

Do not use it to add a single client. Use Add Customer or Add Partner instead. Do not use it for costing rates. That is Library.

Before you start

  • You can write customers or partners in this workspace.
  • You are on the matching tab: Customers for clients, Trades & suppliers for partners. Import is separate on each tab.
  • Names you will reuse later are unique in this workspace.

Open Import

Customers & trades → Customers → Import, or Customers & trades → Trades & suppliers → Import. The dialog title is Import customers or Import partners.

Download blank template

Download blank template. Row 1 is field keys. Row 2 is a guide (cells start with [). Keep row 1. Replace or delete the guide row when you add real data.

Upload CSV file

Upload CSV file and choose your .csv. SiteHut skips the guide row automatically when the first cell starts with [.

Fix errors, then import

Valid rows show as N customers ready to import (or partners). Rows that fail local checks show as N rows need fixes. Start over to pick a different file.

Import N rows sends only the valid rows. If the server rejects the file, nothing is saved.

What done looks like

  • A toast: Imported customers: X created, Y updated (or partners).
  • New names appear on the tab you imported into.
  • Re-importing the same name (or the same id) updates that record.

Common mistakes

  • Importing partners from the Customers tab, or the other way around.
  • Changing row 1 keys (for example contact_email to Email).
  • Two rows with the same name in one file. The import fails.
  • Expecting an empty id plus a new spelling of an existing name to update that company. That creates a second record. Match name exactly, or paste the existing id.

Customer columns

KeyRequiredNotes
idNoLeave blank for new. Existing UUID updates that customer.
nameYesUnique customer name in the workspace
companyNoCompany label
contact_emailNoPrimary customer email
phone_numberNoInclude country code, for example +442079460958
customer_typeNoresidential or commercial (labels Residential / Commercial also work)
tax_idNoTax ID / VAT number
notesNoFree text
payment_terms_daysNoWhole number of days
contact_nameNoOptional person at this customer
contact_person_emailNoPerson email (separate from contact_email)
contact_person_phoneNoPerson phone
contact_roleNoFor example Project Manager

Partner columns

KeyRequiredNotes
idNoLeave blank for new. Existing UUID updates that partner.
nameYesUnique partner name in the workspace
categoryYesprofessional, trade, or supplier (labels Professional Services, Trades, Suppliers also work)
emailNoPartner / company email
phone_numberNoInclude country code
notesNoFree text
specialty_namesNoComma-separated trade tags
contact_nameNoOptional person
contact_person_emailNoPerson email
contact_person_phoneNoPerson phone
contact_roleNoFor example Site manager

After import

Save one person from a picker

On a snag or RFI doer picker, type an unknown email and choose Save to Directory as partner…. On the project team picker the action is Save to Directory. Save as is Partner / subcontractor or Customer. That is for one person, not a spreadsheet.