In Stock
—
watches
Total Cost Basis
—
invested
YTD Profit
—
0 sales
Avg ROI
—
per watch sold
Client Requests
—
active
Pending Payment
—
0 awaiting
Profit & Sales
Total Profit
—
Total Sales
—
Watches Sold
—
Profit Margin
—
Commission
—
Total Expenses
—
Avg Days to Sell
—
Sales by Associate · this month
| Associate | Watches | Total Sales | Total Profit | Commission |
|---|---|---|---|---|
| No sales in this period. | ||||
Monthly Profit
Top Buyers
Top Suppliers
⚠ Needs Attention
⏳ Sell These First · Oldest 5
| Brand | Ref # | Model | Serial | Condition | Details | Watch Date | Cost | Seller | Purchased | Days Held | Min | Target | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | |||||||||||||
| Type | Brand | Description | Qty | Cost | Sold | Profit | ROI | Buyer | Sold Date | Status | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | |||||||||||
Every successful sign-in lands here, and an email goes to the alert addresses at the same time.
A row highlighted in red is a browser that had never signed in before — that is the one worth reading.
Failed password attempts are not listed here (a failed attempt has no login, so it cannot write to the database). Supabase records those itself under Logs → Auth.
Failed password attempts are not listed here (a failed attempt has no login, so it cannot write to the database). Supabase records those itself under Logs → Auth.
ENTER SERIAL NUMBER
Case-insensitive. Spaces and dashes are ignored, and the letter O is read as zero.
Press this before you start. It reads every table, calls every Wave function, checks your sign-in
and opens every screen — about half a minute. It only looks. Nothing is changed, sent or deleted.
| Brand | Ref # | Model | Serial | Status | Issues | ||
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
📍 Mark a watch off-site
For a watch that's out for repair / service / polish, or being held at Randy's or your place. It stays In Stock and sellable — this only records where it physically is right now.
Off-site right now
| Serial | Watch | Ref # | Location | Days out | |
|---|---|---|---|---|---|
| Loading… | |||||
Start a fresh invoice and send it to Wave.
💵 Unpaid invoices (Wave)
| Invoice date | Due date | Invoice # | Customer | Amount due | |
|---|---|---|---|---|---|
| Loading unpaid invoices… | |||||
Editable invoices
| Sold | Invoice # | Watches | Buyer | Total | |
|---|---|---|---|---|---|
| Loading… | |||||
| Brand | Ref # | Model | Serial | Cost | Add-on | Sold | Profit | ROI | Buyer | Sold Date | Hold Days | Payment | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | |||||||||||||
📝 On memo — our inventory that's out on memo to a buyer. They haven't paid yet, so it still counts as your stock. When they pay / you finalize the sale, mark it sold and it moves to Sold (the memo mark clears).
| Brand | Ref # | Model | Serial | Condition | On memo to (buyer) | Cost | Memo price | |
|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||
| Client | Watch Requested | Budget | Status | Source | Date | Notes | |
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
| Name | Phone | Transactions | Total Volume | Notes | |||
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
Every watch sold from onward that has no shipment recorded yet. Pressing Ship
creates a real shipment — so the tracking link and the buyer's tracking email work exactly as they do
from the Shipping page. Sales before that date aren't listed; they're treated as already handled —
but you can put any one of them on here with + Add to ship queue.
Watches sold before they're in hand (e.g. Greg pre-buying). This is the only place you can invoice without a serial. When the watch arrives, hit Fulfill and enter the serial to fulfill it.
🧾 Needs invoice — sold (money collected) but not invoiced yet. These are locked out of stock so they can't be sold twice, and they stay here until you invoice them. To flag one fast, type its serial below and press Enter.
| Brand | Ref # | Model | Serial | Buyer | Price | ||
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
Your Checker, loaded right here — Reconcile, Wave, Profit Check, Payment Recon. Nothing here touches the dashboard.
Open in new tab ↗
Enquiries from the website, the public catalogue, and price approvals. Its own app — it can read your book but is not permitted to change it.
Open in new tab ↗
⟳ Pull from my Google Sheet
Reads your Current tab live, matches it against the dashboard, and shows what's new or changed. Nothing saves until you tap Accept — new watches land in your Pending review list below.
Paste rows from your Excel sheet — one watch per line. You can include the header row. Columns: Date · Days Holding · Seller · Brand · Model · Description · Serial · Cost · Add on. (Days Holding is ignored — the dashboard tracks that automatically. The Model column holds your reference number; the real model name fills in from it.) Nothing saves until you review and tap Save.
Loading…
Loading catalog…
One-time tools to standardize and tidy your whole database. Each one shows what will change before anything is applied.
One-time cleanup: reformat every existing Date of Watch to month/4-digit-year (e.g. 6-2025 → 6/2025). Shows what will change before applying.
One-time cleanup: fix model-name spelling across all watches → Date Just, Sky Dweller, Deep Sea, Land Dweller. Shows what will change before applying.
One-time cleanup: standardize brand names across all watches (Rolex, Audemars Piguet, Patek Philippe, Richard Mille, etc.). Shows what will change before applying.
Scan similar names & companies: finds contacts saved more than once — same or similar name, email, phone, or company/business. Review each pair, pick which record to keep (A or B), edit the final details like a normal contact, then merge — it fixes it everywhere.
Emails stuck in a name: finds contacts where the email address was typed inside the name field, and moves it into the Email field for you — one at a time so you can check each.
Needs a price: in-stock watches sitting 60+ days with no asking price set — so nothing quietly ages out unpriced.
Add missing contacts: find sellers/buyers used on watches that aren't in your Contacts yet (e.g. suppliers you only buy from) and add them so they start tracking.