SellerFolio · Guide

Using Inventory

Inventory is where you record what you bought, what it cost, and what has since gone missing. Every figure on these screens is derived from a ledger of movements rather than a stored count, so a number can always be traced back to the event that produced it. This walks through the whole section — about fifteen minutes.

What Inventory is for

Six things, and they build on each other:

Until a bin is attached to a listing, a bin's sell-through stays 0.0% and Last sale reads "never sold" — nothing is drawing it down yet. That is accurate, not a bug, and Part 3 is how you change it.

Who can see it Inventory needs the purchases permission. Recording, counting and re-costing also require permission to see money — so anyone who can change a cost can also see it.
Part 1

Record your first buy

A buy is what you paid. A bin is stock that came out of it — a pallet, a case, a tote, a bag of returns. Most buys are one bin, and that is the four-field form below. A buy that splits into several bins is the same form with a bin added.

01

Open Inventory

It sits in the left menu under Products. With nothing recorded yet, the list is the form — there is no empty screen to get past. Once you have stock, + New buy in the header opens the same form again.

The New buy form open over the Inventory list
The same form either way: with nothing recorded it IS the list, and once you have stock it opens from + New buy.
02

Give it a label, a total and a unit count

Label it however you will recognise it later — Aug 16 — Carhartt pull beats bin 4 in three weeks' time. Total paid is what left your account. How many units is how many sellable pieces came out of it.

Click + Add cost if the buy had freight, duties or prep. Enter one amount with a category beside it, drawn from the same list Expenses uses. Landed costs spread across the units along with the goods total, so the per-unit figure includes what it actually cost to get the bin here — not just what the goods themselves were worth.

The record-a-bin form filled in, showing the landed cost equation
$1,000 paid plus $200 of landed costs over 100 units is $12.00 a unit — not $10.00.
Why landed costs matter Freight is part of what a unit cost you. Leaving $200 of shipping out of a $1,000 buy understates every unit by 17% — and every margin you calculate from it afterwards.

+ Add cost takes as many cost lines as the buy actually had — freight, duties and prep each with their own category and note, not one lumped figure. A bin's own card can add or remove a single row at any time, so a freight invoice that turns up two weeks after the goods can be labelled and still land on the right bin.

A cost added after you have allocated does not re-price what already sold Units already sold are locked at what the ledger charged them. The bin shows the new money as unallocated instead, and Re-cost (Part 6) is how you spread it.
03

Record it

The bin appears in the list with its units on hand and what they are worth.

A bin with no price is legal. Leave Total paid empty and the bin is still recorded — it just reads needs pricing and carries a Price it button instead of a value. It does not pretend to be worth $0.00, because zero is a price and "we do not know yet" is not. Until you price it, the bin cannot cost anything it sells — so price it before you expect a margin from it.

Part 2

Read the list

Ranked by capital tied up, because that is the number that changes your next buy.

04

The four cards at the top

They answer four different questions, and it is worth knowing which is which before you read a number off one.

CardWhat it counts
On the shelfWhat your stock cost you, for stock you actually have. On-order goods are never in it — money is tied up in both, but only one of them can be sold.
Units on handSellable pieces you hold now, against everything ever received. On-order units are excluded here too, for the same reason.
Owed to suppliersWhat is still unpaid, and across how many buys. Zero here means every buy is settled, not that you never owed anything.
Paid, not here yetCash already out of your account for goods that have not arrived, and what those goods are worth at cost. It counts what was actually paid, not what was ordered — an unpaid order ties up no cash, and putting its total here would report money still sitting in your account.
The cards ignore the chips They are always computed over every buy, never over what a filter has left on screen. A headline that shrank because you clicked On order would be telling you your shelf had emptied, which is a different and much more alarming claim than the one you meant to make.

Without permission to see money, On the shelf and Owed to suppliers come back blank rather than $0.00 — blank means "not for you", zero would be a figure.

05

The chips, and what a bin's state means

The chip row filters the list, and each chip carries its own count. A bin is only ever in one state, decided in this order — the first one that fits wins:

