Store Credit on the Balance Sheet: What Shopify Merchants Need to Know

1 February 2025

10 minute read

Notice: The author and memberr GmbH assume no liability for the accuracy or applicability of the information herein. Nothing in this article constitutes legal or accounting advice. Consult a qualified professional regarding your specific situation.

Store credit is a liability, not revenue. When you issue €10 credit to a customer, you owe €10 worth of goods or services. Your balance sheet must reflect that obligation until the customer redeems the credit or it expires.

This isn't optional. IFRS 15 and ASC 606 (the global revenue recognition standards) require it. German HGB demands a provision. EU VAT law treats store credit as a multi-purpose voucher, taxed on redemption, not issuance. And if you operate in the U.S., state unclaimed property laws may require you to remit unused credit to the government after a dormancy period.

Accounting is a product-design input. Your expiry policy, breakage assumptions, and cashback mechanics should account for balance sheet impact - not just marketing appeal.

Why store credit is a liability

When a customer buys a €100 item and earns €10 store credit, you've created a material right: the customer now has an option to claim future goods at a discount they wouldn't have without that transaction.

Accounting standards (IFRS 15, ASC 606) treat this as a separate performance obligation. You can't recognize the full €100 as revenue. You must:

  1. Allocate part of the €100 to the credit (say €9, adjusting for expected non-redemption)
  2. Record €91 as revenue for the item delivered
  3. Record €9 as a liability (deferred revenue)
  4. Only recognize the €9 when the customer redeems the credit or it expires

One euro, step by step

Customer buys €100 item, earns €10 credit. You estimate 90% redemption rate.

At sale:

  • Cash received: €100
  • Revenue recognized: €91 (the item)
  • Liability recorded: €9 (store credit, adjusted for 10% expected breakage)

At redemption (customer uses €10 credit on a €50 item):

  • Cash received: €40
  • Credit redeemed: €10
  • Revenue recognized: €50 (€40 cash + €10 deferred revenue released)
  • Liability reduced: €9 (the deferred revenue is now earned)

If credit expires unused:

  • Liability reduced: €9
  • Revenue recognized: €9 (breakage income)

The cash came in earlier, but revenue recognition follows delivery. Until you deliver, it's a liability.

IFRS 15 and ASC 606 in plain language

Both standards converged on this: loyalty points, cashback, and store credits create a material right. If the customer wouldn't get that future discount without buying now, it's a performance obligation.

IFRS 15 (used globally outside the U.S.):

  • Identify the credit as a separate obligation
  • Allocate transaction price based on standalone selling price
  • Defer revenue for the allocated portion
  • Recognize revenue when redeemed or expired

ASC 606 (U.S. GAAP):

  • Same approach (converged with IFRS)
  • Explicitly calls out customer options as material rights (ASC 606-10-55-42)
  • Breakage recognized proportionally as redemptions occur

Before ASC 606 (pre-2018), some U.S. companies used an "incremental cost" method: recognize full revenue immediately, accrue an expense for the cost of fulfilling future rewards. ASC 606 eliminated that method. Now everyone defers revenue.

Starbucks example

Starbucks defers revenue for Stars (loyalty points) and carries a gift card liability exceeding $1 billion. When Stars are redeemed for free drinks, Starbucks recognizes revenue and reduces the liability. Unredeemed gift cards eventually become breakage income - but only when redemption is deemed remote and no unclaimed property law requires remittance. (Starbucks SEC filing)

Germany: BFH ruling and HGB provisions

German companies maintain books under HGB (German Commercial Code) for statutory purposes, and IFRS for consolidated reports if publicly listed.

Under HGB, store credit creates a Rückstellung (provision). The 2022 Bundesfinanzhof (BFH) ruling confirmed this: if customers earn points that can be redeemed as payment, the obligation arises at the initial sale, not at redemption. (PKF Consulting)

Tax impact: German tax law (EStG) follows HGB. The BFH decision allows companies to deduct the estimated cost of redemptions in the year points are issued. Tax authorities had argued the obligation was too uncertain. The court disagreed: the economic cause is the initial sale, and the liability is sufficiently probable.

Practical result: German merchants must book a provision for outstanding store credit. Not doing so misstates profit and could trigger adjustments in a tax audit.

EU VAT and the Voucher Directive

The EU Voucher Directive (2016/1065), effective 2019, harmonizes VAT treatment. Store credit usable for a range of products is a multi-purpose voucher: VAT applies on redemption, not issuance.

Why: At issuance, you don't know what the customer will buy. Could be a 19% VAT item or a 7% VAT item (Germany). VAT is determined when the customer redeems the credit and selects a product.

Contrast with single-purpose vouchers: If the voucher is specific to one product with known VAT, VAT is due at issuance. Example: a voucher for "one coffee" (known product, known VAT rate). But most store credit covers anything in the catalog, so it's multi-purpose.

Tesco VAT case

Tesco's Clubcard loyalty program led to a UK VAT dispute. The court ruled that vouchers issued to customers (in exchange for points) were not given for separate consideration - they were loyalty rewards, effectively price reductions on future purchases. No VAT on issuing the voucher; VAT applies when the customer redeems it for goods. (UK Upper Tribunal decision)

Takeaway: Loyalty credit given by the seller is a discount. VAT is on the net price paid by the customer (cash minus credit).

