Skip to main content

What a debt shipment costs

Every shipment has to be costed. Normally that is straightforward: the units came off the shelf, so SKU.io knows exactly what those units cost, because it knows which receipt they came from and what you paid for it.

A shipment made below zero has no such answer. Nothing came off the shelf — there was nothing there. The goods are with the customer, the sale is real, and the cost of that sale still has to go somewhere today. So SKU.io estimates it, records the estimate on the claim, and restates it to the real cost when stock finally arrives and repays the claim.

This page explains where the estimate comes from, what you can change about it, and what changes when the true cost turns up.

The estimate is a waterfall, not a single rule

There is no one place to read a cost from — the whole point is that you have no stock of this product at this warehouse, which knocks out the obvious answer. SKU.io therefore tries several sources in order and takes the first one that produces a cost above zero.

The order is set under Settings → Inventory → Inventory Debt, under the hint "Tried in this order until one produces a cost above zero. Drag to reorder." Out of the box it reads:

Each step is worth understanding, because which one answered decides how close the estimate lands.

Last purchase price

"What you last paid a supplier for it, at this warehouse then anywhere."

The most recent receipt cost for the product — the closest guess at the delivery that will actually settle the claim. SKU.io looks at this warehouse's receipts first, then widens to every warehouse. It produces nothing only when the product has never been received anywhere.

Average cost

"Weighted average of the stock on hand, at this warehouse then anywhere."

Weighted on what is still remaining, not on what was originally received, so a long-exhausted cheap delivery does not drag the average down years later. Like the step above it, it tries this warehouse's stock first and then the business as a whole — a warehouse that has never held the product must not be allowed to veto an average the rest of the business can supply.

It produces nothing when there is no stock left anywhere, which is common precisely when you are shipping into debt.

Product default cost

"The product's own average or default cost — the last resort with a real number."

This is a value held on the product itself rather than a stock lookup, so it answers even for a product no warehouse has ever held. It is the last step that can produce a real figure.

Zero — the deliberate stop

"Cost the debt at nothing and make the variance loud when a receipt settles it."

Zero is not part of the order out of the box; you add it yourself. It is a legitimate choice, not a mistake: it costs the shipment at nothing, so the entire real cost shows up as one visible correction on the day stock arrives. Some finance teams prefer that to a guess.

It behaves differently from the others in one important way: it stops the search. The moment the order reaches Zero, the answer is nothing and no later step is consulted. The settings page makes that plain — the row carries an orange stops here chip, everything below it is greyed out, and a warning appears:

Zero stops the search, so the 1 option(s) below it will never be used. Move it down, or remove what follows.

The cost estimate order with Zero placed third: it carries a stops-here chip, the option below it is greyed out, and a warning says it will never be used

The cost of choosing Zero is that every sale made below zero reads as pure profit until the claim is repaid, and nothing is held in the clearing account meanwhile, so the money view of your exposure is empty. The benefit is that no estimate is ever mistaken for a fact.

Running off the end of the order has the same effect as Zero: a brand-new product with no purchase history and no cost on the product record is costed at nothing.

Which figure applies to which units

The estimate is per unit, and it applies only to the units that had nothing behind them.

A shipment that is partly covered produces two costs on the same line. Say nine are ordered, six are on the shelf and three are not: the six are costed the ordinary way, from the stock they consumed, and only the three are estimated. The claim is raised for the three, never for the nine. A line with nothing at all on hand owes its whole quantity as a single claim.

You can see both halves on the shipment. The order's Movements tab writes a row for the units that came off the shelf, with a unit cost and the stock they came from, and a separate row with Status debt carrying the estimate and no stock behind it. The empty Layer column is what tells the two apart. Read together they are the shipment.

Where the estimate shows up

  • On the prompt, before you commit. Under the Warn policy the Ship without stock? prompt lists each short line with its Est. unit cost and names the step that produced it, adding (fallback — no last purchase price) in orange where it had to go further down the order. See ship an order when the stock isn't there.
  • On the Fulfillment Debt report. The Est. unit cost column shows the figure with the step that produced it underneath — Last purchase price, Average cost, Product default cost or Zero — so months later you can still tell how good a guess it was.
  • On the order's profit. The line's cost, its margin and the order's profit are all built on the estimate until the claim is repaid.

Why the cost changes when the stock lands

When a receipt repays the claim, SKU.io learns what the units really cost. It does two things with that:

  1. It relieves what was posted at the estimate. The money the shipment put aside is released, to the cent.
  2. It books the difference. The gap between the estimate and the real cost is posted as a correction to cost of sale, dated the day the stock arrived.

The shipment's own record is never edited. Cost is recognised once, at the estimate, and corrected once, later, on its own date. That is deliberate: a shipment in one month must not be quietly rewritten after that month is signed off, and a correction that belongs to the month the goods arrived belongs in that month's figures.

Three consequences follow:

  • An estimate that was exactly right posts no correction at all — not a zero one, none.
  • A correction can go either way. If the estimate was too high, the correction reduces cost of sale rather than adding to it.
  • A claim repaid from several deliveries produces a correction for each slice, because each delivery had its own real cost. One claim can carry several different actual costs, and they are all correct.

For the entries themselves, see what posts to your ledger.

Part repayments and the odd cent

A claim does not have to be repaid in one go, and the money side is tracked separately from the units so that it always reconciles.

Three units estimated at $0.3333 each put $1.00 aside, not $0.9999. Repaying them one at a time releases $0.33, then $0.33, then $0.34 — the last repayment takes whatever is left so the account returns to exactly zero. Nothing is stranded and nothing is over-released. That is why the exposure figures on the Fulfillment Debt report are quoted in money rather than as units multiplied by the estimate: once a claim is part repaid, those two numbers stop agreeing, and only the money one has to match your books.

The report shows both sides of a part-repaid claim in one row. Its Outstanding column reads, for example, 2 / 4 — two of four units still owed — and its Clearing column shows what remains with relieved $3.70 beneath it.

Next steps

Last verified: