Lifetime Promo: Get every feature + all future upgrades for one super-low monthly price, for life!Lock in Access
More in Customers

Customers

Import Customers and Jobs From Your Old Software: Bring Your History Over in Minutes

Switch to Servgrow without retyping anything: import your old system's export and get every customer, address, job and invoice, with past payments marked paid, after checking exactly what will be created.

Updated November 3, 2026 · 8 min read

Switching software should not mean starting with an empty account. Export your jobs from your old system, and Servgrow brings over the customers, their addresses, every job and its invoice in one go, with what was already paid marked as paid. You see exactly what will happen before anything is created, and nothing is emailed or texted to your customers.

Open the importer

Click Jobs in the left menu.

The Jobs list with the Import button numbered
  1. Click Import.

The import has four steps: File, Mapping, Review and Done.

Step 1: Choose your file

Export your jobs or invoices from your old software as a CSV or Excel file. The columns can be named anything; you match them to Servgrow in the next step.

The Choose a file step with Choose a file, the chosen file, the first rows of the file and Continue to mapping numbered
  1. Click Choose a file, or drag the file onto the box. One file at a time: .csv, .xlsx or .xlsm.
  2. The file name appears with how many rows and columns it has.
  3. The first five rows are shown, so you can check it is the right export.
  4. Click Continue to mapping.

If Servgrow cannot read the file, open it and save it again as .xlsx (older Excel files and password protected files cannot be read). If your jobs are on a second sheet, save that sheet as its own file.

Step 2: Match your columns

Point each Servgrow field at the column in your file that holds it. Nothing is guessed for you, and under every field you see the value it takes from your first row, so you can check each match against real data. Fields marked Required must be matched before you can continue.

Customer

The Customer fields with Customer name, Customer email and Customer phone matched to columns from the file numbered
  1. Customer name: if your file has first and last names in separate columns, turn on First and last name are in separate columns and pick both.
  2. Customer email: the one thing Servgrow uses to recognise a customer you already have. Names are never used for matching, so two people called John Smith stay two customers.
  3. Customer phone: optional. Click Show 1 more field for Customer birthday, which is only added to new customers.

Property

The Property address field split across Street, City, State and ZIP columns numbered
  1. If the address is spread over several columns, turn on The address is split across several columns.
  2. Pick the Street, City, State / province and ZIP / postal code columns.
  3. Check the full address it builds from your first row.

Use the address where the work happens, not the billing address, if your file has both. Unit number is under Show 1 more field.

Job

The Job fields with Job title, Job date and Assigned to matched numbered
  1. Job title: what the job was, such as the job description or service name.
  2. Job date: a future date imports as Scheduled, and you choose below what a past date becomes. Leave it unmatched and every job imports as Unscheduled.
  3. Assigned to: who did the work. Servgrow matches your own team by email first, then by full name. Anyone it cannot find stays assigned to you.

Under Show 2 more fields you can add a Job end date (without one, each job is one hour long) and Job notes.

Line items and money

The Line items and money fields with Job total, Payment status and Amount paid, and Line item name, Quantity and Unit price numbered
  1. Job total: used when your file has one total per job and no line items.
  2. Payment status and Amount paid: tell Servgrow what was already collected. Payment status understands Paid or Due, and Yes or No; any other word stops that row so you can fix it. If Amount paid is less than the total, the invoice imports as partly paid.
  3. Line item name, Quantity and Unit price: when your file lists what was sold. Quantity defaults to 1. Once line items are matched, the job total is worked out from them.

No line item columns? Each job gets one line item named after its job title and priced at the job total.

Rows, dates, past jobs and payments

Many exports put each line item on its own row and repeat the job or invoice number. Grouping folds those rows back into one job.

