Skip to main content

Importing Customer Data from a Spreadsheet

Bring your customer list into Pulse from a CSV or Excel file: match each column to a Pulse field, then check every row in a grid before anything is added.

note

Data Import is run by the MaidCentral team and may need to be turned on for your company. If you don't see Import Data in your profile menu, contact MaidCentral support to have your data imported.

The import page is a Setup Wizard with three steps, in this order: Data Upload, Business Setup, Process Import. On Data Upload you choose a file and match its columns to Pulse fields. On Process Import you review the rows Pulse read from the file, fix mistakes, save your corrections, and then apply the file to add the customers. A Business Setup step between them creates the zones, teams, scopes, tags and customer sources your file uses, and Process Import opens once it is finished.

Pulse reads CSV and Excel files up to 8 MB. You can also upload a location's cutover CSV files together, up to 8 MB in all. It recognizes files exported from MaidCentral, Jobber, Housecall Pro and ZenMaid, and reads any other spreadsheet by its column headings. Imported rows are staged for review: they are not added to your customers until you apply the file.

Download a blank template​

To fill in a spreadsheet that Pulse reads without any column mapping, start from the template. On Data Upload, click Download template, then Customer import (MaidCentral format). The file MaidCentral-Customer-Import-Template.xlsx downloads.

The template is laid out like a customer export from MaidCentral:

  • Import Data: one service set per row. Keep its three heading rows (Required or Optional, the column group, and the column name) and start your data on row 4.
  • Contacts, Jobs, Job Fees, Notes and Rooms: one heading row each. Rooms is optional. A customer's Contacts rows replace its Import Data phones and emails.
  • Leads: one heading row, then one row per lead with the amounts you quoted. It is optional; see Import leads into Pulse with their quotes.
  • Help Documentation, Additional Help and Platform Mappings: help sheets, which Pulse skips on upload.

Every customer sheet has one sample row for a made-up customer, Alex Example, linked through the Ref SAMPLE, and Leads has one made-up lead, Chris Patel. Overwrite or delete the sample rows on every sheet before you upload. When you overwrite the Import Data sample with your own customer, replace its Customer Ref, Home Ref and Service Set Ref too, or the sample rows left on the other sheets attach to your customer.

warning

A sample row left on Contacts, Jobs, Notes or Rooms points at the Ref SAMPLE, which is no longer on Import Data, and the upload stops. A sample row left only on Job Fees is ignored.

When you upload the filled-in template, Pulse recognizes it as a MaidCentral file, so there are no columns to map.

What do I put in each column of the import template?​

The Additional Help sheet lists every column on every data sheet: what to enter, an example, and whether it takes more than one value. Help Documentation shows a filled-in example customer. Platform Mappings shows which columns other platforms' exports can fill. The Business Setup step creates the zones, teams, tags and sources your file uses.

  • Required columns on Import Data: First Name, Last Name, Address 1, City, State and Zip Code.
  • Refs tie the sheets together. Rows with the same Customer Ref become one customer, and rows with the same Home Ref become one property. Use each Service Set Ref on one row only. Contacts and Notes rows point at a Customer Ref, Jobs rows at a Service Set Ref, Job Fees rows at a Job Ref on Jobs, and Rooms rows at a Home Ref.
  • Dates are month/day/year, for example 06/01/2027. Scheduled Start and Scheduled End on Jobs take a date and a time, for example 06/01/2027 9:00 AM.
  • Yes/no columns take Y or N (TRUE and FALSE also work).
  • More than one value in a cell, such as several tags or teams, is separated with |, for example VIP|Pets.
  • Team names, Service Set Type, tags and Customer Source should be spelled the same way on every row, so each one is set up once.

Download the location cutover template​

To move a location to Pulse with its customers and history, start from the cutover template. On Data Upload, click Download template, then Location cutover (customers and history). The file Location-Cutover-Template.xlsx downloads.

The template's Read Me tab lists every tab in load order and the rules for all of them (dates YYYY-MM-DD, times on a 24-hour clock, TRUE or FALSE, several values separated with |). Its Field Guide tab describes every column: whether it is required, its format and the values it allows. Rows shaded yellow, with IDs starting EX-, are examples: delete them before you export.

Pulse reads the Customers, Rooms, Jobs, Leads, Open Invoices, Timesheets and Notes and Tickets tabs. It doesn't read Additional Pay or Employee Time Off yet, so rows on those tabs are not imported. On Data Upload, those two tabs are marked Not imported.

How do I get to the import page and upload a file?​

Data Import is run by the MaidCentral team and may need to be turned on for your company. If you don't see Import Data in your profile menu, contact MaidCentral support to have your data imported.

To import customers from a spreadsheet:

  1. Click your profile picture in the top-right corner, then click Import Data (just below Settings).
  2. In Upload File, drop the file on the box or click browse.
  3. In Column Mapping, correct any Maps To dropdown that is wrong.
  4. Click Continue to Review.
  5. On Business Setup, give each row an action, click Next through the pages, and click Complete on Billing Terms. Pulse skips this step when the file has nothing left to answer, for example when you open a file you already set up. To link every exact match and skip everything else at once, click Skip Business Setup and confirm.
  6. On Process Import, check the rows in Table View and fix cells. Each cell saves when you press Enter.

Choose Smart Import and map the columns​

Smart Import or Full Replace. In the Upload File card, leave Smart Import on to have Pulse compare the file with your existing customers and mark each row as new, an update, or a skip. Turn the switch off for Full Replace, which treats every row as new. Set the switch before you choose the file, because the upload starts as soon as the file is chosen.

Column Mapping. Your File Column lists every column in the file and Maps To shows the Pulse field it will go into. A column Pulse did not recognize shows (Do not import). When you change a dropdown to a field, the Status badge turns to Manual. Choose (Do not import) to leave a column out; its badge reads Skipped. Once a file has been processed its mapping is locked. To map it differently, upload the file again.

warning

Customer and job sheets have a dropdown. On a job sheet, Maps To shows Matched automatically, and Pulse reads the column by its heading. Pick a field only when a column is read wrong, for example Scheduled Date for a Visit Day column. Employee sheets, and files exported from MaidCentral, Jobber, Housecall Pro or ZenMaid, show Matched automatically and cannot be remapped.

How Pulse knows which column is which​

Pulse first matches the column headings it knows, such as First Name or Email. For a spreadsheet Pulse reads by its headings, it also suggests a field for the columns it did not recognize and shows its confidence as a percent in Status. A banner above the table sums up the suggestions: All columns mapped with high confidence, Column mapping complete, or, when any suggestion is below 70%, for example 1 column needs review. Rows below 70% are highlighted. A suggestion is only a starting point. Change any Maps To dropdown and its badge turns to Manual.

Can I change which field a job sheet column goes into?​

Yes, on Column Mapping. Every Maps To on a job sheet starts at Matched automatically, which reads the column by its heading; pick a field, such as Scheduled Date for a Visit Day column, and its Status turns to Manual. Choose (Do not import) to leave a job column out; its badge also reads Manual.

Why does it say columns aren't mapped?​

When some columns have no field and you haven't set them to (Do not import), the banner says how many, for example 3 columns not mapped. Those columns aren't imported. Pick a field under Maps To for any you need, or set the rest to (Do not import).

Why can't I continue from Column Mapping?​

Two columns of one sheet can't go into the same field. When they do, a red message above the table names them, for example "Pets and Pet Instructions both go into Home Pet Instructions. Map one to another field or set it to (Do not import).", and Continue to Review stays greyed out until you do. If the two columns are Address and Home Address, map Address to Billing Address Line 1 rather than leaving it out, so the billing address is kept.

