Commish

byJoseph Sidman

# Project Specification: Commission & Broker Management System ## Overview This application is a comprehensive platform for insurance agencies or brokerages to track commissions, manage clients/policies, and handle broker (agent) distributions. It features AI-powered statement parsing to automate data entry from complex carrier Excel/PDF sheets. ## Core Functional Requirements ### 1. Statement Processing (AI-Powered) - **Multi-Format Support**: Upload Excel (.xlsx, .csv) or PDF commission statements. - **AI Parsing**: Use Gemini API to extract unstructured data: - Client Name (Auto-mapping to existing clients). - Carrier & Coverage Type (Health, Dental, Medicare, etc.). - Amount (Gross commission). - Pay Date & Service Month. - Policy/Group Number. - Agent Name & Participation/Split Percentages. - **Conflict Resolution**: provide a UI to "Pre-check" data, manually map columns, and fix inconsistencies before final database commit. - **Auto-Classification**: - Medicare entries must be automatically classified into the "Individual" department. - Other entries default to "Group" or follow user-defined client overrides. ### 2. Client & Policy Management - **Client Profiles**: Track revenue (YTD & Lifetime), department (Group vs. Individual), and active status. - **Sync Logic**: When uploading a statement, if a client's department in the statement differs from the existing record (e.g., a Group client now has a Medicare entry), the system should prompt or auto-update the master client record. - **Policies**: Managed as child entities of clients. Each policy holds its own split structure. ### 3. Broker (Agent) Management - **Profiles**: Track agent yields (YTD/Life), base split percentages, and active policy count. - **Commission Splits**: - **Global Base**: Every agent has a default base split (e.g., 70%). - **Policy Overrides**: Ability to set specific participation percentages for an agent on a per-policy basis (e.g., 50/50 split on a specific high-value client). - **Statement Overrides**: If a specific split is listed on an upload sheet, it should update or create a policy-level override for that agent. - **Yield Calculation**: Revenue is calculated based on the participation percentage at the time of entry. ### 4. Financial Reporting - **Multi-Level Grouping**: Aggregate data by Agent, Department, Client, Carrier, or Policy. - **Time-Based Filtering**: Filter by custom date ranges or pre-set periods (YTD, Last Year). - **Metric Definitions**: - **Revenue (Gross)**: The total amount received from the carrier. - **Yield (Net)**: The portion assigned to a specific agent after splits. - **Export**: Ability to generate CSV summaries of filtered reports. ## Data Infrastructure (Firestore) ### `clients` (Collection) - `name` (string) - `department` (string: "Group" | "Individual") - `active` (boolean) - `firstCommissionDate` (string) ### `agents` (Collection) - `name` (string) - `title` (string) - `email` (string) - `splitPercentage` (number: 0-100) - `totalEarned` (number) ### `policies` (Collection) - `policyNumber` (string) - `carrierName` (string) - `coverageType` (string) - `clientId` (string, ref) - `clientName` (string, denormalized) - `status` (string) ### `policies/{policyId}/splits` (Sub-collection) - `agentId` (string, ref) - `percentage` (number) ### `commission_entries` (Collection) - `amount` (number) - `payDate` (string, ISO) - `serviceMonth` (string) - `carrierId` (string, ref) - `clientId` (string, ref) - `policyId` (string, ref) - `agentId` (string, ref) - Primary agent link - `department` (string) ## UI/UX Design Standards - **Aesthetic**: Technical/Modern (Swiss style). Use Indigo and Slate color palettes. - **Navigation**: Sidebar-based navigation with clear sections (Dashboard, Reports, Clients, Agents, Upload). - **Interactions**: - Use `motion` (framer-motion) for all transitions and modal appearances. - "Focus Mode" for detail views (e.g., clicking an agent or client opens a full-height side panel). - High information density with monospace font for financial data. ## Technical Stack - **Framework**: React 18+ with Vite. - **Styling**: Tailwind CSS. - **Database**: Firebase (Firestore). - **AI**: Google GenAI (Gemini 1.5 Pro/Flash). - **Icons**: Lucide React. - **Data Viz**: Recharts (for dashboard trends).

LandingConflictResolutionDashboardUploadLoginProfileReportsClientsSettingsPoliciesAgents
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Commish

Introduction

The "Commish" project is designed to serve as a comprehensive internal platform for insurance agencies or brokerages. It aims to streamline the tracking of commissions, management of clients and policies, and handling of broker (agent) distributions. The system leverages AI-powered statement parsing to automate data entry from complex carrier Excel/PDF sheets, enhancing efficiency and accuracy. The focus is on single-user utility, ensuring that the platform is optimized for internal use without the complexities of a commercial product.

System Overview

The Commish system is a robust solution tailored for insurance agencies to manage their commission processes effectively. It integrates AI technology to parse and process commission statements, supports client and policy management, and facilitates broker management. Additionally, it includes financial reporting capabilities and integrates with Salesforce for periodic updates, ensuring seamless data flow and comprehensive client interaction records.

