# Amazon FBA Profit & Inventory Dashboard (Premium Edition)

> **All‑in‑Notion.** No external embeds, full 12‑month history, multi‑currency & tax support, robust validation, step‑by‑step onboarding, multi‑marketplace handling, and end‑to‑end automation (Slack + Notion notifications + Calendar events + Kanban).  

---

## 1️⃣ Onboarding & Sample Data  

Create a page called **“🛠️ Dashboard Setup Guide”** and paste the following block (the template imports it automatically).  

```markdown
# 🛠️ Dashboard Setup Guide  

## 📦 1. Import the Template  
1️⃣ Click **“Duplicate”** on the template page.  
2️⃣ In the duplicated page, click **“Copy link”** → **“Add to workspace”**.  

## 🔑 2. Secure Your API Keys  
- Open **Settings → Integrations** → **“Create new internal integration”**.  
- Give it a name (e.g., *Amazon FBA Sync*).  
- Enable **Read & write** permissions for **Pages** and **Databases**.  
- **Copy** the **Internal Integration Token** – **do NOT share**.  

### 📍 Security Checklist  
| ✅ Item | Details |
|---|---|
| **IP Whitelisting** | Add the IPs of Zapier/Make workers in your Amazon Seller Central > **User Permissions** > **API Access**. |
| **Least‑Privilege Token** | Create a **dedicated token** for this dashboard only; revoke any old tokens. |
| **GDPR Data Handling** | Store only **transaction‑level** data (SKU, units, fees). No personal customer data. |
| **Secret Storage** | In Notion, go to **Settings → Secrets** and paste the token as `AMAZON_FBA_TOKEN`. |

## 📊 3. Load Sample Data (First‑time only)  
- Open the **“📈 Sample Data”** database (bottom of this page).  
- Click **“Duplicate”** → **“Move to”** → select your workspace.  
- The duplicated rows will auto‑populate **SKU Master**, **Fee Schedule**, **Exchange Rates**, and **Marketplace Settings** via pre‑built relations.  

## 🤖 4. Activate Automations  
- Open **“⚙️ Automation Hub”** (page link at top).  
- Click **“Enable All”** – this will turn on Zapier & Make webhooks, Notion reminders, and Slack alerts.  

## 🎥 5. Walk‑through Video  
[![Dashboard Walk‑through](https://img.youtube.com/vi/XXXXXXXXXXX/0.jpg)](https://youtu.be/XXXXXXXXXXX)  

---  

*If anything looks off, the **Validation Center** (page link) will flag the issue and suggest fixes.*  
```

---

## 2️⃣ Core Databases  

### 📦 SKU Master  

| Property | Type | Description / Formula |
|---|---|---|
| **SKU** | Title | Unique identifier (e.g., `FBA‑001`). |
| **Product Name** | Text | Human‑readable name. |
| **ASIN** | Text | Amazon ASIN. |
| **Marketplace** | Select | `US`, `EU`, `JP`. |
| **Currency** | Formula | `if(prop("Marketplace") == "EU", "EUR", if(prop("Marketplace") == "JP", "JPY", "USD"))` |
| **Purchase Cost (Local)** | Number | Cost in the SKU’s local currency. |
| **Exchange Rate (USD)** | Rollup → **Exchange Rates** → `Rate to USD` | Auto‑fetches current rate. |
| **Purchase Cost (USD)** | Formula | `prop("Purchase Cost (Local)") * prop("Exchange Rate (USD)")` |
| **Selling Price (Local)** | Number | List price in local currency. |
| **Selling Price (USD)** | Formula | `prop("Selling Price (Local)") * prop("Exchange Rate (USD)")` |
| **Units In Stock** | Number | Current on‑hand units. |
| **Units Sold (30 d)** | Number | Pulled from Helium 10 daily. |
| **Units Sold (12 m)** | Rollup → **Daily Snapshots** → `sum(prop("Units Sold"))` (filtered last 365 days) |
| **Amazon Fees %** | Formula | `prop("Referral Fee %") + prop("FBA Fee %") + prop("GST/VAT %") + prop("Other Fees %")` |
| **Total Fees (USD)** | Formula | `prop("Selling Price (USD)") * prop("Amazon Fees %") / 100` |
| **Net Profit (USD)** | Formula | `prop("Selling Price (USD)") - prop("Purchase Cost (USD)") - prop("Total Fees (USD)")` |
| **Profit Margin %** | Formula | `prop("Net Profit (USD)") / prop("Selling Price (USD)") * 100` |
| **Restock Threshold** | Number | Stock level that triggers a restock. |
| **Restock Needed?** | Formula | `prop("Units In Stock") <= prop("Restock Threshold")` |
| **Supplier Lead Time (d)** | Number | Days from order to receipt. |
| **Last Sync** | Date | Timestamp of latest API pull. |
| **Validation Flag** | Rollup → **Validation Center** → `Flag` | Shows any data‑quality issues. |
| **Daily Snapshot** | Relation → **Daily Snapshots** | One‑to‑many link for historical KPIs. |

