Chisel Tide
Sales

Bulk Import Customers

Import multiple customers at once using a spreadsheet file. Upload a CSV or XLSX export from Skimmer, PoolBrain, ServiceTitan, or another provider, map the columns to Chisel Tide fields, and review the results.

Prepare your file

Before importing, make sure your file is formatted correctly:

  • File types supported: .xlsx, .xls, .csv, .tsv, .txt

  • Header row required: The first row must contain column headers. Data rows follow.

  • Maximum rows: 2,000 customers per import.

  • Required columns: A name column (either Full Name or both First Name and Last Name), Status, and LocationAddress.

If you're creating a file from scratch, use the Download example template link in the import modal to get a properly formatted starting point.

Import customers

  1. Go to Customers in the navigation.

  2. Click Import customers at the top of the list.

  3. In the import modal, select Bulk import.

  4. Upload your file:

    • Drag and drop the file into the drop zone, or click to browse.

    • The modal accepts exports from Skimmer, PoolBrain, ServiceTitan, and other pool service platforms.

  5. Review the column mapping:

    • The table shows your file columns on the left and the Chisel Tide fields on the right.

    • Map each column to the corresponding field.

    • You must map a name field — either Full Name by itself, or both First Name and Last Name.

    • The preview shows the first 5 rows of your data.

  6. Choose import options:

    • Update existing customers — When enabled, customers that match existing records are updated with the new data. When disabled, matching customers are skipped.

    • Create service plans — When enabled, automatically creates a service plan for each property that has a rate.

  7. Click Import to start the import.

  8. Review the results when the import completes:

    • Customers created

    • Customers updated

    • Properties created

    • Service plans created

    • Skipped rows — Rows that weren't imported are listed with the name and reason.

Column fields

The following fields can be mapped during import:

Field

Description

First Name

Customer's first name. Required if Full Name is not provided.

Last Name

Customer's last name. Required if Full Name is not provided.

Full Name

Customer's complete name. Can be used instead of First Name + Last Name.

Company Name

Business name for commercial customers.

Is Company

Mark as a commercial account.

Email (primary)

Main email address for the customer.

Email (secondary)

Alternate email address.

Mobile Phone

Mobile contact number.

Home Phone

Home contact number.

Work Phone

Work contact number.

Status

Customer status (Active, Inactive, Prospect, etc.). Required.

Billing Address

Address for invoices and billing correspondence.

Service Address

Address where technicians perform service.

Location Code

Internal identifier for the property.

Gate Code

Access code for the property.

Dogs Name

Pet information for technicians.

Rate

Service rate or price.

Rate Type

How the rate is calculated (weekly, monthly, etc.).

Labor Cost

Cost of labor for the service.

Minutes at Stop

Expected service duration.

Location Notes

Notes about the property.

Customer Notes

Internal notes about the customer.

Tags

Labels for organization and filtering.

Lead Source

How the customer found your business.

Customer Code

Internal reference code for the customer.

Troubleshooting

The file won't upload

Check that:

  • The file is a supported type: .xlsx, .xls, .csv, .tsv, or .txt.

  • The file has a header row followed by at least one data row.

  • The file isn't corrupted or password-protected.

If you see Could not parse file — make sure it has a header row and at least one data row, your file is missing headers or contains no customer rows.

Import blocked due to missing columns

Your file must include these required columns:

  • Name: Either a Full Name column, or both First Name and Last Name columns.

  • Status: The customer's status (Active, Inactive, Prospect, etc.).

  • LocationAddress: The property address for service.

If your export is from Skimmer, PoolBrain, or ServiceTitan, these columns should be present automatically. If you're creating a custom file, use the Download example template link to get a file with the correct structure.

Some rows were skipped

After import, check the Skipped rows table in the results. Each skipped row shows the row number, customer name, and reason it wasn't imported.

Common reasons for skipped rows:

  • Duplicate email or name that matches an existing customer (if Update existing customers is disabled).

  • Missing required data in a row.

  • Invalid status value.

Fix the data in your file and re-import, or update the customer manually.

Import exceeded the row limit

The maximum is 2,000 rows per import. If you have more customers, split them into multiple files and import them separately.

Was this helpful?