|
1 | 1 | # CSP Insights |
2 | 2 |
|
3 | | -**CSP Insights** is a powerful, local-first toolkit designed for Microsoft Cloud Solution Providers (CSPs). It simplifies the complexities of billing reconciliation and pricing management, all within a modern, secure browser environment. |
| 3 | +[](LICENSE) |
| 4 | +[](https://cspinsights.app) |
4 | 5 |
|
5 | | -## 🌟 Why CSP Insights? |
| 6 | +**A free, local-first billing reconciliation and pricing management toolkit for Microsoft CSP Direct (Tier 1) partners.** |
6 | 7 |
|
7 | | -Managing Microsoft CSP operations often involves wrestling with massive CSV files and complex price lists. **CSP Insights** solves this by providing immediate visual clarity and powerful tools without the need for backend servers or third-party cloud data processing. |
| 8 | +> Your data never leaves your browser. No backend, no account, no cloud uploads. |
8 | 9 |
|
9 | | -**Privacy First:** This application runs 100% locally in your browser. No sensitive customer or billing data is ever transmitted to the cloud. |
| 10 | +**[Try it now at cspinsights.app](https://cspinsights.app)** |
10 | 11 |
|
11 | | -## ✨ Key Features |
| 12 | +--- |
| 13 | + |
| 14 | +## Why CSP Insights? |
| 15 | + |
| 16 | +Managing Microsoft CSP operations means wrestling with massive reconciliation CSVs and complex price lists every month. CSP Insights gives you immediate visual clarity and powerful tools — without backend servers or third-party data processing. |
| 17 | + |
| 18 | +## Features |
12 | 19 |
|
13 | | -### 🏠 Unified Dashboard |
14 | | -- **Central Hub**: A clean landing page giving you instant access to Billing or Pricing modules. |
15 | | -- **Quick Navigation**: Easily switch contexts with a unified persistent header. |
| 20 | +### Billing Analysis |
| 21 | +- **Drag & drop** Partner Center reconciliation CSV files (including `.csv.gz`) |
| 22 | +- **Visual dashboard** with revenue breakdown by customer, product, and period |
| 23 | +- **Azure FinOps** — drill down into costs per resource, service category, and customer |
| 24 | +- **NCE Insights** — subscription types, renewal tracking, cancellation windows |
| 25 | +- **Margin management** — set global or per-customer margins |
| 26 | +- **Period comparison** — compare months side-by-side, detect upsells, churn, and seat changes (SeatRadar) |
| 27 | +- **Customer tagging** — organize and filter customers with custom tags |
| 28 | +- **Anomaly detection** — flag refunds, cancellations, and negative charges |
| 29 | +- **Invoice generation** — branded PDF invoices with your logo and company details |
| 30 | +- **Excel export** — export filtered data with calculated margins |
16 | 31 |
|
17 | | -### 💰 Pricing Catalog [NEW] |
18 | | -- **Complete Catalog View**: Load and browse the full Microsoft CSP price list with ease. |
19 | | -- **Smart Pricing**: View both **ERP (Adviesprijs)** and **Unit Price (Inkoopprijs)**. |
20 | | -- **Margin Calculator**: See your margins instantly based on customizable rules. |
21 | | -- **Shopping Cart & Quotes**: Build a cart of services and export professional **PDF Quotes** for your customers. |
22 | | -- **History & Snapshots**: Save different versions of your price lists (e.g., "Jan 2024", "Feb 2024") and switch between them instantly. |
| 32 | +### Pricing Catalog |
| 33 | +- **Browse** the full Microsoft CSP price list with fast virtual scrolling |
| 34 | +- **Search & filter** by product, currency, term duration, and segment |
| 35 | +- **Favorites** — bookmark frequently used products |
| 36 | +- **Margin visibility** — see your margin per product at a glance |
| 37 | +- **Version comparison** — load two price lists and spot price changes |
| 38 | +- **Shopping cart & quotes** — build a cart and export professional PDF quotes |
23 | 39 |
|
24 | | -### 📊 Billing Analysis |
25 | | -- **Drag & Drop Reconciliation**: Process massive Azure & NCE CSV files in seconds using multi-threaded web workers. |
26 | | -- **Deep Insights**: Breakdown costs by Customer, Subscription, or Product. |
27 | | -- **Margin Management**: Apply global or per-customer margins to calculate true profit. |
28 | | -- **Comparison View**: Compare two months side-by-side to catch discrepancies or new subscriptions. |
29 | | -- **Invoicing**: Generate branded invoice previews and export reconciled data to Excel. |
30 | | -- **Work History**: "Freeze" your workspace with Snapshots to back up your progress or compare sessions. |
| 40 | +### Data Management |
| 41 | +- **Snapshots** — save and restore billing data and pricing catalogs |
| 42 | +- **Backup & restore** — export/import all your data |
| 43 | +- **Settings** — configure company details, logo, IBAN, and default margins |
| 44 | +- **Dark mode** |
| 45 | +- **Demo mode** — try the app with sample data before uploading your own |
31 | 46 |
|
32 | | -## 🛠️ Tech Stack |
| 47 | +### Privacy & Security |
| 48 | +- **100% client-side** — all processing happens in your browser |
| 49 | +- **IndexedDB storage** — data persists locally between sessions |
| 50 | +- **No telemetry** — no analytics, no tracking, no data collection |
| 51 | +- Clearing your browser data removes everything |
33 | 52 |
|
34 | | -- **Frontend**: React 19, TypeScript, Vite |
35 | | -- **State Management**: Zustand (with Persistence) |
36 | | -- **Database**: IndexedDB (using `idb`) for high-performance local storage |
37 | | -- **Styling**: Vanilla CSS with Glassmorphism design system |
38 | | -- **Performance**: Web Workers for parsing, Virtualization for large tables |
| 53 | +## Getting Started |
39 | 54 |
|
40 | | -## 🚀 Getting Started |
| 55 | +### Use the hosted version |
41 | 56 |
|
42 | | -### Prerequisites |
43 | | -- Node.js (v18+) |
44 | | -- npm |
| 57 | +Visit **[cspinsights.app](https://cspinsights.app)** — no installation needed. |
45 | 58 |
|
46 | | -### Installation |
| 59 | +### Run locally |
47 | 60 |
|
48 | | -1. Clone the repository: |
49 | | - ```bash |
50 | | - git clone <repository-url> |
51 | | - cd CSPInsights |
52 | | - ``` |
| 61 | +```bash |
| 62 | +git clone https://github.com/sevenp-com/CSPInsights.git |
| 63 | +cd CSPInsights |
| 64 | +npm install |
| 65 | +npm run dev |
| 66 | +``` |
53 | 67 |
|
54 | | -2. Install dependencies: |
55 | | - ```bash |
56 | | - npm install |
57 | | - ``` |
| 68 | +Requires Node.js 18+ and npm. |
58 | 69 |
|
59 | | -3. Start the application: |
60 | | - ```bash |
61 | | - npm run dev |
62 | | - ``` |
| 70 | +## Tech Stack |
63 | 71 |
|
64 | | -## 🔒 Privacy & Security |
| 72 | +| Layer | Technology | |
| 73 | +|-------|-----------| |
| 74 | +| Framework | React 19, TypeScript | |
| 75 | +| Build | Vite | |
| 76 | +| State | Zustand (with IndexedDB persistence) | |
| 77 | +| Performance | Web Workers, @tanstack/react-virtual | |
| 78 | +| PDF | jsPDF, @react-pdf/renderer | |
| 79 | +| Charts | Recharts | |
| 80 | +| CSV Parsing | PapaParse | |
| 81 | +| Styling | Vanilla CSS with Glassmorphism design | |
65 | 82 |
|
66 | | -**Your Data Stays Yours.** |
67 | | -- **No Cloud Uploads**: Files you drop into the browser are processed in the browser's memory. |
68 | | -- **Local Storage**: We use your browser's IndexedDB to save your preferences and snapshots so you can pick up where you left off. Clearing your browser cache will clear this data. |
| 83 | +## Contributing |
69 | 84 |
|
70 | | -## 📄 License |
| 85 | +Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. |
71 | 86 |
|
72 | | -MIT License. |
| 87 | +## Security |
| 88 | + |
| 89 | +See [SECURITY.md](SECURITY.md) for our security policy and how to report vulnerabilities. |
| 90 | + |
| 91 | +## License |
| 92 | + |
| 93 | +[MIT](LICENSE) |
73 | 94 |
|
74 | 95 | --- |
75 | | -*Disclaimer: This tool is not an official Microsoft product. Always verify critical billing data against the official Partner Center portal.* |
| 96 | + |
| 97 | +*Disclaimer: This tool is not affiliated with or endorsed by Microsoft. Always verify critical billing data against the official Partner Center portal.* |
0 commit comments