# How do I migrate gift card balances from Lightspeed Retail to Shopify without customers losing value?

Reviewed by Martin Dejnicki, Director of SEO & AI Search · facts verified October 8, 2026 · canonical: https://deploi.ca/shopify/faq/lightspeed-gift-card-balance-migration

## Short answer

Lightspeed gift card balances reach Shopify in bulk only through the Admin application programming interface (API) or an app using it. Shopify's admin cannot import gift cards from a file ([Shopify Help Center](https://help.shopify.com/en/manual/products/gift-card-products/manage-purchased-gift-cards), October 2026). The API keeps original codes of 8 to 20 letters and numbers ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), October 2026), so customers keep their cards.

- **Shopify admin gift card import:** None: a gift card file cannot create cards. Shopify's own export shows only the last 4 characters of each code, so it cannot rebuild cards either (Shopify Help Center, October 2026) ([Shopify Help Center, Managing created gift cards](https://help.shopify.com/en/manual/products/gift-card-products/manage-purchased-gift-cards))
- **Code rule for a supplied code:** 8 to 20 letters and numbers. GiftCardCreate keeps a supplied code that fits the rule. Lightspeed R-Series codes can run to 32 characters, so check every code first (Shopify developer docs and Lightspeed, October 2026) ([Shopify developer docs, GiftCardCreateInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput); [Lightspeed R-Series support, Manually importing credit accounts and gift card data](https://retail-support.lightspeedhq.com/hc/en-us/articles/228960827-Manually-importing-credit-accounts-and-gift-card-data))
- **Lightspeed exports:** Full codes and balances on both series. X-Series from Reporting > Gift card reports; R-Series from Customers > Gift cards, with the Export Gift Card Data permission (Lightspeed support, October 2026) ([Lightspeed X-Series support, Importing and exporting gift card balances](https://x-series-support.lightspeedhq.com/hc/en-us/articles/25534112450587-Importing-and-exporting-gift-card-balances); [Lightspeed R-Series support, Migrating gift cards from Retail POS (R-Series) to Retail POS (X-Series)](https://retail-support.lightspeedhq.com/hc/en-us/articles/39301788936987-Migrating-gift-cards-from-Retail-POS-R-Series-to-Retail-POS-X-Series))
- **Import apps that name Lightspeed:** Selling Point $49.99/mo; BluePeacock from $19.99/mo. 5.0 stars on 49 reviews and 5.0 stars on 3 reviews on the Shopify App Store, 8 October 2026. Both listings promise original codes and remaining balances ([ICEE Social, Selling Point on the Shopify App Store](https://apps.shopify.com/selling-point-gift-card-migrations); [Bluepeacock, BluePeacock Gift Card Importer on the Shopify App Store](https://apps.shopify.com/bluepeacock-gift-card-importer))

## Deploi's call

Customers lose no value when finance reconciles the gift card book first and every card then loads at its remaining balance, under its original code where Shopify allows. That makes gift card migration a finance task with an engineering step in the middle, owned by whoever owns the liability account. Shopify's Admin application programming interface (API) accepts original codes of 8 to 20 letters and numbers (Shopify developer docs, October 2026), so a code that fits needs no reissue. Projects reissue because nobody reconciled the book, and reissuing hides that.

**BUY: Buy an import app when**

- The card book runs to hundreds or thousands of codes, and nobody on the team writes Admin API calls.
- Every exported code fits Shopify's rule of 8 to 20 letters and numbers ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), October 2026).
- A sample of twenty cards redeems at a register and online before the full load.

**BUILD: Script the load through the Admin API when**

- A developer already scripts your Lightspeed customer import, so the gift card load is one more job.
- You want each card's Lightspeed code and issue date in its internal note.
- Some codes break Shopify's code rule and need a mapping table that finance can audit.

## Why can't Lightspeed gift cards simply be reissued with new codes?

Lightspeed gift cards can't simply be reissued with new codes, because the printed code is the only link between a balance and the person holding the card. Shopify handles the code as cash: "Because gift cards are treated as currency, only the customer can see the full gift card code after it's created" ([Shopify Help Center](https://help.shopify.com/en/manual/products/gift-card-products/manage-purchased-gift-cards), October 2026).

A new code fails twice. You cannot email every holder, because the buyer on file is often not the person holding the card. You cannot void the old codes either, because each balance is money a customer already paid. Lightspeed's own gift card export exists to "view unredeemed balances and calculate deferred revenue" ([Lightspeed X-Series support](https://x-series-support.lightspeedhq.com/hc/en-us/articles/25534112450587-Importing-and-exporting-gift-card-balances), October 2026).

Every other object in [a Lightspeed Retail to Shopify cutover](https://deploi.ca/shopify/faq/migrate-lightspeed-pos-without-store-downtime) can be re-derived, re-entered or archived. A gift card cannot, so it moves with its original code wherever Shopify accepts that code.

## How do you export gift card codes and balances from each Lightspeed Retail series?

You export gift card codes and balances from **Reporting > Gift card reports** in Lightspeed Retail X-Series, or from **Customers > Gift cards** in R-Series. Both files carry each card's full code and current balance, so the series changes the path, not the result:

- **X-Series:** click **Export report**. The file includes "Gift card codes", "Balance" and "Status", plus dates, customer, order and location fields ([Lightspeed X-Series support](https://x-series-support.lightspeedhq.com/hc/en-us/articles/25534112450587-Importing-and-exporting-gift-card-balances), October 2026).
- **R-Series:** click **Export**. Your account needs the "Export Gift Card Data user permission". The download is a comma-separated values (CSV) file with Code and Balance columns ([Lightspeed R-Series support](https://retail-support.lightspeedhq.com/hc/en-us/articles/39301788936987-Migrating-gift-cards-from-Retail-POS-R-Series-to-Retail-POS-X-Series), October 2026).

Take the final export on cutover night, after the last Lightspeed sale, because every redemption after the export changes a balance you are about to load. That export total is also the figure finance reconciles before any card moves.

## How do Lightspeed gift card codes get into Shopify if the admin cannot import them?

Lightspeed gift card codes get into Shopify through the Admin application programming interface (API), because Shopify's admin cannot import a gift card comma-separated values (CSV) file. Shopify says so plainly: "You can't import the gift card CSV to create gift card products" ([Shopify Help Center](https://help.shopify.com/en/manual/products/gift-card-products/manage-purchased-gift-cards), October 2026). The admin's own export "includes only the last 4 characters of each gift card code", so it cannot rebuild a card either.

The API route keeps every original code that fits Shopify's rule:

- **`giftCardCreate`**, the API call that creates a card, needs the `write_gift_cards` access scope, the permission a script or app must hold. A code is optional; without one, Shopify "generates a random 16 character alphanumeric code" ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/mutations/giftCardCreate), October 2026).
- **A supplied code** must be 8 to 20 characters long, using only the letters a to z and the numbers 0 to 9 ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), October 2026).
- **`initialAmount`** takes the remaining balance. Shopify has marked the older `initialValue` field deprecated since its July 2026 API version ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), October 2026).
- **`note`** "isn't visible to the customer", so it can carry the Lightspeed code and the original issue date.

## Which tools import Lightspeed gift cards into Shopify without a developer?

Two Shopify App Store apps, Selling Point and BluePeacock Gift Card Importer, name Lightspeed among their sources, so a retailer without a developer can still keep original codes:

**Two gift card import apps name Lightspeed and promise original codes**

| App | Rating on the Shopify App Store | Price (USD) | What the listing promises |
| --- | --- | --- | --- |
| Selling Point | 5.0 stars, 49 reviews | $49.99 a month, unlimited cards | Keeps "the exact same Gift Card codes"; also imports store credit |
| BluePeacock Gift Card Importer | 5.0 stars, 3 reviews | $19.99 to $99.99 a month, by monthly card volume | Keeps "each card's original code"; partly used cards "arrive at their true remaining balance" |

Sources: [ICEE Social, Selling Point on the Shopify App Store](https://apps.shopify.com/selling-point-gift-card-migrations); [Bluepeacock, BluePeacock Gift Card Importer on the Shopify App Store](https://apps.shopify.com/bluepeacock-gift-card-importer). Verified October 8, 2026.

Review counts of 3 and 49 are thin, so run each app against a sample of twenty cards and test redemption at a real register first. Both listings ask to edit gift cards in your store, so each app creates cards through Shopify. Shopify's rule of 8 to 20 letters and numbers binds them too ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), October 2026). Selling Point's store credit import matters if [Lightspeed loyalty balances land in store credit](https://deploi.ca/shopify/faq/lightspeed-loyalty-program-migration-path).

Retailers new to Shopify's point of sale (POS) Pro add-on can also get help with the load. On a yearly subscription, Shopify's go-live support includes "importing gift card data" ([Shopify](https://www.shopify.com/pos/pos-pro-yearly), October 2026).

## What checks stop customers losing value when Lightspeed gift cards move?

Five checks stop customers losing value: reconcile the ledger, test every code, load remaining balances, keep Lightspeed for lookups and get a finance sign-off. Plan all five before the load, because Shopify cannot undo it: "You can't delete a gift card after it's created" ([Shopify Help Center](https://help.shopify.com/en/manual/products/gift-card-products/manage-purchased-gift-cards), October 2026).

1. **Reconcile the export total to the general ledger.** Remaining balances must sum to the gift card liability in your accounts; a gap predates the migration.
1. **Check every code against Shopify's rule of 8 to 20 letters and numbers** ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), October 2026). Lightspeed R-Series codes "must contain between 8 and 32 characters" ([Lightspeed R-Series support](https://retail-support.lightspeedhq.com/hc/en-us/articles/228960827-Manually-importing-credit-accounts-and-gift-card-data), October 2026). A longer code needs a new Shopify code and a message to its holder.
1. **Load the remaining balance, never the face value, then test redemption.** A $100 card with $12 left is a $12 card. Test a sample at a register and online before cutover.
1. **Keep Lightspeed for balance lookups, not redemptions, through the first month-end close on Shopify.** [Our record on keeping point of sale (POS) and ecommerce data in step](https://deploi.ca/shopify/build-vs-buy/pos-ecom-coherence) flags cards redeemed in a second system as a liability-accounting headache.
1. **Get a named finance sign-off on the post-import liability figure.** An auditor will ask for that number by name, and who reconciles it is one of [six questions that screen a migration agency](https://deploi.ca/shopify/faq/lightspeed-migration-agency-vetting-questions).

## When should you not migrate Lightspeed gift cards to Shopify?

Do not migrate Lightspeed gift cards while the balances are unreconciled, when only a few dozen cards are outstanding, or before legal confirms expiry handling:

> **When not to do this**
> - **When the balances are not reconciled today.** A migration will not clean the ledger. It freezes whatever is in it, and Shopify cannot delete a card once it exists.
> - **When the card population is tiny and the codes are recoverable.** Under a few dozen cards, honouring them at the register against a spreadsheet is cheaper and less risky than a scripted load.
> - **When legal has not confirmed expiry handling.** Shopify warns that "Depending on your region's laws surrounding gift cards, you might not be allowed to add an expiry date" ([Shopify Help Center](https://help.shopify.com/en/manual/products/gift-card-products/issue-gift-card), October 2026). A card created without an expiry date "will never expire" ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), October 2026), so leave each card's expiry date empty until legal confirms the rule. These mechanics are not legal advice on unclaimed property or escheatment.

## Deploi's point of view

**Where we disagree.** Shopify's own advice to "issue new codes when needed" is right for a merchant leaving Shopify with a handful of cards. Repeating it as general migration advice for a multi-store retailer is wrong, because it converts a clean data task into a customer-service incident that runs for a year.

**What we insist on before any card is created.** The export total and the general ledger liability figure must agree, and finance must sign that they agree. The load is an afternoon; the reconciliation is the project. Where the two disagree, every difference has to be adjudicated by a person, and doing that after the import means doing it twice.

**What this page adds.** That Shopify's Admin API keeps a supplied code only if it has 8 to 20 letters and numbers, while Lightspeed R-Series codes can run to 32 characters; that the amount to load is each card's remaining balance, not its face value; and that Shopify cannot delete a created card, so reconciliation comes before the load.

## When this answer changes

- Shopify changes the gift card code rule of 8 to 20 letters and numbers, or removes the deprecated initialValue field from giftCardCreate.
- Shopify's admin gains a gift card import from a file, which would open a route without an app or a developer.
- Lightspeed changes the R-Series or X-Series gift card export, or the 8 to 32 character range for R-Series codes.
- Selling Point or BluePeacock changes its price, its card limits or the Lightspeed support its listing names.
- Shopify ends the POS Pro yearly offer whose go-live support includes importing gift card data.

## Sources

1. [Lightspeed X-Series support, Importing and exporting gift card balances](https://x-series-support.lightspeedhq.com/hc/en-us/articles/25534112450587-Importing-and-exporting-gift-card-balances), checked October 8, 2026
2. [Lightspeed R-Series support, Migrating gift cards from Retail POS (R-Series) to Retail POS (X-Series)](https://retail-support.lightspeedhq.com/hc/en-us/articles/39301788936987-Migrating-gift-cards-from-Retail-POS-R-Series-to-Retail-POS-X-Series), checked October 8, 2026
3. [Lightspeed R-Series support, Manually importing credit accounts and gift card data](https://retail-support.lightspeedhq.com/hc/en-us/articles/228960827-Manually-importing-credit-accounts-and-gift-card-data), checked October 8, 2026
4. [Shopify Help Center, Managing created gift cards](https://help.shopify.com/en/manual/products/gift-card-products/manage-purchased-gift-cards), checked October 8, 2026
5. [Shopify Help Center, Creating gift cards](https://help.shopify.com/en/manual/products/gift-card-products/issue-gift-card), checked October 8, 2026
6. [Shopify developer docs, GiftCardCreateInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/GiftCardCreateInput), checked October 8, 2026
7. [Shopify developer docs, giftCardCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/giftCardCreate), checked October 8, 2026
8. [ICEE Social, Selling Point on the Shopify App Store](https://apps.shopify.com/selling-point-gift-card-migrations), checked October 8, 2026
9. [Bluepeacock, BluePeacock Gift Card Importer on the Shopify App Store](https://apps.shopify.com/bluepeacock-gift-card-importer), checked October 8, 2026
10. [Shopify, POS Pro Yearly Subscription](https://www.shopify.com/pos/pos-pro-yearly), checked October 8, 2026
11. [Deploi Build vs. Buy, Shopify POS vs. Lightspeed Retail: Which POS Fits a Shopify Store?](https://deploi.ca/shopify/build-vs-buy/shopify-pos-vs-lightspeed), checked October 8, 2026, Deploi research
12. [Deploi Build vs. Buy, Build or Buy POS-Ecom Coherence on Shopify?](https://deploi.ca/shopify/build-vs-buy/pos-ecom-coherence), checked October 8, 2026, Deploi research
