Dashboard
Cash tied up by stage
Quick actions
Report uploads — what changed since last time
Every Amazon report you upload is snapshotted. This card shows the delta vs the previous upload of the same report type — quick sanity check that numbers move the way you'd expect, and a way to catch missing or unaccounted units.
Urgent reorders
Reminders
Set yourself reminders with a due date. The system emails you on the day, then again 1 day and 2 days later if it's not ticked off. Tap a type below to add one quickly, or use "+ New reminder" for anything else.
🔒 My Reminders
Private to you — no other user can see this page or anything on it. Each reminder force-nudges you by email and WhatsApp at the times of day you tick (morning / afternoon / evening), every day until you mark it done. Set the priority to make the nudges louder, attach letters or documents so everything's in one place, and use “start early” to begin nudging days before the deadline.
⏰ Nudge times
What time each daily nudge goes out (24-hour clock). Applies to all your reminders.
Content
Plan, assign and track product videos for TikTok, Instagram & YouTube. Pick a SKU, assign a creator and a deadline; they get the same email + WhatsApp reminders, add their video links when done, and tick it off.
Summary
💡 Ideas
Your video idea book. Jot an idea, add dated progress notes as you work on it, then mark it done with a link to the finished video — or tick "didn't work out" if it goes nowhere. Click any idea to open it.
🔥 Trends
See what's working on TikTok and Instagram right now — videos about a topic, a hashtag, the UK trending list, or sounds — then turn a batch into video ideas that land on the 💡 Ideas page. Every card links back to the original post; nothing is downloaded.
📚 Past research
Work Tracker
Just finished a job? Hit its coloured button, put in when you started and finished, and it lands on your week below — the longer it took, the wider its block. Completed reminders are added automatically. Old weeks live in the Week dropdown.
💬 Messages
A message here takes over the other person's screen until they acknowledge it or reply — use it for things that must not be missed. If their window is minimised, a desktop alert pops up over whatever they are doing and clicking it brings WOW Stock back with the message on screen. Every message and every acknowledgement is kept below as a permanent record.
🧠 AI Reports
Every day the AI reads through everything in the system — stock, sales, money, shipments, alerts, team activity — and files a report: patterns it spots, possible mistakes, things that look missed, and anything it thinks you should know. All past reports are listed below — click one to read it.
📌 Notes
🗄 Archive
🛍️ WOW Shopify
Everything Shopify sold, pulled straight from the shop once a day — what sold, where the customer came from, and what was actually made after cost price, courier and fees. TikTok Shop orders come through Shopify too, so they're included here by default; use the Channel box below for the website on its own. The Growth page leaves them out to avoid counting them twice against the TikTok report.
Sales day by day
Where the sales came from
Sales channels
Best sellers
📋 Projects
📈 Growth
The whole business in one place — TikTok Shop, the website and Amazon together. Restock decisions here use combined demand from all three channels, so a product that's quiet on Amazon but flying on TikTok still shows as urgent.
Products
📝 Listing Studio
Build, improve and push Amazon listings for your SKUs. Every SKU gets its own workspace with folders for raw images, finished images and safety docs, an AI copywriter that learns how you like things, and a readiness checklist so nothing gets forgotten. The trademark guard automatically flags words like “Lightning” — always “works with…”.
⚙ AI & Amazon settings
🎓 Teach the AI how we like things
Anything you write here is followed in every future AI generation — style, phrases to use or avoid, how you like titles and thumbnails. Giving a 👎 on a draft also adds a note here.
Shipments from China
On order by SKU — Air vs Sea
Units on order (ORDERED + IN TRANSIT, not yet delivered), per SKU, split by transport mode.
China Container Tracker
Track every luggage container from the day you order to the day it lands — with all the paperwork in one place. The planner tells you when to order next and how many.
FBA Inbound Shipments
Units on the way from your warehouse to an Amazon fulfilment centre — from the Send to Amazon → Shipment summary export. Upload it on the Amazon Sync tab; re-upload any time to refresh statuses (matched by Shipment ID, no duplicates).
Pack FBA — how many boxes & how heavy?
Pick a SKU, type how many units you want to send, and the tool works out how many boxes you'll need. One SKU per box, capped at 15 kg per box and warning if any side is over 63 cm (Amazon UK small-parcel limits). Save the plan to come back to it — the numbers are frozen at save time so they don't change if you later edit the product's weight or qty/box.
Plan
Box plan
Pick a SKU and enter units to see the box plan.
Saved plans
🖼 Product Gallery
📤 Scan Out — Packing Station
Scan every item as you pack it (OUT) or as returns come back (IN) — stock updates instantly either way. Keep the box below selected and just point-and-squeeze; no clicking between items.
This session
📦 Damaged-box stock
Products that came back with a damaged box but are fine to sell. They are not part of main warehouse stock — scan them on or off this shelf from the Scan Out page ("📦 Damaged box — sellable" mode).
Recent shelf activity
Stock Movements
Tip: when you log an OUT → FBA movement, paste the
Amazon Shipment ID (e.g. FBA15ABC123) into the box.
Those units show as "on the way to FBA" in the Products table until you
import the matching Send-to-Amazon summary — at which point the shipment's
status (Working / Shipped / Receiving / Closed) takes over.
Reorder recommendations
Based on 30-day sell velocity, current on-hand + in-transit, supplier lead time and your safety-stock setting.
Dead stock
TikTok Shop
Drop your TikTok income statement file below and it gets decoded into plain English: what you sold, what TikTok took, what landed in the bank — and your real profit using each product's landed cost.
Order-by-order detail
Where the money went
What's driving sales
TikTok tells us whether each order came from a video, a live stream or the product page — useful for deciding where content effort pays off.
Profit by product
Match each TikTok listing to one of your products once, and every future upload works out true profit automatically (settlement minus landed cost). If a product is missing its cost, type the landed £/unit straight into the Cost box on its row and press Save — it's stored on the product, so every page uses it. Refunded orders don't count product cost — those items come back via Scan In returns.
↩ Returns tracker — TikTok refunds vs what actually came back
Left of each row: orders TikTok refunded after shipping (from your statement files) — the ones that should physically come back. Right: returns your team scanned back in using the 🎵 TikTok returns mode on the Scan Out page. A red gap means TikTok refunded more items than have arrived back — those are the ones to chase. Cancelled orders (refunded before dispatch — the item never left) are shown separately and don't count towards the gap. Post takes days, so judge by the month rather than the week.
By week
By month
By product
Needs the TikTok listing matched to your product (see "Profit by product" above) — unmatched refunds are shown as one combined line.
Statements & bank payouts
One statement per day. The bank ref is the exact text on your bank statement, so you can finally tie TikTok payouts to the money that arrives.
Profit per unit
Sell price − Amazon referral − FBA fee − monthly storage − landed COGS.
Cash tied up in stock
↩ FBA Removals
What Amazon is shipping back to you (returns) and what it's destroying (disposals). Sync pulls it straight from Amazon; if that's not approved yet, upload the CSV from Seller Central → Reports → Fulfilment by Amazon → Removals → Removal order detail.
📦 On its way back to you
Pending return removals — scan these in at the Scan Out station when the boxes arrive (green 📥 for sellable, red 🛑 for wrecked ones).
History
Stranded / suspect listings
ASINs with FBA inventory but no sales in 90 days — check for suppression, listing errors, or compliance flags.
SKU Issues
Log Amazon problems against any SKU — safety, brand, listing or compliance — record the action you've taken, and set a reminder. The reminder pill goes green while it's still in the future and red the moment it passes, so overdue follow-ups stand out.
A+ Content
Track which SKUs have Amazon A+ enhanced content authored, who did it, when, and the listing / design URLs. Click a row to edit; the Done by field auto-fills with the logged-in user when you mark something off.
Suppliers
Amazon Sync
Upload a report
Drag or select any Amazon Seller Central report — the system auto-detects the type. Supported: FBA Inventory, Business Reports (Detail Page Sales & Traffic), Fee Preview, FBA Returns, Settlement / Payments, Long-Term Storage fees, FBA Inbound Shipment Summary, and FBA Shipment Contents (per-SKU breakdown).
Tip: to populate the FBA INBOUND column on the Products page, download Shipment Contents from Seller Central for each open shipment (Manage FBA shipments → open a shipment → Download → Contents). The Shipment Summary alone only gives totals per shipment, not per SKU.
Import history
Clear imported Amazon data
Wipe rows from the database. Use this to undo a bad import or start a section fresh. This does not touch your products, suppliers, shipments, or warehouse movements — only Amazon-imported rows.
Activity log
A record of every change made in the system — who did what and when. Use the filters to narrow down by person, what was changed, or date.
Backups & Restore
A backup is a full snapshot of your database — every product, shipment, movement, Amazon import, and setting at that moment. The app automatically takes one before any risky action (Amazon upload, Scan inbox, Clear). You can also create one manually anytime ("everything is good right now"). To undo a bad import, find the backup from just before it and click Restore.
Create manual backup
All backups
Settings
🔌 Amazon SP-API
Direct connection to Seller Central. Once configured, the Amazon Sync tab can pull FBA Inventory / Business Reports / Settlements / Returns / Fee Preview / Inbound Shipments automatically — no more manual CSV downloads.
One-time setup: register as a developer in Seller Central → Apps & Services → Develop Apps. Self-authorize an app to get your LWA Client ID, Client Secret, and Refresh Token. See README §"Amazon SP-API setup" for step-by-step. The three secrets stay on this machine in the local database.
📱 WhatsApp notifications
WhatsApp alerts for reminders, digests, low stock and more. Two ways to send: Meta's WhatsApp Business API (the proper, permanent route — messages go as an approved template) or Twilio's free sandbox (testing only: every recipient must re-join every 72 hours or messages silently fail). Leave everything blank to keep WhatsApp off; on-screen Dashboard warnings still work.
How to set up Meta's WhatsApp Business API (the permanent route)
- Go to developers.facebook.com/apps, sign in with the Facebook account that runs your Meta Business, click Create app → type Business → name it (e.g. "WOW Stock alerts") → pick your Business portfolio.
- In the new app, find WhatsApp in the product list and click Set up. Open WhatsApp → API Setup.
- Phone number: Meta gives you a free test number that can message up to 5 numbers you add under "To" — fine to start with for the team. For a real number, click Add phone number and verify a number that is NOT already on WhatsApp (a spare SIM or a virtual number works).
- Copy the Phone number ID (and the WhatsApp Business Account ID) into the boxes above.
- Permanent token: the token shown on API Setup expires in 24h. Instead go to
Business Settings → System users
→ Add (name "WOW Stock bot", role Admin) → Assign assets → your WhatsApp
account, Full control → Generate new token → tick
whatsapp_business_messagingandwhatsapp_business_management→ copy the token into the box above. - Create the template (business-initiated messages must be templates):
WhatsApp Manager → Message templates
→ Create template → Category Utility → Name
wow_alert→ Language English (or English (UK) — then puten_GBin the language box above). Body text, exactly:WOW Stock update: {{1}}Add a sample value when asked (e.g. Reminder: Order resend — due today) and submit. Approval is usually minutes to a few hours. - Choose Meta WhatsApp Business API in "Send through", tick the enable box, Save, then Send test message. The status line below tells you exactly what Meta said if anything is wrong.
- Each team member's WhatsApp number is set on their user in the Users section (with the country code, e.g. +447…). If you're using the test number, add those same numbers under "To" on the API Setup page first.
Twilio sandbox instead (testing only, 5 min)
- Sign up at twilio.com — they give you a free trial with $15 credit.
- In the Console, go to Messaging → Try it out → Send a WhatsApp message.
- Twilio shows a sandbox number (something like
+1 415 523 8886) and a join code (e.g.join sad-rain). - On your phone, open WhatsApp and send the join code as a message to that number.
- WhatsApp confirms you're connected. Copy your Account SID and Auth Token from the Console homepage.
- Paste them above plus the sandbox From number (e.g.
whatsapp:+14155238886) and your phone number as To (e.g.whatsapp:+447xxxxxxxxx). - Click Send test message. You should get a WhatsApp on your phone within seconds.
- Sandbox catch: every recipient must text
join <your sandbox code>to the sandbox number again every 72 hours, or their messages silently fail (Twilio error 63015). The permanent fix is a WhatsApp Business sender — ask Claude.
🔥 Trend research (Apify)
Powers the 🔥 Trends page: TikTok / Instagram research through Apify's scrapers. Each run spends a little Apify credit (roughly 15p for 30 results) — the daily cap keeps that in check. The video ideas are written by the same AI key as the Listings page.
How to get an Apify token (5 minutes)
- Go to console.apify.com/sign-up and create an account. The free plan includes $5 of credit a month — a few dozen searches.
- In the console open Settings → API & Integrations and copy your Personal API token.
- Paste it in the box above, click Save, then Test token — it should show your Apify username.
- Optional but wise: under Billing → Limits set a monthly spending limit so nothing can run away.
⚠ Low-stock alerts
Alerts are based on days of stock left: live FBA stock ÷ your live sales rate (a blend of the last 7 / 14 / 30 days, updated by the daily Amazon sync). Red = send stock now, amber = send soon. Colour-coded emails go out at the times you set below (default midday and 10pm).
Users
Each person who uses the software has their own name + 4-digit PIN. The Staff field on new stock movements auto-fills with the signed-in user.