Thousands of singles on the shelf. Every one with its own cost and its own address.
A cost-basis, inventory and margin ledger for eBay sellers managing thousands of physical singles.
Stowdesk starts where your listing tool stops.
You sell Pokémon, Magic: The Gathering, Yu-Gi-Oh! or Riftbound — raw or graded — and it puts them up for sale. Stowdesk keeps the other half: what each item cost, where it physically sits, and what the sale actually earned once eBay had taken its cut. It imports a CardUploader scan directly, and a spreadsheet from anything else.
The free plan holds 250 items, asks for no payment details, and does not expire. You confirm an email address, then a sample shelf loads in one press so nothing starts empty.
Sixty items come out of a $400 box, all of them worth something different, and every one of them has to go somewhere you can find it again. Stowdesk gives each one an address and a cost on the way in, then keeps both attached for the rest of that item's life: through storage, a sale, a refund, a return. When it sells, the pull ticket tells you the box, the row, and the section. When the month closes, the ledger tells you what that item actually earned, after marketplace fees, postage, and the eleven cents of envelope it went out in.
One item, from the box to the ledger
- Lot A box arrives at one price $400.00
- Cost Split across 60 items, weighted by what each is worth $6.43
- Address Stowed wherever there is room, and given the address it went to B002-B-04
- Sale It sells, and the pull ticket sends you to that section $18.00
- Marketplace fee −$2.94
- Postage label −$1.31
- Envelope and sleeve −$0.11
- What it cost you −$6.43
Example figures. Each deduction is recorded against the sale and the cost against the item it came from — the $6.43 taken out here is the same $6.43 assigned when the box was split.
A cost basis is only useful if you can find the item it belongs to.
B002-B-04 Box 002, row B, section 04. Every item carries one, and the pull ticket reads them in walk order.
Lots in. Singles out.
The same work in the order it happens. Every screen below is one real shop with five thousand items on it, run on Stowdesk every day, rather than a file made for a website.
You will not be able to browse your shelf
Your shelf does not need to be organized. Stowdesk does.
B007-C-05 Box 007 · Row C · Section 05 Third row along, fifth divider back. One real box on the shelf it lives on, labelled once and never relabelled as stock moves through it.
Nothing in that box is sorted by set, by game, by number or by value. An item goes wherever there is room and carries the address of where it went, so an intake never means opening the boxes it belongs in to make space and selling out of the middle never leaves a hole to close. That is why a shelf run this way stops costing more as it grows. The price is that there is no box for one set: pulling something that sold takes seconds, and pulling twenty things you thought of yourself means searching first.
If you pick stock by hand for shows more often than you post it, keep sorting. This is built for a shelf that is emptied by orders. How it compares to a spreadsheet, and to a sorted shelf.
Built from the other side of the packing table
I built Stowdesk to solve my own inventory problem. I buy Pokémon cards in lots, sell the singles on eBay, and use Stowdesk every day to track what each card cost me, where I put it, and what I actually made when it sold.
The workflow isn't theoretical. It's the system I use to run my own inventory.
— David, founder of Stowdesk
How your items get in
Two ways, and they are for two different days — a box that arrived this morning, and a shelf you have had for years.
A CardUploader scan
Import the file CardUploader exports after a scan. The SKU it assigned is the SKU Stowdesk keeps, so a sale arriving from eBay finds the item on your shelf with its cost already on it and nothing matched by hand. The scan carries what each item is worth, which is how one box price gets divided across everything that came out of it.
A spreadsheet
For the stock you already have, without typing it in again. Name and cost are the only columns required; a location column is used if you have one, and headers are matched loosely, so sku, custom label and paid land where you would expect. One row is one item: a row with a quantity above 1 is listed in the preview and left out rather than split, because a shelf address points at one physical thing.
Rows with no SKU take the next numbers in your run, in the order they appear in the file, and the preview shows you which before anything is written. Keep the cards in that order: a shelf address is given out by SKU, so the tenth row is the tenth card stowed.
Scan with something else and the spreadsheet is the way in. There is no lock-in in either direction: the whole ledger exports as JSON at any time, on every plan.
What it reads from eBay
Connect your eBay account once and Stowdesk reads your orders, the fees and postage eBay actually charged, your payouts, and what you have listed — so the margin is the money that arrived rather than a subtraction you did by hand. It writes one thing back: the tracking number, for a parcel you posted yourself rather than with an eBay label. It never creates, edits, reprices or ends a listing, and it never touches your stock.
Sold, not asking. What you hoped for and what arrived sit in different columns, and the second is checked against eBay's own record of what it paid you.
Your shelf, your listing tool and eBay each keep a record of what is for sale, and they drift apart. Stowdesk compares all three and names the items they disagree about, and in which direction.
Founding member offer
Join us early. Get 6 months of Ledger.
Join the Stowdesk Discord, put it to work with your real inventory, and help shape what gets built next. Early members get six months of Ledger access on me.
The code is in the Discord. No card, nothing to cancel — it ends on its own after six months and the account returns to the free plan, which keeps everything you put in.
What the first hour looks like
Create an account, confirm the address, and load the sample shelf to read a filled ledger before touching your own data. Then bring in one spreadsheet or one scan, connect eBay so the fees arrive on their own, and print a pull ticket. The free plan holds 250 items, needs no payment details and does not expire, and everything you put in exports as one JSON file at any time, on every plan. If something here is unclear, it is probably in the questions people ask first.