Customer import

Import your old customer list without importing your old mess

Your old punch-card list is messier than you think. Clean the numbers, kill the duplicates, and settle the consent question before you import.

Waya TeamUpdated 18 August 202611 min read

What an import actually does, and what it can't

An import moves names, mobile numbers, and balances into Waya. It does not move wallet passes. A pass only lands on a phone when the customer taps "Add to Apple Wallet" or "Add to Google Wallet" themselves. Apple and Google both require that tap, and no merchant can do it on someone's behalf.

So treat the import as pre-loading, not migrating. After the file goes in, a record exists for +966501234567 with 6 of 10 stamps on it. When that person scans your QR code and types the same mobile number, they land on that record instead of starting at zero, and their pass installs already showing 6 stamps.

Excel and CSV import is a paid-plan feature. Growth is 85 SAR a month (867 SAR a year) and Premium is 149 SAR a month (1,520 SAR a year). The free plan has no import: you enroll people by QR code, up to 100 customers. If your list is 60 names, skip the import and re-enroll at the counter. It's faster than cleaning a spreadsheet.

Build the sheet: three columns matter, the rest are risk

Open the file you actually have. Usually it's a WhatsApp export, a notebook someone typed up, or a till export with 40 columns. You need three: first name, mobile number, current balance. Delete everything else before you look at anything, because every extra column is a chance to map the wrong field.

Keep first names only. The enrollment form asks for a first name and a mobile number, and nothing else, so your sheet should match it. If a cell holds "Ahmed Alqahtani", split it and keep "Ahmed". Titles, honorifics, and full legal names read strange on a coffee card.

The balance column needs a unit, and the unit has to match the card type. A stamp card counts whole stamps. A points card counts points. A balance card holds SAR. Mixing them is the most common import mistake: a 6 in a stamps column is six stamps toward a free coffee, and a 6 in a points column is six points, which may be worth almost nothing.

Save as .xlsx or .csv with a single header row. One sheet, no merged cells, no color-coding that carries meaning, and no totals line at the bottom. A stray "TOTAL: 412" row is what turns a clean 300-row import into 301 records with one piece of garbage in it.

Normalize the phone numbers before Excel mangles them

The mobile number is the customer's identity in Waya. Get it wrong and that person can never claim their balance. They'll scan your code, type their real number, and start at zero, and you'll never hear about it.

Waya accepts a Saudi mobile in four shapes and stores one. 05XXXXXXXX, 5XXXXXXXX, 9665XXXXXXXX, and +9665XXXXXXXX all normalize to +9665XXXXXXXX. You don't have to pick a format in your sheet as long as every row is one of those four. A landline, a number starting with 01, or a cell containing a note like "0501234567 (brother's phone)" will be rejected.

Excel is the real enemy here. Type 0501234567 into a General-formatted cell and Excel discards the leading zero, leaving 501234567. Paste +966501234567 and some versions render it as 9.66501E+11. Both failures are silent. Select the column and set its format to Text before you paste anything.

If the damage is already done, the reliable repair is to strip each value down to its last 9 digits and re-add the prefix, because those 9 digits are the genuinely unique part. Also strip spaces, dashes, and parentheses. Waya's own card lookup ignores punctuation when it searches, but your de-duplication in the next step will not.

De-duplicate on the phone number, because Waya will

Waya stores one card per mobile number per card program. That's a database constraint rather than a setting: the pair of card program and phone number is unique. If the same number appears three times in your file, you do not end up with three cards.

What you don't control is which of those three rows wins. That is exactly why de-duplication is your job and not the importer's. Sort by your cleaned phone column, flag the repeats in a helper column, and choose each survivor deliberately. Highest balance is the fair default, or most recent visit date if your old system recorded one.

Two edge cases are worth ten minutes each. A husband and wife who share one number are one card, and it's better to say that at the counter than to let it surface as an argument six weeks later. And your staff's own numbers are almost certainly in the list from testing the old system. Pull them out, or your returning-customer count will quietly include your cashier.

Then handle the rows with no number at all. A paper punch card with a first name and nothing else is unusable. Don't invent a placeholder like 0500000000, because you'll create one fictional customer holding several real people's stamps. Delete those rows and re-enroll those people in person.

Decide what you owe people, then round in their favor

You owe your regulars whatever the old card said. Carry it across, and when the math isn't clean, round up. The cost of rounding up is a few free coffees. The cost of rounding down is your loudest customer telling everyone that the new system ate their stamps.