StateWhen
On orderUnits are still coming. This beats every other state, because on-order units are excluded from on hand and from value — so every other figure on the row is legitimately zero, and any other label would be describing that zero wrongly.
Needs pricingThe bin has no unit cost. Next in line because it is the one state that stops the bin costing anything it sells. It carries a Price it button.
Sold outUnits arrived and none are left.
Running lowA quarter or less of what was received is still on hand.
StockedEverything else.

Unpaid is not a bin state — it is a fact about the buy that paid for the bin, so it filters on what is still owed rather than on what is on the shelf.

The rail under the on-hand figure draws how full the bin is. A bin that has not arrived yet shows no rail at all rather than an empty one: empty would read as "sold out", and nothing has been sold.

06

The list

Bins are sorted by value at cost, highest first — the most money sitting on a shelf appears at the top. Search filters on label, description or SKU.

Most buys hold one thing, so most rows are a buy and a bin at once. Where one invoice covered several products, the two buttons above the list decide how that reads:

  • Grouped — gathers those bins under their invoice and puts the money on it, so what you owe is stated once, on the thing that owes it.
  • Flat — no grouping at all. Every bin gets its own line, and one that shares an invoice carries a tag naming it and what is still owed on it. Two rows showing the same figure are one invoice, not two debts.

SellerFolio remembers which you picked. Nothing else changes with it — the chips, the search and the order are the same either way.

The Inventory list: the four headline cards, the filter chips, and a grouped buy holding three bins
The strip counts every buy, not the filtered view. The first row is one invoice holding three bins; below it, a buy with nothing recorded in it yet.
07

Open a bin

Click any row. The card shows where the units went and what the bin is worth now.

  • Depletion — received, net sold, shrinkage and on hand. These always add up to what came in.
  • Value at cost — units on hand at what they cost.
  • Ledger — every movement, newest first. This is what makes a count defensible weeks later.
The buy drawer showing on hand, sell-through, payments, its three bins and its landed costs
One drawer for the buy and every bin off it: what it cost, what has been paid, when it arrived, and the money spent getting it here.
08

What has not arrived yet

On order is a chip on this list rather than a screen of its own — it is the same rows, asked a different question. A buy sits there until its stock is received, and while it does, its units stay out of on hand and its money stays out of On the shelf. You can mark it arrived from the row itself.

Each on-order buy shows when it is expected, and how that date was arrived at is shown as plainly as the date:

ReadsMeans
Aug 8–12A window you typed. Your supplier said it.
expected Sep 15You gave one date rather than a window. One date is a date — it is read as that single day, not discarded for being incomplete.
no dateNo window was typed. Sorted last.
Late is measured against the far end of the window A buy quoted Sep 1–7 is not late on the 3rd, and flagging it then would train you to ignore the flag — which is the one failure that makes a tracker worthless. Due soon means the window opens within a week. And a buy with no expected date reads unknown, never "on time": saying "on time" against nothing is an assurance nobody earned.
A supplier's lead time is not shown here yet Give a supplier a typical lead time and SellerFolio can work out roughly when a buy from them should land, even when nobody typed a date. That estimate is calculated correctly, but the screen does not currently show it — a buy with no typed window reads "no date" whether or not its supplier has a lead time. Until that lands, treat every date you see here as one somebody typed, and set a window yourself on anything you need to track.

A buy recorded with no bin line yet still appears as a row rather than vanishing until you itemise it, tagged nothing recorded in it. Money committed against nothing itemised is exactly the thing you want to see rather than lose.

09

Suppliers

The Suppliers tab totals your buying by who you bought from: how many buys, the average unit cost, what that stock has since earned, what is still on hand, and what came back refunded. It answers "who is actually worth buying from", which no single buy can.

A supplier can also carry an expected lead time — how long their orders usually take to arrive. It is worth setting, because it is what a future estimated arrival will be calculated from, but see the warning above: that estimate does not reach the screen yet.

Part 3

Attach a bin to a listing

This is the step that costs your sales and draws the stock down. Everything before it is bookkeeping.

10

Open Costing → By listing

Binding starts from the sales, not from the shelf — so it lives in Costing, next to the lines that need costing. The By listing tab appears once you have recorded at least one bin; a shop with no stock never sees it.

