Stock Management

Live inventory · China ↔ Warehouse ↔ Amazon UK FBA

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.

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.

Each container shows a bright timeline so you can see at a glance which stage it's in and exactly when it's landing.

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

📤 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.

0
scanned this session
Ready — scan your first item.

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.

📥
Drop your TikTok statement file here or
Where to get it: TikTok Seller Center → Finance → Statements → Export (the file is called income_YYYYMMDD….xlsx). Upload one a week — re-uploading the same file is always safe, nothing doubles up.

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)
  1. 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.
  2. In the new app, find WhatsApp in the product list and click Set up. Open WhatsApp → API Setup.
  3. 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).
  4. Copy the Phone number ID (and the WhatsApp Business Account ID) into the boxes above.
  5. Permanent token: the token shown on API Setup expires in 24h. Instead go to Business Settings → System usersAdd (name "WOW Stock bot", role Admin) → Assign assets → your WhatsApp account, Full control → Generate new token → tick whatsapp_business_messaging and whatsapp_business_management → copy the token into the box above.
  6. Create the template (business-initiated messages must be templates): WhatsApp Manager → Message templatesCreate template → Category Utility → Name wow_alert → Language English (or English (UK) — then put en_GB in 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.
  7. 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.
  8. 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)
  1. Sign up at twilio.com — they give you a free trial with $15 credit.
  2. In the Console, go to Messaging → Try it out → Send a WhatsApp message.
  3. Twilio shows a sandbox number (something like +1 415 523 8886) and a join code (e.g. join sad-rain).
  4. On your phone, open WhatsApp and send the join code as a message to that number.
  5. WhatsApp confirms you're connected. Copy your Account SID and Auth Token from the Console homepage.
  6. Paste them above plus the sandbox From number (e.g. whatsapp:+14155238886) and your phone number as To (e.g. whatsapp:+447xxxxxxxxx).
  7. Click Send test message. You should get a WhatsApp on your phone within seconds.
  8. 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.

⚠ 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.