Which fields can a column from my own spreadsheet go into?​

The Maps To list covers each level of a customer. The headings of a MaidCentral export and of the cutover workbook are matched for you, such as Home Access Info and Svc Set Special Instructions. Created On, Date Created and Created Date are matched to Customer Created Date.

  • Customer: name, company, billing address, Customer Source, Billing Terms, Customer Notes, Customer Created Date, Send Scorecards, Batch Invoices, Email Invoice, Stripe Id, Authorize.Net Id, CardConnect Customer Id and Next Pending Job Date.
  • Contacts: Email, mobile, home and work phones, Contact Notes, Notification Type, Notification Days Before, and a Secondary Contact Name, Secondary Contact Phone and Secondary Contact Email.
  • Home: the service address, bedrooms, bathrooms, Half Bathrooms, square feet, Home Name, Latitude, Longitude, Directions, Home Special Instructions, Home Pet Instructions, Home Access Info, Home Key Info, Home Special Equipment, Waste Disposal Instructions, Internal Memo, Home Location Phone and Subdivision.
  • Service set: Service Set ID, Service Set Type (scope), Service Set Description, frequency, fee, hours, default teams and start time, Service Set Special Instructions, Service Set Special Equipment, P/E Code, P/E Start Time, P/E End Time and Fee Start Date.
  • Tags go in by level: Customer Tags, Home Tags and Service Set Tags. Separate several tags with |, ; or ,, for example VIP|Weekly.

A job sheet is read by these headings unless you pick a field under Maps To: Customer ID, Service Set ID, Job Date (or Appointment Date), Start Time, End Time, Service Type, Price, Job Tags, Team, Event Instructions and Work Order ID. A job links to its service set by Service Set ID first, then to its customer by Customer ID, then by the customer's name or email.

Why didn't my appointments become jobs?​

Each job needs a date Pulse can read. If any of a customer's jobs has none, the customer's row shows an error such as "1 job on Appointments has no date Pulse can read." and Apply skips that customer. Name the date column Job Date, fix the dates in the file and upload it again.

A customer's first service set also takes what its customer sheet left blank from its jobs. The Service Type, hours (from each job's Start Time and End Time), default team, start time and fee are each the value most of the customer's jobs have. The frequency comes from how far apart the job dates are; a single job gives Single.

Which column goes to the service address, and why didn't my Pets column import?​

  • Addresses: columns named Address 1, City, State and Zip go to the service address. Columns named Billing Address, Billing City or Mailing Address go to the billing address. A file with only one address uses it for both.
  • Description goes to Service Set Description.
  • Pets is not read as pet instructions on its own. If Pulse suggests it for Home Pet Instructions, set it to (Do not import) or another field. Pulse has no field for a number of pets; put pet notes in a column you map to Home Pet Instructions.

How do I tell Pulse what a sheet holds?​

Each sheet tab on Data Upload has a Sheet type list (Customer, Job, Employee or Skip), set to what Pulse detected. Change it before you click Continue to Review. Pulse reads each sheet's headings and first few rows to decide whether it holds customers, jobs or employees, in any wording or language, so a sheet of appointments with first and last names can be read as customers until you set it to Job. A sheet that holds none of them, such as a read-me or a field guide, starts as Skip, which leaves the sheet out. A sheet set to Employee has no columns to map, a Job sheet's columns are read by heading unless you pick a field, and Customer is offered only for a sheet Pulse read as customers.

A MaidCentral export, cutover workbook or setup file reads its sheets by name, so it has no Sheet type list.

Create zones, teams, scopes, tags and customer sources from your imported data​

Business Setup opens after you click Continue to Review when your file has values to set up, and creates, in Settings, the zones, teams, scopes, tags and customer sources your file uses. Nothing is created until you leave the Billing Terms page with Complete or Skip.

It has six pages: Service Zones (one row per city to start, with its zip codes; new zones get a color each, which you can change later in Settings), Teams (each with a suggested color), Scopes of Work, Tags, Customer Sources and Billing Terms. Status compares each row with what you already have:

  • Matched: it exists already, so its action is Link. Names that differ only in capitals, spaces or punctuation, such as "Jessica T." and "Jessica T..", show Matched.
  • Similar: close to the name in Matched To, and set to Link so the existing one is used. Pick Create to add a new one instead. Names that differ in a short code, like Tech C4 and Tech I4, are not Similar. On Service Zones, a Similar zone stays on Create, so its zip codes are in a zone.
  • New: nothing like it exists.

On Teams, Scopes of Work, Tags, Customer Sources and Billing Terms, a Link row's Matched To is a list of your existing names to pick from. Next (and Complete) waits until each Link row has one, with "Choose an existing name in Matched To for every Link row."

To combine cities into the zones you actually use, click a row's zip codes on Service Zones, check the ones to move, and click the zone to move them to. A zone left with no zip codes is not created. Add Zone starts an empty zone: move zip codes into it, then check it. Clicking a Zone Name renames it, and a zip code moved onto a Link row is added to that existing zone.

  1. On each page, uncheck rows you don't want, set Action, and click Next. Skip creates nothing from a page.
  2. On Billing Terms, click Complete.

Billing terms can be linked to one you have or skipped; skipped billing terms are left off.

Why does a zone's zip code list two towns?​

A zip code or Canadian postal area that several towns share goes in one zone, named for the town with the most homes. Under its zip codes the row lists every town and its homes, such as "N0B: Larkspur Hollow (2), Ashby Corners (1) — homes in every town go in this zone". Rename the zone or move the zip code if those towns belong elsewhere.

Can I skip Business Setup?​

Yes. Click Skip Business Setup on any page of Business Setup, then click Skip Business Setup in the dialog. Nothing from your file is created, and Process Import opens with the file in review.

A value that exactly matches one you already have (Matched) is linked to it. Every other zone, team, scope, tag, customer source and billing term value, Similar or New, is answered Skip, and is never linked to a close match. When you apply the file, a skipped value is handled like this:

  • Service Type is left blank, and the row shows "The service set on row N has no scope of work in this company." on Process Import. Pick a scope for the row in Service Type there. If the scope you need doesn't exist yet, add it under Settings → Quoting & Scopes → Scopes of Work, then pick it (see Why does a row show an error about scope of work before I apply?).
  • Tags are left off.
  • Customer source becomes Other Unknown, and billing terms become Other.
  • A service set with no team gets your first team.
  • Homes are placed in the zone that holds their zip code (for a home in Canada, the first three characters of the postal code, such as L3X), or in your first zone, as usual.

The file can't return to Business Setup afterward. A team, tag or customer source you add in Settings later isn't applied to this file's customers; set it on each customer after the import, or delete the upload and import the file again without skipping.

Why does Customers count fewer rows than my file?​

On Customer Sources and Billing Terms, Customers counts each customer once and leaves out rows marked Duplicate, which Apply skips. So Website shows 2 when three rows say Website and one of them is a duplicate.

Why Process Import doesn't open after you upload your file​

Process Import opens once every value in your file has an answer on Business Setup. Until then it says "Finish Business Setup to review this file." Click Go to Business Setup, give every row an action, and click Complete, or click Skip Business Setup. If a value still has no answer, Some values still need an answer lists it. Once the file has its answers, or needs none, Continue to Review goes straight to Process Import.

Zones (with their zip codes), teams and tags appear under Settings → Team & Operations. Scopes go into your first active scope group under Settings → Quoting & Scopes → Scopes of Work. Customer sources appear under Settings → Customer Sources.

warning

Scopes need a scope group, so create one first if you have none. Anything Pulse could not create is listed under Completed with some errors. When every value still has an answer, click Continue to review. Otherwise click Review choices, change those rows, and click Complete again.

