Ready when you are
Start a buy, add packs as you shop, then drop tracking when boxes go out.
Same login on every device. Stock saves to your account.
Start a buy, add packs as you shop, then drop tracking when boxes go out.
TikTok Shop
Paid, unpaid, awaiting shipment, and cancelled. Amounts are the stored Shop order, not a guess.
Live Sessions
Board and Go Live sit under this tab. Scanning still happens on Go Live.
Finance
TikTok income plus FIFO COGS. Margin stays blank when either side is incomplete.
Settlement statements are not ingested. Income is Shop product amount. COGS is cogs_total from the lot trigger.
Inventory
Current stock and average purchase cost by product.
Inventory
Rows appear when the database trigger wrote unit cost. Missing cost stays pending.
Floor
Scan items, then the auction sticker. Margin stays on Board.
Scan an item, then its auction sticker. The current item and number appear below.
Backstage
Sold $ is TikTok Shop only. FIFO COGS comes from lot burns. Est. net is referral %, not a payout.
Prices stay pending until an official order amount arrives.
No settled orders loaded yet. Estimated net above is not a payout.
Inventory
Open PO barcode receive. FIFO cost stays on the PO line.
Choose the seller and the actual PO for this box. Scans stay on that PO; matching price lines fill oldest first.
Unknown barcodes, missing prices, and overages pause for review. Nothing is assigned to another PO.
Scan one barcode for this many identical units. The number resets to 1 after a successful receive.
Use that when the pack already went out on live. It ticks the PO without putting units on-hand.
Scan the sticker to attach every waiting item. Use the field below if you need to type it.
LIVE: scan items (each −1), then the auction sticker. Several items can share one auction. Unknown UPC pauses so you can name it, then it still sells −1.
Purchasing
Open a purchase order while you shop. Warehouse still receives by barcode.
Creates an open PO for today. Add SKUs with unit cost while you shop. Boxing and tracking come after. Warehouse still scans boxes in on Inventory → Receive.
Live MET / MISS against this PO. Defaults: avg ≤ $20 (goal under $17), qty ≥ 380 (goal 450+), non-NeeDoh ≤ 85 with majority ≤ $8.
Search the live catalog. Pick a SKU, enter qty and unit cost, add. New barcodes go live immediately — duplicates are blocked.
UPS-heavy. Paste a tracking number when the label exists. Status is manual (label created → in transit → delivered) unless you open the carrier site. Optionally pack line qty into a box. Warehouse still uses Open PO barcode receive when boxes arrive.
Purchasing
Review purchase orders by seller, date, and receiving status.
Products
On-hand is the sum of every transaction for a product.
Account
Sync, backups, and the official TikTok Shop connection.
After sign-in, this device loads your account and every scan, receive, and product change writes to the cloud. You do not need to Save to stay accurate.
Not signed in.
Seller OAuth and order ingest run on Supabase Edge Functions. App key/secret never ship in this page. Settlement/finance is stubbed — est. net is the referral % on the Board.
Not checked yet.
Optional local backup. Live stock lives in your account after you sign in.
Use this for dumplings already counted in BatchScan or similar. File needs quantity plus barcode and/or name. Import once only.
Use the stream file only to reduce on-hand. Same columns as a count file. Each row qty becomes a sale (−qty). Import once.
This dumps units into Stock immediately. For large seller POs, use Inventory → Receive and scan instead — otherwise FIFO cost is wrong.
Seller / PO in the first box. One item per line: qty, name, optional price. Example: 12 Nice Cube @ 10
Clears this device only. Sign in again to reload from your account.