How rows become jobs set to Rows sharing a column belong to one job, the Job number column, the count of jobs it will create, and How the dates read numbered
  1. How rows become jobs:
    • Every row is its own job: the default, for files where one row is one whole job.
    • Rows sharing a column belong to one job: the safest choice when your file has a job or invoice number. Rows only merge when the customer matches too.
    • Rows with the same customer and date are one job: for files with no job number. Two separate visits to one customer on the same day would become one job, so check them on the next step.
  2. Pick the column that identifies a job, such as the job or invoice number.
  3. Servgrow tells you how many jobs your rows will make.
  4. How the dates read: Servgrow works out from your file whether dates are month first or day first. If it cannot tell (03/04/2026 could be 4 March or 3 April), it asks you to choose.
Jobs whose date has already passed, Money already collected and Check the file numbered
  1. Jobs whose date has already passed: pick Finished to bring in your history as done work that counts in your revenue reports, or Scheduled if the file also holds jobs that were cancelled or never happened.
  2. Money already collected: Finished jobs were already paid for records a payment on each finished job's invoice, dated to the job, so old work does not show up as money still owed. Pick Leave everything unpaid only if you still mean to collect it. When your file says per row whether a job was paid, it answers for those rows and this choice covers the rest.
  3. Click Check the file.

If you charge sales tax, a Sales tax box also appears. Pick the rate to apply to every job in the file, and say whether the amounts in your file already include it (right for most exports) or are before tax.

Step 3: Review before importing

Servgrow checks every row and shows you exactly what will be created. Nothing has been written yet.

The Review step with the totals, the customers behind these jobs, the All, Problems and Ready filter, the Result column and Import 6 jobs numbered
  1. The totals: Jobs to create, New customers, Total value and rows that Cannot be imported.
  2. Customers behind these jobs: open it to see which customers you already have and which will be created.
  3. Show All rows, only the Problems, or only the rows that are Ready.
  4. Result: who each job is assigned to, whether its customer is new or existing, and anything that stops the row from importing.
  5. When it all looks right, click Import. The button shows how many jobs will be created.

A row that matches a job already in your account (same customer, same title, same date) is marked Already imported and left out, so importing the same file twice does not double your invoices.

The customers behind these jobs list with an existing customer and a customer that will be created numbered
  1. Existing: the email matched a customer you already have, so the jobs are added to that customer instead of creating a second one.
  2. Will be created: a new customer, with every job and address from the file. Rows with the same email become one customer.

Fix a row without touching the file

The Problems filter with a row missing its customer email opened for editing, the error, the Customer email box and the Skip box numbered
  1. Click Problems to see only the rows that cannot be imported yet.
  2. The reason is shown on the row, here a missing customer email.
  3. Click the row, or its pencil, and type the fix, such as the customer's email. Each change is checked as you leave the box and applies to this import only; your file is not changed.
  4. Or tick the row's Skip box to leave it out and import the rest.

Change several rows at once

Two rows ticked, the bar with Set status, Set date, Set payment and Set customer email, and Apply numbered
  1. Tick the rows you want to change.
  2. Choose a new status, date, payment or customer email for all of them.
  3. Click Apply.

Step 4: Done

The import creates each job with its invoice and shows how many jobs and customers were created, how much was invoiced and how much was recorded as collected. Nothing is emailed or texted to anyone. A large file takes about a minute for every thousand rows, so keep the page open until it finishes.

If the import stops part way, go back to the review step: the rows that went in are recognised and left out, so you can finish the rest without creating anything twice. Click Go to jobs to see your imported work.

Tips

  • Try a small file first. Import ten rows, check a couple of jobs and customers in Servgrow, then import the rest.
  • Make sure every row has an email. Email is how Servgrow tells customers apart. Rows without one cannot be imported until you add it on the review step.
  • Note the totals on the Done screen. Imported jobs do not record which file they came from, so write the numbers down if you import several files.
  • Add your team first. Jobs are matched to the people already in Servgrow; anyone missing is assigned to you.
  • Watch your campaigns. A Custom Campaign that starts when a customer is added only counts these customers if you ticked Job import on it. Leave that off unless you want every imported customer to get the message.
  • Only need a customer list? Use Customers > Import/Export with the customer template instead.

Was this article helpful?

Still need help?

Our team answers real questions from real service businesses every day. Start a chat with us right here, or give us a call.