Upload a location's cutover CSV files together​

Export each tab of the cutover template as a UTF-8 CSV file named <Location ID>_Cutover_<tab name>.csv, with the heading row exactly as written, for example L123_Cutover_Customers.csv and L123_Cutover_Notes and Tickets.csv.

  1. On Data Upload, in Upload File, drop all of the location's CSV files on the box at once, or click browse and select them together.
  2. Pulse combines them into one upload, one sheet per tab, and the upload list shows it as <Location ID>_Cutover.xlsx.
  3. Continue as for any other upload.

The files must be from one location and use the tab names on the Read Me tab, one file per tab, up to 8 MB in all. You can also upload the filled-in template as one workbook instead. A single tab's file named this way, such as L123_Cutover_Customers.csv on its own, is read the same way.

Pulse reads the Customers, Rooms, Jobs, Leads, Open Invoices, Timesheets and Notes and Tickets tabs. It doesn't read Additional Pay or Employee Time Off yet, so rows on those tabs are not imported. On Data Upload, those two tabs are marked Not imported.

Import your customer export from MaidCentral into Pulse​

A customer export from MaidCentral V2 (Customer Search > Export Customers) is recognized when you upload it, so there are no columns to map. Column Mapping says "This file's format was recognized. Its columns are matched automatically." Click Continue to Review.

Pulse reads these sheets:

  • Import Data: one row per service set. Rows with the same Customer Ref become one customer, and rows with the same Home Ref become one property. When a later row disagrees with the first, the customer gets a warning and the first row's values are used.
  • Contacts, Jobs, Job Fees and Notes, matched to their customer or service set by their Ref columns. A customer's Contacts rows replace the phones and emails on Import Data. When an Import Data email or cell phone isn't on the customer's Contacts rows, the customer gets a warning naming it.
  • Rooms, if the file has one, matched to its property by Home Ref.
  • Leads, if the file has one: one row per lead, with its quotes. Leads are not linked to Import Data rows.

A file made before the Ref columns existed is read as one customer, property and service set per row.

warning

A row on another sheet whose Ref is not on Import Data stops the upload, and the message lists up to 10 of those rows. Fix them in the file and upload it again.

Does a MaidCentral export bring in my past jobs?​

On a MaidCentral export, jobs dated before today are added as closed history, and jobs dated today or later as upcoming jobs. Past jobs are marked invoiced, so they aren't invoiced again and don't appear on Jobs Not Invoiced.

What does Pulse check on a MaidCentral export?​

A fee or amount may include a $. A phone that isn't 10 digits, such as one with an extension or a +1, is an error: fix the Mobile cell, or the number in your file. A State must be a US state or Canadian province code, and a Zip Code five digits, ZIP+4 or a Canadian postal code. A four-digit zip is padded with a leading 0 and shows a warning when the State is CT, MA, ME, NH, NJ, NY, PR, RI, VT or VI, where zip codes start with 0. In any other state it is an error until you type the full zip code. A Job Fees row whose Rate Amount isn't a number shows a warning and that fee is left out. A Fee of 0 on a Single service shows a warning, because its job would be free.

These warnings name the value Pulse will store:

  • A State of the wrong country for its Zip Code: "State 'VT' is a US state, but Zip Code 'L0E 1R0' is a Canadian postal code; check the State."
  • A Customer Source over 100 characters: "Customer Source is over 100 characters; it will be saved as '…'." with the first 100 characters.
  • A Customer Created Date after today (see the next section).

Why does a row warn that the Customer Created Date is in the future?​

A customer can't be created in the future, so a Customer Created Date after today is saved as the date you apply the import. The row warns "Customer Created Date 2027-01-05 is after today; the customer's created date will be the date you apply." Fix the date in the Created column, or in Created Date under Edit in the customer's preview, and the warning clears.

Why was my MaidCentral file rejected?​

Import Data is read by column position, so its row-3 headings must be MaidCentral's. A renamed heading, such as Surname in place of Last Name, stops the upload with "The Import Data headings on row 3 aren't MaidCentral's." and the message names the column. Rename the heading back, or upload the file in MaidCentral's layout. A file without the Customer Ref, Home Ref, Service Set Ref, Home Location Phone and Subdivision columns is still read.

The sheets are read by name, so Data Upload shows each one as imported or Not imported and has no sheet type to choose.

Why can't I apply an import with Home Keys?​

A Home Key is the number on a property's key tag. On every file format it can be at most 50 characters. A longer one is an error on its row: "Home Key too long. 50 Character Max." Shorten it in the file, or in the row's Home Key cell on Process Import. Where the key is kept, such as "under the front door mat", belongs in the Home Access Info column.

warning

If any row has a Home Key and Edit Home Key is off for your company, Apply is refused with "Feature: Edit Home Key is not enabled. Please enable the feature to allow the custom Home Key Values to be saved." Turn on Edit Home Key (it may need to be turned on for your company; an Administrator turns it on under Settings > Integrations & System > Pulse Features), or clear the Home Key column, then apply again.

Import a location's cutover workbook​

This workbook moves customers, their homes and service sets, and their past jobs into Pulse in a single upload. Fill it in, check every row on Process Import, then apply it. The sections below explain how each tab is read, which columns are used, and what a row needs so that it imports.

How do I import the Customers tab of our cutover workbook?​

A workbook with a Customers sheet whose first row has Customer ID, Home ID and Service Set ID is recognized like a MaidCentral export, so there are no columns to map. The Customers sheet can be the only sheet in the file. Column Mapping says "This file's format was recognized. Its columns are matched automatically." Click Continue to Review.

  • Rows with the same Customer ID become one customer, and rows with the same Home ID within it become one property.
  • Each row with a Service Set ID is one service set, so two rotations on one home are two rows and two service sets.
  • A row with no Service Set ID imports the customer and property with no service set.
  • Secondary Contact Phone and Secondary Contact Email are added as contacts, with the Secondary Contact Name in their notes.
  • Rows whose IDs start with EX- are the workbook's examples and show an error. Delete them before you upload the file.

Why did a customer with a cancelled service import with no pending jobs?​

A cancelled service imports with no pending jobs. A Service Set Status of Inactive imports the service set with no pending jobs, and adds a Cancel Service contact ticket dated the Cancelled Date, with the Cancel Reason in its notes. If Cancelled Date is blank, the row shows a warning and the ticket is dated the day of the import.

Why does a cutover row say Allowed Team Hours is required?​

Every row with a Service Set ID needs Allowed Team Hours, cancelled ones included. Without it the row shows the error "Allowed Team Hours is required when Service Set ID is set.", and that customer is not imported until it's fixed. A Customer Status of Inactive on a customer with an Active service set is an error: set the service set's Service Set Status to Inactive, or the customer to Active.

Which sheets and columns of a cutover workbook does Pulse read?​

Pulse also reads the workbook's Jobs, Rooms, Leads, Open Invoices, Timesheets and Notes and Tickets sheets. It doesn't read Additional Pay or Employee Time Off, the Contacts or Notes sheets of a cutover workbook, or these Customers columns: AutoPay, Territory and Zone. AutoPay is not loaded.

Why is my Zone column ignored?​

A cutover row with a Zone or Territory shows a warning that it isn't imported. Pulse picks each home's zone from its zip code.

Which Customers-tab columns does the cutover import load, and where do they go?​

