Recent Orders
View All| Order | Username | Status | Created |
|---|---|---|---|
| Loading... | |||
Activity
View AllOCR Reads
View AllPerformance
Orders
| Order | Username | Components | Bot | Status | Proof | Created | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
OCR Reads
Analytics
Timing, success rate, and failure breakdown for deliveries.
Recent Delivery Times
--Order Outcomes
Failure Breakdown
Items
Hint Cache
--Remembers where each item sits in the inventory so the bot can jump near it instead of scanning from the top. It automatically re-learns a tab from the top after a set number of trades to correct for items traded away or restocked — adding a few seconds to that one delivery, never a wrong click.
Costs & fees
--Fees come out of your profit. Stripe processing fees are pulled per order automatically; set your Shopify platform fee here. Item costs are averaged from your active supplier invoices and pushed to each Shopify product.
Profit Pipeline
Product Margins
click a row to load it into the calculatorPricing
live Shopify prices — edits apply to the store and are logged belowPicking a product loads its live Shopify price and pre-fills Unit Cost with the average supplier cost across all purchases (fees included).
Price Change Log
every price edit — old price, new price, when, and whyInventory & Costs
FIFO — oldest stock is used firstEach confirmed restock becomes a cost lot (units + what they cost, supplier quotes flow in automatically). Deliveries draw down the oldest lot, so profit reflects actual purchase prices.
Purchases
Every batch of stock you've bought — costs, processing fees, and what's been consumed. Fees are spread across the batch's units and included in all cost numbers.
Spend by Month
Spend by Item
Purchase Ledger
Import Stock Purchase
flat amount, no per-item breakdown neededRecord a past stock purchase where you only know the total cost. These are included in profit calculations as additional costs.
Bulk Purchases
flat-amount imports not tied to specific itemsRestock
Tap products to build a restock list, draft it, then archive the order to record cost lots for profit tracking.
Restock defaults
Import inventory counts
Paste one item per line as item, quantity (a third sku column is optional), or paste a JSON array of {"item","quantity"}. Each row is matched to your catalog; you review the matches before anything is written.
Restock drafts
Activity Feed
Bots
Registered Bots
Supplier billing
Record inventory transfer
bills the source bot’s supplier for stock that left by a Shopify transfer, not a salePayout requests
Add a Bot
Copy this now — the key is shown once. Set these on the new machine/VPS, then start the bot client. It will check in here automatically.
Control Panel
Everything to run the bot in one place — restart, restocking, recording, testing, delivery mode, email, and auto-restock.
Bot Controls
Restart & Update pulls the latest code from GitHub and relaunches — only works when the bot is started via launcher.py. Kill stops the bot completely (it won't auto-restart).
Restocking Mode
OffTurning this on starts the bot restocking: it joins the game in restock mode, pauses the customer claim page, and only accepts trades from the allowlist below. When an allowed trader hits Accept, the bot accepts, screenshots the trade, and records it in the log below. Paid orders are untouched and resume when you turn it off. (The bot must be running via launcher.py to join.)
Display-only: the claim page shows the restocking notice and new Ready clicks are paused, but the bot is not put into restock mode — it keeps operating normally. Use for manual top-ups.
Record Deliveries
OffTesting Mode
OffMulti-Bot Delivery
OffCustomer Email
Checking…Sends the "remaining items ready" notification with sample data so you can check delivery and styling. Configured via RESEND_API_KEY on the server; sent automatically when you re-open a partial order.
Auto Restock
Checking…Daily auto-restock checks stock levels against sales velocity, builds a recommendation with AI, and posts an approval request in Discord. Run Now triggers the check immediately (skips the de-duplication window so you can test repeatedly). The Discord bot must be online.
Recent Actions
Live -- orders refresh every 5s -- activity every 3s