SellerFolio · Guide

Using Fulfillment

Fulfillment is the parcel's whole life after the sale: the orders waiting for a label, the labels you buy, the boxes the carrier is holding, and — on the second tab — how long the whole journey actually takes and which stage owns the time. Two tabs, and the second one exists because the answer surprised us. About fifteen minutes.

What the two tabs are for

A reference section at the end lists every column, every tracking state, the exact boundaries behind each threshold, and what this screen genuinely cannot see.

Who can see it, and who can spend Both tabs need permission to read fulfillment. Neither response carries any money, so neither needs a finance permission. Buying labels is separate — it needs the label-buying permission, and so does the ship dock. The Refresh button in the header needs permission to run a sync; without it the button is simply not there.
The unit changes between the two sub-views, and it matters To ship counts orders. In transit counts parcels — one physical box, however many orders are inside it. Where you bundle-ship the gap is not small: many orders can share a single tracking number. The pager says which unit it is counting on every page.
What lives on Packing instead A box that has a label but has not been collected yet is still on your floor, so it is Packing's work, not the carrier's. The packed checkbox, the pick list and the cancelled-order list all moved there too. The In transit tab names the count and links across rather than listing those boxes twice.
Part 1

The top of the screen

Three controls sit above everything and behave the same on both tabs.

The Delivery tab: four stage tiles and a stage-duration chart with median and p90 per stage
Delivery performance. Each bar is a stage median with its p90 behind it; stages with too little data say so rather than drawing a bar.
01

Queue and Delivery are pages, not filters

The two chips under the title navigate to separate pages. That is deliberate: the filter pills further down the queue narrow one list, while these swap the whole screen. They replace the current history entry rather than adding one, so the browser's Back button takes you out of Fulfillment rather than walking backwards through tab switches.

02

The show filter

Both tabs carry a multi-select of shows; empty means all shows. On the Queue it scopes the list and the cards above it. On Delivery it scopes every figure on the page — the chart, the histogram, the map and the table all come from one request.

A bundle that mixes shows still gets one show A parcel carrying orders from two broadcasts is attributed to the dominant one, using the same rule Reports → Shipping uses. The two screens cannot disagree about which show a mixed parcel belongs to.
03

Refresh

Refresh starts a full sync from TikTok and waits for it to finish before reloading the queue, so the button stays busy until the numbers it is about to show are the new ones. It is not the tracking poller — that runs on its own schedule (Part 4).

Part 2

To ship

Everything TikTok is still waiting for you to hand over.

04

The five cards

To ship is every order awaiting shipment in the current show scope. Label overdue is the ones whose ship-by deadline has already passed and for which no label has been bought yet. Due today is the ones due inside the next 24 hours — it does not include the overdue ones, so the two never double-count. Awaiting pickup is labelled orders the carrier has not taken yet. Late handover is the slice of those whose ship-by has also already gone by — click it to work them in Packing.

Each card names its unit on the line under the number, and all five of these count orders. A card with nothing to show yet reads rather than 0: on this row zero is a real and rather good answer, so it must not be how "still loading" looks.

Both cards count the same deadline — they differ in what is missing A missed ship-by can mean one of two things, and they need opposite responses. If no label was ever bought, that is Label overdue — the work is still yours, get it out. If the label was made on time and the carrier simply never took the box, that is Late handover — the parcel is sitting on your floor and the fix is to chase the pickup, not to pack anything. Each card is named for the step that has not happened rather than for the lateness, because "overdue" alone described both. If you label the same day you sell, Label overdue will usually read zero while Late handover is where the real slippage shows up, which is why they are counted apart rather than added.
Late handover counts orders; Packing's "Not collected" counts parcels Clicking the card takes you to Packing, where a pill with a similar name shows a different number — and both are right. They ask different questions on different clocks. Late handover counts orders whose ship-by has already gone by while the label sits waiting for the carrier. Packing's pill counts parcels marked ready to ship more than two days ago and still in the queue, whatever their deadline is.

So a box can be two days on the bench with its ship-by still comfortably ahead — in the pill, not on this card — while an order can be past its ship-by inside a parcel you only marked ready this morning, which is the reverse. They are not even counted in the same units: one parcel often carries several orders. Neither number is a correction of the other, and expecting them to agree will only make one of them look broken. Read this card for how much is late; work Packing's pill to clear the boxes.
The cards ignore your search box They are scoped by the show filter and nothing else, on purpose. Typing a buyer's name narrows the list beneath without moving the counts above, so the cards keep meaning "the state of the queue" rather than "the state of what I am currently looking at".
05