**Sample rows (auto‑generated by “📈 Sample Data”):**  

| SKU | Product Name | ASIN | Marketplace | Purchase Cost (Local) | Selling Price (Local) | Units In Stock | Units Sold (30 d) | Restock Threshold | Supplier Lead Time (d) |
|---|---|---|---|---|---|---|---|---|---|
| FBA‑001 | Bamboo Cutting Board | B07X1Y2Z3A | US | 4.20 | 14.99 | 120 | 45 | 60 | 14 |
| FBA‑002 | Stainless Steel Water Bottle | B08J4K5L6M | EU | 5.90 | 19.99 | 78 | 30 | 40 | 21 |
| FBA‑003 | Organic Cotton T‑Shirt | B09H7N8O9P | JP | 600 | 1999 | 200 | 80 | 100 | 10 |
| FBA‑004 | Bluetooth Earbuds | B07Q2R3S4T | US | 12.00 | 49.99 | 45 | 22 | 30 | 28 |
| FBA‑005 | Silicone Kitchen Utensils Set | B08V5W6X7Y | EU | 3.75 | 13.99 | 150 | 60 | 80 | 12 |

---

### 📊 Fee Schedule  

| Property | Type | Description |
|---|---|---|
| **Marketplace** | Select | `US`, `EU`, `JP`. |
| **Fee Type** | Select | `Referral`, `FBA`, `Storage`, `GST/VAT`, `Other`. |
| **Rate %** | Number | Percentage of selling price. |
| **Effective From** | Date | When the rate becomes active. |
| **Effective To** | Date | End of validity (optional). |

*Relations:* **SKU Master** → **Fee Schedule** (many‑to‑many). Each SKU pulls the applicable rates via a filtered rollup (Marketplace = SKU Marketplace & Effective ≤ Today).

---

### 🌐 Exchange Rates  

| Property | Type | Description |
|---|---|---|
| **Currency** | Select | `USD`, `EUR`, `JPY`. |
| **Rate to USD** | Number | e.g., `1.00` for USD, `0.91` for EUR, `0.0075` for JPY. |
| **Last Updated** | Date | Timestamp of the latest API fetch. |
| **Validation Flag** | Formula | `if(prop("Rate to USD") <= 0, "⚠️", "")` |

*Automation:* A daily **Make** scenario calls `https://api.exchangerate.host/latest?base=USD` and updates this table. Errors are sent to **Validation Center** (see Section 4).

---

### 📅 Daily Snapshots  

| Property | Type | Description |
|---|---|---|
| **Date** | Date (unique) | Snapshot day (YYYY‑MM‑DD). |
| **SKU** | Relation → **SKU Master** | Linked SKU. |
| **Units In Stock** | Number | Copied from SKU at snapshot time. |
| **Units Sold (30 d)** | Number | Copied from SKU. |
| **Net Profit (USD)** | Number | Copied from SKU. |
| **Profit Margin %** | Number | Copied from SKU. |
| **Total Inventory Value (USD)** | Formula | `prop("Units In Stock") * prop("Purchase Cost (USD)")` |
| **Snapshot Flag** | Formula | `"✅"` (used for rollups). |

*Automation:* After each successful Helium 10 sync, a **Zapier** step creates a new row in **Daily Snapshots** for every SKU. This builds a rolling 12‑month history automatically.

---

### 📈 Validation Center  

| Property | Type | Description |
|---|---|---|
| **Record** | Relation | Points to the source (SKU, Exchange Rates, Fee Schedule, Daily Snapshots). |
| **Issue Type** | Select | `Missing Data`, `Rate Error`, `API Failure`, `Currency Mismatch`. |
| **Message** | Text | Human‑readable description. |
| **Resolved** | Checkbox | Mark when fixed. |
| **Alert Sent** | Checkbox | Auto‑checked by automation after Slack/email alert. |