Each row is one listing with uncosted sales on it, ranked by how many. Bins shows what is already attached.

Costing's By listing tab showing one listing with 26 uncosted lines and no bins attached
26 sales on one listing, nothing costing them yet.
11

Pick the bins that paid for those sales

Click Cost from a bin… and add the bins the stock came from. Add more than one if the sales span several buys — order matters, because the first bin is drawn from first.

The preview does the arithmetic before anything is written: how many lines get costed, at what effective average, from which bins, and how many units are left over.

The bind drawer previewing 26 lines costed from two bins at an effective average of $6.96
18 units at $6.50 then 8 at $8.00 — $181.00 across 26 sales, an effective average of $6.96, 22 units left.
"Effective average" is not what each line pays The first bin is emptied before the next is touched, so under this example some lines cost $6.50 and some $8.00. $6.96 is what the 26 lines cost together, divided out — useful for a sanity check, not a price any single sale carries.
12

Choose FIFO or weighted average

Both answer the same question — when I sell one unit off this listing, what did that unit cost me? They only give different answers when more than one bin is attached at different prices. With a single bin, the toggle changes nothing, and you can leave it alone.

Say you attach two: 1,000 units at $11.52, then 500 at $6.00.

FIFO drains them in the order shown — that is what the ↑ ↓ arrows are for. The first 1,000 sales cost $11.52 each. From sale 1,001 on, they cost $6.00. Different lines carry different costs, and the changeover happens partway through.

Weighted average pools every attached bin and blends by units held: (1,000 × $11.52 + 500 × $6.00) ÷ 1,500 units = $9.68. Every line takes $9.68 — the first sale and the last alike.

The total is the same either way. The timing is not. Across the full life of that stock both methods book $14,520 of cost. What differs is when it lands. Under FIFO your early shows look expensive and your later ones look cheap; under weighted average every show reads the same.
Which to pick Reach for FIFO when your buys really do arrive in sequence and prices move — it tells the truth about one show's margin, because that show genuinely sold the expensive stock. Reach for weighted average when the units are not meaningfully different from each other and you do not want a show's margin to jump halfway through because one bin ran dry mid-broadcast. A mixed-brand listing is usually the second case.
Changing it later re-prices nothing on its own The method applies to the next apply. Lines already costed keep the figure they were given until something replaces it — see the next step.
13

Apply, and check the receipt

The button states what it will do before you press it. Afterwards the drawer tells you what it did, the listing drops to zero uncosted, and the units are off your shelf.

After applying: 0 uncosted of 26 lines, Costed 26 lines, and 22 units remaining in the bins
26 costed, 22 units still in the bins, and the listing is done.
Undo reverses more than this one press Undo this unbinds those bins and clears every cost they wrote — including costs from an earlier apply through the same bins, not only the run you just did. A cost you typed by hand is left alone. If you only want to stop future sales drawing from a bin, unbind it instead of undoing.
What this changed on the stock side Those units are now sold: the bin's on-hand drops, its sell-through starts moving, and Last sale stops saying "never sold". New sales on a bound listing are costed as they sync, without you coming back here.
14

When the lines already have a cost

Apply normally fills in only the lines with no cost yet. That is what keeps it safe to press twice. It also means a listing whose sales were already costed some other way — by hand, by an AI suggestion, from the SKU catalogue — has nothing for a bin to do, and the drawer says so plainly: 0 lines, $0.00 of COGS, and a greyed-out button.

That is not a bug, and here is how to read it If the header says 0 uncosted while the bin still holds its full count, those sales were costed by something other than this bin. Nothing is broken — the bin simply has not paid for anything yet.
The drawer acts on what you picked Select rows on the workbench and the button reads Cost 38 from a bin: it costs those 38 and nothing else. The drawer's header repeats the scope — 38 selected lines of 469 — and every figure below it, the preview and the Apply button included, counts only that selection. Open the same listing from the By listing tab instead and there is no selection to honour, so it acts on all 469 and says so.

To make the bin take those lines over anyway, tick Replace existing costs. It appears inside a warning that first tells you what you are about to overwrite, broken down by where each cost came from — because "388 from an AI suggestion" and "12 you typed by hand" are worth very different amounts of hesitation. The counts in that warning follow the same scope as everything else: replace from a selection of 38 and it names 38.