Read the ship-by badge

The first column grades the deadline rather than making you subtract dates. Red is Overdue or under twelve hours left; amber is under a day; green is anything further out and counts in days. An order with no deadline at all says No deadline and stays neutral — it is not late, we simply have no clock for it. The exact date sits underneath in small grey type. An order that has only just missed its deadline reads a plain Overdue, because "Overdue 0h" is a contradiction.

The amber edge is a day because the cards count a day A coloured chip and the Due today card above it now answer the same question. A row carries a warm chip if and only if the queue counted it in Overdue or Due today, so you can no longer scan a screenful of amber and find the card reading a much smaller number. Anything with more than a day of slack is green and counted in neither.
06

Sorting, and the one place it is capped

Sort: ship-by is the default and the honest one — earliest deadline first, undated orders last. Sort: SKU reorders by seller SKU, numerically aware, so 84 comes before 184; blank SKUs go last. It is what you want when picking a shelf rather than chasing a clock.

SKU sort works over at most 2,000 orders The SKU lives on the line item, not the order, so that sort cannot be pushed into the database — the queue is pulled and sorted in memory with a 2,000-order cap, and the 2,000 it keeps are the 2,000 nearest their deadline, not an arbitrary slice. The number beside the pager is the real size of the queue on either sort, so switching to SKU sort never moves it; what a queue past the cap loses is its tail, not its count. Ship-by sort has no such cap.
07

Clicking a row selects it — it does not open it

Row click and the checkbox both select the order for shipping, because the normal thing to do here is build a batch, not read one order. The order drawer moved to the button in the last cell, so batch-selecting never buries you in drawers. Select all takes the whole filtered queue, not just the visible page — it pages through in the background.

One manifest holds 200 orders, and the button says so That is the limit on a single shipping batch, so selecting past it could never have been shipped in one go. Rather than let you build a selection the ship dock will refuse, the button changes its own label — Select first 200 of 512 — and a message afterwards tells you to ship those and come back for the next batch. If a page fails part-way through, whatever loaded stays selected and you are told the selection is partial rather than left with a silent short count.

Two more links live in that last cell. Shippo… opens the three-step buy-a-label flow for that one order. Parcel → appears only once the order has a tracking number and jumps to its box in Packing.

08

The chips under a product name

On hold means TikTok's own status is ON_HOLD; the ship dock excludes the order until the hold clears. A second line in smaller type may show a brand, item, colour and size read by AI from the show's video receipt — useful for eyeballing the physical item against what was sold.

The AI line describes the receipt clip, not every line item The transcript is captured per order, not per line item. On an order with several different products, the AI identity describes what the clip showed, which may not be everything in the box. It is a confirmation aid, never the pick list.
Why the hold chip only trusts the real status There is a synced "on hold" flag on the order too, and this screen deliberately ignores it: it stays stale for hours after TikTok releases a hold, so a chip driven off it would keep telling you not to ship an order that was already free to go.
09

Empty and broken look different, always

"Nothing awaiting shipment — you're caught up" is only ever shown after a load that succeeded and returned zero rows, and the screen says so on its face. A failed fetch gets its own box with a Retry and a re-sync button, and it spells out why the distinction matters: orders may still be waiting, and packing against a silent failure would miss them.

Part 3

Buying labels — the manifest dock

Select one order and a dock slides in from the right. It builds the batch live beside the queue, which stays fully usable behind it.

10

Three sections, in the order you should read them

Needs attention is packages that could not be quoted — they are not in the buy. Ready to buy is everything priced. Excluded starts collapsed and lists orders that are blocked outright: on hold at TikTok, or with a cancellation pending. The footer states the label count and the total, and refuses to show a total while anything is still quoting.

11

Same buyer, one label

Orders going to the same recipient are consolidated into one package — one label, one tracking number. Merge all same-buyer does the whole batch at once and estimates the saving; Review individually shows each group first. If a buyer has orders in the queue that you did not select, the dock offers to adopt them, and the queue shows a small +bundle hint on those rows so you can pull them in from either side.

Bundling matches an address, not a display name Two buyers can share a nickname, so consolidation keys on the recipient identity (name plus address line plus postal code). An order with an incomplete recipient is simply not bundleable rather than being guessed at.
12

The box and the weight, and where each came from

One box preset applies to the whole batch, chosen in the dock header; a single package can be bumped to a bigger one. Each package prints its effective box and the weight the label will actually be bought with, plus a chip saying where each number came from — weight: TikTok, dims: TikTok, box: manual, or weight: preset when nothing better is known.