Besides the names, contacts, addresses and service set columns, the cutover import loads these Customers columns:

  • SMS Opt In: TRUE opts in each of the customer's own cell phone contacts for texts, not the Secondary Contact Phone, and adds the SMS Opt-In tag.
  • Marketing Opt In: TRUE opts the customer in to marketing and adds the Marketing Opt-In tag. FALSE or blank leaves either opt-in off.
  • Country (US or CA; USA, United States and Canada are accepted): the property's country. Blank uses your company's country. Any other value shows a warning and the home gets your company's country.
  • Stories, People and Pets: the property's details.
  • Scope of Work: the service set's scope of work. It must be one of the scopes of work under the row's Service Set Type, or the row shows an error.
  • Assigned Captain Employee ID: the service set's default team is the team with that captain on the setup file's Teams tab. Apply the setup file first. If no applied setup file has a team with that captain, the row gets a warning and the service set imports with no default team.
  • Hourly Rate: the service set's hourly rate, for a service set type billed hourly. Blank uses the service type's rate. On a type that isn't billed hourly, the row gets a warning and the rate isn't used.
  • Add-Ons: each Description=Amount part, separated by |, such as Inside oven=25.00|Laundry=20.00, becomes a rate modification on the service set. Add-ons don't change the jobs' allowed hours.
  • Recurrence Notes: added to the service set's special instructions as "Recurrence: …".
  • Agreement Date, Lifetime Revenue Before Cutoff and Lifetime Jobs Before Cutoff: one "Before Pulse" note on the customer, such as "Before Pulse: agreement date 2018-09-14; lifetime revenue $21,360.00; lifetime jobs 118." They're read from the customer's first row.

How does the cutover workbook's Jobs tab load? Will my past jobs bill again?​

Each row of the Jobs sheet is a past work order, and it loads onto the service set with its Service Set ID, with its Status. Past jobs don't bill again.

  • Closed jobs, and Skipped or Lock Out jobs with a Charged Amount, are marked invoiced. They show as already invoiced on Invoicing, aren't invoiced again, and don't appear on Jobs Not Invoiced.
  • On a Closed job, Charged Amount becomes the job's price. Any difference from the service set's fee is added as a Job Adjustment line.
  • On a Skipped or Lock Out job, Charged Amount is the Skip Fee or Lockout Fee, the only amount that job bills. Without one, the job bills nothing.
  • Cancelled, Bumped and Moved jobs bill nothing, so their Charged Amount isn't used.
  • Tip is kept on the job.
  • A Visit Type of First Time, Deep Clean or One Time adds that visit tag to the job.
  • Work orders dated today or later are skipped with a warning. Future visits come from Next Pending Job Date, and they start after the last past job.
  • A row with a blank Service Set ID creates a one-time service on that home, using the scope of work of the home's other service. It needs Allowed Hours, or it's skipped with a warning.
  • A row whose Customer ID, Home ID or Service Set ID isn't on the Customers sheet, or a repeated Work Order ID, stops the upload. The message lists up to 10 of those rows. Fix them in the file and upload it again.

How does the Timesheets tab load?​

Each Timesheets row is one employee's time on a job before Go Live Date, loaded onto the job with its Work Order ID and its Time In, Time Out and Pay as recorded. Nothing is sent to your payroll provider. These timesheets fall in the closed Imported (paid outside MaidCentral) payroll period, so they aren't paid again in Pulse, and their clocks can't be added or changed. See the next question.

  • Pulse keeps that pay as recorded. Adding, editing or removing a fee or extra on the job doesn't recalculate it, and neither does removing one of the job's timesheets: the timesheet is removed, and the others keep their recorded pay. A timesheet on a closed job can be removed only by a Super Administrator. MaidCentral V2 has no timesheet import and works out pay from your pay settings; Pulse keeps what your previous system paid, so payroll history matches what employees were paid.
  • The captain's row (Position C) adds the captain's Default Team to the job, unless the job has it already.
  • Time In and Time Out are required, in your company's local time, as YYYY-MM-DD HH:MM. Time Out can't be before Time In or over 24 hours after it. Only timesheets before Go Live Date load: a Time In on or after Go Live Date, or today or later, is an error, and a row on a job dated on or after Go Live Date, or today or later, fails. If Go Live Date has already passed, those days are in an open pay period, so their time is entered in Pulse instead.
  • A row whose Work Order ID isn't on the Jobs tab or an applied cutover file, or whose Employee ID isn't on an applied setup file's Employees tab, is an error on the Timesheets tab of Process Import. Apply the setup file first.
  • Set each row to Create or Skip. A row an earlier upload imported is set to Skip.
  • Delete test import removes the file's timesheets, but not a captain's team it added to a job from an earlier file. Delete that file too to start clean.

(Pulse reference D-27)

Will the pay history I import be paid again in Pulse payroll?​

No. Applying a cutover file with past jobs adds one Imported (paid outside MaidCentral) period to Payroll History. It runs from the earliest past job to the day before the setup file's Go Live Date.

  • Those dates are closed: they can't be paid again, and their clocks and additional pay can't be changed.
  • A timesheet on or after Go Live Date isn't imported, even when Go Live Date has passed, because those days are in an open pay period and would be paid again.
  • Your previous system and payroll provider stay the record for that pay. Enter a correction as additional pay in your first MaidCentral pay period.
  • The first pay period Pulse offers starts on Go Live Date.
  • Go Live Date must be on the day your pay week starts (Payroll Week Starts On in payroll settings), or the cutover file isn't applied. Apply the setup file first: a cutover file with past jobs isn't applied until an applied setup file has a Go Live Date.
  • Once the imported period exists, a later cutover file isn't applied if Go Live Date has changed since. Use Delete test import on the earlier cutover file first, or put the original Go Live Date back in the setup file.

Why was my customer skipped because of one bad Jobs row?​

A Jobs row's errors are on its customer, so one bad row, such as a job that ends before it starts, keeps that customer from importing. Fix it on the Jobs tab of Process Import, shown with its count when the file has jobs: click a cell, type the new value and press Enter. You can change Work Order ID, Start, End, Job Status, Visit Type, Allowed Hours, Charged Amount, Tip, Teams and Tags. Date can't be changed there, and Start and End stay on that date: fix the date in the file. Issues shows the row's errors, and its customer is checked again on each save. Job Status and Visit Type are picked from lists.

How do the Open Invoices tab's invoices and credits load, and will they be charged or sent to QuickBooks?​

Nothing on the Open Invoices tab is charged, emailed or sent to QuickBooks. Each row loads onto the customer with its Customer ID, which must be on the Customers tab or on a cutover file you applied before. When that customer is a likely match of an existing customer, its invoices, credits, notes and tickets wait for your decision: choose Overwrite or Skip for it to load them onto the existing customer, or Create to load them onto the new one.

  • An Invoice row shows on the customer's Payment & Billing card with its Balance due. It is marked Sent, or Partially Paid when the Balance is less than the Original Amount. A Work Order ID links it to that past job.
  • A Credit row is added to the customer's account as an unused credit of its Balance, available for the customer's next invoice.
  • Imported invoices and credits don't appear on the Open Invoices report, which reads QuickBooks.
  • A row whose Customer ID or Work Order ID isn't on this file or an applied cutover file shows an error on Process Import and isn't imported. Rows whose Invoice ID an earlier upload already imported are set to Skip, so uploading the same file again adds nothing twice. Such a row set back to Create, or one whose Invoice ID another upload imported after this file was uploaded, shows an error and isn't imported; the same goes for a Notes and Tickets row and its Entry ID.

Can I fix an invoice's Customer ID without uploading the file again?​

Yes. On Process Import, open the Open Invoices tab, click the row's Customer ID cell, type the right ID and press Enter. The row is checked again, so its error clears once the ID is a customer on this file or an applied cutover file. Every cell can be fixed this way, such as an Original Amount that isn't a number or a Balance over the Original Amount. A date or amount Pulse can't read is refused and nothing is saved.

