Search "card shop inventory spreadsheet template" and the top result is a spreadsheet template, sold as a one-time download, with no guidance on when a spreadsheet actually breaks down. This covers the part that template doesn't.
A spreadsheet is a reasonable way to track card inventory. It's also a tool with a known breaking point, and most sellers hit that point without warning because nothing about a spreadsheet tells you it's approaching capacity. This covers where that point actually is, not whether spreadsheets are good or bad.
At a few hundred cards, a spreadsheet works. One row per card, a formula for margin, a column for condition. A single person can hold the whole sheet in their head, catch a typo on sight, and update a price by hand without much risk of a mistake going unnoticed. Nothing about that setup needs replacing at this scale. The template ranking for this search term is built for exactly this range, and at that range it does its job.
A mid-size card shop carries somewhere between 50,000 and 200,000 line items. That number is higher than the card count, because a single physical card isn't one row. It's four to six rows, one per condition tier the shop sells, each with its own price and its own quantity. Near mint, lightly played, moderately played, and so on, each a separate listing a buyer can click and buy.
A spreadsheet has no way to enforce that a single physical card exists in exactly one condition-tier row at a time, across every sales channel a shop sells on, at once. Nothing in a spreadsheet checks that a near-mint copy sold on one channel is also marked sold everywhere else it's listed. Two rows can both say "in stock" for a card that only exists once. That's not a data-entry mistake a more careful seller avoids. It's a structural gap: a spreadsheet has no concept of a channel, a sale event, or a lock on a row while an order is in flight. Past a few hundred rows, that gap starts producing oversells, and past tens of thousands of rows, it produces them regularly.
When a spreadsheet stops keeping up, the next move is usually a script, not a piece of software. richardneal/TCGPlayer-Pricing-Tool on GitHub is a common example: a script built to automate the export-edit-reimport cycle a spreadsheet workflow depends on. Its own README carries a plain disclaimer that the tool is provided as-is, with no promises made about it, and the project hasn't seen active maintenance in some time. That's not a knock on the author. A one-person script solves today's problem and then breaks quietly the day TCGplayer's export format shifts or a listing has a value the script didn't anticipate. It's a stopgap, not a system a shop's live listings should depend on long-term.
The lowest-friction next step is not a subscription. It's pasting your card list in free with Quick Add to see your inventory priced and organized without setting anything up first. When a shop is ready to stop reconciling rows by hand across channels, graduating from a spreadsheet to Hoard's inventory sync keeps each card's condition, quantity, and channel state in one place instead of one row per assumption. The rest of the filing and pricing decisions a growing shop runs into are covered in the inventory management guide.
Connect your TCGplayer store and get a free diagnostic of your store to see where a spreadsheet workflow is already costing you oversells.
Get started free