COGS for a LEGO reselling business is the total cost of getting a piece of inventory ready to sell: what you paid for the lot or set, plus any fees, cleaning supplies, replacement parts, and inbound shipping you can tie directly to that inventory. Get this number wrong and your "profit" on paper can quietly disappear once platform fees and sourcing costs are subtracted.
I've been buying and selling LEGO long enough to know that most resellers track revenue closely and cost basis loosely. That gap is where margin goes to die. In my experience, a seller who can't tell you their true cost per minifigure or per set can't really tell you whether a sale was good or just felt good.
This guide breaks down exactly what belongs in your LEGO reselling COGS, how to split bulk lot costs across individual items, and how platform fees on BrickLink, eBay, and Whatnot change your real margin. Key takeaways:
- COGS includes acquisition cost, inbound shipping, cleaning or restoration supplies, and replacement parts, but not platform selling fees or your own labor
- Bulk lots need a cost-splitting method (per-piece, weighted by piece count, or weighted by estimated market value) to get an accurate cost basis per item
- Platform fees belong in your margin math, not your COGS, but they still eat into what you actually keep from every sale
- A simple five-column spreadsheet is enough to track COGS across an entire LEGO reselling inventory
What Is COGS in a LEGO Reselling Business?
COGS, or cost of goods sold, is the direct cost of the LEGO inventory you actually sold in a given period, not everything sitting in your bins. For a reseller that means the purchase price of the lot or set, plus any cost required to get it sale-ready, like a replacement part you bought on BrickLink to complete a minifigure.
I use COGS as my honesty check. Revenue tells me what came in. COGS tells me what that revenue actually cost me to produce. When I sort a new haul, I'm already thinking about which pile is going to sell fast and cheap versus which pile needs real cost tracking because it's headed to individual listings.
People often confuse COGS with total business expenses. Your phone bill, your Whatnot boosted promotions, your shipping supplies for orders you haven't made yet, none of that is COGS. COGS is narrowly the cost tied to the specific units you sold.
What Counts Inside COGS for a LEGO Reseller?
Inside COGS: acquisition price, inbound shipping or mileage to pick up a lot, cleaning supplies, and any missing parts or minifigure pieces you bought to complete an item. Outside COGS: platform selling fees, packaging for outbound shipments, software subscriptions, and your own time.
Here's a checklist I use when I'm deciding whether a cost belongs in COGS or in general operating expenses.
- Purchase price of the lot, set, or bulk box, including tax if you paid it
- Gas or mileage directly tied to picking up a specific lot (a reasonable estimate is fine)
- Cleaning supplies used to restore dirty or damaged pieces
- Replacement parts or minifigure pieces bought to complete an incomplete item
- Inbound shipping if you bought a lot online and had it shipped to you
Everything else, from your BrickLink store subscription to the printer you use for shipping labels, is an operating expense, not COGS. It still matters for your overall profitability, it just shouldn't get mixed into the cost basis of a specific item.
How Do You Calculate Cost Basis for a Single LEGO Lot?
For a single-item purchase, cost basis is simple: what you paid, plus anything you spent to make it sellable. If you bought one sealed set for $80 and spent $5 on a missing sticker sheet, your cost basis is $85. The math gets harder the moment a lot contains more than one item, which is most LEGO buys.
A seller I know keeps a running note in their phone every time they pick up a lot: total price paid, rough piece count, and a gut estimate of which items look valuable. That single habit makes the cost-splitting step (below) about ten times faster later.
How Do You Split Cost Across a Bulk LEGO Lot?
Splitting bulk lot cost usually works one of three ways: divide evenly per piece, weight by estimated piece count within categories, or weight by each item's estimated market value relative to the whole lot. Market-value weighting is more accurate for lots with a few standout pieces, while even splitting is faster for uniform bulk.
Here's a simple example using a $120 mixed minifigure lot of 40 figures where three figures are clearly more valuable than the rest.
| Method | How it works | Best for |
|---|---|---|
| Even split | $120 / 40 figures = $3.00 cost basis per figure | Uniform bulk lots with no standout pieces |
| Market-value weighted | Estimate each figure's resale value, then allocate the $120 proportionally | Lots with a few high-value figures mixed into common ones |
| Category weighted | Group by rarity or theme, then split cost within each group | Large hauls with clear tiers, like rare versus common figures |
In my experience, market-value weighting is worth the extra ten minutes whenever a lot has anything that looks like a standout. I've seen sellers even-split a lot with one genuinely rare figure worth $2,000 or more sitting inside it, which massively understates that figure's true cost basis and overstates its margin on paper. Checking current sold comps on BrickEconomy before you split cost is worth the extra few minutes.
What About Restoration and Cleaning Costs?
Restoration costs, meaning cleaning supplies, replacement parts, and the time spent bringing a dirty or damaged item back to sellable condition, belong in COGS because they're tied directly to specific units. Track them per batch rather than per item unless you're working on something high value enough to warrant individual tracking.
This is a part of the business I think gets slept on. A lot of dirty, broken, or incomplete inventory gets tossed or sold for pennies because sellers don't want to deal with it. From what I've seen, the sellers willing to clean figures, hunt down a missing piece on BrickLink, and rebuild a set into something complete are often working with the best margins in the whole business, because they paid almost nothing for inventory everyone else skipped.
Keep it simple: track a rough cost per batch (a bag of cleaning supplies split across the pieces it cleaned, for example) and don't over-engineer this step. Perfect precision isn't the goal, consistency is.
How Do Platform Fees Affect Your Real Margin?
Platform fees aren't part of COGS, but they directly reduce what you keep after COGS is subtracted, so you need both numbers to know your real margin. BrickLink generally has the lowest selling fees of the major platforms, eBay's total take rate can climb close to 25% of the sale once promoted listings are factored in, and Whatnot's fee structure shifts periodically, including occasional no-fee selling days.
I've sold LEGO on eBay, and I personally love it, it's a gold mine for both sourcing and selling LEGO minifigures at scale. But the fee math matters. If you're not accounting for promoted listing costs, a sale that looks profitable in your head can be a lot thinner once fees actually hit your payout.
BrickLink's fee structure tends to be cheaper than eBay or Whatnot, which is part of why so many sellers are comfortable listing individual low-dollar parts and minifigures there that wouldn't be worth the hassle elsewhere. I call BrickLink the Wall Street of LEGO because it's the closest thing this hobby has to a real pricing index, and it's where I check comps before I commit to a cost split or a listing price.
Heads up: This is not financial or legal advice. We're sharing what we've learned from the LEGO reselling community.
How Do You Build a LEGO Reseller COGS Spreadsheet?
A working COGS spreadsheet needs five columns at minimum: lot or item name, total lot cost, piece count or split method, allocated cost per item, and date acquired. That's enough structure to calculate cost basis on anything from a single set to a 500-piece bulk minifigure lot.
Here's the column structure I recommend starting with:
- Lot or item name, so you can trace any sale back to its source purchase
- Total lot cost, including tax, mileage, and inbound shipping
- Piece count or split method used, so future-you remembers how the number was calculated
- Allocated cost per item, the number that actually becomes your COGS at sale time
- Date acquired, useful for spotting inventory that's been sitting too long
You can build this by hand in a spreadsheet, or track it inside a tool built for LEGO inventory so you're not re-entering piece counts and pricing manually. That's exactly the gap brick'em's haul calculator is built to close, since it lets you scan a bulk haul and get real cost and value numbers without doing the math yourself.
How Do You Track COGS as Your LEGO Inventory Grows?
Once you're moving past a few dozen items a month, spreadsheet-only tracking starts to break down because piece-level cost data gets stale or gets lost between purchase and sale. At that point, connecting your cost basis to an actual inventory system, rather than a static spreadsheet, keeps your margin numbers trustworthy as volume increases.
I started tracking COGS in a spreadsheet, and it worked fine until my inventory crossed into the hundreds of pieces. After that, I needed something that could hold cost basis per item alongside current market pricing, so I could see real margin instead of guessing. That's the exact problem brick'em's collection value calculator and inventory tools are meant to solve, tying acquisition cost to current market value across your whole catalog instead of one lot at a time.
If you're specifically trying to value minifigures inside a mixed lot before you even decide how to split cost, checking pieces against a proper minifigure database first will save you from misallocating cost to the wrong items.
What Mistakes Do LEGO Resellers Make With COGS?
The most common COGS mistake is even-splitting a bulk lot that actually has one or two standout items, which understates their true cost and inflates the margin on your best pieces while making your common inventory look worse than it is. The second most common mistake is forgetting inbound costs entirely, like mileage or shipping to acquire a lot.
A few others I see constantly:
- Mixing operating expenses (shipping supplies, subscriptions) into COGS, which muddies your true per-item margin
- Not tracking restoration costs at all, so cleaned-up items look like pure profit
- Never revisiting cost splits after selling a few pieces from a lot, even when new information changes what the remaining pieces are actually worth
- Relying on memory instead of writing the total lot cost down the day you buy it
None of these mistakes are fatal on their own. The problem is they compound. A reseller who's a little sloppy on ten lots a month for a year has no real idea which parts of the business are actually making money.
Frequently Asked Questions
Is COGS the same as total business expenses for a LEGO reseller?
No. COGS only covers costs directly tied to the specific inventory you sold, like acquisition price, inbound shipping, and restoration supplies. Operating expenses like platform subscriptions, packaging materials, and marketing spend are separate and shouldn't be folded into your per-item cost basis calculations.
How do I calculate COGS for a mixed LEGO minifigure lot?
Total the lot's purchase price plus any inbound costs, then split that total across the items using an even split, a market-value weighted split, or a category-based split. Market-value weighting is more accurate when a lot has a few standout pieces mixed in with common ones, which is typical of most bulk minifigure lots.
Do platform fees count as part of COGS?
No, platform selling fees on BrickLink, eBay, or Whatnot are not COGS. They're a separate cost that reduces your margin after COGS is already subtracted from revenue. You need both numbers together to know what you actually kept from a sale, not just one or the other.
What's the easiest way to start tracking LEGO reselling COGS?
Start with a five-column spreadsheet: item or lot name, total lot cost, split method, allocated cost per item, and acquisition date. That's enough to calculate accurate cost basis by hand, and you can graduate to inventory software once manual tracking starts eating too much of your time.
Should I include my own labor in COGS?
Most small resellers don't, and I don't personally, mainly because it gets messy to value your own time consistently across hundreds of listings. It's more useful to track labor separately as a business efficiency question, like how many minutes per listing you're spending, rather than folding it into per-item cost basis.
.png)