"No box fits" does not mean we picked a bigger one When TikTok's declared item dimensions do not fit anything we stock, your own choice stands unverified and the chip says so. Where the box was auto-changed, the note names what it was changed from, so a silent substitution never happens.
13

Shipping margin, before you spend

An open package shows what the buyer paid to ship against what the label costs, and the margin or loss between them. Zero is a real figure — free shipping — and renders as $0.00; only a genuinely missing figure renders as a dash.

A partial margin is withheld entirely If any order in the package has no shipping figure, the whole line disappears rather than summing what it has. A partial sum reads as a smaller margin than reality, which is the one direction this number must never be wrong in.
14

When TikTok refuses to quote a consolidated group

Some merged groups cannot be priced up front. Those packages offer an explicit opt-in to buy one label at TikTok's default rate instead. It is opt-in because the cost is not known until the order settles — it turns up later in Costing's shipping margin. The dock counts how many such labels are in the batch and shows the total with a +, because the total is a floor rather than the price.

Two smaller states are worth recognising. A package marked reused already has a label: it is counted at $0.00 and never re-bought, only reprinted. An order inside its one-hour buyer-remorse window shows a countdown chip — that is advisory only, and the order ships anyway.

15

The receipt

After a buy the dock turns into a receipt split into Created, Reused and Skipped — stayed in queue. Skipped rows carry the reason and a button that puts exactly those orders back into a fresh manifest. This is the only place the batch prints as a batch, so the dock refuses to close on Escape while a receipt is on screen, or while a buy or a print job is in flight.

Part 4

In transit

One row per physical box. The whole point of this list is catching a lost parcel before the buyer opens a dispute.

16

Five cards, and why the last two are separate

In transit is parcels the carrier actually holds. Stalled is the chase list. No scans is parcels with no carrier scan stored at all. Not checked is parcels our poller has never successfully asked about. Awaiting collection is boxes with a label the carrier has not taken — those are excluded from this queue and the card links across to Packing.

"No scans" and "Not checked" are different facts, and they overlap No scans is the carrier's silence — we asked and nothing came back. Not checked is our own coverage — we never asked. An unchecked parcel necessarily has no scan, so the two counts overlap and must never be subtracted from each other. On the day the poller has not run, "Not checked" is the entire book, and the card goes amber to say so rather than letting the other numbers read as a carrier catastrophe.
Awaiting pickup and Awaiting collection count different things The card on To ship counts orders awaiting collection; the card here counts parcels. Same underlying state, two units, because each tab counts in its own unit throughout. On a bundle-shipping book the two will differ by roughly half.
17

The filter pills

All, Stuck, Failed, Not moving, SLA breach. Stuck and Failed carry counts; a zero count still renders, because on a work list "Stuck 0" is the answer and hiding the control would leave you unable to tell "none" from "not offered". Not moving and SLA breach carry no number rather than one that could disagree with the rows beneath it.

The exact definitions — including which boundary is exclusive — are in the reference section. Two are worth knowing here. Failed needs its own pill because a failed delivery is never stalled: the failure scan is recent by definition, so the chase list structurally cannot contain it, and it is the one state where the buyer certainly does not have their order. Not moving is not "has no scan": TikTok emits scans the moment a label is minted, so a parcel sitting on a shelf for four days still has scans. Only a scan that places the parcel past "In transit" counts as movement.

18

Reading one row

On the left: a product name, the item count, a bundle chip when the box carries more than one order, the show, the tracking number in full (selectable, with a copy button — it is the string you paste into a carrier site), and the recipient and carrier. In the middle, the journey rail. On the right, the days since the last scan, its verdict colour, and what that scan actually said.

The product name is a representative item, not the contents A row can only show one name, so it shows the lowest-SKU item in the box — stable across pages, but not a summary. The bundle chip and item count are what tell you there is more in there. This also means a search hit can look wrong: search matches any order in the parcel, so searching for a dress can legitimately return a row named "earrings". The screen says so above the list, but only when the page actually contains a bundle for it to apply to.
19

The journey rail