Page 2 of 4

Functional Requirements

  • As a User, I should be able to upload Excel (.xlsx, .csv) or PDF commission statements for processing.
  • As a User, I should be able to utilize AI parsing to extract unstructured data such as client names, carrier details, and commission amounts.
  • As a User, I should be able to resolve conflicts through a UI that allows pre-checking data and manually mapping columns.
  • As a User, I should be able to manage client profiles, track revenue, and update client departments based on statement uploads.
  • As a User, I should be able to manage broker profiles, track agent yields, and set commission splits.
  • As a User, I should be able to generate financial reports with multi-level grouping and time-based filtering.
  • As a User, I should be able to export filtered reports as CSV summaries.
  • As a User, I should be able to integrate with Salesforce for periodic updates to attach records to commissions.
  • as a user, I should be able to export commission statements for agents
  • Commission splits should be calculated based on existing splits in the system, not what is on the uploaded statements
  • there should be the ability to set calculated split separately from displayed split, so an agent can have a 50% split, but the commission statement may already be split so it needs to not have the split calculation applied
  • I should be able to upload a spreadsheet of clients and their corresponding agent splits with displayed and calculated splits
  • commission splits should be able to be broken down by benefit and line of coverage
  • if a new type of line of coverage is identified, there should be GUI that allows users to add them as separate types of coverage or match
  • if client names that are extracted from statements don't exist in the database, there should be GUI that shows the user potential best-fit existing clients to select to match the client names for future uploads or allows the user to add as new client

User Personas

  • Admin: Manages the overall system, configures settings, and oversees data integrity.
  • Agent: Views personal commission data, manages client interactions, and updates policy details.
  • Financial Analyst: Generates reports, analyzes financial data, and ensures compliance with financial regulations.
Page 3 of 4

Visuals Colors and Theme

  • primary: #2A4D69 (Deep Teal)
  • primary_light: #4B7A94 (Light Teal)
  • secondary: #F18D9E (Coral Pink)
  • accent: #F2B134 (Golden Yellow)
  • highlight: #F28C28 (Amber)
  • bg: #F5F7FA (Soft White)
  • surface: rgba(255, 255, 255, 0.9) (White)
  • text: #2C3E50 (Dark Slate)
  • text_muted: #95A5A6 (Muted Gray)
  • border: rgba(189, 195, 199, 0.3) (Light Gray)

Signature Design Concept

The homepage of the Commish project will feature an interactive, simple user interface with easy-to-understand navigation to the core functionalities; this is not an external tool for sale to to other users

Interaction Model & Motion Direction

all pages, such as dashboards and settings, will adopt a "static" interaction model to prioritize clarity and readability.

Non-Functional Requirements

  • The system must support periodic data synchronization with Salesforce.
  • The platform should handle concurrent user sessions efficiently.
  • Data processing should be completed within a reasonable timeframe to ensure timely updates.
Page 4 of 4

Tech Stack

  • Frontend: React 18+ with Vite
  • Styling: Tailwind CSS
  • Database: Firebase (Firestore)
  • AI: Google GenAI (Gemini 1.5 Pro/Flash)
  • Icons: Lucide React
  • Data Viz: Recharts
  • Integration: Salesforce for CRM data synchronization

Assumptions and Constraints

  • The system assumes periodic data updates from Salesforce are sufficient for operational needs.
  • The platform is designed to handle a moderate volume of data and user interactions.
  • The AI parsing capabilities are dependent on the accuracy and format of the input statements.
  • Basic extraction methods will be used for easily readable formats such as spreadsheets or PDFs with extractable data tables to save costs and improve speed.

Glossary

  • AI Parsing: The use of artificial intelligence to extract data from unstructured formats.
  • Commission Splits: The division of commission earnings among agents based on predefined percentages.
  • CRM: Customer Relationship Management, a system for managing client interactions.
  • Firestore: A NoSQL cloud database for storing and syncing data in real-time.
  • Animated: A moderate scroll-triggered reveals, hover transitions, and spring physics on interactive elements.
Landing design preview
Landing: View Platform
Login: Sign In
Dashboard: View Overview
Upload: Upload Statement
Upload: AI Parse Data
ConflictResolution: Map Columns
ConflictResolution: Confirm Data
Clients: Manage Profiles
Clients: Update Department
Agents: Manage Brokers
Agents: Set Commission Splits
Settings: Configure System
Settings: Sync Salesforce
Landing design preview
Landing: View Platform
Login: Sign In
Dashboard: View Overview
Upload: Upload Statement
Upload: AI Parse Data
ConflictResolution: Map Columns
ConflictResolution: Confirm Data
Clients: Manage Profiles
Clients: Update Department
Agents: Manage Brokers
Agents: Set Commission Splits
Settings: Configure System
Settings: Sync Salesforce