Gift cards vs. promotional credit

Accounting treats them the same: both are liabilities. But legal and tax treatment diverges.

Gift cards (sold for cash):

  • Customer pays cash upfront
  • You hold that cash as a liability until redeemed
  • In the U.S., many states forbid expiration or fees (federal Credit CARD Act requires 5+ years)
  • Unused balances may be subject to escheatment (remit to state after dormancy period, typically 3-5 years)

Promotional credit (earned through loyalty program):

  • Customer didn't pay cash for it
  • You can set expiration (6-12 months is common)
  • U.S. gift card laws don't apply (it wasn't purchased)
  • Escheatable in fewer jurisdictions (some states only escheat cash-funded balances)

Germany/EU: Gift cards can expire if clearly stated. Consumer law requires transparency, but no blanket prohibition on expiration. Promotional credit is even more flexible - set your terms, but communicate them.

Breakage, expiry, and escheatment

Breakage: Credit that never gets redeemed. You eventually recognize it as revenue.

When to recognize breakage:

  • IFRS/ASC 606: Proportionally as redemptions occur. If historically 10% of credit goes unused, recognize that 10% gradually as the other 90% is redeemed.
  • Don't wait until expiration - that understates revenue during the redemption period.

Expiry: Set a deadline (e.g., 12 months from issuance). Past that date, unredeemed credit becomes breakage.

Escheatment (U.S. only): If state law requires remitting unused gift card balances after 3-5 years of dormancy, you can't recognize breakage until you've remitted or confirmed no remittance is required. Starbucks only recognizes breakage when redemption is remote and no escheatment obligation exists. (Starbucks SEC filing)

memberr design implication: If you're selling in California (3-year dormancy, no expiration allowed for purchased gift cards), track customer addresses and dormancy periods. For promotional credit, shorter expiry (12 months) avoids escheatment complications.

How memberr should handle this

Store credit in memberr is either:

  1. Cashback (earned on purchases)
  2. Refund credit (issued instead of cash refund)
  3. Promotional credit (referrals, reviews, campaigns)

All three are liabilities. Design implications:

Expiry policy

Recommendation: 12 months from issuance. Long enough to be customer-friendly, short enough to avoid long-tail liability.

Why:

  • Prevents dormant balances from piling up on the balance sheet
  • Allows merchants to recognize breakage within a reasonable period
  • Avoids escheatment risk in most U.S. states (dormancy periods are typically 3-5 years, but only for purchased gift cards)

Breakage assumptions

When a merchant issues €10,000 in credit, not all of it will be redeemed. Historical data from loyalty programs suggests 10-20% goes unused.

memberr should:

  • Let merchants track redemption rates
  • Surface breakage estimates in analytics
  • Warn merchants that breakage is eventual revenue, not immediate cash

VAT handling

On redemption, reduce the taxable amount by the credit used. If a customer buys a €50 item with €10 credit:

  • Cash collected: €40
  • Taxable amount: €50 (for VAT calculation)
  • VAT owed: 19% of €50 = €9.50 (Germany example)
  • Customer effectively paid €40 cash + €10 credit

Shopify's checkout handles this if credit is applied as a discount code. memberr's Shopify integration should ensure VAT calculation is correct.

Balance sheet reporting

Merchants should see:

  • Outstanding credit liability (total unredeemed credit)
  • Aged credit (e.g., how much is >6 months old, >12 months old)
  • Expired credit (recognized as breakage income)

This helps merchants (and their accountants) reconcile the liability and plan for deferred revenue recognition.

Checklist for merchants

  • Defer revenue for issued store credit (don't recognize it all at sale)
  • Record outstanding credit as a liability on your balance sheet
  • Set a clear expiration policy (6-12 months recommended)
  • Track redemption rates to estimate breakage
  • Recognize breakage proportionally as redemptions occur (per IFRS 15 / ASC 606)
  • For gift cards sold for cash, check U.S. state escheatment laws
  • Ensure VAT/sales tax is calculated on net amount (after credit redemption)
  • In Germany, book a provision under HGB (per BFH ruling)
  • Communicate expiry terms clearly to customers
  • Review terms annually with a qualified accountant

Why this matters for product design

If you ignore balance sheet implications:

  • Your revenue is overstated (you recognized money before delivering goods)
  • Your liabilities are understated (you owe customers but didn't record it)
  • Tax authorities may adjust your profit upward (and you owe back taxes)
  • Auditors flag it (if you're audited)
  • Investors misread your financials (if you're raising capital)

Accounting isn't an afterthought. It's a design constraint. When you plan a cashback campaign, model the liability. When you set expiry to "never," understand you're carrying an eternal liability. When you estimate breakage at 30% with no data, your auditor will ask for evidence.

Better to design the program with accounting in mind from day one.

Further reading


Sources:

  • BDO USA, ASC 606's Impact on Loyalty Programs (link)
  • IFRS Foundation, IFRIC 13 Customer Loyalty Programmes (link)
  • Starbucks SEC correspondence, May 2015 (link)
  • PKF Consulting (Germany), Rückstellungen für Bonuspunkte (link)
  • UK Upper Tribunal, HMRC v. Tesco (link)
  • EU Voucher Directive (2016/1065)
  • HMRC VAT Notice 700/7, Business Promotions (link)
Share article