How do the Notes and Tickets tab's notes and tickets load?​

Each Notes and Tickets row becomes a note on its record or a ticket. Fix a row's cells, such as Record ID or Close Date, on the Notes and Tickets tab of Process Import: click the cell, type and press Enter. Attached To and Record ID name the record: a Customer ID or Lead ID on this file or an applied cutover file, or an Employee ID on an applied setup file's Employees tab. A row for an employee not imported yet shows an error and isn't imported. Upload the file again after the employees are imported: rows already imported are skipped, and that row imports.

  • Note, Timeline Event and Price Increase rows are closed notes dated by their Date (your company's local time): on the customer's Notes & Activity, the employee's Notes tab or the lead's notes. Timeline events and price increases start with their type, such as "Price Increase: …". An Author is added at the end, such as "(by K. Wells)".
  • Ticket rows are customer tickets with their Ticket Type, open date, Close Date and Resolution. A ticket goes on its Service Set ID, else its Work Order ID's service, else the customer's first service that isn't cancelled. A customer with no service can't get a ticket. Imported tickets go in your default ticket bucket, and open ones show on the Tickets board.
  • Follow Up Date has no field yet, so it is added to the ticket's text as "Follow up: 2026-10-14".

Import leads into Pulse with their quotes​

To import leads, fill in the Leads sheet of the template, one row per lead, and upload the file as usual. The leads can come in the same file as your customers, or on their own: leave Import Data with only its heading rows.

  • Required columns: First Name, Last Name, Lead Acquired Date and Status.
  • Status is one of Needs Contacted, Contacted, Quoted, Follow Up, After Follow Up, Closed or Lost Sale. Lost Sale is saved as Closed, and the Lost Reason is saved as a note on the lead. A lead with Status Booked is already a customer, so it is not imported: put that customer on Import Data instead.
  • Lead Channel is Phone, Web Form, E-commerce or AI Chat or Call, or blank.
  • Phone has 10 digits. Bathroom is full and half bathrooms, such as 2|1.
  • Each Quote column you fill in, such as Quote Every Two Weeks, becomes a quote at that price. Selected Frequency marks the one the lead chose, and its Quote column must have an amount.
  • A lead with a Customer ID is also treated as booked and is not imported. On the Leads tab, a booked lead shows Skip with "Booked lead: already a customer, not imported."
  • Territory is shown during review but is not saved on the lead yet.

On Process Import, a Leads tab, after Schedule Table, lists the leads and their quotes, with any problems in Issues. To fix a lead, click a cell (name, email, phone, Lead Acquired, Lead Status, Lost Reason, Source, Channel, Territory, a quote or Selected), type the new value and press Enter. It saves at once and the row is checked again.

Why does a lead show Update instead of Create?​

With Smart Import on, a lead whose first and last name and email or phone match a lead or customer you already have shows Update in Action, and Match names it, for example "Likely match: lead #123". Update leads are not imported. To import it anyway, choose Create in Action; to leave it out, choose Skip. A lead whose name and email or phone repeat an earlier row in the same file shows Duplicate and is not imported.

Import your setup file​

Upload the MaidCentral setup file (the setup workbook) on Data Upload. Pulse recognizes it, like a customer export, so there are no columns to map and no sheet type to choose. Pulse reads its Location, Pricing, Teams (Team Name, Captain Employee ID, Sort Order), Room List (Room Name, Room Type: Wet, Dry or Other) and Employees tabs by name, and leaves the Read Me and Field Guide tabs alone. Business Setup has nothing from this file to set up, so Continue to Review opens Process Import directly, with a tab for each of these tabs the file has: Location, Pricing, Teams, Room List and Employees.

Review each tab of the setup file​

  1. Open the Location tab. Its one row updates this company's settings: name, abbreviation, time zone, office address, business hours, office phone, email and website. The row is set to Update ("Updates this company"), or to Skip when nothing differs from what the company has now ("No changes"). A Location Name different from the company's current name is shown as a warning, because applying renames the company; set the row to Skip if you don't want that. A row whose Location ID starts with EX- is an example row and is an error. The tab shows Location ID, Location Name, City/State, Time Zone and Go Live Date. Owner, currency, distance unit and license numbers are checked when you upload the file but aren't shown on the tab, and they change nothing in Pulse. Go Live Date doesn't change company settings; when a cutover file with past jobs is applied, Pulse closes payroll for that history through the day before Go Live Date.
  2. Open the Pricing tab. Each row names one of this company's service types (Settings → Quoting & Scopes → Scopes of Work) and one of its frequencies, and updates that frequency's hourly rate, minimum charge and price factor. A blank Minimum Charge or Price Factor leaves the current value as it is. A service type or frequency that isn't set up yet is an error, and a row whose prices already match is set to Skip ("No changes").
  3. Open the Teams tab. A team whose name already exists in Settings says Matches existing team and is set to Skip. Change it to Create if you want a second team with that name. A team listed twice in the file is marked Duplicate in file and is not created.
  4. Open the Room List tab and do the same for rooms. A room type other than Wet, Dry or Other is an error until you fix the file and upload it again.
  5. Open the Employees tab. Each row from the file's Employees sheet shows a status dot and an Action. An employee whose name and email or phone match a technician you already have is set to Skip; change the action to New to create them anyway. To fix a value, click the cell, type the new value and press Enter. It saves at once; there is no Save button. Red cells name what is missing or wrong (hover to read it).
  6. When the import is applied, the location and pricing are updated first, then the teams appear under Settings → Team & Operations → Teams in their sort order, and the rooms under Settings → Quoting & Scopes → Rooms. Then the employees appear under Office → Technicians. The employee named by a team's Captain Employee ID becomes that team's captain: their default team is set to that team and their position to Captain, even if their own row said otherwise. The cutover file's Assigned Captain Employee ID still uses Captain Employee ID to pick a service set's default team.

How do I set a team's captain in the import?​

Put the captain's Employee ID in the team's Captain Employee ID column on the Teams tab. When the file is applied, that employee is created on that team as its Captain, whatever their own row's Default Team and Default Position say.

What does the Location tab change?​

Applying the Location row writes these columns to this company's settings (Settings → Company Settings):

Location tab columnCompany setting
Location NameCompany name
AbbreviationAbbreviation
Time ZoneTime zone: Eastern, Central, Mountain, Mountain - Arizona, Pacific, Alaska, Hawaii, Atlantic or Newfoundland
Address 1, Address 2, City, State, Zip Code, CountryOffice address, as both the mailing and the physical address
Business Hours Start, Business Hours EndBusiness hours (a blank time leaves the current one)
Office Phone, Office Email, WebsitePublic phone, email and website

Location ID, Owner Name, Owner Email, Currency, Distance Unit, License Numbers and Cutting Over With are checked but change nothing in Pulse. Go Live Date doesn't change company settings either; when a cutover file with past jobs is applied, Pulse closes payroll for that history through the day before Go Live Date. Of these, only Location ID and Go Live Date appear on the Location tab. Currency and distance unit follow the country: CAD and Kilometers for Canada (CA), USD and Miles for the US. A row whose currency or distance unit doesn't match its country is an error.

What goes in the Employees sheet?​

Keep the sheet's heading row and put one employee on each row below it.

  • Required columns: Employee ID, First Name, Last Name, Status (Active or Terminated), Hire Date, Birth Date, Address 1, City, State, Zip Code, Has User Account and Appears On Scheduler.
  • Employee ID is used once in the sheet, and the same first and last name can't be on two rows.
  • A Terminated employee needs a Termination Date.
  • Has User Account set to TRUE needs an Email (50 characters or fewer) and a User Role.
  • Appears On Scheduler set to TRUE needs a Default Team, a Default Position (C, T, TR or X), an Availability Start Time, an Availability End Time and Availability Days of Week.
  • State is the two-letter abbreviation, and Cell Phone is 10 digits.
  • Text longer than MaidCentral keeps, such as a first name or address over 50 characters, gets a warning and is cut to fit when the employees are imported.
  • Dates are YYYY-MM-DD or M/D/YYYY, for example 2021-03-15 or 3/15/2021.
  • Yes/no columns take TRUE or FALSE (Y and N also work).
  • More than one value in a cell, such as several days, skills or tags, is separated with |, for example Monday|Wednesday|Friday.
  • Default Position left blank means Extra (X).
  • Incentive Pay Model is the name of one of your incentive pay models, or blank.
  • Bio is up to 500 characters and shows on the technician's scorecard. A longer bio gets a warning and is cut to 500.
  • Notes becomes one note on the technician's Notes tab.
  • A skill or tag Pulse doesn't have is left off the employee.

Why did my employee row fail with "Default Team not found"?​

When the file is applied, Pulse looks up each employee's Default Team, Default Position, PTO Policy and Incentive Pay Model by name. A team named on the file's Teams tab is found too. A name Pulse can't find fails that row, and Results shows which one, for example "Default Team 'Ghost Team' not found." Add it in Settings, then click Retry failed on the Import step. Employees already created are not created again.

Check and fix rows in the grid​

Once Business Setup is finished, Pulse lists the customers it found in your file in Table View on Process Import.

  • Type in Search to find a customer by any value in the row.
  • Click the Valid, Warnings or Errors chip to see only those rows.
  • Click any cell, type the new value and press Enter. It saves at once and the row is checked again. Every column can be edited except the counts. Property and service columns such as BR, BA and Service Type change the customer's first property and its first service.
  • Source ID is the row's Customer ID (Customer Ref on a MaidCentral export). Show it with Choose Columns to fix a blank one, or one that starts with EX-. A changed Source ID isn't matched against earlier uploads again.
  • A date Pulse couldn't read shows the file's text in gray italics, such as 31/31/2026. Type the date to replace it.
  • Fix the file's jobs, open invoices, and notes and tickets on their own Jobs, Open Invoices and Notes and Tickets tabs. Their cells can't be edited while a customer edit waits on Save.
  • Service Type is picked from a list of your company's scopes of work, and Frequency from a list of frequencies.
  • P/E, P/E Start and P/E End hold a service's preferred or excluded time window. P/E is P (preferred) or E (exclude), and the times are like 09:00.

Where is the Frequency column in the import grid?​

City, State, Zip, Frequency, Fee, Hours, Service Type, Default Teams and Start Time show from the start. Any other column with an error or warning shows on its own. To show more, open the menu on a column heading and click Choose Columns.

Why does my frequency show as not valid?​

A frequency Pulse doesn't recognize shows "Frequency is not valid. Use Every Week, Every Two Weeks, Every Three Weeks, Every Four Weeks, Other Recurring, Single or On Demand."; pick one from the list, such as Every Week. Text like "Recurring Customer - Every 2 weeks" is read by its last part, so it becomes Bi-Weekly.

How do I fix the same wrong value on many rows at once?​

After a cell saves, a message says how many other rows still have the old value, for example 12 other rows have "Deep Clen". Click Apply to all 12 in that message to give all of them the new value; Pulse checks each row again and says how many were updated. The offer shows for about 10 seconds, and not for Email or Mobile.

  • It also shows after an edit in a customer's preview.
  • When the old value was blank, it offers every other row with that field blank, for example 8 other rows have no Service Type.
  • If an edit can't be saved, a Save button appears at the top right; click it to try again.
  • Hover a row's colored status dot, or the error or warning count in Issues, to read what is wrong.
  • Click the eye icon at the end of a row to open a preview of that customer (see the next section).

What does the customer preview show?​

The eye icon at the end of a row opens the customer's preview. Its header shows what Apply will do with the row (New, Duplicate, Skip, Update or Overwrite); a Duplicate row says "Duplicate of another row in this file. Apply skips it." Below any issues, Customer and Contacts sit side by side, then a Homes table with each Home ID (click the arrow on a home to see its instructions) and a Service sets table with each set's Service Set ID, service type, description, frequency, fee, hours, start time, next job, Upcoming jobs, fee start and P/E. Upcoming jobs is how many jobs today or later Apply will schedule for the set.

Click a cell in Homes or Service sets, type the new value and press Enter; it saves on that home or service set. To fix an Invalid Date on Fee Start Date, type the date in Fee start in the Service sets table. Edit changes the customer's name, company, source, billing terms, tags, notes and Created Date; an empty Created Date shows the file's text it couldn't read. To open one property, expand the customer in the grid and click the property: the preview opens with that home flashed in Homes.

How do I fix a Service Set ID that is on two rows?​

A Service Set ID on two rows is an error, "Service Set Ref SS-1 is also on row 4. Each row is one service set; give it its own ID or remove the row." Click the eye icon at the end of the row, then in the preview's Service sets table click Service Set ID, type the right ID and press Enter. The error clears; typing an ID another row uses brings it back. Fix a Home ID the same way in Homes.

Why does a row show an error about scope of work before I apply?​

Review now flags what applying the import would reject, so you can fix it before you click Apply. For example:

  • "The service set on row 12 has no scope of work in this company." The row's Service Type was skipped on Business Setup (or you clicked Skip Business Setup and it didn't exactly match one of your scopes), or isn't one of your scopes. Pick a scope from the Service Type list. If row 12 is the customer's second service, click the eye icon at the end of the row and pick the scope in the Service sets table in the preview.
  • "This company has no zones to place the home in." Add a zone under Settings → Team & Operations. A home whose zip code is in none of your zones is placed in your first zone; for a home in Canada, Pulse matches the first three characters of the postal code; when you later add that zip code to a zone, Pulse moves the home there, and Recalculate home zones on the Service Zones page re-checks every customer at once (see Service Zones).