Undo will not bring the old figures back Replacing is not reversible through Undo this, which clears costs rather than restoring what they displaced. The figures you overwrite stay readable in each line's cost history, so nothing is lost for good — but putting them back is a manual job. The box is unticked every time the drawer opens, and again after every apply, so it can never be left armed by accident.
The stock ledger corrects itself If a line was previously costed from a different bin, replacing it hands that bin its unit back — on-hand goes up again — before the new bin is drawn down. One sale is never counted against two bins.
Part 4

Split one buy across several products

For the case Part 1 cannot handle: one total, several different things, none of them worth the same.

15

Tell the two cases apart

A buy that held one product needs nothing here. Part 1's form takes a total and a unit count, and the per-unit cost falls out of the division — $1,200 over 100 units is $12.00, and the bin is priced the moment you record it.

A buy that held several different products has no such division. One invoice, one total, and the things in the box are not worth the same. That is what Buys is for: record the buy once with a line per product, then decide how the total splits between them.

Open Inventory and leave the list on Grouped. Each buy is a row you can open — the total on the right, then a line per product with Qty, Unit cost and Expected resale. On a new buy the Unit cost column reads all the way down, because nothing has divided the total yet. The Allocate… button on the buy opens a dialog with two ways to divide it: Evenly and By expected resale.

Why this is a separate step at all Part 1's form can price a bin on the spot because there is only one thing to price. The moment two products share a total, how it splits is a judgement — and getting it wrong does not make the buy add up any less, it just puts the wrong margin on both products for as long as they sell.
16

Allocate — Evenly

Every unit on the buy carries the same cost: the total divided by the number of units, whichever line they sit on. A $1,200 pallet holding 10 jackets and 50 tees prices all 60 units at $20.00 each.

That is right when the things in the box are interchangeable — one carton of the same tee in six colours, a case of the same phone case. It is wrong the moment they are not. At $20.00 a unit, a tee you expect to sell for $20 shows no margin at all, while a jacket you expect to sell for $200 shows 90%. Neither figure is true. They are one piece of arithmetic applied to two things that never cost the same to buy.

17

Allocate — By expected resale

By expected resale splits the total in proportion to that column. It column is the weight, and it is the only thing this mode reads.

Same $1,200 pallet — 10 jackets you expect to sell at $200, 50 tees you expect to sell at $20:

  • The jackets are 10 × $200 = $2,000 of expected resale, the tees 50 × $20 = $1,000. $3,000 between them.
  • The jackets take two thirds of the pot — $800 — over 10 units, so $80.00 each.
  • The tees take the other third — $400 — over 50 units, so $8.00 each.

Now check the margins, because that is what the mode is really doing: $200 − $80 is $120 on a $200 jacket, and $20 − $8 is $12 on a $20 tee. Both are 60%. Weighted lands every line on the same gross-margin percentage — which is the honest answer when a single invoice bought two things and nothing on it says what each one cost.

Expected resale is a weight, not a promise It is used to decide proportions and nothing else. Being wrong about the selling price costs you nothing here — $400 and $40 split that pallet exactly as $200 and $20 do, because the jackets are still worth ten times the tees. What does damage is being wrong about the ratio. Guess $200 against $100 and the tees pick up cost the jackets should have carried, and every margin you read afterwards is off in both directions at once.
A blank Expected resale is a weight of zero If no line has an expected resale, weighted refuses outright and says so — there is nothing to split by and it will not guess. But if some lines have one and others are blank, it does not refuse: the blank lines count as zero, come out at $0.00 a unit, and the lines that did carry a figure absorb the whole total. Fill the column in on every line before pressing this. Re-cost (Part 6) refuses this case rather than pricing anything at zero; Allocate does not.
18

Link one sale to one bin

Link to sale… at the end of a line attaches one specific sale to that bin by hand. Search your uncosted sales, press Link on the one that came out of this bin, and two things are written together: the sale gets this bin's unit cost, and the bin gets a SOLD −1 movement so the bin actually goes down by one.

