Appearance
Buylist
Buylist is how you buy cards back. It prices what a customer is selling using rules you set, sends them an offer, settles in cash or Shopify store credit, and then puts the cards you bought onto your shelf as real Shopify inventory.
It works over the counter and online: you can enter a buy order yourself while the customer stands there, or share a public link where customers build their own list and get a price before they drive over.
Buylist is in beta
It moves real money and issues real store credit. Check your payout rules on a small order before you put the link in front of customers.
Plan requirement: Buylist is available on the Established and Enterprise plans. See Billing & Pricing.
Turning it on
- Open Buylist in the sidebar (under Tools)
- Go to Settings → General and enable Buylist
- Go to Settings → [your game] and set your payout rules — nothing is priced until a game has rules
Buylist settings are per game. Magic, Pokémon and Riftbound each have their own payout rates, so a store can buy Magic aggressively and Pokémon conservatively without the two interfering.
How an offer gets priced
Every line starts from a market price, then passes through your rules.
Price basis
Choose what the offer is calculated from:
| Basis | What it uses |
|---|---|
| Market | The market price |
| Lowest | The lowest available price |
| Lower of | Whichever of the two is lower |
Cash and store credit
Buylist keeps two independent payout tracks: cash and store credit. Each can be enabled or disabled, and each can be priced one of two ways:
- Its own rates — the track has a full rate stack of its own
- Linked — the track pays the other track's price, adjusted by a bonus
Linking is how you express "store credit is worth 25% more than cash" once, instead of maintaining two parallel tables. A bonus of +0.25 pays 25% more; -0.15 pays 15% less.
Three rules the app enforces, so you can't save a configuration that can't price anything:
- At least one payout method must stay enabled
- Only one method can be linked — the other has to set its own rates
- A linked method needs a bonus, and the method it links to must be enabled and setting its own rates
The rate stack
Within a payout track, rates are fractions of the basis price: 0.5 pays half of market, 1 pays full market.
- Default rate — what you pay when nothing more specific applies
- Per-rarity rates — override the default for a rarity (the available rarities come from the game itself)
- Condition multipliers — applied on top, for Near Mint, Lightly Played, Moderately Played, Heavily Played and Damaged
- Bulk — below a price threshold you set, pay one flat price per card instead
- Stop-gap — below a threshold, fall back to a single flat rate
- Sealed — sealed product gets its own default rate and per-category overrides
Price ranges
Price ranges replace the single default rate with a table, so cheap cards and expensive cards are treated differently.
Each row starts at a minimum price and pays either a flat dollar amount or a rate — not both. A row's upper bound is simply the next row's minimum, which makes gaps and overlaps impossible.
The constraints, all enforced on save:
- Up to 10 ranges
- The first range must start at 0, so no card falls beneath the table
- Minimums must ascend strictly — two rows can't start at the same price
- Each row sets exactly one of flat amount or rate
- Turning ranges on requires at least one row
Paying more for what you actually want
Two optional bonuses nudge offers toward the stock you need:
- Out-of-stock boost — pay more for cards you're currently out of
- Hot list — pay more for cards you've flagged as wanted
Taking a buy order at the counter
Buylist → New Buy Order builds an order yourself. Enter the customer's name and email, choose which game to quote prices from, pick the payout method, then add cards any of these ways:
- Card list — paste a list of cards
- CSV file — upload an export
- Deck URL — import from Archidekt or Moxfield
- Search — look up singles or sealed products directly
Lines come back as matched or unmatched. Unmatched lines are ones the catalog couldn't identify — fix or remove them before sending the offer.
The customer buylist portal
Every store gets a public buylist page:
https://app.lgsforge.com/portal/your-store/buylistyour-store is your Shopify domain without .myshopify.com. Settings → General shows your exact link with a copy button, plus instructions for adding it to your Shopify storefront navigation as a Main menu or Footer menu item.
Customers don't need an account. They build a list, and what happens next depends on your instant quote setting:
- Instant quote on — they see the offer immediately and submit it
- Instant quote off — they submit the list without a price, and you send an offer after reviewing it
Instant quote is set separately for web (the portal) and kiosk (in-store), so you can show prices on a tablet at the counter without publishing them online.
Customers track their order through a private link. It carries a single-use claim token, which is what lets them view and accept or decline without logging in — so the link is worth treating as private.
Reviewing, offering, and settling
An order moves through five statuses:
| Status | Meaning |
|---|---|
| Pending | Submitted, not yet offered |
| Offer sent | You've sent a price to the customer |
| Accepted | The customer took the offer |
| Declined | The customer turned it down |
| Paid | You've settled it |
Open an order to adjust quantities, conditions and which lines are included. You can preview the effect of changes before committing, then send the offer. The customer accepts or declines from their link — or you can record their answer yourself.
Settling
Settling is what moves the money, and the two methods behave differently:
- Store credit — issues native Shopify store credit to the customer's account, creating the customer record if they don't have one yet. The credit is real Shopify store credit, spendable at checkout like any other.
- Cash — records the payout. No Shopify customer is involved, so cash settles even for a walk-in you have no record of.
You can add a settlement note (for example, which register paid out).
Store-credit settlement is deliberately careful about failure: if something goes wrong before the credit is issued, the order rolls back so you can fix it and settle again. If it fails after the credit was sent — where a timeout might mean the credit landed anyway — the order stays in a retriable state rather than allowing a second payout. Check the customer's Shopify store credit balance before retrying in that case.
Stocking what you bought
Settling pays the customer. It does not put the cards on your shelf — that's a separate step, on purpose. You can pay someone today and sort their cards tomorrow, and a stocking problem never casts doubt on a completed payout.
Inventory intake creates or restocks the Shopify products for the lines you bought, using the same paths as the catalog's "add to inventory" and sealed quick-add features — so your pricing, variant and barcode rules apply exactly as they do everywhere else.
Intake is safe to re-run. Each line ends as stocked, skipped or failed, and only stocked is final. Run it again and it retries the skipped and failed lines while never touching anything already stocked — so a partial run is fixed by clicking the button a second time, not by reconciling by hand.
Intake creates products, so it counts against your plan's product limit like any other sync.
Common questions
Can I buy sealed product, not just singles? Yes. Enable sealed in the game's buylist settings. Sealed has its own default rate and per-category overrides, and can optionally fall back to MSRP when no market price is available.
Can one order contain more than one game? Yes. Each line is priced against its own game's rules.
Do I have to offer both cash and store credit? No — disable either one. At least one has to stay enabled.
Does buylist pricing follow my selling prices? No. Buylist has its own rate stack, separate from Pricing Configuration, because what you pay and what you charge are different decisions.
Where do I see past buy orders?Buylist → Orders lists them. Buylist intake jobs also show up on the Queue / History page alongside product syncs, price updates, sealed adds and TCGplayer imports — see Sync History.
Related: Pricing Configuration · Billing & Pricing · Sync History