A row is checked again each time you edit one of its cells, so after you add a missing setting, edit the row to clear its error.

Why does a row warn about Allowed Hours?​

"No Allowed Hours: Apply will not save this service set's fee or frequency, or create its jobs." The row still applies, but a service set with a fee or frequency and no hours gets no fee, no frequency and no jobs, and the customer shows as Inactive. Type the hours in the set's Hours cell in the preview's Service sets table, or fix the file, and the warning clears.

To upload another file in the same visit, click Upload another file, set Smart Import, then choose the file.

Preview the schedule before you import​

You can see what your schedule will look like before the import is applied. On Process Import, three tabs next to Table View show the imported services as a schedule:

  • Job Schedule shows one day at a time on a timeline, starting on the first day with a projected job. Use the arrows to move a day; Today jumps to today's date.
  • Master Schedule has a tab for each day of the week and marks the weeks of a four-week rotation each service visits.
  • Schedule Table shows the same services in a table, one day of the week at a time, with each one's time, frequency, fee and rotation weeks.

The jobs in these tabs are projections. Pulse works them out from each service's frequency and next job date, four weeks ahead, and a one-time service shows a single visit on its next job date, or none if that date has passed. Nothing is put on your real schedule until the import is applied. Click a job or customer to open that customer's preview.

Why are jobs on Unassigned in the Job Schedule preview?​

Each job sits on its service's default team, or on Unassigned when it has none. Master Schedule and Schedule Table show the same team. To give a service a team, fill in its Default Teams cell in Table View.

Have AI check imported rows for mistakes​