Both, in one transaction, deliberately. A cost with no movement behind it charges the money to your P&L while leaving the unit on the shelf — the bin never depletes, and its on-hand goes on offering stock that has already left.

The button only appears once the bin has a unit cost. Until then the cell reads allocate first, because there is no figure to write.

Linking is not binding Part 3's binding is a standing rule for a listing: attach a bin once and every sale on that listing is costed from it, including the ones that sync tomorrow. Link to sale is the opposite shape — one sale, one bin, chosen by hand, and nothing afterwards. Bind when a listing sells one product out of one bin; link when binding cannot reach the line, such as one unit out of a mixed pallet that no single listing represents. A cost written this way is also not a binding's to remove: Part 3's Undo this leaves it alone, because no binding authored it.
19

Allocate again later, and what it will not touch

Press either button again whenever the buy changes — freight that invoiced late, a line you added, a mode you now think was the wrong one. It re-spreads from scratch, with one exception.

Lines already linked to a sale are locked. Their money comes off the pot at their full quantity — every unit on the line, not only the ones sold — and only the remainder spreads across the rest.

Why locked, and why the whole line A bin row carries one unit cost. The moment the ledger charges that figure to a sale, changing it would leave the books saying one thing and the sale saying another — so the row is frozen the instant any single unit of it is charged, not just the charged units.

Two refusals follow from that, and neither is a failure. If every line is linked, allocate stops and tells you there is nothing left to allocate. If the linked lines already account for the full total, it stops and tells you that instead. In both cases there is genuinely nothing to spread. Re-cost (Part 6) is the sanctioned way through the lock, and it states what it will rewrite before it does it.

20

When the total will not divide

A unit cost is stored to the cent, so a total that does not divide into whole cents cannot be represented exactly. The bin card says so rather than hiding it.

A real one: $11,515.00 across 1,000 units is $11.515 a unit. To the cent that is $11.52, and 1,000 × $11.52 is $11,520.00 — so the bin card reads $5.00 over-allocated, in red.

That is arithmetic, not a mistake. The gap is at most half a cent a unit, and no single per-unit price can do better than that. Nothing downstream is wrong either: the per-unit cost is what every sale gets charged, and it is exact.

If you want it to reconcile to the penny, split the line in two — 500 units and 500 units — and allocate again. They come out at $11.52 and $11.51, which multiply back to $11,515.00 exactly. That works because the remainder always lands on the last line of the buy: every other line gets its rounded fair share, and the last one gets whatever is left.

Part 5

Count stock and write off what is gone

Counting records the difference, never a replacement — so the history stays readable.

21

Count what is actually there

Open a bin and click Count / write off. Type what you physically counted. The variance is stated in words before you commit anything.

Pick the reason — it decides whether the loss reaches your expenses:

The count dialog with 232 counted against a ledger of 250, and a booking checkbox for $324.00
18 short at $18.00 a unit. The booking box is ticked and the amount stated before you commit.
22

Decide whether it hits your P&L

The checkbox is ticked by default when the units are genuinely gone, and you can always untick it.

ReasonWhat it meansBooked to expenses?
Damaged
Lost
Sample
The units existed and are gone.Yes — ticked by default
CountFewer than expected, cause unknown.Yes — a variance is a loss until you explain it
MiscountYou never had them. The delivery was short, or the original count was wrong.No, and it cannot be
The count dialog with Miscount selected and the booking checkbox disabled
Miscount locks the box off and says why.
Why a miscount books nothing No money was lost — you paid what you paid, the bin just holds fewer units than recorded. Booking it would invent a loss that never happened. What is actually wrong is the unit cost, since the same total is now spread over fewer units. Fix that with Re-cost this bin.
An unpriced bin cannot book anything If you never entered a total, there is no figure to book and the dialog says so. Price the bin first — a write-off against an unpriced bin records the missing units but no loss.
23

Review counts, and undo a mistake

The Counts tab lists every count and write-off in the shop. Two money columns, and they are not the same thing:

  • Value lost — what the units were worth, whether or not anyone booked it.
  • Booked — the part that actually reached your expenses.
