Gift cards
Need a transferable, code-based balance instead? Use gift cards.
Store credit is a spendable balance you grant to a customer in your store currency. Unlike a gift card — which is a code anyone holding it can redeem — store credit belongs to a specific customer account and is applied automatically when that customer is signed in at checkout. Use it for goodwill, promotions, compensation, or to settle a refund as credit instead of returning money to a card.
Every grant and spend is recorded in a ledger, so a customer’s balance is always the sum of what you’ve issued minus what they’ve redeemed or let expire.
The canonical ledger, reservation, expiry, currency, and liability definitions live in Financial semantics.
Store credit is managed on the customer’s detail page, not in a separate top-level section.
Go to Customers in the store sidebar and open the customer.
The customer header shows a Store Credit stat with the current balance alongside total orders and total spent.
Open the Store Credit tab on the customer’s profile to see the Current Balance and the full credit history.
On the customer’s Store Credit tab, choose Issue Credit.
In the Issue Store Credit dialog, enter an Amount in your store’s configured currency (for example ₹500). The amount and ISO currency are stored with integer minor units (paise/cents) — there is no rounding drift or silent currency conversion.
Optionally add a Note to explain the grant (for example “Diwali goodwill” or “compensation for delayed order”). The note is saved on the ledger entry.
Choose Issue. The balance updates immediately and a new credit row appears in the history.
The amount must be positive — the issue dialog only adds credit. It is also recorded with the adjustment reason, which is the reason used for credit you grant by hand from this dialog. (Other reasons such as refund, promotion, review reward, and order payment exist in the ledger for credit created by those automated flows; see below.)
A customer’s store credit is held as one or more lots. Each issue, refund allocation, or reward creates a lot, and spending draws the balance down lot by lot. This lets the system distinguish two kinds of balance:
The Current Balance shown on the customer page is active, unexpired lot value less any amount reserved by an unfinished checkout. Reserved value remains an outstanding liability but cannot be applied to another cart. Spending consumes the earliest-expiring lots first, then non-expiring lots. The account also keeps lifetime totals — total issued, total redeemed, and total expired — plus the next expiry date, so you can see at a glance how a customer has used their credit over time.
Financial reporting keeps spendable available, authorized reserved, and their sum—outstanding liability—separate and scoped by currency. This matters at an expiry boundary: the page can correctly show zero available while a pre-expiry checkout still holds an authorized amount for its short TTL.
At the end of the expiry date in the store timezone, the expiry sweep removes the unreserved remainder. A reservation created while the lot was valid protects only its allocated amount through the reservation’s short TTL; it does not renew the lot or protect unreserved credit. Checkout can consume that prior authorization once. If it is released or times out after the lot expired, the released amount becomes eligible for the next expiry sweep. Expiry, its immutable ledger transaction, account totals, and next-expiry date update together.
The Store Credit tab lists every ledger entry, newest first:
+ for credit added; red for credit
spent or expired.Because each row records the balance after it, the history is a complete, auditable trail. Issuing credit also writes a Store credit issued event to the customer’s Activity timeline; spending and expiry are logged the same way.
Store credit is redeemed at checkout, automatically, by the signed-in customer:
The customer signs in to their account on your storefront and adds items to the cart.
In checkout they can apply store credit to the order. The cart records the applied amount and reduces the amount due; they can remove it again before paying.
They pay any remaining balance with a normal payment method (UPI, card, and so on). If credit covers the whole order, there’s nothing left to pay.
The applied amount is reserved against the cart until it is paid, then consumed from the customer’s exact lot allocations once. Removing it, abandoning the cart, or a failed checkout releases the reservation. The order records how much store credit was applied, so it is visible on the payment summary without being misclassified as a sales discount.
When you process a refund you don’t have to send money back to the original payment method. A refund can allocate part or all of its payout as a store credit allocation to the customer, splitting between expiring and non-expiring amounts. Posting the refund creates the credit lot and the matching ledger entry — tagged with the refund reason — and links it back to the order and the refund.
This is the cleanest way to keep value inside your store: the customer keeps a spendable balance instead of a card chargeback, and the refund stays fully traceable. For the full refund workflow, see refunds and returns.
Besides hand-issuing and refunds, store credit ledger entries are created by:
All of these land in the same ledger and balance, so the customer sees one unified Current Balance regardless of where the credit came from. (A promotion reason also exists as a ledger tag, but it is reserved for future use — no current flow issues promotional store credit.)
Gift cards
Need a transferable, code-based balance instead? Use gift cards.
Refunds and returns
Settle a refund as credit in the refunds workflow.
Customer accounts
Credit is account-bound — see customer accounts.
Customers & segments
Find and manage the customers you issue credit to in customers and segments.