Back to Square in Google Sheets
SheetXAI logo
Square logo
Square · Google Sheets Guide

Bulk-Import a Customer List From a Google Sheet Into Square

2026-05-13
4 min read
See the Excel version →

The Scenario

You are the operations manager at a restaurant that just switched to Square POS. Migration week is here. You have a Google Sheet with 300 loyalty customers — first name, last name, email, and phone — that need to become Square customer profiles before the system goes live on Friday.

Square's dashboard lets you import customers from CSV, but the CSV import fails silently on rows with formatting issues, the error log is not always actionable, and you have no way to get the Square-assigned customer IDs back into your sheet automatically. You need those IDs. Your loyalty app references them.

The bad version of this migration:

  • Format the sheet as a CSV, upload to Square
  • Check the import log, find 47 rows failed but no details on why
  • Manually review those rows, fix phone number formats
  • Re-upload the corrected batch
  • Realize there is no easy way to get the customer IDs back
  • Export Square's customer list as a CSV, cross-reference by email to find each ID
  • Paste IDs back into the sheet one by one. Friday is tomorrow.

The fast version is one prompt.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet that creates the Square customer profiles and writes the returned IDs back to the sheet, row by row, as each one completes.

Open the SheetXAI sidebar and type:

For each row in this sheet (columns: first name in column A, last name in column B, email in column C, phone in column D), create a Square customer profile in bulk and write the returned Square customer ID into column E. If a row fails, write the error message into column E instead.

SheetXAI calls Square's bulk customer creation endpoint, processes all 300 rows, and writes an ID into column E for every row that succeeded — and an error message for any row that did not.

What You Get

A sheet with 300 rows fully resolved:

  • Column E — Square customer ID for every successful import
  • Column E errors — the specific error message for any row that failed, so you know exactly what to fix
  • Batch processing — Square's bulk endpoint handles multiple records per API call, so the whole thing runs in one go rather than 300 sequential calls

You end up with the customer IDs in the sheet where your loyalty app can read them. No CSV cross-reference, no manual paste.

If 12 rows came back with errors because the phone numbers were in the wrong format, you fix column D for those 12 rows and run the prompt again with a narrower range. The rows that already have IDs in column E you leave alone.

What If the Data Is Not Quite Ready

Customer lists from loyalty apps are almost never clean. SheetXAI can fix the data and run the import in the same prompt.

When phone numbers are in inconsistent formats

Some rows have +1 prefix, some have dashes, some are just 10 digits. Square expects a consistent format.

Before creating any Square customers, normalize the phone numbers in column D to E.164 format (+1XXXXXXXXXX for US numbers). Then run the bulk customer creation for all rows and write the Square customer ID into column E.

When some rows have duplicate emails

Your loyalty export has a handful of duplicates — same email, two entries. Square will reject the second one.

Before running the import, deduplicate rows in this sheet by email address in column C, keeping the first occurrence. Then create Square customer profiles for all deduplicated rows and write the customer ID into column E.

When only a subset of rows are ready for import

The sheet has 300 rows but only 240 are marked "approved" in column F. You want to skip the rest.

Create Square customer profiles only for rows where column F says "approved." Write the returned Square customer ID into column E for each one. Leave rows where column F is not "approved" untouched.

When you need the full chain: clean, import, and verify in one pass

The data came from a third-party loyalty system with inconsistent capitalization, stray whitespace, and a few missing email addresses. You want it clean before it hits Square.

Review the customer data in columns A through D. Fix capitalization in name columns A and B (proper case). Strip leading and trailing whitespace from all columns. Skip rows where column C is blank. Normalize phone numbers in column D to E.164. Then create Square customer profiles in bulk for all valid rows and write the returned customer ID into column E, or the error message if creation failed.

The pattern: fix the data and run the import in one prompt. You do not need a separate cleaning pass.

Try It

Get the 7-day free trial of SheetXAI and run your next customer migration from the sheet you already have. The Square integration is included in every SheetXAI plan. For related workflows, see how to bulk-update existing Square customer profiles or the Square in Google Sheets overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more