The Counts tab showing a miscount and a damaged write-off with value lost and booked columns
The damaged write-off cost $264.00 and booked $264.00. The miscount reads "—" in both, because nothing was lost.
Undo deletes the count Undo is for a count you entered wrongly — it removes the movement entirely, and any expense it booked goes with it. It is not for stock that turned up later: if units reappear, record a new count so the history shows both events.
Part 6

Fix a cost you got wrong

Re-cost spreads a buy’s real total back across its units.

24

Spot the gap

When what you paid does not match what reached the units, the bin card says so. It appears only when there is a gap — no line means the bin adds up.

A bin card showing an unallocated money line: paid $1,085.00, allocated $900.00, $185.00 unallocated
$1,085 paid, $900 reached the units. $185 is unaccounted for.
25

Re-cost, after reading what it will do

Click Re-cost this bin. Nothing is written until you confirm, and the dialog states the effect first — how many bin prices change, and how much cost of goods moves.

The re-cost dialog previewing a unit cost change from $18.00 to $21.70
$1,085 over 50 units is $21.70 each, not $18.00.
It overwrites a price you typed by hand Re-cost redistributes the buy’s total across every bin on it — including one you priced yourself. The dialog tells you how many bin prices it will rewrite before you confirm. Read that line; it is the one that matters.
If it says nothing would change Either the bin already adds up, or the buy is missing something re-cost needs — a total, a unit count, or an expected-resale figure on some but not all of its bins. The dialog says which.
Part 7

When something looks wrong

What you seeWhat it meansWhat to do
Sell-through is 0.0%, last sale says never sold Nothing is drawing that bin down — it is not attached to a listing yet. Attach it to the listing its stock sells on (Part 3).
The By listing tab is not in Costing It appears once you have recorded a bin. With no stock there is nothing to attach. Record a buy (Part 1); the tab appears.
The preview says fewer lines than the listing has The bins you attached do not hold enough units to cover every sale. Add another bin, or apply what you have and attach more later.
By expected resale did nothing, and a message about expected resale No unlinked line on that buy carries an Expected resale, so there is no weight to split the total by. Weighted refuses rather than guessing. Fill in Expected resale on every line and press it again — or use Evenly if the items really are interchangeable (Part 4).
Allocate says every item is already linked Every line on that buy has a sale attached, so every line is locked at the cost the ledger already charged. There is nothing left to spread. Nothing is broken. If one of those costs is genuinely wrong, use Re-cost (Part 6) — the one sanctioned way through the lock.
A bin shows $0.00 at cost You have not priced it — its cost is unknown, not zero. Or By expected resale priced it at zero because its Expected resale was blank (Part 4). Re-cost the buy, or record its total on the buy itself. If a blank expected resale zeroed it, fill the column in and allocate again.
The booking checkbox is greyed out Either the reason is Miscount, or the bin has no cost to book against. For a miscount, re-cost instead. For an unpriced bin, price it first.
No booking line at all You counted the same or more than the ledger says. Finding stock is not a loss. Nothing — record the count.
An unallocated-money line you did not expect The buy's total and its unit costs disagree — usually a mistyped total or freight added later. Re-cost the bin, after reading what the dialog says it will rewrite.
A few dollars over-allocated on the same line Rounding, not an error. A unit cost is stored to the cent, and this total did not divide into whole cents — the gap is at most half a cent a unit. Nothing. To reconcile it to the penny, split the line in two and allocate again (Part 4).
Undo did not bring the stock back to the list The list refreshes when you return to it. Go back to the list; the count will be reversed.
Deleting a buy removed expenses too Expected, and warned before you confirm: shrinkage booked against that buy’s bins goes with it. If you only meant to fix a number, re-cost instead of deleting.
Part 8

Habits worth keeping

Record the buy when it arrives, not when it sells

A bin recorded weeks later is a bin whose freight nobody remembers. Four fields at the door is the whole job.

Count before you reorder, not after

The list is sorted by money tied up. The bins at the top are where a counting error costs the most, and they are the ones a reorder decision hangs on.

Say why in the note

"water damage on the bottom layer" explains a $54 write-off six months later. The reason code alone does not.

Reach for Re-cost before Delete

Re-cost fixes a number and leaves the history. Deleting a buy takes its bins, its counts and any shrinkage those counts booked.