*Automation:* All Zapier/Make error paths write a row here; a **Notion Formula** flags any unresolved issue on the source page.

---

### 📋 Restock Tasks (Kanban)  

| Property | Type | Description |
|---|---|---|
| **Task** | Title | e.g., “Order more Bamboo Cutting Boards”. |
| **SKU** | Relation → **SKU Master** | Linked SKU. |
| **Assignee** | Person | Owner of the purchase order. |
| **Due Date** | Date | `today + prop("Supplier Lead Time (d)")`. |
| **Status** | Select | `To Do`, `In Progress`, `Ordered`, `Received`. |
| **Priority** | Select | `High`, `Medium`, `Low`. |
| **Notion Reminder** | Formula | `prop("Due Date")` (enables built‑in reminder). |
| **Slack Alert Sent** | Checkbox | Set by automation. |

*Views:* **Board** (grouped by **Status**), **Upcoming (List)** filtered to `Due Date ≤ today + 7 days`.

---

## 3️⃣ Dashboard Views (All Native – No Embeds)

All views are created on the **SKU Master** database.  

| View | Type | Filters / Grouping | Columns / Display |
|---|---|---|---|
| **🧭 Overview (Board)** | Board | Group by **Restock Needed?** (Yes/No) | Card preview shows **Product Name**, **Units In Stock**, **Net Profit (USD)**, **Profit Margin %** |
| **📊 KPI Summary (Table)** | Table | No filter | Columns: **SKU**, **Product Name**, **Marketplace**, **Net Profit (USD)**, **Profit Margin %**, **Units Sold (30 d)**, **Total Inventory Value (USD)** |
| **📈 12‑Month Trend (Chart)** | Chart (Line) | Group by **Date** from **Daily Snapshots** (rollup) | Y‑axis: **Net Profit (USD)**, X‑axis: **Date** (last 365 days) |
| **💰 Revenue & Fees (Bar Chart)** | Chart (Bar) | Group by **Marketplace** | Bars: **Total Revenue (USD)**, **Total Fees (USD)** (rollup from **Daily Snapshots**) |
| **🗂️ High‑Value Inventory (Gallery)** | Gallery | Sort by **Total Inventory Value (USD)** descending | Cover: **Product Image** (URL property), Caption: **Inventory Value (USD)** |
| **⚠️ Restock Alerts (List)** | List | Filter **Restock Needed?** = true | Shows **SKU**, **Units In Stock**, **Restock Threshold**, **Assignee** (via linked **Restock Tasks**) |
| **🗓️ Upcoming Restocks (Calendar)** | Calendar | Filter **Restock Tasks** where **Due Date** within next 30 days | Event title = **Task**, date = **Due Date** |

All charts are native Notion **Chart** blocks (available via the API‑driven visualization library introduced 2024). No third‑party embeds.

---

## 4️⃣ Automation Hub  

### 4.1 Helium 10 Daily Sync (Zapier)  

| Trigger | Action(s) |
|---|---|
| **New/Updated** record in **Helium 10 API** (webhook) | 1️⃣ Update **SKU Master** fields: `Units Sold (30 d)`, `Selling Price (Local)`, `Last Sync`. <br>2️⃣ Create **Daily Snapshot** row for each SKU. <br>3️⃣ If any API error → write to **Validation Center** (Issue = `API Failure`). |

### 4.2 Exchange Rate Refresh (Make)  

| Trigger | Action(s) |
|---|---|
| **Schedule** – every 24 h | Call `https://api.exchangerate.host/latest?base=USD`. <br>Update **Exchange Rates** rows. <br>If rate ≤ 0 → log to **Validation Center** (`Rate Error`). |

### 4.3 Restock Alert Flow  

| Trigger | Action(s) |
|---|---|
| **New** or **Updated** SKU where **Restock Needed?** = true | 1️⃣ Send **Slack** message to `#fba‑restock` with SKU, stock, lead time. <br>2️⃣ Create a **Restock Task** (auto‑filled due date). <br>3️⃣ Post a **Notion @mention** comment on the SKU page tagging the assigned owner. <br>4️⃣ Mark **Slack Alert Sent** = true. |

### 4.4 Validation Notification  