Five stops: Ready · In transit · At destination · Out for delivery · Delivered. The dot is placed from the scan's own code, mapped server-side. The hatched span ahead of the dot is the silence since that scan, drawn to scale against your stall threshold — it reaches the end of the rail exactly when the parcel crosses into being worth chasing. So "how far along" and "how long stuck" are one picture.

  • No dot at all means the scan's code could not be placed. No dot beats a wrong dot — the rail's whole value is that where the dot sits can be believed.
  • The dot can move backwards. A scan back into a facility after a failed delivery is honest news, and the rail shows where the parcel is, not the furthest it ever got.
  • A failed attempt renames its stop to "Delivery failed" rather than just tinting it. A failure sitting under the words "Out for delivery" reads as progress.
  • An inferred stop is marked as a guess. When TikTok sends a code we have never seen, its stage is read from the leading digit and rendered as an inference, not a fact.
20

The verdict on the right

The big number is days since the last scan; its colour is the verdict. Where there is no day count the verdict takes the caption instead, so Tracking off and Just labelled still have somewhere to be said. Every wording and its boundary is in the reference table.

Timeline → opens the order and its full scan history. On a bundled parcel that opens the first of the orders in the box — the bundle chip's tooltip says so, so it is not a surprise. Where we have no order id to open, the row simply does not open rather than requesting a bad one.

The chase list is sorted for you Oldest scan first, so the boxes that have gone quiet are on page one. Parcels that have never been scanned follow, oldest shipment first.
21

Where the scans come from

A background poller asks TikTok about parcels, oldest-checked first, so a backlog clears on its own. It ships on, at fifteen-minute intervals by default, refreshing a batch of parcels each pass; both the interval and the batch size are settings. Orders combined onto one label count as one parcel — they are looked up once and every order on that label gets the result — so a pass usually covers more orders than the batch number suggests.

Turning the poller off empties the movement columns Setting its interval to zero switches it off, and every parcel then reports "Tracking off" rather than a verdict. That is the honest render: the stall rule requires having asked. It is also why a stalled verdict never appears on a parcel we have never polled — without that gate the entire back catalogue would read as stalled the moment the feature landed — a large share of any existing book is old enough to trip the rule the day you switch it on.
Part 5

Delivery performance — before you read a single number

The second tab measures the journey rather than working it. It carries no money at all, on purpose: shipping economics live in Reports → Shipping.

22

What is in the population

A parcel qualifies if it has a tracking number and a ready-to-ship stamp. Orders sharing a tracking number are rolled into one parcel, and the line under the toolbar states the whole shape of it: N delivered of M parcels · K orders. Durations rest on the delivered ones; the rest are there for weight.

The window filters on the order date — the same clock Reports → Shipping and the P&L use — so "August" means the same order set everywhere in the app.

23

Why the default window is All Time, and why a narrow one lies

A narrow recent window can only contain parcels that have already arrived. The slow ones are still in flight and therefore invisible, so every duration on this tab reads faster as the window tightens. That is not a subtle effect — a short window can halve an apparent duration outright. The stage did not get faster; the slow half had not landed yet.

The warning banner is the filter's own disclaimer Choose anything but All Time and a banner appears saying exactly this. It is there because the filter's most inviting reading is its most wrong one. Compare against All Time before concluding anything moved.
24

How a bundle is measured

Everything on this tab is per parcel, not per order — bundles go to one address, so one parcel is one buyer's wait. Counting per order would let a twenty-order bundle count twenty times, which flatters the result wherever your large bundles are also your fastest parcels.

Where a box's orders disagree about a timestamp, the rule is physical: the box is ready when its last order is ready, and it moves, arrives and is delivered once — so ready takes the latest stamp and every carrier milestone takes the earliest. The one exception is Sale → packed, which is measured per order, because packing is an act performed on an order and a bundle is packed one order at a time.

A backwards interval is dropped, never counted as negative Carrier scans arrive out of order and clocks skew. A negative stage duration is not information, and letting one into a percentile drags the median of a stage nobody has a problem with. It is excluded instead.
Part 6

The stage chart

The centrepiece, and the finding the tab was built to surface.

25

Four KPIs above it

Sale → packed is how long from payment to the parcel being boxed, measured per order. Packed → moving is a boxed parcel waiting for the carrier. Carrier time is the two carrier legs — linehaul and last mile — added together. Ready → delivered is the whole span the buyer experiences, shown in days.

Each of those cards carries three figures rather than one — median, avg and p90, labelled — because a typical order, an average order and a bad-day order are three different questions and quoting only one of them invites the other two to be assumed. Carrier time is the exception, and the box below says why.

Carrier time is the one approximation on the screen Every other card here is measured end to end. This one is not: it adds the two legs' means, and the card says so on its face — linehaul + last mile, added — not measured — with each leg's parcel count beside it.