Pulse's AI can read each row's notes, special instructions and access details and point out information that belongs in its own field, such as pets, a gate code or a service frequency typed into the notes. It only suggests. It never changes a value.

  1. On Process Import, if a Save button shows an edit that failed to save, save it first. Run AI validation is unavailable while it waits.
  2. Click Run AI validation at the top right. The button reads Validating…, and the grid can't be edited until it finishes.
  3. A message reports how many rows the AI reviewed and how many suggestions it added.
  4. Click the eye icon at the end of a row. Each suggestion is listed under Validation Issues, for example Notes: AI found Pets: 2 dogs.
  5. If you agree, copy the information into the right field yourself.
warning

Each run reviews the first 20 rows, by row number, that have notes or instructions. Running it again replaces those rows' earlier AI suggestions instead of adding more.

Apply the import to add the customers to your customer list​

Applying a file creates its customers in Pulse, each with its contacts, properties, service sets, notes and rooms, its leads with their quotes, and a setup file's teams, rooms and employees. It creates new records, except that a setup file's Location and Pricing rows set to Update change this company's settings and prices, and a likely match set to Overwrite updates that customer's homes and service sets (see Decide what happens to a row that matches an existing customer). It never changes a team, room or technician you already have. Creating records sends no emails or texts; an Overwrite can, when your company has an automation that runs when a service set changes.

A setup file's employee is created as a technician with their contacts, default team and position, weekly availability, pay, PTO and sick hours balances, incentive pay model, bio and note. No invite is sent.

A service set's Jobs rows come in as its schedule: a job dated before today is added as closed history. Past jobs are marked invoiced, so they aren't invoiced again and don't appear on Jobs Not Invoiced. A job dated today or later is added as an upcoming job. When a service set has no Jobs row dated today or later, Pulse also schedules its upcoming jobs from its Next Pending Job Date and frequency, the same way a new service set is scheduled. A service set with no base fee gets no jobs.

  1. On Process Import, click Continue to Apply at the top right of the grid, or click Import in the step bar.
  2. Decide any Likely matches (see the next section).
  3. Will be skipped lists each row Apply won't import, with its reason. When the file has sheets Pulse doesn't import, such as Additional Pay, the Apply card names them with their row counts. The Apply card also says how many upcoming jobs will be scheduled, and to an administrator what Business Setup already created, such as "Business Setup already created Zones: North · Scopes: Move Out". An Overwrite card lists each row set to Overwrite with the homes and service sets it updates and what it keeps.
  4. Click Apply. The dialog says how many customers, and leads, employees, invoices and credits, timesheets, and notes and tickets if the file has any, will be created, how many upcoming jobs will be scheduled, how many customers will be updated (homes and service sets only; contacts and email are kept), and how many rows will be skipped: duplicates, rows set to Skip, rows with errors, booked leads, and likely matches without a decision. It also names the sheets that won't be imported.
  5. Click Apply in the dialog. The progress bar moves as each employee, customer and lead is created or updated. You can leave the page while it runs.

When it finishes, Applied, Skipped and Failed show the counts, and Results lists each failed row with its error and each applied customer, lead, employee, invoice, credit, timesheet, note and ticket. When the file has leads, employees, invoices, timesheets or notes, Type says which each row is (Customer, Lead, Employee, Invoice, Credit, Timesheet, Note or Ticket). Click an applied name to open the customer, lead or technician.

If you don't see Apply, you can review imports but not apply them. Ask an administrator.

Why did my import create so many jobs?​

Each recurring service set gets every visit for the 12 months from its Next Pending Job Date: about 52 jobs for a weekly service and 26 for every two weeks. Before you apply, the Apply card and dialog say how many upcoming jobs will be scheduled, such as "10 customers will be created, with 220 upcoming jobs scheduled.", and Upcoming jobs in the customer's preview gives each service set's count.

Will my imported past jobs show up to invoice?​

No. A job dated before today is added as closed history and marked invoiced, so it isn't invoiced again and doesn't appear on Jobs Not Invoiced. A job dated today or later is invoiced like any other job.

Why can't my imported employee log in?​

Applying a file creates no logins, even for an employee whose Has User Account is TRUE. When the import finishes, a line under the counts says how many imported employees have Has User Account set to TRUE. Create each one's account from their technician page under Office → Technicians.

Which rows were skipped, and why?​

Before you apply, Will be skipped lists each row Apply will leave out, and after it Results lists each skipped row, marked Skipped. Each has its reason: "Duplicate of another row in this file", "Set to Skip", "Has errors: " followed by the row's first error (for example "Has errors: Customer First and Last Name is required."), "Booked lead", "Likely match without a decision" or, for an employee, "Already a technician" (they match a technician you already have) or "Employees are imported from the setup file" (they came from your own spreadsheet; only the setup file's Employees tab creates technicians).

Why was no job created from a Next Pending Job Date?​

A Next Pending Job Date before today creates no job, because that visit is already in the past. A one-time service gets no job. A recurring service starts on its first date on or after today, on its usual schedule; for example, a weekly service whose date was last Tuesday starts next Tuesday. Process Import warns about each of these rows before you apply.

Decide what happens to a row that matches an existing customer​

With Smart Import, a row that looks like a customer you already have is a likely match, counted under Updates in the grid. A row with the same Customer Ref and the same email or address as a customer an earlier upload created is a likely match too, even when the name in the file has changed, so a corrected file doesn't create that customer twice unless you click Create. A likely match without a decision is skipped.

  1. Click Continue to Apply. Likely matches lists each one with the existing customer it matches; click that name to open the customer.
  2. Click Create to add the row as a new customer, Overwrite to update that customer's homes and service sets from the row, or Skip to leave it out so no duplicate is made. Overwrite all sets every likely match without a decision to Overwrite at once, except one whose name differs from the existing customer's; decide those one at a time. Each click is saved right away, and you can change it until you apply. A row that can't be overwritten shows why and keeps its earlier decision.

How do I fix customers I already imported with a corrected file?​

Fix the cells in the file, then upload it again with Smart Import on. Click Continue to Review, then Continue to Apply. The customers you imported before show as likely matches (Update in the grid). Click Overwrite all, click Overwrite on each row whose name you changed, then click Apply. Each one is updated in place instead of being added again. An Overwrite can't be undone.

What does Overwrite change?​

Overwrite updates the matched customer's homes and service sets from the row:

  • Service set: service type, description, special instructions, special equipment, default team, start time, P/E window, fee, allowed hours and frequency.
  • Home: name, bathrooms, square feet, stories, people, pets, access information, key, directions, special instructions, pet instructions, special equipment, waste disposal, internal memo and location phone.

A blank cell leaves the current value. A changed fee, hours or frequency starts on the row's Fee Start Date, or today when that date is blank or already past, and the upcoming jobs' hours are updated from that date, the same as changing the fee on the customer's page. A Base Fee Change ticket is added when your company creates rate change tickets. Upcoming jobs keep their dates; to move them to a new frequency, change the frequency on the customer's page. A changed team or start time goes to the service set's upcoming jobs. Jobs before today don't change.

Overwrite doesn't change the customer's name, company, source, billing terms, invoicing settings, payment IDs, contacts, billing address, tags or notes, or a home's address, zone, bedrooms or tags. The row's Jobs, Notes, Rooms and Contacts rows are not imported for an Overwrite row, and no new home or service set is added to the customer.

Why wasn't the new email added when I chose Overwrite?​

Overwrite keeps the existing customer's contacts, so a new email in the file is not added. The row warns "Overwrite keeps the existing customer's contacts; the file's email [email protected] will not be added.", and the Overwrite card on the Import step repeats it. Add the email on the customer's page after you apply.

Why can't I choose Overwrite for a row?​

