The Scenario
You're two hours into a system migration. The old software is gone. Ascora is live. And sitting in your Excel workbook is a list of 300 customers — company names, emails, phone numbers, full addresses — that used to live in the previous platform and now need to exist in Ascora before anyone can start booking jobs.
The bad version:
- Open Ascora, click "New Customer," fill in the company name, email, phone, street, suburb, state, postcode — one form per row.
- Repeat for all 300. Watch for typos. Hope the address fields match Ascora's expected format.
- Close the laptop at midnight having entered maybe 80 records, with 220 still sitting in the workbook.
The person who won a large field service contract to justify this migration didn't budget six hours of manual data entry into the setup timeline. That's not what the next three days were supposed to look like.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads the spreadsheet, understands what's in each column, and through its built-in Ascora integration it can create or update customer records in bulk — one row at a time, one prompt total.
Read the Excel table 'CustomerImport' and upsert each row as an Ascora customer. Use the 'CompanyName' column to match existing records and update them if found, or create new ones. Write 'Created' or 'Updated' in the 'Status' column.
What You Get
- One Ascora customer record per row, created or updated based on whether the record already exists.
- "Created" or "Updated" written into the Status column for each row, so you have a permanent audit trail.
- Any rows that encounter an error — a missing required field, a format Ascora rejects — surface with an error note in the Status column rather than silently failing.
- The rest of the workbook continues processing regardless of individual row errors.
What If the Data Is Not Quite Ready
Company name and email are in the same cell, formatted "Acme Corp acme@example.com"
Before importing, split the combined field so company name and email are in separate columns. Use the text before the angle bracket for the name and the address inside the brackets for the email. Then upsert each row as an Ascora customer matching on company name, and write 'Created' or 'Updated' in the Status column.
Address is one combined field, not split into street, suburb, state, postcode
Parse the address column into separate components — street, suburb, state, and postcode — and write them into new columns. Then for each row, create or update an Ascora customer using the parsed address fields and write 'Created' or 'Updated' in the Status column.
Some rows have the same company name with slightly different spellings — "Smith Plumbing" vs "Smith Plumbing Pty Ltd"
Before creating records, flag any rows where the company name matches another row within one word of variation. Write 'Possible duplicate — review' in the Status column for those rows. For all other rows, upsert the Ascora customer record and write 'Created' or 'Updated' in the Status column.
The data is a mess — mixed case, trailing spaces, missing postcodes — but the deadline is tomorrow morning
Clean the company name column by trimming whitespace and converting to title case. Clean the email column by lowercasing and trimming. For any row with a missing postcode, write 'Missing' in that cell. Then for all rows with no 'Missing' values, upsert each row as an Ascora customer and write 'Created' or 'Updated' in the Status column. Write 'Skipped — incomplete address' in the Status column for any rows not imported.
One prompt handles the cleanup and the import together.
Try It
Get the 7-day free trial of SheetXAI and open your customer migration workbook, then ask SheetXAI to run the bulk import into Ascora. Related: export Ascora jobs to an Excel workbook and bulk create quotations from leads. Hub: Ascora integration overview.