Here's a worked example with the assumptions written out, so you can swap in your own numbers. Say you have 300 names on paper, averaging 4 stamps each on a 10-stamp card, and your reward costs you 14 SAR to give away. If a third of those people ever come back and finish their card, that's 100 rewards, or roughly 1,400 SAR of liability spread across however many months they take. That is the number to look at before deciding how generous to be.

Two policies hold up in practice. Carry balances across exactly, or carry them across and add one stamp as a thank-you for switching. What doesn't hold up is capping. "We'll credit up to 3 stamps" reads as a haircut, and you'll spend a week arguing about it at the register.

If your old card had a different length, convert as a proportion and round up. On a move from an 8-stamp card to a 10-stamp card, 6 of 8 becomes 8 of 10, not 6 of 10. Write that rule on an index card by the till so every staff member gives the same answer.

Answer the consent question in one line per source

Before you upload anyone, answer one question for each source in your file: where did this number come from, and would that person recognize why you have it? If you can't answer for a block of rows, leave that block out. This isn't legal advice and Waya can't guarantee your compliance. Read our privacy and DPA pages, and if the list is large or was bought from someone, talk to a qualified adviser first.

The reassuring part is structural. Waya sends no SMS, ever. Importing a number does not message that person and does not hand the number to a messaging app. Wallet notifications only reach a phone after the customer installed the pass themselves, so their own tap is the gate on anything that ever appears on their lock screen.

That means the risk isn't spam. The risk is holding data you can't account for. Two habits fix most of it. Keep the original uncleaned file somewhere you can find it, so you can answer "where did this come from" a year from now. And delete the working copies from WhatsApp and from staff phones once the import is finished, because a customer list sitting in a group chat is the leak nobody plans for.

Be more conservative with stale rows. Numbers collected more than a year or two ago, or inherited when you bought the business, are often disconnected or now belong to someone else. Leaving those out and letting those people re-enroll at the counter costs you nothing and removes the whole question.

The order of operations on switch-over day

Do all the sheet work first: clean, normalize, de-duplicate, fix the units, decide the balance rule. Import last. Every mistake is cheap to fix in a spreadsheet and expensive to fix once live records exist.

Then do the part that actually determines whether any of this worked, and it has nothing to do with the file. Put the QR code exactly where the paper punch cards used to live: beside the register, on the table tent, stapled to the receipt. Give your staff one sentence to say, something like "your stamps are already in there, just scan this and enter your mobile number." Enrollment is a first name, a number, and one tap, so it takes about ten seconds and needs no app.

In the first week, watch the right number. It isn't how many rows you imported. It's how many of those imported records got claimed by a real enrollment. An unclaimed row is a name in a database. A claimed row is a pass on someone's lock screen, and that's the only version that brings anybody back.

Frequently asked questions

Can I import my customer list on Waya's free plan?

No, Excel and CSV import is a paid-plan feature, starting with Growth at 85 SAR a month. On the free plan you enroll customers by QR code instead, up to 100 customers. If your list is under about 80 names, re-enrolling people at the counter is usually faster than cleaning the spreadsheet anyway.

Does importing a customer put the loyalty card in their wallet?

No. An import creates the customer's record and balance inside Waya, but only the customer can add the pass to Apple Wallet or Google Wallet, and that tap has to happen on their own phone. Once they scan your QR code and enter the same mobile number, the pass installs already showing the balance you imported.

What phone number format does Waya accept?

Waya accepts Saudi mobiles written as 05XXXXXXXX, 5XXXXXXXX, 9665XXXXXXXX, or +9665XXXXXXXX, and stores all four as +9665XXXXXXXX. Spaces, dashes, and parentheses are stripped automatically. Landlines and anything that isn't a Saudi mobile are rejected, so remove them from the sheet before you upload.

What happens if the same phone number appears twice in my file?

You get one card, not two, because Waya allows exactly one card per mobile number per card program. Which duplicate row's balance survives is not something you control, so de-duplicate in the spreadsheet first and pick each survivor deliberately, normally the row with the highest balance.

Will my customers get an SMS when I import them?

No. Waya sends no SMS at all, and importing a number does not message anyone or pass that number to a third-party messaging app. Notifications reach only the people who installed the wallet pass themselves, and they arrive on the phone's lock screen.

Put Waya on your counter — free forever up to 100 customersStart free
Start free