Pulse has to find exactly one home and one service set on the existing customer to update. When an earlier upload of the same file was applied here, it uses the file's IDs; otherwise it matches the home by its Address 1 and the service set by its service type. The message names the problem: no home at that address, more than one home at that address, two homes in the file that match the same home, no service set of that type at the home, more than one, or a service set whose service type isn't set yet. Fix the file or the row in the grid and choose Overwrite again, or choose Create or Skip.

Why does a re-uploaded row show Update?​

A corrected file keeps its Customer Ref values, so a row whose ref an earlier upload already created shows Update and matches that customer, even when you fixed the last name or another part of the name. The row must still have that customer's email or address; a ref reused for someone else is a new customer. Click Create, Overwrite to update that customer's homes and service sets from the row, or Skip for it like any other likely match.

Why did a different person match my customer?​

A row with the same email as an existing customer is a likely match even when the name is different. A row with the same first name, last name and Address 1 as an existing customer is one too. A row whose Customer Ref, and email or address, an earlier upload already created matches that customer whatever the name says; check the ref when the match surprises you. Overwrite all leaves a match with a different name undecided, so you choose Create, Overwrite or Skip for it yourself. Two rows in your file with the same email and different names are both imported.

Some rows failed to import: run them again​

When some rows fail to import, run only those rows again with Retry failed. A row fails when its customer, lead, invoice, timesheet or note can't be created, for example a lead with no scope of work, or a note or timesheet whose customer failed; it is not created at all, and the Error column in Results says why.

  1. Fix the cause the error names.
  2. On the Import step, click Retry failed.

Retry runs only the rows that were not applied. Customers, leads, invoices, credits, timesheets, notes and tickets already created are not created again.

Delete a test import before you go live​

Delete test import removes every customer, property, service set, job, note and lead, and every employee, that one applied file created, and every open invoice, credit, timesheet, note and ticket its Open Invoices, Timesheets and Notes and Tickets tabs added, taking those invoices and credits back off the customer's balance, and the Imported (paid outside MaidCentral) payroll period, unless another applied cutover file still has past jobs, so the live data can be imported clean. It is for a location that is still onboarding and is not an undo for a live company.

  1. On Data Upload, click the applied file in the Uploaded Files list. It opens on the Import step; if it doesn't, click Import in the step bar.
  2. Under Test import, click Delete test import.
  3. Check the counts, type your company name exactly as shown, and click Delete test import.
  4. Deleting test import shows the progress. You can leave the page while it runs. The file goes back to Reviewing when the delete finishes.
warning

A deleted test import cannot be undone. Only an administrator who can apply imports sees Delete test import. If the delete stops partway, the file stays applied: click Delete test import again to remove the rest. If the delete stops while Deleting test import is showing, the card says so 2 hours after the delete started and shows Delete test import to start it again. A delete that is still working is left to finish. If the delete is refused by then, for example because a technician clocked in on one of the jobs, the dialog shows why and confirming returns the file to applied; what was not deleted yet stays.

Why is Delete test import refused?​

The dialog says why, and Delete test import stays greyed out:

  • The company finished onboarding: its Onboarding End date has passed.
  • A technician has clocked in on a job for one of the file's customers.
  • An invoice was created in Pulse for one of the file's customers. Jobs the file marked as already invoiced in your old system, and the file's own Open Invoices, don't count.
  • An open invoice from the file was paid, had a credit applied, or was synced to QuickBooks.
  • A credit from the file was applied to an invoice or synced to QuickBooks.
  • An invoice or credit that didn't come from the file is on one of the file's customers' accounts.
  • Another upload imported notes or tickets for the file's customers, leads or employees. Delete that upload's test import first.
  • Another upload imported timesheets for the file's employees or jobs. Delete that upload's test import first.
  • A payment was taken from one of the file's customers.
  • A lead from the file was booked.
  • A technician from the file has a timesheet or has clocked in.

What does Delete test import keep, and what happens to the upload?​

Delete test import keeps the zones, teams, tags, scopes and customer sources Business Setup created, and a setup file's teams, rooms, location and pricing. Its employees are removed. The upload goes back to Process Import as Reviewing: fix rows and apply it again, or delete it with the trash icon.

Delete an upload and its stored file​

The uploaded file and its staged rows stay on the Uploaded Files list until you delete them. Deleting removes the staged rows and the stored file, and it cannot be undone. The Delete Import Batch? dialog lists the teams, scopes, tags and customer sources this upload's Business Setup created, and asks whether to remove them too: Delete upload and records removes the teams, tags and customer sources and turns off the scopes, and Delete upload only keeps them. Even when you choose to remove them, a record stays when something in Pulse uses it, another upload uses it, or you can't delete it in Settings; a scope stays on when a customer's service set uses it. Zones the upload created, and zip codes it added to a zone, always stay.

  1. On Data Upload, find the file in the Uploaded Files list.
  2. Click the trash icon at the end of its row.
  3. Choose Delete upload only to keep those records, or Delete upload and records to remove them too. When the upload's Business Setup created nothing, the dialog has one Delete button.

Deleting an upload never changes your customers.

Does deleting an upload delete the teams, scopes, tags and customer sources it created? Why is a team still in Settings?​

Only when you choose Delete upload and records in the Delete Import Batch? dialog. With Delete upload only they stay, for you to use or to delete yourself in Settings. After the delete, a message names any record that stayed and why, for example a team that already has jobs. Delete it from Settings once nothing uses it.

Why can't I delete an applied import?​

You can't delete an upload once it has been applied, or while it is being applied or its test import is being deleted: the trash icon shows only on uploads that haven't been applied. To remove what an applied upload created before you go live, use Delete test import on its Import step (see Delete a test import before you go live). The upload is then Reviewing again, and the trash icon deletes it.

Troubleshooting​

ProblemWhat to do
Process Import says it is still checking the file against your company's setupA large file can take a few minutes to check. Stay on the page: the grid opens when the check finishes.
"File exceeds 8MB limit"Split the spreadsheet into smaller files, or remove sheets you do not need, and upload each one.
"Unable to read your file"Save the spreadsheet again as .xlsx or CSV, make sure it is not password-protected, and upload it again.
"Files exceed 8MB limit"A location's cutover CSV files must be uploaded together, so don't split them. Upload the filled-in cutover template as one workbook instead: it's much smaller.
"… has a value longer than 32,767 characters."Shorten that value, or check the file for a quote that is never closed, and upload the files again.
"To upload several files together, choose only a location's cutover CSV files."Several files are accepted only as a location's cutover CSV files. Upload a workbook or another file on its own.
"… isn't named like a cutover tab."Rename the file to <Location ID>_Cutover_<tab name>.csv, using a tab name from the template's Read Me tab.
"These files are from more than one location."Upload one location's cutover files at a time.
"… is in more than one file."Choose one file per tab.
A column shows (Do not import)Pulse did not recognize the heading. Pick the right field in Maps To before you click Continue to Review.
The dropdowns are greyed outThe file has already been processed. Upload it again to change the mapping.
Process Import says to upload a file and confirm its mappingGo back to Data Upload, select the file, and click Continue to Review on the Column Mapping table.
Complete is greyed out on Business SetupYou can view imports but not change them. Ask an administrator for access.
Process Import says to finish Business SetupGo to Business Setup, give every row an action, and click Complete.
Some values still need an answer on Business SetupEach listed value has no action yet. Go back to its page, pick Create, Link or Skip, and click Complete again.
"Cannot delete a batch that has been applied or is currently being applied."Use Delete test import on the Import step instead.
"Another customer import is running for this company"Another file is being applied. Wait for it to finish, then click Apply again.