| Trigger | Action(s) |
|---|---|
| **New** row in **Validation Center** where **Resolved** = false | 1️⃣ Send **Email** to workspace admin. <br>2️⃣ Post a **Notion reminder** on the **Dashboard Setup Guide** page. |

### 4.5 KPI Weekly Digest (Zapier)  

| Trigger | Action(s) |
|---|---|
| **Every Monday 08:00 UTC** | 1️⃣ Query **KPI Summary** view → generate a CSV. <br>2️⃣ Email CSV to `finance@yourcompany.com`. <br>3️⃣ Post a **Slack** summary (top‑3 profit SKUs, total inventory value). |

### 4.6 Marketplace Toggle Sync  

| Trigger | Action(s) |
|---|---|
| **Change** in **Marketplace Settings** (new marketplace added) | 1️⃣ Pull the appropriate **Fee Schedule** CSV for that region. <br>2️⃣ Append rows to **Fee Schedule** with correct `Marketplace` tag. <br>3️⃣ Re‑run a **Helium 10** sync for affected SKUs. |

---

## 5️⃣ Security & Compliance Documentation  

Create a page titled **“🔐 Security & Compliance”** (auto‑imported). Include the following sections (copy‑paste into Notion).  

```markdown
# 🔐 Security & Compliance  

## 1️⃣ API Credential Management  
- Store the **Internal Integration Token** in **Settings → Secrets** as `AMAZON_FBA_TOKEN`.  
- Never paste the token into page content or external scripts.  

## 2️⃣ IP Whitelisting  
- In **Amazon Seller Central** → **User Permissions** → **Third‑Party API Access**, add the static IPs of your Zapier & Make workers.  
- Update the whitelist quarterly or after any IP change.  

## 3️⃣ Least‑Privilege Tokens  
- Create a **dedicated integration** for this dashboard only.  
- Grant **Read/Write** on **Pages** and **Databases**; **do not** enable **Export** or **Sharing** permissions.  

## 4️⃣ GDPR & Data Retention  
- Only transaction‑level data (SKU, units, fees) is stored.  
- No personal customer data (PII) is captured.  
- **Daily Snapshots** are retained for **12 months**; older rows are auto‑archived by the **Retention Policy** automation (see Automation Hub).  

## 5️⃣ Auditing & Alerts  
- All errors flow into **Validation Center** with timestamps.  
- Weekly audit email (via KPI Weekly Digest) lists any unresolved validation items.  

## 6️⃣ Backup Strategy  
- Export **SKU Master** and **Daily Snapshots** to CSV weekly (automated by **Make**).  
- Store backups in an encrypted Google Drive folder with 2‑factor access.  

---  

*For any security incident, contact the workspace admin within 24 h.*  
```

---

## 6️⃣ Retention Policy (Automation)  

| Trigger | Action(s) |
|---|---|
| **Schedule** – first day of each month | 1️⃣ Find **Daily Snapshots** rows where **Date** < `today - 365 days`. <br>2️⃣ Move those rows to **Archive – Daily Snapshots** (a hidden database). <br>3️⃣ Log any moved rows to **Validation Center** (`Archive Completed`). |

---

## 7️⃣ Final Checklist (Copy‑Paste into a Notion Checkbox List)  

```markdown
- [ ] Duplicate the template into your workspace.  
- [ ] Create the **Amazon FBA Sync** integration token and store it as a secret.  
- [ ] Run the **Sample Data** import.  
- [ ] Enable all automations in **⚙️ Automation Hub**.  
- [ ] Verify the first **Helium 10** sync populates `Units Sold (30 d)` and creates a **Daily Snapshot**.  
- [ ] Check the **Validation Center** for any red flags.  
- [ ] Review the **Security & Compliance** page and confirm IP whitelisting.  
- [ ] Confirm native charts render (12‑Month Trend, Revenue & Fees).  
- [ ] Test a restock scenario: set a SKU’s `Units In Stock` below its threshold and watch the Slack + Notion alerts + Restock Task creation.  
- [ ] Schedule a weekly KPI digest and verify receipt.  
```

---  

**You now have a fully‑featured, premium‑grade Amazon FBA Profit & Inventory Dashboard that lives entirely inside Notion, with historic data, multi‑currency tax handling, robust validation, comprehensive onboarding, multi‑marketplace support, and end‑to‑end automation.**