Files
vending_data_intelligence_r…/README.md
Marius Mutu 0b732f7a7a Initial commit: Data Intelligence Report Generator
- Oracle ERP ROA integration with sales analytics and margin analysis
- Excel multi-sheet reports with conditional formatting
- PDF executive summaries with charts via ReportLab
- Optimized SQL queries (no cartesian products)
- Docker support for cross-platform deployment
- Configurable alert thresholds for business intelligence

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 15:41:56 +02:00

177 lines
4.2 KiB
Markdown

# Data Intelligence Report Generator
Generator automat de rapoarte de Business Intelligence pentru ERP ROA (Oracle Database).
## 📋 Funcționalități
Scriptul generează automat:
### Excel (multiple sheet-uri):
- **Sumar Executiv** - KPIs principale
- **🚨 Vânzări sub Cost** - Alertă critică pentru pierderi
- **⚠️ Clienți Marjă Mică** - Clienți care necesită renegociere
- **Marja per Client** - Profitabilitate per client
- **Concentrare Clienți** - Analiza dependenței de clienți mari
- **Trending Clienți** - Evoluție YoY (creștere/scădere)
- **Top Produse** - Cele mai vândute produse
- **Marja per Categorie** - Profitabilitate per subgrupă
- **Marja per Gestiune** - Profitabilitate per depozit
- **Producție vs Revânzare** - Comparație marje
- **Dispersie Prețuri** - Produse cu variație mare de preț
- **Clienți sub Medie** - Cine cumpără prea ieftin
- **Vânzări Lunare** - Sezonalitate (24 luni)
- **Stoc Curent** - Valoare stoc per gestiune
- **Stoc Lent** - Produse fără mișcare >90 zile
- **Rotație Stocuri** - Viteza de rotație
- **Analiză Prăjitorie** - Fluxul producției
### PDF (Sumar Executiv):
- Grafice interactive
- Tabele rezumat
- Alerte evidențiate vizual
- Perfect pentru prezentări
## 🚀 Instalare
### Opțiunea 1: Virtual Environment (recomandat)
```bash
# 1. Clonează/copiază directorul
cd data_intelligence_report
# 2. Creează mediu virtual
python -m venv .venv
# 3. Activează mediul virtual
source .venv/bin/activate # Linux/WSL/Mac
# sau
.venv\Scripts\activate # Windows CMD
# sau
.venv\Scripts\Activate.ps1 # Windows PowerShell
# 4. Instalează dependențele
pip install -r requirements.txt
# 5. Configurează conexiunea
cp .env.example .env
nano .env # sau editează cu alt editor
```
### Opțiunea 2: Docker
```bash
# 1. Configurează conexiunea
cp .env.example .env
nano .env
# 2. Rulează cu docker-compose
docker-compose run --rm report-generator
```
## ⚙️ Configurare
Copiază `.env.example` în `.env` și editează:
```env
ORACLE_HOST=127.0.0.1
ORACLE_PORT=1521
ORACLE_SERVICE=XEPDB1
ORACLE_USER=FIRMA
ORACLE_PASSWORD=PAROLA
OUTPUT_DIR=./output
COMPANY_NAME=Numele Companiei
```
### Conexiune Oracle din diferite medii
| Mediu | ORACLE_HOST |
|-------|-------------|
| Windows nativ | `127.0.0.1` sau `localhost` |
| WSL | IP Windows (vezi mai jos) |
| Docker | `host.docker.internal` (automat în docker-compose) |
**Pentru WSL**, obține IP-ul Windows:
```bash
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
```
## 📊 Utilizare
### Cu Virtual Environment
```bash
# Activează mediul (dacă nu e activ)
source .venv/bin/activate # Linux/WSL
# sau: .venv\Scripts\activate # Windows
# Raport standard (ultimele 12 luni)
python main.py
# Raport pentru ultimele 6 luni
python main.py --months 6
# Salvare în alt director
python main.py --output-dir /path/to/output
```
### Cu Docker
```bash
# Raport standard
docker-compose run --rm report-generator
# Cu parametri custom
docker-compose run --rm report-generator python main.py --months 6
```
## 📁 Structura Output
```
output/
├── data_intelligence_report_20251126_143022.xlsx
└── data_intelligence_report_20251126_143022.pdf
```
## 🔧 Cerințe Sistem
- Python 3.8+
- Oracle Client (sau oracledb în thin mode)
- Acces la schema Oracle cu view-urile:
- `fact_vfacturi2`
- `fact_vfacturi_detalii`
- `vnom_articole`
- `vnom_parteneri`
- `vstoc`
- `vrul`
## 📈 Query-uri Incluse
Toate query-urile sunt în `queries.py` și pot fi personalizate:
1. **Praguri de alertă**:
- Marjă mică: < 15%
- Variație preț: > 20%
- Stoc lent: > 90 zile
2. **Parametri configurabili**:
- Perioada de analiză (luni)
- Vânzări minime pentru analiză
- Număr maxim de rezultate
## 🤝 Personalizare
Pentru a adăuga query-uri noi:
1. Adaugă SQL-ul în `queries.py`
2. Adaugă entry în dicționarul `QUERIES`
3. (Opțional) Adaugă în `sheet_order` din `main.py`
## 📝 Note
- Raportul folosește view-urile existente din ERP
- Datele șterse (sters=0) sunt excluse automat
- Retururile și credit note-urile sunt excluse din analiză
- Producția proprie e identificată după cont (341, 345)
---
Generator creat pentru ROMFAST SRL - ERP ROA