It shows no median and no p90, and that absence is deliberate rather than missing work. Neither medians nor percentiles add: the middle of one leg plus the middle of the other is not the middle of the journey, and a summed figure under the word "median" would be a statistic of nothing. A mean is the one summary that does add — the average of two legs really is the average of the pair — so a mean is what this card shows. If you want a middle for the carrier's work, read each leg's own median in the chart below: they are two of the bars.

Two more things the card will tell you when they apply. The legs can cover different numbers of parcels — a box with a linehaul scan need not have a last-mile one — so the card names both counts, and when they differ it is adding across two populations that only mostly overlap. And where there is dwell to compare against, it says whether carrier time is more, less or about the same, which is the comparison that decides whether the delay is yours or theirs. With either leg missing, the whole card reads "—".
Packed → moving reads "—" on a shop that never marks orders packed It is deliberately not allowed to fall back to the full dwell stage. Dwell starts at ready-to-ship and includes the bench time before a parcel is even boxed; showing that as a packed parcel's wait would be exactly the misattribution this split exists to rule out. A shop that never marks orders packed has no data for this half at all, and the honest render there is a dash.
26

Read the bars

Each stage gets one bar: the solid part is that stage's median, the lighter part behind it is its p90. A key above the bars says the same thing in words, and hovering any bar — or tabbing to it — opens a card naming both figures, what each one means, how many parcels it rests on, and anything particular to that row. Every bar in the chart — the four stages, the total, and the sale-to-packed span — is drawn on one shared scale, so you can see at a glance which stage dwarfs the others. Per-bar scaling would hide exactly that. The axis underneath is in hours.

Read the bars against each other rather than against a target. Where dwell rivals or beats the carrier's entire contribution, the time is being lost on your side of the handover — that is the finding this chart exists to surface.

The bars are not stacked, and the stages do not add up to the total Medians never add, and the card says so with the live arithmetic beneath your own bars. Each bar answers "how long is this stage, typically" — not "what share of this parcel". The total is measured ready-to-delivered directly, never assembled from the parts.
27

Why n differs per stage

Each bar states its own sample size, and they are not equal — for a real reason. Handling needs only two order timestamps, so it covers every qualifying parcel. Every later stage needs carrier scans, so it covers only what the poller has reached. A stage with a smaller n is not a smaller population of parcels; it is a smaller population of parcels we can measure.

28

The marker inside the dwell bar

Where a packed stamp exists, dwell carries a marker splitting it into the bench half and the handover half, with a caption naming both. It is a position inside the dwell bar, never a fifth bar and never a stacked segment.

What that split rules out is the point of it Where nearly all of dwell falls on the second half, the parcel is already in a box and waiting for a carrier. Without the split, the obvious reading of a long dwell stage is "the packers are slow" — and that is usually the wrong fix. Parcels with no packed stamp are excluded from both halves rather than scored zero, which would have manufactured the very conclusion the split exists to test.
29

Sale → packed is drawn differently on purpose

It is a span, not a stage: it runs paid → ready → packed and so overlaps the handling and dwell bars above it. That is why it is outlined rather than filled, and why it is never stacked with them — doing so would double-count time already counted twice over. On this book the order's creation and payment stamps are identical, because live sales pay instantly, so there is only one clock to choose.

Part 7

How long parcels sit

A histogram rather than another median, because the shape is the finding.

30

Four bands, and what an empty first band means

Parcels are bucketed by dwell into under 24h, 24–48h, 48–96h and 96h+. The header states how many parcels the histogram rests on.

The shape is the point. A distribution with nothing at all in the first band is a drop-off cadence signature rather than a slow carrier — parcels are waiting for a scheduled collection, not crawling. The card says so on its own when it sees that shape.

A parcel with no movement scan is excluded, not scored zero It has no dwell duration yet. It stays out of the histogram until it actually moves, which is why this card's total can be smaller than the parcel count in the toolbar.
Part 8

By destination state

A map and a table over the same rows, both obeying the same floor.

31

The map

A US choropleth of delivery speed, toggling between median days and p90 days. Darker is slower. The small states that cannot be clicked usefully on a map sit in a tray beside it with the same colours and the same figures. Every state and tray item is reachable by Tab and announced with its numbers, not just on hover.

The map is read-only. Clicking a state does nothing — there is no per-state filter on this report, so a click would have nothing to do. That is a deliberate omission rather than a broken control.

32

The sufficiency floor

