Articles in this section

Importing customers

Customers can be imported via the customers bulk importer, or added on a one-by-one basis from the customers tab on Handshake Hub.

The bulk import method

The Handshake customer import is pretty similar to many other applications and websites: a simple spreadsheet that lists out the contact information for the customer. Just export your customers from your CRM and then juggle the data to fit our format.

Go to the bulk import page and click the Export button on the right-side of the customers row to see what the required format looks like.

The basics of the customers spreadsheet

id (optional) - The unique identifier that tracks each customer record, and should be the customer ID from your accounting system or CRM. As long as you make sure the ID stays the same for a given customer, you can keep uploading changes and Handshake will always update the existing record rather than making a new one. If you do not supply a value in this column, Handshake will generate one of the format "HS-1234".

name (required) - The customer's name (usually their company name).

contact (optional) - The person who is the primary point of contact at this customer/company.

email (optional) - The email address of the primary point of contact. If a customer has multiple email addresses you can put them all into the this column, separated by commas.

bill_id (optional) - The unique identifier of the customer's billing address, and should be the billing ID from your accounting system or CRM. If you don't have a need for this field, you can leave it blank.

bill_name (optional) - The name of the person or company who gets billed for orders placed through you.

bill_street (optional) - The first street line of the customer's billing address.

bill_street2 (optional) - The the second street line of the customer's billing address. Usually a floor or apartment number.

bill_country (optional) - The country code of the customer's billing address.

bill_phone (optional) - The phone number of the customer's billing contact.

bill_fax (optional) - The fax number of the customer's billing contact.

ship_.... (optional) - For all of the ship information, you can leave these fields blank if the shipping address information is the same as the billing address information. If the shipping address is different from the billing address, you will want to fill out all fields with the relevant data.

paymentTerms (optional) - The payment terms you've agreed upon with your customer. This field should use values from the options spreadsheet. It's OK if you haven't uploaded the options already, as long as the values match when you upload them later.

shippingMethod (optional) - The shipping method you've agreed upon with your customer. This field should use values from the options spreadsheet. It's OK if you haven't uploaded the options already, as long as the values match when you upload them later.

internal_id (please don't touch) - This is the id assigned by Handshake and should be left blank for new customers. It is created by Handshake when the customer is created in the system for the first time.

taxID (optional) - Used to store the tax ID of the customer, whatever that is for the country in which you operate.

What if my accounting system doesn't export customer IDs?

Wherever possible, we recommend that you supply the customer IDs from your accounting system in the id column of this spreadsheet. If you do not have customer IDs for some reason, then you can leave the id column blank and Handshake will attempt to look up existing customers solely based on the name column.

This of course means that if you have a blank id column and you change a customer's name and re-import, Handshake will create a new (duplicate) customer instead of updating the old one. In other words, you will have to ensure that customer names do not change in order to avoid duplicates.

For that reason alone, it's a good idea to include a reliable set of customer IDs if you can.

Additional shipping addresses (optional)

If your customer database includes customers who have more than one shipping address, then this basic customer import template isn't going to be enough, because it only allows for one per customer. We have a separate method of importing them.

Customer groups (optional)

If you have more than one customer group (i.e. you have different price lists or sell in multiple currencies), then you can configure these groups as described here. Once you have defined your groups, you can add a column called customerGroup to your customer spreadsheet, and put the id of the appropriate customer group in this cell for each customer.

You can also use this importing method to create new customer groups as well. In the customerGroup column, fill the corresponding cell with the customer group you'd like to create. Then on the mapping screen during to import, check the box 'Create missing customer groups' (see the 2:50 mark in the video tutorial above for reference).

If all your customers are in a single group then you can omit the column altogether, or leave the cells blank.

Price lists (optional and only for Handshake Professional)

If you have set up customer specific and manufacturer specific price lists, then you can associate those price lists with individual customers here. Once you have defined your named price lists, you can add a column called priceList to your customer spreadsheet, and put the id of the appropriate price list in this cell for each customer.

Simply add a column with a header in the format priceList:_manufacturerID_. For example, if you have a price list for a manufacturer whose id is "GrandGifts", the column header would be priceList:GrandGifts.

Enter the ids of the appropriate price lists into the cells in this column, and simply leave blanks for customers who do not have a custom price list for this manufacturer.

User groups (optional)

If you have defined user groups, you can use the userGroup column to indicate which user groups each customer should be connected to. Customers may be associated with multiple user groups, so if you need to provide more than one you can specify them as a comma-separated list (e.g: West Coast,East Coast).

The values you put in this column should be the names of the user groups (as visible in the user group editor). If the user groups you specify do not already exist, you may choose to have the importer automatically create them for you by enabling the checkbox option in the importer.

If you do not have any user groups defined, you can ignore this column completely.

Manufacturer-specific IDs (optional)

Simply add a column with a header in the format id:_manufacturerID_. For example, if you have a manufacturer whose id is "GrandGifts", the column header would be id:GrandGifts.

Enter the manufacturer-specific customer IDs into the cells in this column, and simply leave blanks for customers who do not have separate IDs with this manufacturer.

Percent Discounts (optional)

You may set percent discounts for your customers by adding a column with the header percentDiscount. This value is a percent, the sensible range being 0 - 100 (up to 20 digits in total, up to 8 after the decimal place). When you create a sales order for a customer, the order will get the customer's percent discount by default. The order's percent discount can be overridden after it is created.

Adding via the customers tab

From the customers tab on Handshake Hub, click where it says "NEW CUSTOMER" on the top right corner of the page.

Fill out all necessary fields for the new customer you are creating and make sure to save your customer when completed.