Skip to content
Leat Help Center

How to import existing loyalty cards

If you already hand out loyalty cards from another program, you can import their codes into Leat and keep using the same cards. Each card becomes an identifier, so scanning it in the Business App or at a connected till finds the contact it belongs to.

This import is for loyalty cards only. Gift cards have their own import type, Giftcards: see How to import gift cards with balances.

Before you start

  • Put your cards in a .csv file with a header row, one card per row and at most 100,000 rows.
  • Import the value inside the QR code or barcode. The number printed on the card isn’t always the same value, so scan a card first and compare.
  • If you know which contact has which card, add a column with the contact’s email address. That contact must already exist in Leat.
  • Every code can exist only once in your account.

Import the cards

  1. Go to Data → Imports and click New import.

  2. Choose Identifiers as the type.

  3. Under Option, choose one:

    • Create new identifiers for existing contacts links each card to a contact by email address.
    • New identifiers without a contact imports cards nobody has yet.
  4. Click Continue.

  5. Under Upload a .csv file, choose Set all data types to text if any of your codes start with a 0. With Automatically set data types (Recommended), a code like 00012345 is read as a number and imported as 12345.

  6. Click Upload file, choose your file and click Next step.

  7. Under Map columns, click Assign on each column you want to import and choose what it holds. Only assigned columns are imported.

    • Identifier value: the card’s code. Always required.
    • Identifier name: an optional label, for example “Loyalty card”.
    • Email address of the contact: required for Create new identifiers for existing contacts only.

    Next step stays greyed out until every required column is assigned.

  8. Click Next step. Under Check your data, the Import name is filled in for you, and you can change it. Tick Receive a notification when import is completed if you want an email when it’s done. It goes to the email address shown, which you can change.

  9. Click Import.

You land on the import’s own page, where you can follow its progress and see which rows failed.

Shortcut: CRM → Identifiers has an Import button that opens this flow with Identifiers already chosen.

What happens next

  • A card imported for an existing contact is linked straight away. Scanning it finds that contact.
  • When a card without a contact is scanned in the Business App, the app asks for the contact’s email address and links the card to that contact. If the contact doesn’t exist yet, staff can create it there. If Allow Anonymous Register is on in your Business App configuration under Apps → Business App, staff can skip the email address and the card gets an anonymous contact instead.
  • Your imported cards are listed under CRM → Identifiers. See Contact identifiers: what they are, and how to deactivate or reset one.
  • To bring over point balances too, import them next: see How to import loyalty points and transactions.

Why an import or a row fails

  • Another Identifiers import is still running. Only one import of each type can run at a time, so the new one doesn’t start. Wait for the running import to finish, then start yours again.
  • The code already exists. Every identifier value is unique within your account, so a row with a code you already have fails.
  • The email address doesn’t match a contact. With Create new identifiers for existing contacts, the email address in each row must belong to a contact in Leat.
  • A row has no code, or no email address. That row fails.

Back to the help center