A state only gets a colour once it clears the sufficiency floor — enough delivered parcels and enough orders behind its figures, both set and applied on the server. Below the floor it is drawn hatched, and the table greys the row and tags it thin. A median over a handful of parcels is noise, and painting it would make the map read as knowledge it does not have.

Neither the map nor this guide quotes the floor's numbers The screen is told only whether a state clears it, never what it takes to clear it. That is on purpose: two numbers repeated in three places drift the moment one of them is retuned, and a guide quoting a stale threshold is worse than a guide that quotes none. The map's own key says how many states clear the floor today, which is the figure that actually matters — and it lifts on its own as the poller accumulates delivered parcels.
A thin state is hatched, never hidden Dropping it would make a thin lane indistinguishable from a lane with no orders at all. It keeps its shape, its tooltip and its figures — it just cannot set the colour scale for everyone else. A three-parcel state setting a class edge would shift every other state's colour for a value the map then refuses to paint anyway.
33

Delivered and Shipped are two different populations

The table groups its columns for exactly this reason. Under Delivery, Delivered is the median's own sample — parcels the poller followed all the way to a delivered scan, and the count the floor actually gates. Under Volume, Shipped is every parcel addressed to that state in the window, delivered or not.

Never read Shipped as the denominator for the days beside it The two can differ by a lot — a busy state often has several times more shipped than delivered. The median rests only on the delivered ones, and putting the shipped count under those day figures would misstate it badly. Both columns were once labelled "Parcels", and a real reader asked which was which — which is the whole argument for the names they have now.
When

Something looks wrong

?

Every parcel says "Tracking off"

The tracking poller is switched off, or has never successfully reached TikTok for this workspace. Nothing on the In transit tab is a verdict in that state, and the screen says so rather than implying every parcel is fine. Turning the poller back on fixes it; the backlog then clears oldest-first over successive passes.

?

Delivery times suddenly look much better

Check the window. Anything narrower than All Time can only contain parcels that have already arrived, so it skews fast — the tighter the window, the more so. The banner above the KPIs appears for exactly this reason.

?

A stage's n is far below the parcel count

Everything past handling needs carrier scans. If the poller is young, or off, most parcels have no scans yet and only handling covers the full book. The figures are not wrong; they rest on less.

?

A search hit shows the wrong product

On the In transit tab, search matches any order in a parcel, but a row can only name one item. The row is the right box; the matching item is another order inside it. The bundle chip on that row is the tell.

?

A parcel is clearly late but does not appear under Stuck

Three ordinary reasons, in order of likelihood. It has never been polled, so it carries no verdict at all. Its newest scan is a failed delivery — recent by definition, so it can never be stalled; look under Failed. Or it was never collected, in which case it is not in this queue at all — it is a Packing job, counted on the Awaiting collection card.

Reference

Every column, state and boundary

What each thing on the screen means and, where a threshold is involved, exactly where the line falls. Boundaries here are stated the way the code applies them.

A

To ship — columns

ColumnWhat it holds
Ship by Urgency badge from TikTok's ship-by deadline, with the exact date underneath. Bands in table B.
Order The order id, abbreviated, plus the show it was sold on.
Product The first line item's name and SKU, the item count when more than one, an On hold chip on a genuine TikTok hold, and the AI identity read from the show's video receipt.
Buyer Recipient name and region. A +bundle hint appears here when this buyer already has a package in the dock and the order is unselected, unlabelled and not on hold.
CarrierThe shipping provider on the order, if any.
Tracking The tracking number once one exists, plus a Shippo… link that opens the buy-a-label flow for this order.
MethodTikTok's delivery option for the order.
(last cell) opens the order drawer; Parcel → opens this order's box in Packing, and appears only once it has a tracking number.
B

Ship-by urgency bands

BadgeWhenTone
Overdue NhThe deadline passed an hour or more ago.Red
OverdueThe deadline passed less than an hour ago — no hour count, because rounding it would print "Overdue 0h".Red
Nh leftUnder 12 hours remain.Red
Nh leftBetween 12 and 24 hours remain — the same envelope the Due today card counts.Amber
Nd leftMore than 24 hours remain; counted in days.Green
No deadlineTikTok gave no ship-by time for the order.Neutral
C

In transit — the five cards

