Where the export button is
Three steps. Log in to your dashboard, click the card showing your customer count, then click Export in the top-right corner of the window that opens. The file lands in your downloads folder a second or two later.
There is nothing to configure. No field picker, no date range, no "we'll email you a link when it's ready". The button is labeled Export and its tooltip reads "Export to Excel (.csv)". It stays disabled while the list is still loading and while a shop has zero customers.
The export is not plan-gated. The same button works on the 0 SAR free plan as on Growth at 85 SAR a month and Premium at 149 SAR a month. One caveat worth knowing if you have staff: a team member needs the view-customers permission, otherwise the customer count card isn't clickable for them and they never reach the export.
What the file actually is
You get one CSV file, UTF-8 encoded with a byte-order mark, rows ending in CRLF. It's named after your shop plus the date, so a barbershop exporting today gets something like bright-barbers-customers-2026-08-18.csv. That byte-order mark is the reason Arabic customer names open as Arabic in Excel instead of as garbled characters, so keep the encoding if you re-save the file.
One file covers the whole shop: every card and every branch, in one list. If you run a stamp card and a points card, both sets of customers are in the same file. Rows come out most-recent-visit first, which means the people who enrolled once and never came back sit at the bottom.
Whatever text you've typed in the search box narrows the export. The status filters do not — the file always contains every status, including your quiet regulars and your brand-new signups. If you want a subset, download everything and filter in Excel or Numbers afterward.
The export pages through your list in blocks of 100 rows, so it is not limited to the page you happen to be looking at. A shop with 4,000 cards takes a few seconds and gets 4,000 rows.
What each of the nine columns means
Name is the single first-name field the customer typed when they enrolled. There is no surname column, because the enrollment form asks for exactly two things. Phone is the mobile number they typed, and it is the identity key in Waya — there's no email, no password, and no customer account behind it.
Program is the name of the card that row belongs to. Stamps is the count showing on the pass right now. Points is the balance on a points card and 0 on a stamp card. Tier is a label attached to the pass, and it's empty unless your card uses tiers.
Rewards available counts rewards this person has earned and not yet claimed — the ones your cashier should expect to hand over. Rewards used is their lifetime redemption count. Last visit is a plain YYYY-MM-DD date of the most recent scan, and it's blank when someone enrolled and never came back. A blank Last visit with 0 stamps is your single most useful signal: that person scanned your QR, added the pass, and never returned.
One gotcha to internalize before you count anything. The file has one row per card, not one row per person. A customer on your coffee card and your bakery card appears twice with the same phone number, so de-duplicate on Phone before you report a customer total to yourself.
What the export does not include
There's no visit-by-visit log in the CSV. The individual customer profile in the dashboard shows a history on screen, but the export is a snapshot of balances and last-visit dates, not a scan-by-scan ledger. Notification send logs and the analytics charts aren't in it either.
There's no public merchant API today, and no scheduled push into a data warehouse. If you need a shape of data we don't produce, email [email protected] and we'll tell you plainly whether it exists. We'd rather say no than imply an integration that isn't there.
And the big one, which applies to every wallet loyalty vendor on earth, not just us: the export does not move your customers' wallet passes. That deserves its own explanation, because it's the thing merchants get wrong when they plan a switch.
Nobody can transfer an installed wallet pass — not us, not anyone
An Apple Wallet pass is a signed .pkpass bundle. It's signed with the issuer's Pass Type ID certificate, and the update web service URL baked inside it points at the issuer's own servers. Google Wallet objects work the same way: they live under the issuer ID of the account that created them.
The consequence is structural. No vendor can hand a card that's already sitting in a customer's phone over to a different vendor, no matter how cooperative both sides are. Switching platforms means a new QR code and a fresh one-tap enrollment for each customer.
So plan a migration around that, not around the file. The CSV moves the relationship — who they are, how to reach them, and where each person stood when you left. The card itself has to be re-issued. Keep the old card working while the new one goes live, put the new QR by the register rather than in an email, and time the switch for a stretch when you see people often. Some regulars will never re-enroll; budget for that instead of being surprised by it.
A vendor that won't hand back your list is holding it hostage
Those phone numbers came from your QR code, on your counter, given by people standing in your shop. The vendor stored them. That's a service, not ownership. Software you can't leave isn't a tool, it's a lock-in, and the switching cost is exactly the thing that lets a price rise every year without a matching improvement.
Ask any loyalty vendor three questions before you pay them. Can I download my own customer list myself, today, without emailing support? Which columns are in it? And is that available on the plan I'm actually on, or only on the top tier? Get the answers before you enroll your first 200 customers, because that's when leaving starts to hurt.
For context on the Saudi market as of August 2026: Niqati is the best-known name here and leads on search share, with quote-based subscription pricing. Btaqa publishes tiers at 108, 250, and 380 SAR a month. OneCup is around 150 SAR a month. Watily is 149 SAR a month with loyalty bundled into a wider plan. Those are vendor-published prices — verify them yourself before deciding. We have not audited anyone else's export screen, so ask each of them the three questions directly rather than taking our word for it.
Our answer is the button described at the top of this article: in the product, on every plan, including the free one, no ticket required. What we do with the data in the meantime is written out in our privacy policy and our data processing agreement. If you want a copy deleted rather than downloaded, email [email protected]. And if you want to test the export before committing to anything, start on the free plan — up to 100 customers, no credit card, and you can download the file on day one.
Frequently asked questions
Can I export my customers on the free plan?
Yes. The Export button sits in the Customers window on every Waya plan, including the 0 SAR free plan, and it produces the same nine-column CSV as the paid tiers. Nothing about the export is reserved for Growth or Premium. The only restriction is on staff accounts, which need the view-customers permission to open that window at all.
What format is the Waya customer export?
A single CSV file, UTF-8 with a byte-order mark and CRLF line endings, which opens cleanly in Excel, Numbers, and Google Sheets. The filename is your shop name plus the export date, for example bright-barbers-customers-2026-08-18.csv. The byte-order mark is what keeps Arabic names readable in Excel, so don't strip the encoding when you re-save.
Which columns are in the export file?
Nine: Name, Phone, Program, Stamps, Points, Tier, Rewards available, Rewards used, and Last visit. Last visit is a YYYY-MM-DD date and is blank for anyone who enrolled but never scanned again. Visit-by-visit history, notification logs, and analytics chart data are not included.
Will exporting move my customers' wallet cards to another provider?
No, and no loyalty platform can do that. An Apple Wallet .pkpass is signed by the issuer's certificate and updates from the issuer's own servers, and Google Wallet objects belong to the issuer account that created them. Your export moves the customer list and their balances; the cards themselves have to be re-issued, so every customer re-enrolls by scanning the new shop's QR code once.
Why does the same customer appear twice in my export?
Because the file has one row per card, not one row per person. If someone is enrolled in two of your loyalty cards, you get two rows with the same phone number and different Program values. De-duplicate on the Phone column before you count how many customers you have.