# UGC Creator Business OS (Premium Edition)

## 1. Executive Dashboard
A high-level command center that aggregates financial health, sales performance, and operational tasks into a single view.

### Layout Structure
*   **Row 1: Financial Health (3 Columns)**
    *   **Month-to-Date Revenue:** Rollup from `Invoices` (Status: Paid).
    *   **Net Profit:** Formula (`Revenue - Expenses`).
    *   **Outstanding Receivables:** Rollup from `Invoices` (Status: Sent/Overdue).
*   **Row 2: Sales Intelligence (3 Columns)**
    *   **Active Pipeline Value:** Rollup from `Deals` (Status: In Progress).
    *   **Win Rate:** Rollup from `Brands` (Formula: Won Deals / Total Closed Deals).
    *   **Leads to Contact:** Filtered list of `Brands` where `Status` = "Target".
*   **Row 3: Visual Analytics (Charts)**
    *   **Revenue Trend:** Chart View (Line Graph) showing `Invoices` grouped by `Issue Date` (Month).
    *   **Lead Source Attribution:** Chart View (Pie Chart) showing `Deals` grouped by `Lead Source`.
*   **Row 4: Action Center**
    *   **Today's Follow-ups:** Linked View of `Tasks` filtered by `Due Date` = Today.

---

## 2. Database Architecture

### A. Brands (Master CRM)
The central hub for all client relationships.

**Properties:**
*   **Name** (Title)
*   **Industry** (Select: Beauty, Tech, Food, Apparel, SaaS)
*   **Lead Source** (Select: TikTok, Upwork, Instagram DM, Referral, Cold Email)
*   **Status** (Select: Target, Contacted, Active Client, Churned)
*   **Contact Person** (Text)
*   **Email** (Email)
*   **Last Contact Date** (Date)
*   **Log Contact Button** (Button: Set `Last Contact Date` to `Now`)
*   **Total Revenue** (Rollup: Sum `Amount` from `Invoices` relation)
*   **Total Expenses** (Rollup: Sum `Cost` from `Expenses` relation)
*   **Net Profit** (Formula: `prop("Total Revenue") - prop("Total Expenses")`)
*   **Win Rate** (Formula: `if(prop("Total Closed Deals") > 0, (prop("Won Deals") / prop("Total Closed Deals")) * 100, 0)`)

**Relations:**
*   **Deals** (Two-way relation to `Deals` DB)
*   **Invoices** (Two-way relation to `Invoices` DB)
*   **Expenses** (Two-way relation to `Expenses` DB)

**Views:**
*   **Active Clients:** Filter by `Status` = "Active Client".
*   **Prospecting List:** Filter by `Status` = "Target" or "Contacted", Grouped by `Industry`.

---

### B. Deals (Sales Pipeline)
Tracks the lifecycle of a contract from pitch to signature.

**Properties:**
*   **Deal Name** (Title: Format "[Brand] - [Campaign]")
*   **Brand** (Relation to `Brands` DB)
*   **Stage** (Select: Pitched, Negotiating, Brief Received, Content in Progress, Revision, Approved, Closed Won, Closed Lost)
*   **Deal Value** (Number: $)
*   **Probability** (Formula: Assigns % based on `Stage` logic)
*   **Platform** (Multi-select: TikTok, IG Reels, YouTube Shorts)
*   **Content Type** (Multi-select: Unboxing, Tutorial, Testimonial, GRWM)
*   **Usage Rights** (Select: Organic, Paid 1 Mo, Paid Perpetuity)
*   **Next Follow-Up** (Date)
*   **Win/Loss Reason** (Select: Budget, Timing, No Response, Fit)

**Relations:**
*   **Related Tasks** (Relation to `Tasks` DB)

**Views:**
*   **Kanban Board:** Grouped by `Stage`.
*   **Follow-Up Dashboard:** Filtered list where `Next Follow-Up` is within next 7 days.

---

### C. Invoices (Revenue Tracker)
Manages billing and payment collection.

**Properties:**
*   **Invoice #** (Title: Auto-ID format "INV-001")
*   **Related Deal** (Relation to `Deals` DB)
*   **Brand** (Rollup: Pull `Name` from `Related Deal`)
*   **Amount** (Number: $)
*   **Issue Date** (Date)
*   **Due Date** (Date)
*   **Status** (Select: Draft, Sent, Overdue, Paid)
*   **Payment Method** (Select: Wise, PayPal, Wire)
*   **Tax Deductible** (Checkbox)
*   **Days Overdue** (Formula: `if(prop("Status") == "Overdue", dateBetween(now(), prop("Due Date"), "days"), 0)`)

**Views:**
*   **Revenue Chart:** Chart View (Bar) grouped by `Issue Date` (Month), Sum `Amount`.
*   **Unpaid Invoices:** Filter by `Status` is not "Paid" or "Draft".