CardCountsNotes
In transit Parcels the carrier holds — shipped, not delivered. Excludes awaiting-collection boxes entirely.
Stalled Parcels with no update for longer than your stalled threshold. Amber only when above zero. A permanently flagged zero teaches the eye to skip the one card that must not be skipped.
No scans Parcels with no carrier scan stored at all. "We asked and nothing came back."
Not checked Parcels the poller has never successfully reached. "We have not asked." Goes amber once these are at least half the in-transit book, and reads tracking has never run when they are all of it.
Awaiting collection Parcels with a label the carrier has not taken. Not in this queue — a link to Packing, where they are worked.
All five are scoped by show only They are computed over the room scope, deliberately independent of your search box and the filter pills, so the cards stay put while you type or flip a filter.
D

The filter pills, with their exact boundaries

PillExactly what it lists
All Every parcel actually with the carrier. Awaiting-collection boxes are structurally out of scope for this pill and every other one on this row.
Stuck We have polled this parcel, and its clock has been silent for longer than the stalled threshold — a parcel exactly at the threshold is not yet stuck. The clock runs from the last carrier scan; with no scan at all it runs from the ready-to-ship stamp, not from the sale. An unpolled parcel is never stuck.
Failed The parcel's newest scan is a failed-delivery code. Joined on the newest scan specifically, so a failure since followed by a real scan stops flagging — a redelivery is exactly that, and it is the common case.
Not moving The parcel has a ready-to-ship stamp, has never carried a scan placing it at "In transit" or later, and has been waiting longer than this workspace's own dwell p90 — the same p90 the stage chart draws. Where that p90 cannot be computed yet, it falls back to 48 hours. Per workspace, not global: dwell p90 varies enormously between shops, so one shared cut would be wrong for most of them.
SLA breach TikTok's own ship-by or delivery deadline has already passed on any order in the parcel. Since only undelivered parcels are in this queue, a passed deadline here is a breach by construction. Worth an alert, never a metric — it fires on a tiny fraction of orders.
E

The verdict on a parcel row

Checked in this order; the first that applies wins.

ReadsMeansTone
Tracking off Never polled, and nothing in this scope ever has been. Names the cause rather than leaving you wondering what you did wrong.Grey
Not checked yet Never polled, but others here have been — this one is simply next in the queue.Grey
Stuck Nd Past the stalled threshold. The only red state, and the one row asking for action.Red
Never moved Stalled with no scan ever recorded.Red
Just labelled Not flagged and never scanned — a fresh label sits here for hours.Neutral
No update Nd Three or more days silent, but short of the stalled threshold. Amber, not red: a parcel can legitimately sit unscanned over a weekend.Amber
Moved today / Moved Nd ago Scanned recently. Nothing to do.Green
"Never checked" is not a milder version of "no scan" One is an answer — we asked, the carrier has nothing yet. The other is the absence of one. Collapsing the second into the first is how a screen ends up implying every parcel is fine on the day the poller has not run.
F

The journey rail's five stops

Positions come from TikTok's own scan codes, which are hierarchical — the leading digit is the stage. Carriers draw from the same small set of codes, so there is one mapper rather than one per carrier.

StopCode familyWhat the scans say
Ready1xxxx, 2xxxx Order created; packed and ready for pickup; package details received by the carrier. These are minted with the label — they are not movement.
In transit3xxxx Arrived at / departed a carrier or partner facility; in transit to the next facility. The first of these is what "moved" means everywhere on this screen.
At destination40101 Arrived at the destination facility.
Out for delivery40501 Out for delivery.
Delivery failed40601, 41504 Undeliverable, or left at a pickup location. Sits at the stop it interrupted, flagged — never further along. Rare, and the ones that cost money.
Delivered5xxxx Delivered — front door, front desk, reception.
(inferred)anything unseen Placed by its leading digit and marked as a guess. An unseen 4 deliberately stops at "At destination" rather than claiming out-for-delivery — over-promising there is the error a buyer would catch you on. Codes past the delivered band resolve to Delivered, since such a parcel has certainly stopped moving.
G

Delivery stages — the exact spans

StageFrom → toNeeds
HandlingPaid → ready to ship Two order timestamps only — so it covers the most parcels.
DwellReady to ship → first movement scan A scan placing the parcel at "In transit" or later.
LinehaulFirst movement scan → destination Destination is set by the first scan reaching either "At destination" or "Out for delivery" — a parcel out for delivery has certainly arrived in town, and many parcels never emit the destination-facility code at all.
Last mileDestination → deliveredA delivered scan.
Ready → deliveredReady to ship → delivered Measured directly, end to end. Never the stages summed.
Sale → packedPaid → packed A span, not a stage — it crosses the ready-to-ship boundary and overlaps handling and dwell. Measured per order.
Ready → packed (marker)Ready to ship → packed The bench half of dwell. Needs a packed stamp; parcels without one are excluded from both halves.
Packed → movingPacked → first movement scan The handover half of dwell. Same exclusion.
Percentiles are interpolated, matching a database percentile Median and p90 use linear interpolation, deliberately rather than nearest-rank, so the screen agrees with an ad-hoc query run over the same rows. An empty sample is shown as "—", never as 0 — zero hours is a real and very good answer, so it must not be how "nothing to measure" renders.
H

Dwell bands, and the by-state columns

BandDwell falls
< 24hUnder 24 hours.
24 – 48h24 up to but not including 48 hours.
48 – 96h48 up to but not including 96 hours.
96h +96 hours or more.
ColumnPopulation
Delivered Parcels to that state with both a ready stamp and a delivered scan — the sample every day figure beside it rests on, and the count the floor gates.
Min / Median / p90 / Max Ready → delivered, in days, over that Delivered sample.
Shipped Every parcel addressed to that state in the window, delivered or not. Here for weight — is this lane big? — never as a denominator.
Orders Orders inside those parcels. Also weight only, and the second half of the sufficiency floor.
thin chip The row is under the sufficiency floor — too few delivered parcels, or too few orders, or both. Figures stay visible but greyed, and the state is hatched on the map. The chip names no number: the floor is set and applied on the server, and the screen is told only whether a state clears it.

Rows are ordered by Shipped, largest lane first.

I

What this screen cannot see

Gaps the code documents deliberately. None of these is a bug, and each is here so you do not go looking for an answer the screen does not hold.

Not availableWhy
Any money figure on the Delivery tab Deliberate. This tab is time-only; shipping economics live in Reports → Shipping, and a test asserts the absence so it stays a decision rather than drifting into an oversight.
Filtering the Delivery tab to one state The report takes a window and a show scope, and nothing else — so clicking the map has nothing to do. The map is read-only by design rather than by accident.
A median or a p90 for Carrier time Withheld on purpose, not missing. That card adds two legs, and neither medians nor percentiles add — a summed one would be a statistic of nothing. Each leg's own median and p90 are in the chart below it.
Dwell for a parcel with no packed stamp Excluded from both halves of the split. Scoring it zero would drag the bench half to nothing and manufacture the conclusion the split exists to test.
Any figure for a parcel with no ready-to-ship stamp, or no tracking number Every stage hangs off the ready stamp, and a blank tracking number would merge unrelated parcels into one. Such orders are excluded from the Delivery tab entirely.
A state for a parcel with no destination state Not a lane. It appears in the overall figures but in neither the map nor the table.
Awaiting-collection boxes in the In transit queue or any of its filters Structurally out of scope, not merely absent from today's results. A box TikTok has not marked collected was never expected to move, so it cannot be "not moving" by this definition. Whether such a box that has sat too long deserves its own queue is an open question, not one these filters answer.
A carrier's own wording on most scans TikTok's primary tracking response omits the friendly action name on the overwhelming majority of scans, so the timeline falls back to the scan's description, then its raw code, then a plain "Carrier scan". The numeric code is always present, which is why the rail maps on the code and never on the name.
Richer scan data for most parcels TikTok's newer tracking endpoint serves only platform-carrier parcels — a minority of a typical in-flight fleet — and answers "order not in supported scope" for the rest. That is a statement about scope, not a failure, so the older endpoint with full coverage is the primary source and the newer one is enrichment where it works.
Anything this screen writes back to TikTok Both tabs are read-only over tracking data. The only things that spend or change anything are buying a label and marking an order packed — and the packed marker lives on Packing.
Last

Habits worth keeping

01

Check "Not checked" before you trust anything else on In transit

If it is most of the book, the screen is describing your own coverage rather than the carriers'. Nothing below it is a verdict until the poller has caught up.

02

Work Stuck and Failed as two separate lists

They cannot overlap by construction, and Failed is the one where the buyer certainly does not have their order. Clearing only the chase list leaves the worse cases untouched.

03

Merge before you buy, not after

Consolidation is only available while the manifest is being built. Once labels are bought the saving is gone, and a buyer who could have had one box has three tracking numbers to watch.

04

Read Delivery on All Time first, then narrow

Every narrower window flatters you, and the amount it flatters you by is not predictable. Establish the baseline, then look at a period against it.

05

Fix dwell before arguing with a carrier

On this book dwell is over half the journey and larger than linehaul and last mile put together — and almost all of it is a parcel already in a box, waiting to be collected. It is also the only stage you control.