---

### D. Expenses (Cost Management)
Tracks business costs for Net Profit calculation and tax preparation.

**Properties:**
*   **Expense Name** (Title)
*   **Category** (Select: Props/Costume, Software, Shipping, Transaction Fee, Education, Tax)
*   **Cost** (Number: $)
*   **Date** (Date)
*   **Related Brand** (Relation to `Brands` DB - Optional)
*   **Receipt** (Files & Media)

**Views:**
*   **Expense Log:** Table view sorted by `Date` (Newest first).
*   **Tax Deductibles:** Filter by `Category` (exclude "Tax").

---

### E. Creative Studio (Content Ops)
A production database for scripts, hooks, and final assets.

**Properties:**
*   **Asset Title** (Title)
*   **Type** (Select: Hook, Script, Raw Footage, Final Deliverable)
*   **Content Tag** (Multi-select: Unboxing, Tutorial, Skit, Testimonial)
*   **Platform** (Select: TikTok, IG Reels, YT Shorts)
*   **Brand** (Relation to `Brands` DB)
*   **File/Link** (Files & Media)
*   **Views/Analytics** (Number)
*   **Viral Status** (Select: <1k, 1k-10k, 10k-50k, 50k+)

**Views:**
*   **Hook Library:** Filter by `Type` = "Hook".
*   **Portfolio Gallery:** Gallery View, Filter by `Type` = "Final Deliverable", Sort by `Views/Analytics` (High to Low).

---

### F. Prop Tracker (Inventory)
Manages physical assets purchased for productions.

**Properties:**
*   **Prop Name** (Title)
*   **Category** (Select: Apparel, Decor, Tech, Kitchen)
*   **Cost** (Number)
*   **Purchase Date** (Date)
*   **Location** (Select: Home Studio, Storage, Returned)
*   **Used For** (Relation to `Deals` DB)

---

### G. Tasks (Automation Layer)
Automates workflow hygiene and follow-ups.

**Properties:**
*   **Task Name** (Title)
*   **Related Brand** (Relation to `Brands` DB)
*   **Type** (Select: Follow-up, Invoice Send, Content Shoot)
*   **Status** (Select: Not Started, In Progress, Done)
*   **Due Date** (Date)
*   **Completed Date** (Date)

**Automation Logic (Button):**
*   **Mark Complete Button:** Set `Status` to "Done", Set `Completed Date` to "Now".

---

## 3. Formulas & Logic Reference

### Win Rate (in Brands DB)
Calculates the percentage of deals won vs. closed.
```javascript
if(prop("Total Closed Deals") > 0, (prop("Won Deals") / prop("Total Closed Deals")) * 100, 0) + "%"
```
*Note: Requires Rollup properties "Total Closed Deals" (Count) and "Won Deals" (Filter by Status=Closed Won).*

### Net Profit (in Brands DB)
Calculates profitability per client.
```javascript
prop("Total Revenue") - prop("Total Expenses")
```

### Probability (in Deals DB)
Auto-assigns win probability based on stage.
```javascript
if(prop("Stage") == "Pitched", 10, if(prop("Stage") == "Negotiating", 40, if(prop("Stage") == "Brief Received", 60, if(prop("Stage") == "Content in Progress", 80, if(prop("Stage") == "Closed Won", 100, 0)))))
```

---

## 4. System Views & Analytics Setup

### 1. Revenue Trend Chart
*   **Database:** Invoices
*   **View Type:** Chart
*   **X-Axis:** `Issue Date` (Group by Month)
*   **Y-Axis:** `Amount` (Stacked Bar)
*   **Stack By:** `Payment Method`

### 2. Lead Source Attribution
*   **Database:** Deals
*   **View Type:** Chart
*   **Chart Type:** Pie
*   **Group By:** `Lead Source` (Rollup from Brand)
*   **Aggregate:** Count

### 3. Content Performance
*   **Database:** Creative Studio
*   **View Type:** Chart
*   **Chart Type:** Bar
*   **X-Axis:** `Content Tag`
*   **Y-Axis:** `Views/Analytics` (Average)

---

## 5. Workflow Automation Guide

### Automating "Last Contact Date"
1.  In the **Brands** database, add a Button property named "Log Contact".
2.  Configure the button to:
    *   Set property `Last Contact Date` to `Now`.
3.  **Usage:** Every time you email or DM a brand, click this button. No manual date entry required.

### Automating Invoice Status
1.  In the **Invoices** database, create a "Mark Paid" button.
2.  Configure button to:
    *   Set `Status` to "Paid".
    *   Set `Due Date` to `Now` (for record accuracy).

### Pipeline Hygiene
1.  Create a View in **Tasks** called "Overdue Actions".
2.  Filter: `Due Date` < Today AND `Status` != Done.
3.  Check this view daily to ensure no leads slip through the cracks.