# WEGS Müşteri Operasyonları Yönetim Paneli
## Sistem Dokümantasyonu · v2

> **Bu doküman kime yazıldı?** Projeyi hiç bilmeyen bir insana veya bir yapay zeka modeline. Hiçbir ön bilgi varsayılmaz; kavramlar ilk geçtikleri yerde tanımlanır. Amaç, okuyanın sistemi analiz edebilecek, boşluk bulabilecek ve öneri getirebilecek kadar anlamasıdır.
>
> **Sürüm notu:** v1'den farkı, veri modelinin üç katmanlı yeni yapıya geçmesi (Müşteri → Firma → Workspace), kimlik/faturalama kurgusunun eklenmesi ve menünün 22 maddeye çıkmasıdır. Değişen kararlar §12'de gerekçeleriyle işaretlidir.
>
> **Doküman tarihi:** 07.08.2026

---

## İçindekiler

1. [Proje bir bakışta](#1-proje-bir-bakışta)
2. [İş bağlamı: WEGS ne yapıyor?](#2-iş-bağlamı-wegs-ne-yapıyor)
3. [Kavram sözlüğü](#3-kavram-sözlüğü)
4. [Veri modeli ve hiyerarşi](#4-veri-modeli-ve-hiyerarşi)
5. [Kimlik ve faturalama modeli](#5-kimlik-ve-faturalama-modeli)
6. [Kanal modeli: Bayi, Alt Bayi, SMMM](#6-kanal-modeli-bayi-alt-bayi-smmm)
7. [Menü haritası](#7-menü-haritası)
8. [Ana iş akışları](#8-ana-iş-akışları)
9. [Durum kümeleri ve geçiş kuralları](#9-durum-kümeleri-ve-geçiş-kuralları)
10. [Skorlar ve KPI sistemi](#10-skorlar-ve-kpi-sistemi)
11. [Roller ve yetki matrisi](#11-roller-ve-yetki-matrisi)
12. [Karar kütüğü](#12-karar-kütüğü)
13. [Değişmez tasarım kuralları](#13-değişmez-tasarım-kuralları)
14. [Tasarım sistemi](#14-tasarım-sistemi)
15. [Component envanteri](#15-component-envanteri)
16. [Çalışma disiplini](#16-çalışma-disiplini)
17. [Mevcut durum](#17-mevcut-durum)
18. [Açık konular](#18-açık-konular)
19. [Analiz eden yapay zekaya brief](#19-analiz-eden-yapay-zekaya-brief)

---

## 1. Proje bir bakışta

| | |
|---|---|
| **Ürün** | WEGS Müşteri Operasyonları Yönetim Paneli |
| **Türü** | Dahili operasyon merkezi (CRM + ERP + operasyon yönetimi karışımı) |
| **Kim kullanacak?** | Yalnızca WEGS çalışanları: satış, müşteri başarı, destek, finans, teknik, yönetim + yetkili kanal ortakları (bayi/SMMM, kısıtlı görünürlükle) |
| **Kim kullanmayacak?** | Son müşteriler. Panel müşteriye asla açılmaz. |
| **Şu anki aşama** | Tasarım (mockup). Çalışan uygulama, backend veya gerçek veri bağlantısı **yok**. |
| **Sonraki aşama** | Onaylanan mockup'lardan hareketle, yapay zeka destekli geliştirme |
| **Çıktı formatı** | Tarayıcıda açılan, tek dosyalık, bağımsız, tam responsive HTML mockup'lar |
| **Dil** | Tüm arayüz ve tüm tartışma Türkçe. Sektör terimleri çevrilmez. |

### Çözülmek istenen problem

Müşteri bilgisi bugün parçalı duruyor: satış görüşmelerinde, WhatsApp mesajlarında, destek kayıtlarında, lisans ekranlarında, finans takiplerinde ve teknik loglarda. Bu dağınıklık üç sonucu doğuruyor:

- Hiçbir ekip müşteriyi bütün olarak göremiyor
- Aynı müşteriye farklı ekipler farklı şey söylüyor
- Riskler (churn, gecikmiş tahsilat, kopmuş entegrasyon) geç fark ediliyor

### Panelin vaadi

Kayıt olan kullanıcıdan ödeme yapan müşteriye, lisans yenilemeden destek yönetimine kadar tüm yolculuğun **tek panelde** yönetilmesi. Panelin kalbi "360° kartı"dır: bir kaydın satış, finans, destek, teknik ve iletişim geçmişinin aynı ekranda toplanması.

### Satışa açık bir CRM'den farkı

Bu bir CRM ürünü değil. Ürünün kendi altyapısına (workspace, lisans, kontör, entegrasyon, kullanım logu) doğrudan bağlı bir **iç operasyon paneli**. Genel amaçlı CRM'lerin bilmediği şeyleri bilir: hangi workspace'in entegrasyonu kaç saattir kopuk, hangi seat havuzu dolmuş, hangi lisans kaç gün sonra bitiyor.

---

## 2. İş bağlamı: WEGS ne yapıyor?

WEGS, Türkiye pazarına **ön muhasebe + e-ticaret entegrasyonları** satan bir SaaS şirketidir. Ürün ailesi: WEGS Go, WEGS Commerce, WEGS Collect, WEGS CRM, WEGS Banking, WEGS B2B ve diğerleri.

Müşteriler tipik olarak KOBİ ölçeğinde firmalardır: pazaryerlerinde satış yapan e-ticaret işletmeleri, kendi mağazası olan perakendeciler, franchise zincirleri, grup şirketleri ve mali müşavir yönlendirmesiyle gelen küçük firmalar.

Bu bağlam üç şeyi zorunlu kılar:

1. **Muhasebe gerçekliği** — Bir firmanın vergi kimliği (VKN) tekil olmalı, faturası hukuka uygun kesilmeli, defter yapısı doğru kurgulanmalı.
2. **Teknik gerçeklik** — Pazaryeri, banka, e-Dönüşüm, kargo ve ERP entegrasyonları kopabilir; kopma müşteri memnuniyetini anında etkiler.
3. **Kanal gerçekliği** — Müşterilerin önemli bir kısmı doğrudan değil, bayi veya mali müşavir (SMMM) yönlendirmesiyle gelir.

---

## 3. Kavram sözlüğü

Bu bölüm dokümanın geri kalanının anahtarıdır. Terimler **sabitlenmiştir**: aynı kavram her ekranda aynı kelimeyle karşılanır.

### 3.1 Temel nesneler

| Terim | Anlamı |
|---|---|
| **Müşteri** | Ticari ilişkinin sahibi. Sözleşme, faturalama tercihi ve konsolide gelir bu seviyede durur. Tek bir firmadan da oluşabilir, birden fazla firmayı da kapsayabilir. |
| **Firma** | Tüzel kişilik. Kendi vergi kimliği (VKN), unvanı, yetkilileri ve adresleri olan kayıt. Sistemin en çok kullanılan katmanı budur. |
| **Workspace** | Firmanın ürün alanı. Kullanıcıların içine girip çalıştığı, lisansların ve seat'lerin bağlandığı, entegrasyonların kurulduğu operasyon alanı. Aynı zamanda faturalamanın dayandığı birim. |
| **Ürün / Lisans** | Bir workspace üzerinde aktif olan ürün hakkı: hangi ürün, hangi paket, kaç seat, hangi tarih aralığı, aylık ne kadar. |
| **Lead** | Henüz müşteri olmamış potansiyel kayıt. Web, referans, fuar, banka, inbound veya outbound kaynaklı. |
| **Fırsat** | Nitelikli hale gelmiş lead'in satış pipeline'ındaki hali. Aşamalar arasında ilerler. |
| **Teklif** | Ürün, paket, seat, kontör ve özel kalemlerden oluşan, müşteriye gönderilen fiyat önerisi. |

### 3.2 Ticari ve operasyonel terimler

| Terim | Anlamı |
|---|---|
| **VKN** | Vergi Kimlik Numarası. 10 hane. Tüzel kişilikler için. |
| **TCKN** | T.C. Kimlik Numarası. 11 hane. Şahıs firmaları / vergi kimliği henüz alınmamış durumlar için. |
| **Kayıt anahtarı** | Sistemin firmayı tanıdığı tekil kimlik. **Asla değişmez.** |
| **Fatura kimliği** | Faturaya yazılan vergi kimliği. Değişebilir; her değişim loglanır. |
| **Geçici anahtar** | Vergi kimliği henüz yokken sistemin otomatik ürettiği tekil anahtar. Format: `GEC-2026-000431`. Harf öneki taşıdığı için VKN/TCKN ile karışmaz. |
| **MRR** | Monthly Recurring Revenue — aylık tekrar eden gelir. Aktif ürün satırlarının aylık tutarları toplamı. |
| **Seat** | Bir workspace'te tanımlı kullanıcı hakkı sayısı. |
| **Kontör** | Kullanım bazlı satın alınan bakiye (ör. e-fatura kontörü). |
| **Churn** | Müşteri kaybı. |
| **SLA** | Service Level Agreement — destek taleplerinde taahhüt edilen yanıt/çözüm süresi. |
| **Onboarding** | Yeni müşterinin kurulum ve ilk kullanım süreci. |
| **Audit Log** | Kim, ne zaman, neyi değiştirdi kaydı. Değiştirilemez (immutable). |
| **SMMM** | Serbest Muhasebeci Mali Müşavir. Müşteri yönlendiren mali müşavir veya muhasebe ofisi. |
| **Owner** | Workspace'i kullanan son kullanıcı; ürün içindeki rol adıdır, çevrilmez. |
| **Sorumlu** | WEGS tarafında kayıttan sorumlu çalışan (Müşteri Sorumlusu, Teklif Sorumlusu, Lead Sorumlusu). |

### 3.3 Çevrilmeyen sektör terimleri

Şunlar İngilizce kalır, Türkçeleştirilmez:

`Workspace` · `Lead` · `Pipeline` · `Churn` · `MRR` · `SLA` · `Onboarding` · `Audit Log` · `Owner` · `Trial` · `Seat`

Bunların dışındaki her arayüz metni Türkçedir. Çekim ekleri kesme işaretiyle yazılır: *Workspace'ler, Lead'in, MRR'a*.

### 3.4 Kullanılmayan kelimeler

Bu kelimeler arayüzde **hiç geçmez**, çünkü karşılıkları sabitlenmiştir:

| Kullanılmaz | Yerine |
|---|---|
| Sahip, Müşteri Sahibi, Account Owner | **Sorumlu** |
| Pasif (müşteri için) | **Eski Müşteri** |
| İskonto, ıskonto | **İndirim** |
| Defter, tek defterli, ayrık defterli | **Workspace** ve türetilmiş yapı rozetleri |
| Şube (ayrı nesne olarak) | **Adres kaydı** veya ayrı **Firma** |
| Toplamı elle gir | **Manuel tutar gir** |

> **Kural:** Terim değişikliği yalnızca *görünen metni* etkiler. Alan adları, CSS sınıfları ve `data-*` öznitelikleri değişmez (`.owner`, `.disc-input`, `is-discount` sabit kalır). Böylece modüller arası kopyalama ve gelecekteki API eşlemesi kırılmaz.

---

## 4. Veri modeli ve hiyerarşi

### 4.1 Dört katman

```
MÜŞTERİ                       ← ticari ilişki: sözleşme, faturalama tercihi, konsolide MRR
  └── FİRMA                   ← tüzel kişilik: unvan, VKN/TCKN, yetkililer, adresler
        └── WORKSPACE         ← ürün alanı: lisans, seat, kontör, entegrasyon, owner
              └── ÜRÜN/LİSANS ← ürün, paket, seat, tarih aralığı, aylık ücret
```

Her katman bir üstteki katmana bağlıdır ve **kendi altındaki katmanı çoğaltabilir**: bir müşterinin birden fazla firması, bir firmanın birden fazla workspace'i, bir workspace'in birden fazla ürün lisansı olabilir.

### 4.2 Katman katman: ne taşır?

**MÜŞTERİ** — ticari ilişkiyi temsil eder, tüzel kişiliği değil.

| Alan | Not |
|---|---|
| Müşteri adı | Grup adı veya tek firmanın unvanı |
| Müşteri tipi | Tekil · Grup Şirketi · Franchise Ağı |
| Faturalama tercihi | Merkezi · Firma bazında |
| Ortak sözleşme ve indirim | Gruba uygulanan ticari koşullar |
| Konsolide MRR | Altındaki tüm firmaların MRR toplamı (türetilir) |

> Tekil firmalarda müşteri kaydı **otomatik oluşur**; kullanıcı ayrıca doldurmaz.

**FİRMA** — tüzel kişilik.

| Alan | Not |
|---|---|
| Unvan | Ticari unvan |
| Kayıt anahtarı | VKN / TCKN / geçici anahtar — değişmez |
| Fatura kimliği | Faturaya yazılan numara — değişebilir |
| Ticaret sicil, sektör, segment, şehir | |
| Adresler | Çoklu kayıt (merkez, şube, depo, fatura adresi) |
| Yetkili kişiler | Çoklu kayıt, rollü |
| Sağlık skoru | Türetilir |
| Firma sorumlusu | WEGS tarafındaki sorumlu çalışan |
| Kaynak | Doğrudan / bayi / alt bayi / SMMM |
| Bağlı müşteri | Zorunlu; boş bırakılırsa tekil müşteri otomatik oluşur |

**WORKSPACE** — ürün alanı.

| Alan | Not |
|---|---|
| Workspace ID ve adı | |
| Owner | Ürün içindeki asıl kullanıcı |
| Domain | |
| Durum | Aktif · Onboarding · Trial · Sona Yakın · Askıya Alınmış |
| Ürünler | Go, Commerce, Collect… |
| Paket, seat, kontör | |
| Son giriş | |
| Aktivasyon skoru | Türetilir |
| Onboarding durumu | |
| Entegrasyon sağlığı | |

**ÜRÜN / LİSANS**

| Alan |
|---|
| Ürün · Paket · Seat · Başlangıç–bitiş tarihi · Aylık ücret |

### 4.3 Beş gerçek dünya senaryosu

Model şu beş yapıyı karşılamak zorundadır. Her senaryonun modele nasıl oturduğu:

| # | Gerçek dünya | Modeldeki karşılığı |
|---|---|---|
| 1 | **Grup şirketi** — bir holding altında farklı VKN'li şirketler | 1 Müşteri (tip: Grup Şirketi) → N Firma (her biri kendi VKN'si ile) |
| 2 | **Tek defterli şubeler** — aynı VKN, tek muhasebe | 1 Müşteri → 1 Firma → 1 Workspace; şubeler adres listesinde |
| 3 | **Ayrık defterli şubeler** — aynı VKN, şube başına ayrı muhasebe | 1 Müşteri → 1 Firma → N Workspace |
| 4 | **Franchise sistemi** — farklı VKN'li bayilik noktaları | 1 Müşteri (tip: Franchise Ağı) → N Firma |
| 5 | **Tekil firma** | 1 Müşteri (otomatik) → 1 Firma → 1 Workspace |

### 4.4 "Şube" neden ayrı bir nesne değil?

Erken tasarımda ayrı bir *Şube* nesnesi düşünüldü ve **bilinçli olarak reddedildi.** Gerekçe:

- "Şube" kelimesi Türkiye pratiğinde üç farklı şeyi anlatıyor: aynı VKN'li fiziksel nokta, aynı VKN'li ayrı defter, farklı VKN'li franchise noktası.
- Bu üçü aynı nesneye sıkıştırılırsa hiçbiri doğru modellenmiyor.
- Üçü zaten mevcut katmanlarla karşılanıyor: **fiziksel nokta = adres kaydı**, **ayrı defter = ayrı workspace**, **farklı VKN = ayrı firma**.

Sonuç: veri modeli düz kaldı, kullanıcı üç ayrı kavramı ezberlemek zorunda kalmadı.

### 4.5 Yapı rozetleri (türetilmiş)

Bir firmanın yapısı elle seçilmez, **veriden hesaplanır**:

| Rozet | Türetme kuralı |
|---|---|
| `Tekil` | 1 firma, 1 workspace |
| `Çok workspace'li` | 1 firma, birden fazla workspace |
| `Grup üyesi` | Müşteri tipi = Grup Şirketi |
| `Franchise noktası` | Müşteri tipi = Franchise Ağı |

> **Not:** Eski "tek defterli / ayrık defterli" ifadeleri tamamen düşürüldü — muhasebe jargonu operasyon ekibine gereksiz yük bindiriyordu.

---

## 5. Kimlik ve faturalama modeli

Bu bölüm sistemin en ince kurgusudur ve yasal risk taşır. Sorun şudur: **müşteri para ödemeye hazır ama VKN'sini vermemiş.** Satışı durdurmak ticari kayıp, faturasız bırakmak yasal risk.

### 5.1 İki ayrı alan

Karışıklığın çıkacağı yer burasıdır, o yüzden baştan ayrılır:

| Alan | Ne işe yarar | Değişir mi? |
|---|---|---|
| **Kayıt anahtarı** | Sistemin firmayı tanıdığı tekil kimlik | **Asla değişmez** |
| **Fatura kimliği** | Faturaya yazılan vergi kimliği | Değişir, her değişim loglanır |

Kayıt anahtarı üç şekilde oluşur:

1. Girilen **VKN** (10 hane)
2. Girilen **TCKN** (11 hane)
3. Vergi kimliği yoksa sistemin otomatik ürettiği **geçici anahtar** (`GEC-2026-000431`)

> **Neden anahtar değişmiyor?** Workspace, destek, eğitim ve aktivasyon geçmişi bu anahtara bağlıdır. Anahtarı değiştirmek müşteri hafızasını ikiye bölmek olur. Geçici anahtarla açılan kayıt sonradan VKN alsa bile anahtarı sabit kalır; VKN **fatura kimliği** alanına yazılır.

### 5.2 Fatura kimliği kademesi

Satış departmanı sırayla dener:

1. **VKN varsa** → VKN yazılır, konu kapanır
2. **VKN yok, TCKN alınabiliyorsa** → TCKN yazılır, e-Arşiv şahıs adına kesilebilir
3. **İkisi de yoksa** → `11111111111` yazılır, e-Arşiv yine kesilir

Üçüncü seçenek kaydın üstünde ayrı bir rozet taşır — çünkü bu bir çözüm değil, **kabul edilmiş bir eksiktir** ve finansın görebilmesi gerekir.

### 5.3 Yedi günlük sayaç

```
Gün 0    Ödeme doğrulandı → LİSANS HEMEN AKTİF
         "VKN topla" görevi sorumluya düşer, sayaç başlar
Gün 1-6  Müşteriye hatırlatma, sorumluya günlük uyarı
         VKN gelirse → fatura VKN ile kesilir, sayaç kapanır
Gün 7    Sayaç dolar → e-Arşiv otomatik ŞAHIS ADINA kesilir
         Kimlik: TCKN varsa TCKN, yoksa 11111111111
         Unvan: gerçek kişinin ad-soyadı
```

Sayaç **türetilmiş veridir**: `ödeme doğrulama tarihi + 7 gün − bugün`. Elle girilmez, elle sıfırlanmaz.

Müşteri VKN'sini sonradan ilettiğinde güncelleme yapılır; **bundan sonraki faturalar** yeni bilgiye göre kesilir. Geçmiş fatura için "iptal → yeniden kes" akışı ayrı bir modal olarak çalışır.

### 5.4 Bu kurgunun mantığı

Kilit **satıştan alınıp fatura anına taşınmıştır.** Bunun üç sonucu var:

- Para bekletilmiyor, lisans anında aktif oluyor → ticari kayıp yok
- Fatura mutlaka kesiliyor → yasal risk kapalı
- Eksiklik görünür kalıyor → finans neyin eksik olduğunu biliyor

---

## 6. Kanal modeli: Bayi, Alt Bayi, SMMM

### 6.1 Hiyerarşi

| Seviye | Tanım | Görebileceği veri |
|---|---|---|
| **WEGS Merkezi** | Sistemin sahibi ve üst yönetim katmanı | Tüm müşteri, firma, bayi, alt bayi, SMMM ve kaynak verileri |
| **Bayi** | WEGS adına müşteri yönlendiren veya kanal oluşturan iş ortağı | Kendi girdiği + kendine bağlı alt bayi ve SMMM'lerin getirdiği kayıtlar |
| **Alt Bayi** | Bir bayiye bağlı alt iş ortağı | Yalnızca kendi girdiği veya kendisine atanmış kayıtlar |
| **SMMM** | Müşteri yönlendiren mali müşavir | Yalnızca kendi yönlendirdiği kayıtlar |

### 6.2 Veri izolasyonu kuralları

- Bayi başka bir bayinin müşterisini, SMMM'sini veya performansını **göremez**
- Alt bayi, bağlı olduğu ana bayinin tüm verilerini **göremez**
- SMMM birden fazla bayi üzerinden müşteri yönlendirebilir; **her yönlendirme ayrı kaynak ilişkisi** olarak tutulur
- WEGS her müşterinin hangi kaynakla geldiğini açıkça görür

### 6.3 Kaynak, tek alan değil ilişkidir

Bir kaydın kaynağı `kaynak = "Bayi X"` gibi tek bir alan olarak tutulamaz. Çünkü aynı SMMM farklı bayiler üzerinden müşteri yönlendirebilir. Bu yüzden:

- **SMMM kaydı tekildir**
- SMMM'nin bayi ile ilişkisi **ayrı bir bağlantı kaydıdır**
- Müşteri yönlendirmesi bu bağlantı üzerinden kaynaklandırılır

### 6.4 WEGS merkezi de bir kanaldır

WEGS merkezi sistemde özel bir kaynak olarak tanımlanır. Böylece doğrudan gelen müşteriler, merkeze bağlı SMMM'ler ve WEGS satış ekibinin oluşturduğu leadler aynı kaynak modeliyle yönetilir.

### 6.5 KPI etkisi

> **Temel prensip:** Müşteri hangi kanaldan gelirse gelsin satış, eğitim, destek ve iletişim süreci WEGS ekibi tarafından yürütülür. Kaynak bilgisi ayrıca tutulur; KPI'larda tüm müşteriler **ortak satış hunisine** dahil edilir.

Kanal komisyon oranı **%25 üzerindeyse Finans onayına düşer.**

---

## 7. Menü haritası

Sol sidebar iki grupta 22 madde taşır. İlk dört madde bilinçli olarak veri modelinin omurgasını okutur: **özet → ilişki → tüzel kişilik → ürün alanı.**

```
OPERASYON
 1  Dashboard
 2  Müşteriler                 ← 1. katman · ticari ilişki, sözleşme, faturalama
 3  Firmalar                   ← 2. katman · tüzel kişilik, VKN, yetkili, adres
 4  Workspace'ler              ← 3. katman · ürün alanı, lisans, seat, entegrasyon
 5  Leadler
 6  Satış Pipeline
 7  Bayi & SMMM Kanal Yönetimi
 8  Teklifler
 9  Lisanslar
10  Paket & Fiyatlandırma
11  Onboarding
12  Müşteri Başarı
13  Destek Talepleri
14  Finans & Tahsilat
15  Faturalar

SİSTEM & YÖNETİM
16  Toollar
17  Entegrasyonlar
18  Sistem Sağlığı
19  Raporlar
20  Audit Log
21  Admin Ayarları
22  Eğitim Materyalleri & SSS
```

### 7.1 Menüye dair kararlar

- **Üç katman, üç menü öğesi.** Müşteri katmanını Firmalar modülünün içine segment olarak gömmek denendi; menü hiyerarşiyi yalan söylediği için vazgeçildi. Yeni ekip üyesi menüye bakınca sistemin yapısını okuyabilmeli.
- **Liste tekrarı endişesi filtreyle çözüldü.** Tekil firmalarda müşteri kaydı otomatik oluştuğu için "Müşteriler" listesi "Firmalar" listesinin kopyası gibi görünme riski taşıyordu. Çözüm: **Müşteriler listesi varsayılan olarak yalnızca çok firmalı yapıları gösterir** (Grup Şirketi ve Franchise Ağı); tekiller filtreyle açılır.
- **Workspace'ler modülü ayrı kalır.** Destek ve teknik ekip günlük olarak firmadan bağımsız sorgular yapıyor: onboarding'de takılmış, trial'ı bitmek üzere olan, entegrasyonu kopmuş, askıya alınmış workspace'ler. Bu ekran kaldırılırsa bir workspace'e ulaşmanın tek yolu önce hangi firmaya ait olduğunu bilmek olur.
- **Bayi & SMMM Kanal Yönetimi alt menü değil, ayrı modüldür.**
- **"Müşteri Başarı" adı değişmedi** — o modül ticari ilişkiyi değil, müşteri memnuniyeti disiplinini anlatır.
- 22 maddede sidebar kısa ekranlarda dikey kayar; grup başlıkları (`OPERASYON` / `SİSTEM & YÖNETİM`) **yapışkan** kalır.

> ⚠️ **Uyumsuzluk uyarısı:** Proje talimatlarındaki (system prompt) menü listesi hâlâ eski 20 maddelik yapıyı (2 Müşteriler, 3 Workspace'ler, 5.1 Bayi alt menü) içeriyor. Yukarıdaki 22 maddelik liste günceldir; proje talimatlarının güncellenmesi gerekir.

---

## 8. Ana iş akışları

### 8.1 Lead'den müşteriye dönüşüm

```
1  Lead oluşur          Web, referans, fuar, banka, inbound/outbound
2  Satışçı atanır       Kaynak, sektör, ürün ilgisi veya bölgeye göre
3  İhtiyaç analizi      Görüşme notu, ürün ihtiyacı, bütçe
4  Fırsat açılır        Nitelikli lead pipeline'da fırsata dönüşür
5  Firma / Workspace    Satış kazanılınca firma ve workspace oluşur, onboarding başlar
```

### 8.2 Teklif ve lisans aktivasyonu

```
1  Teklif hazırlanır    Ürün, paket, seat, kontör, entegrasyon, özel kalemler
2  Onay kontrolü        İndirim tavanı aşılırsa yönetici onayına düşer
3  Müşteriye gönderilir PDF teklif + ödeme bağlantısı
4  Ödeme alınır         Finans kaydı oluşur
5  Lisans aktifleşir    Ürün, paket ve seat hakları workspace'te aktif olur
```

> **Kritik kural:** Teklif kabul edildiğinde fiyat yalnızca *not* olarak kalmaz; müşteriye bağlı **kalıcı özel fiyat / özel indirim kuralına** dönüşür. Sonraki ödeme, yenileme ve faturalandırma bu kuralı dikkate alır.

### 8.3 Ödeme → otomatik fatura → otomatik lisans

Müşteri kendi ürün panelinden ödeme yaptığında panel tarafında manuel işlem beklenmez:

| Olay | Otomatik aksiyon | Oluşan kayıt |
|---|---|---|
| Ödeme başarılı | Ödeme kaydı oluşur, satış/finans durumu güncellenir | Payment, gelir kaydı, audit log |
| Fatura kesilecek ödeme | e-Fatura/e-Arşiv otomatik oluşur | Invoice, PDF, fatura durumu |
| Yeni paket satın alındı | Ürün lisansı oluşur, tarih aralığı atanır | Product License |
| Lisans yenilendi | Bitiş tarihi uzatılır | Renewal log |
| Ek seat alındı | Seat havuzu artar | Seat transaction |
| Kontör alındı | Bakiye artar, geçerlilik atanır | Credit transaction |
| Ek modül alındı | Modül yetkisi workspace'te aktif olur | Module entitlement |
| Ödeme başarısız | Lisans/fatura oluşmaz, uyarı gider | Failed payment log, takip görevi |

> **İş kuralı:** Fatura ve lisans aktivasyonu **yalnızca ödeme sağlayıcısından doğrulanmış** başarılı ödeme sonrası yapılır. Başarısız, beklemede veya şüpheli ödemede lisans otomatik aktive edilmez.

### 8.4 VKN bekleyen firma akışı

Bkz. §5.3. İki kollu akış: VKN gelirse normal fatura, gelmezse 7. günde e-Arşiv şahıs adına.

### 8.5 Churn risk yönetimi

```
1  Sinyal yakalanır     Pasif kullanım, geciken ödeme, açık kritik ticket, lisans bitişi
2  Risk skoru hesaplanır Kullanım + finans + destek + iletişim sinyalleri birleşir
3  Aksiyon önerilir     Kural motoru / AI müşteri başarı ekibine öneri üretir
4  Görev açılır         Arama, toplantı, demo, teknik çözüm veya ödeme takibi
5  Sonuç izlenir        Risk düşer, sabit kalır veya yönetim eskalasyonuna çıkar
```

### 8.6 Dashboard: "Aksiyon bekleyen workspace'ler"

Türetilmiş veri kuralına uyar; her satırın **sebebi** ve **kaç gündür beklediği** görünür, tıklanınca doğrudan o workspace'e gider.

| Tetikleyen durum | Rozet |
|---|---|
| Onboarding 7+ gündür yarım | warning |
| Trial bitişine 5 gün kaldı | warning |
| Entegrasyon 24 saattir kopuk | danger |
| Lisans bitişine 15 gün kaldı | warning |
| Askıya alınmış, 90 gün sayacı işliyor | danger |
| VKN bekleyen firmaya bağlı, eşik üstü | danger |

Sağ üstte "Tümünü gör" → Workspace'ler modülüne aynı filtre uygulanmış halde açılır.

> **Bilinçli olarak çıkarıldı:** "Seat %100 dolu" uyarısı bu karta girmez. Seat dolması bir sorun değil, olağan bir durumdur.

---

## 9. Durum kümeleri ve geçiş kuralları

### 9.1 Firma / Müşteri

`Müşteri Adayı` → `Aktif Müşteri` → `Eski Müşteri`

- **Askıya alma müşteriyi Eski Müşteri yapmaz** — ilişki devam ediyordur.
- Askı 90 günlük veri saklama süresini doldurduğunda geçiş **otomatik** olur. Bu bir kişisel yorum değil, sistem sonucudur.

### 9.2 Workspace

`Aktif` · `Onboarding` · `Trial` · `Sona Yakın` · `Askıya Alınmış`

- Workspace durumu **firma seviyesinde tekrarlanmaz.**
- **Askıdaki workspace geliri MRR'a sayılmaz**; "risk altındaki MRR" olarak ayrı izlenir.

### 9.3 Teklif

`Taslak` · `Onay Bekliyor` · `Gönderildi` · `Görüntülendi` · `Kabul` · `Reddedildi` · `Süresi Doldu` · `Revize Edildi`

- "Süresi Doldu" ve "Görüntülendi" **türetilmiş durumlardır**; elle işaretlenmez.

### 9.4 İndirim yetkisi — iki ayrı mekanizma

Bu ayrım kritiktir ve sık karıştırılır:

| Nerede | Mekanizma | Davranış |
|---|---|---|
| **Ödeme ve fatura kalemleri** | **Sert sınır** | Tavanı aşan değer anında tavana çekilir, onay akışı yoktur. Belge anında kesinleştiği için beklemeye tahammülü yoktur. |
| **Teklif kalemleri** | **Onay akışı** | Tavan aşılırsa teklif `Onay Bekliyor` durumuna geçer; onaylanmadan gönderilemez. Teklif bir öneridir, revizyonu ve bekleme durumu vardır. |
| **Kanal komisyon oranı** | **Onay akışı** | %25 üzerindeki oran Finans onayına düşer. |

**İndirim tavanı sayıları henüz sabitlenmedi.** Rol bazlı öneri: Satış Uzmanı %15 · Satış Müdürü %25 · Satış Direktörü %35 · Admin %40. Tavanlar `Admin Ayarları > İndirim Yetkileri` ekranından rol ve kişi bazında tanımlanır.

---

## 10. Skorlar ve KPI sistemi

### 10.1 İki skor, iki seviye

Bu ikisi **asla karıştırılmaz**:

**Sağlık Skoru — firmaya aittir**

| Bileşen | Ağırlık |
|---|---|
| Kullanım | %35 |
| Destek | %20 |
| Finans | %20 |
| Yenileme & Onboarding | %15 |
| Entegrasyon | %10 |

Eşikler: `≥70 iyi` · `40–69 izlenmeli` · `<40 riskli`

**Aktivasyon Skoru — workspace'e aittir**

| Bileşen | Ağırlık |
|---|---|
| Kurulum & Onboarding | %30 |
| İlk Değer Anı | %25 |
| Kullanım Sıklığı | %20 |
| İşlem Hacmi | %15 |
| Entegrasyon & Seat | %10 |

Eşikler: `≥70 aktif` · `40–69 kısmi` · `<40 düşük`

> **Kural:** Alt puanların ağırlıklı toplamı **her zaman** ana skoru vermelidir. Ağırlıklar Admin Ayarları'ndan yönetilebilir. Skor hücresine tıklanınca kırılım popover'ı açılır — bileşik skorlar "kara kutu" olamaz.

### 10.2 KPI aileleri

Master dokümanda 21 alt başlıkta tanımlı. Ana gruplar:

- **Satış hunisi** — kayıttan ödemeye dönüşüm oranları, aşama bazlı düşüş
- **Kayıt sonrası hız** — "ilk 5 dakika" operasyonu: mesai içi yeni kayıtlar için otomatik sayaç, görev ve uyarı
- **Hoşgeldin araması / satış görüşmesi / eğitim-demo** — temas kalitesi ve no-show oranları
- **Aktivasyon** — ilk değer anına ulaşma süresi
- **Ekip performansı** — temsilci bazlı dönüşüm, takip disiplini
- **Tıkanıklık analizi** — hangi aşamada ne kadar kayıp
- **Gelir** — MRR, New MRR, Churn MRR, Expansion MRR
- **Ürün / segment / kaynak bazlı kırılımlar**

### 10.3 Yasak gösterge tipi

> **Tahmini gösterge kullanılmaz.** Kapanma olasılığı yüzdesi, ağırlıklı tahmin ve benzeri çarpımlar panelde yer almaz. Bunlar bir durumu ölçmez, bir varsayımı sayıya çevirir; kullanıcı hangi varsayımın içeride olduğunu göremez. Yerine somut toplam konur: **açık tutar, bu ay kapanan tutar, bekleyen teklif tutarı.**

---

## 11. Roller ve yetki matrisi

| Rol | Görebilir | Yapabilir | Kısıt |
|---|---|---|---|
| **Super Admin** | Tüm modüller | Okuma, yazma, silme, ayar değiştirme | Kritik işlemlerde double-confirm ve audit zorunlu |
| **Yönetim** | Dashboard, raporlar, müşteri, gelir, pipeline | Stratejik raporları görüntüler | Teknik ayarları değiştiremez |
| **Satış Yöneticisi** | Lead, pipeline, teklif, müşteri, satış raporları | Fırsat atar, teklif onaylar | Sistem ayarları ve teknik loglara erişemez |
| **Satış Temsilcisi** | Kendi lead, fırsat, teklif ve müşterileri | Görüşme, teklif, görev, takip kaydı | Başka temsilcinin fırsatını yönetemez |
| **Müşteri Başarı** | Müşteri, onboarding, kullanım, churn, destek özeti | Görev açar, not ekler | Fiyat ve finansal işlem değiştiremez |
| **Destek Ekibi** | Ticket, teknik özet, entegrasyon durumu | Ticket çözer, eskalasyon oluşturur | Finans ve fiyat bilgisine sınırlı erişir |
| **Finans Ekibi** | Fatura, ödeme, tahsilat, MRR, lisans | Ödeme/tahsilat notu, finans raporları | Teknik log ve sistem ayarlarına erişemez |
| **Teknik Ekip** | Entegrasyon, log, sistem sağlığı, workspace teknik bilgisi | Teknik problem ve servis yönetimi | Gelir ve fiyat bilgisine erişemez |
| **Bayi Kullanıcısı** | Kendi ve bağlı kanal kayıtları, kendi kanal performansı | Müşteri adayı ekler, kayıtlarını takip eder | Başka bayilerin verilerini ve WEGS genel KPI'larını göremez |
| **Alt Bayi Kullanıcısı** | Yalnızca kendi girdiği kayıtlar | Müşteri adayı ekler | Ana bayinin ve diğer alt bayilerin verilerini göremez |
| **SMMM Kullanıcısı** | Yalnızca kendi yönlendirdiği kayıtlar | Yönlendirme yapar, durumlarını izler | Başka SMMM/bayi/WEGS iç verisini göremez |
| **İçerik Yöneticisi** | Eğitim materyalleri, SSS, dosyalar | İçerik oluşturur, yayına alır | Yalnızca üst yönetim veya özel yetkilendirmeyle verilir |
| **Salt Okunur** | Yetkilendirilen ekranlar | Sadece görüntüleme | Hiçbir kayıt değiştiremez |

### 11.1 Güvenlik ilkeleri

- Panel müşteriye açık değildir; yalnızca WEGS iç ağı / yetkili kullanıcılar erişir
- Panel doğrudan veritabanına sınırsız erişmez; servis/API katmanı üzerinden çalışır
- **Her işlem audit log'a yazılır**
- Kritik işlemlerde double-confirm, gerekirse yönetici onayı
- Rol bazlı yetki + alan bazlı maskeleme + işlem bazlı izin **birlikte** kullanılır (ör. API anahtarı maskeli gösterilir, açma işlemi loglanır)

---

## 12. Karar kütüğü

Alınmış ve gerekçesiyle sabitlenmiş kararlar. Bir öneri getirmeden önce bu liste okunmalıdır.

| # | Karar | Gerekçe | Durum |
|---|---|---|---|
| **K-01** | Ayrı bir *Şube* nesnesi **yok** | "Şube" üç farklı şeyi anlatıyor; üçü de mevcut katmanlarla karşılanıyor (adres / workspace / firma) | Sabit |
| **K-02** | Yapı rozeti ve durum alanları **türetilir**, elle girilmez | Elle girilen alan bakım yükü ve hata kaynağıdır | Sabit |
| **K-03** | Grup tipi ve faturalama **ayrı alanlardır**; yapı rozeti grup tipinden türer, faturalamadan değil | Merkezi faturalama yapan bir franchise ağı ile grup şirketi aynı şey değildir | Sabit |
| **K-04** | "Defter" kelimesi tasfiye edildi, nesne adı **Workspace** | Ürün içindeki gerçek nesne workspace'tir; iki isimli nesne olmaz | Sabit |
| **K-05** | Faturalama tercihi **müşteri kaydında** durur, firma kaydında değil | Faturalama ticari ilişkinin özelliğidir, tüzel kişiliğin değil | Sabit |
| **K-06** | Aynı VKN ile ikinci firma kaydı açılamaz; formda **canlı çakışma uyarısı** ve "Kayda git" butonu | Mükerrer kaydın en ucuz çözümü, hiç oluşmamasıdır | Sabit |
| **K-07** | **Tek kaynak kuralı** — bir alanın hem girildiği hem hesaplandığı iki ayrı yer bulunmaz | İki kaynak = kaçınılmaz tutarsızlık | Sabit |
| **K-08** | İndirim yetkisi **iki mekanizmalıdır**: fatura/ödemede sert sınır, teklifte onay akışı | Belge anında kesinleşir, teklif bir öneridir | Sabit |
| **K-09** | Veri modeli üç katmana geçti: **Müşteri → Firma → Workspace** | "Müşteri grubu" opsiyonel bir etiketti; ticari ilişkinin gerçek sahibini taşıyamıyordu. Sözleşme ve faturalama tercihinin duracağı gerçek bir katman gerekti. | **v2'de değişti** |
| **K-10** | **Kayıt anahtarı ≠ fatura kimliği** | Anahtar değişirse müşteri hafızası ikiye bölünür | Yeni |
| **K-11** | Vergi kimliği olmayan firmaya satış **engellenmez**; geçici anahtar üretilir, lisans anında aktifleşir | Satışı durdurmak ticari kayıp; yasal risk fatura anındaki kuralla kapatılır | Yeni |
| **K-12** | Ödemeden 7 gün sonra VKN gelmezse **e-Arşiv şahıs adına** otomatik kesilir | Yasal zorunluluk karşılanır, para bekletilmez | Yeni |
| **K-13** | Menüde **üç katman = üç menü öğesi**; Müşteriler listesi varsayılan olarak çok firmalı yapıları gösterir | Menü hiyerarşiyi dürüstçe yansıtmalı; liste tekrarı filtreyle çözülür | Yeni |
| **K-14** | Workspace'ler modülü ayrı kalır, firma içine gömülmez | Destek/teknik ekip firmadan bağımsız workspace sorgusu yapıyor | Yeni |
| **K-15** | "tek defterli / ayrık defterli" ifadeleri düşürüldü; rozetler `Tekil · Çok workspace'li · Grup üyesi · Franchise noktası` | Muhasebe jargonu operasyon ekibine gereksiz yük | Yeni |
| **K-16** | Dashboard aksiyon kartında **"Seat %100 dolu" uyarısı yok** | Seat dolması sorun değil, olağan durum | Yeni |
| **K-17** | Bayi & SMMM Kanal Yönetimi **alt menü değil, ayrı modül** | — | Yeni |

---

## 13. Değişmez tasarım kuralları

Bu kurallar tüm modüllerde geçerlidir ve modülden modüle tartışılmaz.

### 13.1 Türetilmiş veri kuralı

Ekranda görünen her sayının kaynağı belli olur.

| Gösterge | Kaynağı |
|---|---|
| MRR | Ürün satırlarının aylık tutarları toplamı |
| Sözleşme değeri | MRR × sözleşme süresi + tek seferlik kalemler |
| "X gündür durgun" | Son aktivite kaydının tarihi ile bugün arasındaki fark |
| "X× ertelendi" | Tarihin ileri alındığı değişiklik kayıtlarının sayısı |
| Aşamada geçen gün | İki aşama giriş tarihi arasındaki fark |
| Gecikme uyarısı | Beklenen tarih < bugün **ve** kayıt hâlâ açık |
| VKN geri sayımı | Ödeme doğrulama tarihi + 7 gün − bugün |

> **Kaynağı görünmeyen sayı ekranda durmaz.** Bir gösterge elle girilmiş bir alandan besleniyorsa ya kaynağı kullanıcıya gösterilir (tooltip, kayıt listesi, zaman çizelgesi) ya da gösterge kaldırılır.

### 13.2 Veri girişi ve görünürlük

- **Bir alanın girildiği yer ile görüldüğü yer aynı olmalıdır.** Kilit penceresinde toplanan her alan, ait olduğu aşamanın altında geri gösterilir ve orada düzeltilebilir. Kullanıcı veriyi girdiği ekranı bir daha bulamıyorsa o veri ölüdür.
- Her düzeltme aktivite çizelgesine **eski → yeni** değeriyle ve değiştiren kişiyle yazılır.
- 20 kayıttan fazlasında `<select>` kullanılmaz; aramalı seçici kullanılır. Seçici her zaman kaydın **kimliğini de** gösterir (kod, şehir, bağlı olduğu üst) — yalnız unvan gösterilirse benzer isimli firmalar ayırt edilemez.

### 13.3 Aşama kilidi kuralı

- Zorunlu alanlar, aşamaya girmek için gereken **kanıtlardır** ve olmuş bir işi belgeler (tarih, kayıt numarası, kişi).
- Bir alan aşama *sırasında* üretiliyorsa girişte değil, **çıkışta** istenir.
- Kilit yalnızca engellemez: eksik alanları **aynı pencerede** doldurtup geçişi tamamlar. Kullanıcı başka ekrana gönderilmez.
- Aşamayı geri almak zorunlu alan istemez, ancak Audit Log'a yazılır.

### 13.4 Onay modalı kuralı

> Onay modalı "emin misin" diye sormaz, **"ne olsun" diye sorar.**

Geri alınamaz veya geniş etkili işlemlerde sıra: `etki listesi → kapsam/davranış seçimi → neden → not → geri alınabilirlik notu → aksiyonlar`.

Etki listesi **her zaman ikili** verilir (ne duracak / ne etkilenmeyecek); sadece "ne duracak" göstermek kullanıcıyı olduğundan çok korkutur.

### 13.5 Rozet ve gösterim kuralları

- **Tek rozet kuralı:** Bir kartta aynı anda yalnızca bir durum rozeti gösterilir. Öncelik: bekleyen aksiyon → gecikmiş tarih → durgunluk → kapanış durumu. Rozet, karta bakan kişiye *o an ne yapması gerektiğini* söylemiyorsa yazılmaz.
- **KPI kartı** ya delta (▲/▼) ya nötr alt satır taşır, ikisini birden değil. Yönü tartışmalı metriklerde delta kullanılmaz.
- **Oran hücresi** rakamı önce, barı sonra verir. Bar rengi eşiğe göre: %55 üstü nötr, %40–55 warning, %40 altı danger.
- **Hiyerarşi ağacı iki seviyeden derin olmaz**; daha derin yapı için ilgili düğümün kendi 360° ekranına gidilir.
- **Sistem satırı** (silinemeyen kayıt) hafif farklı zemin + kilit ikonu taşır, satır menüsünde yıkıcı aksiyon bulunmaz.

### 13.6 Semantik renk kullanımı

| Anlam | Renk |
|---|---|
| Pozitif durum, aktif lisans | success (yeşil) |
| Riskli, geciken | warning (turuncu) |
| Churn, hata, iptal | danger (kırmızı) |
| AI önerisi | purple (mor) |

---

## 14. Tasarım sistemi

### 14.1 Tasarım felsefesi

Hedef seviye: Apple'ın sadeliği, Linear'ın modernliği, Notion'un düzeni, Stripe Dashboard'un profesyonelliği, Vercel'in temizliği, HubSpot'un kullanılabilirliği.

> Hiçbir ekran eski ERP programları gibi kalabalık görünmemeli. Kullanıcı sisteme ilk girdiğinde korkmamalı. Bir kullanıcı **eğitim almadan** sistemi kullanabilmeli.

### 14.2 Renk paleti

Palet logodan türetilmiştir: `--navy` ve `--accent` logodan birebir, `--brand` ikisini köprüleyen primary'dir.

```css
:root{
  --brand:#1274C5;        /* primary — buton, link, seçili öğe */
  --brand-soft:#E9F3FC;   /* seçili satır, soft badge, KPI ikon çipi */
  --accent:#23AAE1;       /* logodan — aktif menü şeridi, grafik 2. seri */
  --accent-soft:#E8F6FC;
  --navy:#0F3156;         /* logodan — sidebar zemini */
  --ink:#0F3156;          /* birincil metin */
  --muted:#5B7089;        /* ikincil metin, etiketler */
  --line:#DFE7F0;         /* tüm border'lar */
  --bg:#F4F7FA;           /* sayfa zemini */
  --card:#FFFFFF;
  --success:#0FA968;  --success-soft:#E7F7EF;
  --warning:#B45309;  --warning-soft:#FFF4E0;
  --danger:#D93843;   --danger-soft:#FDECEE;
  --purple:#6E56CF;   --purple-soft:#F1EDFB;   /* AI öğeleri */
}
```

**Gölge tek tanımdır** ve yalnızca kart/dropdown'da kullanılır:
`box-shadow:0 1px 2px rgba(15,49,86,.04), 0 6px 16px rgba(15,49,86,.06)`

**Gradient yalnızca üç sabit noktada** kullanılır:
1. Sidebar zemini — `linear-gradient(180deg,#134070 0%,#0F3156 48%,#0B2544 100%)`
2. Logo işareti — `linear-gradient(135deg,#1274C5,#23AAE1)`
3. Primary buton — `linear-gradient(180deg,#1A82D6,#1274C5)`

Aktif menü öğesi: `linear-gradient(90deg,rgba(35,170,225,.16),rgba(255,255,255,.06))` + sol 3px `--accent` şerit.

### 14.3 Tipografi

Font yalnızca **Inter**: `font-family:Inter,-apple-system,sans-serif`

| Kademe | Değer |
|---|---|
| Sayfa başlığı | 22px / 700 / letter-spacing −0.02em |
| Bölüm & kart başlığı | 15px / 650 |
| Gövde ve tablo hücresi | 13.5px / 450 |
| İkincil metin & etiket | 12px / 500, `--muted` |
| KPI büyük rakam | 26px / 750 |
| Badge & buton metni | 12.5px / 600 |
| Satır yüksekliği | Metinlerde 1.5, başlıklarda 1.2 |

### 14.4 Boşluk ve köşe

- Spacing yalnızca 4'ün katları: `4 / 8 / 12 / 16 / 20 / 24 / 32`
- Sayfa iç dolgusu 24px · Kartlar arası 16px · Kart içi 20px
- Radius: kart 12px · buton/input 8px · badge 999px · modal 16px

### 14.5 Layout shell (her ekranda birebir aynı)

- **Sidebar** — sol, 232px sabit, `--navy` zemin, üstte WEGS logosu, menü 13px, pasif `rgba(255,255,255,.65)`, aktif öğe beyaz + accent şerit
- **Header** — 60px, beyaz, alt border `--line`. Solda sayfa başlığı + breadcrumb, sağda global arama, bildirim zili, kullanıcı monogramı + rol etiketi
- **İçerik alanı** — `--bg` zemin, 24px dolgu

### 14.6 Responsive kuralları

Kırılımlar: **masaüstü ≥1200px** (referans tuval 1440px) · **tablet 768–1199px** · **mobil ≤767px**. Yaklaşım masaüstü öncelikli.

| Öğe | Masaüstü | Tablet | Mobil |
|---|---|---|---|
| Sidebar | 232px açık | 64px ikon modu, tooltip | Gizli, hamburger → drawer |
| Header araması | Tam input | Tam input | Arama ikonu |
| KPI grid | 4 kolon | 2 kolon | 1 kolon |
| Tablolar | Normal | Yatay scroll, ilk kolon sabit | **Kart görünümü** |
| Filtreler | Satırda | Satırda | "Filtreler" butonunda toplanır (aktif sayı badge'li) |
| Slide-over | Sağdan 420px | Sağdan 420px | Tam ekran + geri oku |
| Form grid | 2 kolon | 2 kolon | 1 kolon, butonlar tam genişlik alt alta |

Dokunmatik hedefler mobilde en az **44px**. Yazı boyutları mobilde en fazla 1px küçülür. Taşan, kırpılan veya üst üste binen öğe olamaz.

### 14.7 Görsel varlık kuralları

- Dış kütüphane, CDN, harici font veya harici görsel **kullanılmaz**
- İkonlar inline SVG: stroke tabanlı, 1.5px, 20×20 viewBox, tek set
- Avatar yerine **harf monogramlı renkli daire** (ör. "AK")
- Grafikler inline SVG ile statik ve temsili

### 14.8 Örnek veri kuralları

- Gerçekçi Türkçe veri zorunlu: "Aydın Tekstil San. Tic. Ltd. Şti." gibi firma adları, Türk kişi adları, geçerli formatta VKN/TCKN
- Para: `₺48.750` (₺ simgesi + binlik ayraç)
- Tarih: `GG.AA.YYYY`
- **"Lorem ipsum" yasaktır**
- **Boş tablo yasaktır** — listeler 6–10 satır gerçekçi veriyle dolar, farklı durum/badge çeşitleri örneklenir

---

## 15. Component envanteri

Tasarım sistemi dosyası (`wegs_shell_design_system_v5.html`) 30 bölümlük bir component kataloğudur. Yeni ekran üretilirken sidebar, header ve component tanımları **birebir kopyalanır**; yalnızca içerik alanı ve aktif menü öğesi değişir.

| Bölüm | İçerik | Doğduğu modül |
|---|---|---|
| 1–12 | Renk, tipografi, buton, form, badge, KPI, filtre+tablo, sekme, uyarı, grafik, stepper/pagination, modal/boş durum | Temel sistem |
| 13 | Sağlık skoru, ürün çipleri, kişi kartı, AI kartı, zaman çizelgesi, mini tablo, kolon görünürlüğü | Müşteriler (v0.2) |
| 14 | Başlık kartı & slide-over | Müşteriler (v0.2) |
| 15 | Toolbar, filtre satırı, kolon yönetimi | Workspace'ler (v0.3) |
| 16 | Skor kırılım popover'ı | Workspace'ler (v0.3) |
| 17 | Workspace nokta dizisi `.ws-pips`, mini liste `.ws-mini`, bağlam şeridi `.ctx-bar`, seat doluluk | Workspace'ler (v0.3) |
| 18 | Ödeme kalemleri, tutar özeti, indirim ve yetki tavanı | Workspace'ler (v0.3) |
| 19 | Paket seçim kartı, iki kolonlu form düzeni, KPI varyantları | Workspace'ler (v0.3) |
| 20 | Toast bildirimi, ipucu balonu, prototip kuralları | Workspace'ler (v0.3) |
| 21 | **Terminoloji & veri modeli kuralları** | Çapraz — v0.6 |
| 22 | Pipeline tahtası, fırsat kartı, görünüm anahtarı, filtre çipi | Satış Pipeline (v0.4) |
| 23 | Aşama kilidi, canlı modal, seçim kartı | Satış Pipeline (v0.4) |
| 24 | Aşama kaydı, satır içi düzenleme, değişiklik kaydı | Satış Pipeline (v0.4) |
| 25 | **Türetilmiş veri kuralı** | Çapraz — v0.4 |
| 26 | Hiyerarşi ağacı `.ctree`, çoklu ilişki `.rel-cell` | Bayi & SMMM (v0.5) |
| 27 | Oran hücresi `.pct`, sistem satırı `tr.is-sys` | Bayi & SMMM (v0.5) |
| 28 | Aramalı kayıt seçici `.picker`, tekrarlanan blok `.sub-block`, kontrol listesi `.req-list` | Bayi & SMMM (v0.5) |
| 29 | Belge satırı `.file-row`, geniş modal | Bayi & SMMM (v0.5) |
| 30 | Geniş tablo davranışı (10+ kolon, sabit kolonlar) | Bayi & SMMM (v0.5) |

### 15.1 Onay bekleyen yeni componentler

| Component | Ne yapar | Durum |
|---|---|---|
| `.id-badge` | Kimlik tipini ayırır: VKN (nötr) · TCKN (nötr) · Geçici anahtar (warning) · `11111111111` (danger). Numara yanında monospace. | Onaylandı, shell'e eklenmeli |
| `.countdown` | "VKN bekleniyor · 4 gün kaldı" geri sayımı. Eşik üstü satışlarda danger + "iade riski" ibaresi. | Onaylandı, shell'e eklenmeli |

### 15.2 Prototip katmanı

Bir modülün ekranları tek dosyada birleştirilebilir. Her ekran `<section class="view">` içine alınır, aktif olan `.is-active` taşır. Geçişler `data-go`, bildirimler `data-toast` özniteliğiyle yönetilir. Bu katman **tasarım sisteminin parçası değildir**; ekranlar ayrı dosyalara bölünürse script bloğu atılabilir, görsel katman etkilenmez.

---

## 16. Çalışma disiplini

1. Her sohbette **tek modül** çalışılır.
2. Ekran üretmeden önce modülün içeriği (hangi kartlar, hangi tablo kolonları, hangi aksiyonlar) 3–5 maddede özetlenir ve **onay beklenir**.
3. Onaydan sonra HTML üretilir.
4. Revizyonlarda **dosyanın tamamı** güncel haliyle yeniden verilir; parça kod verilmez.
5. Tasarım sistemine yeni component eklenmesi gerekiyorsa **önce önerilir**; onaylanırsa kullanılır ve "shell dosyasına eklenmeli" diye açıkça belirtilir.
6. Her yeni ekran shell/referans dosyasının üzerine inşa edilir; modüller bütünleşik durur.
7. Yeni ekran üretmeden önce **21. bölüm (terminoloji) ve 25. bölüm (türetilmiş veri) okunur** — component seçimi kadar terim seçimi de shell'den gelir.

### 16.1 Sürümleme

Prototipler `v01`, `v02`… şeklinde artan sürümlerle verilir. Shell'in kendi sürümü ayrıdır (v0.1 → v0.6) ve her yeni modül shell'e component veya kural eklediğinde artar.

### 16.2 Her modül iki çıktı üretir

- HTML prototip (sürüm numaralı)
- Paralel bir **yönetici özeti** dokümanı (tasarım kararlarını izler)

---

## 17. Mevcut durum

| Modül | Durum | Not |
|---|---|---|
| **Tasarım sistemi (shell)** | ✅ v0.5 + 21. bölüm v0.6 yaması | 30 bölümlük component kataloğu |
| **Müşteriler (eski model)** | ⚠️ Prototip v07 üretildi, **modele göre revize edilmeli** | Eski Müşteri Grubu → Customer → Workspace modeline göre yapılmıştı |
| **Workspace'ler** | ✅ Componentleri shell v0.3'e işlendi | 15–20. bölümler |
| **Satış Pipeline** | ✅ Componentleri shell v0.4'e işlendi | 22–25. bölümler |
| **Bayi & SMMM Kanal Yönetimi** | ✅ Componentleri shell v0.5'e işlendi | 26–30. bölümler |
| **Leadler** | ✅ Kararları 21. bölüm v0.6'ya işlendi | Terminoloji katkısı |
| **Teklifler** | ✅ Kararları 21. bölüm v0.6'ya işlendi | Durum kümesi + indirim onay akışı |
| **Firmalar (yeni)** | 🔄 Ekran planı onaylandı, prototip üretimi başladı | 3 ekran: liste · Firma 360° · yeni firma formu |
| Kalan modüller | ⏳ Sırada | — |

### 17.1 Firmalar modülü — onaylanan ekran planı

**1 · Firma listesi**
KPI şeridi (4): Toplam firma · Aktif MRR · VKN bekleyen firma (kaçı eşik üstü) · Riskli firma (sağlık <40)
Kolonlar: Firma (unvan + F-kodu + müşteri etiketi) · Kimlik (rozet + numara) · Yapı · Workspace (nokta dizisi) · Ürünler · MRR · Sağlık · Sorumlu · Durum · ⋯
Satıra tıklayınca slide-over. VKN bekleyen satırlarda geri sayım hücrede görünür.

**2 · Firma 360°**
Sekmeler: Özet · Workspace'ler · **Kimlik & Faturalama** · Yetkililer & Adresler · Satış · Lisans · Finans · Destek · Entegrasyonlar · Log
"Kimlik & Faturalama" sekmesi: kayıt anahtarı (değişmez), fatura kimliği, fatura unvanı, kimlik değişim geçmişi, kesilmiş faturalar, iptal/yeniden kes aksiyonu
Workspace'ler sekmesinde her workspace **kart** olarak durur: ad + durum rozeti, ürün çipleri, seat doluluğu, MRR, son giriş, entegrasyon sağlığı — kartın tamamı tıklanabilir

**3 · Yeni firma formu**
Kimlik tipi seçimi üç kartla: VKN · TCKN · Vergi kimliği bekleniyor (geçici anahtar otomatik üretilir, ekranda gösterilir)
VKN/TCKN girildiğinde canlı mükerrer kontrolü; geçici anahtarda ad+GSM üzerinden yumuşak uyarı
Müşteri bağlama alanı **boş başlar**; boş bırakılırsa tekil müşteri otomatik oluşur

**Modaller:** fatura muhatabı seçimi · VKN güncelleme (iptal → yeniden kes önerisiyle) · eşik aşımı iade onayı

### 17.2 Müşteriler modülü — eski prototipte üretilmiş olanlar

Eski model üzerine kurulmuş olsa da şu componentler ve etkileşimler geçerlidir ve yeni modele taşınır: toplu seçim + aksiyon çubuğu, sağlık skoru kırılım popover'ı, maskeli API anahtarı (açma işlemi loglanır), sipariş çekme modalı (artımlı / tam / özel tarih aralığı), tekrar eden form blokları, grup tipi değiştirme modalı (onay + audit izi), canlı VKN çakışma uyarısı.

---

## 18. Açık konular

| Konu | Neden bekliyor |
|---|---|
| **21. bölüm v0.7 üretilmedi** | Yeni veri modeli, kimlik kuralları ve durum kümeleri hâlâ v0.6 dosyasında değil. Ekran üretiminden önce sabitlenmeli. |
| **Müşteriler modülü revizyonu** | v07 prototipi eski modele göre. Yeni Müşteri katmanına göre yeniden kurgulanmalı. |
| **Rol bazlı görünürlük matrisi** | API anahtarını ve MRR/indirim bilgisini hangi roller görebilir? Bilgi güvenliği onayı gerekiyor. |
| **İndirim tavanı sayıları** | Rol bazlı öneri var (%15/%25/%35/%40), sabitlenmedi. |
| **Mükerrer kayıt birleştirme (merge)** | Bundan sonrası VKN kuralıyla korunuyor; **mevcut kirli veri** için merge akışı gerekiyor. Bu turda mı, canlı sonrası mı? |
| **Senkronizasyon geçmişi ve iş kuyruğu** | Sipariş çekme işlemlerinin geçmişi ve kuyruk durumu hangi ekranda görünecek? |
| **Fatura ve Ödeme durum kümeleri** | Henüz tanımlanmadı; Faturalar ve Finans modülleri gelmeden sabitlenmeli. |
| **Proje talimatlarındaki menü** | Hâlâ eski 20 maddelik liste; 22 maddelik güncel listeyle değiştirilmeli. |

---

## 19. Analiz eden yapay zekaya brief

Bu dokümanı bir modele verirken şu soruları sorabilirsiniz:

1. **Veri modeli boşluk analizi.** `Müşteri → Firma → Workspace → Ürün/Lisans` dört katmanı, §4.3'teki beş senaryoyu ve §6'daki kanal modelini eksiksiz karşılıyor mu? Karşılayamadığı gerçek dünya durumu var mı? Özellikle: bir firmanın birden fazla müşteriye bağlanması gereken durum olabilir mi (ör. ortak girişim)?

2. **Kimlik kurgusu risk analizi.** §5'teki kayıt anahtarı / fatura kimliği ayrımı ve 7 günlük sayaç, Türkiye vergi mevzuatı ve e-Arşiv pratiği açısından savunulabilir mi? Gözden kaçan senaryo var mı (ör. VKN yanlış girilmiş, firma unvanı değişmiş, birleşme/devralma)?

3. **Kural çelişkisi taraması.** §12 karar kütüğü, §13 tasarım kuralları ve §9 durum kümeleri arasında birbiriyle çelişen madde var mı? Özellikle "türetilmiş veri" kuralı ile elle girilen alanların kesişimini kontrol edin.

4. **Modül kapsamı kontrolü.** §7'deki 22 modül, §8'deki akışları ve §10'daki KPI'ları üretmek için yeterli mi? Hangi veri hangi modülde toplanmıyor ama bir KPI'da kullanılıyor?

5. **Yetki modeli tutarlılığı.** §11'deki 13 rol, §6.2'deki kanal izolasyon kurallarını ve §18'de açık bırakılan görünürlük sorularını karşılayacak granülerlikte mi?

6. **Ölçeklenme.** Bu tasarım 500 firmada da 50.000 firmada da çalışır mı? Hangi ekran veya kural ölçekte kırılır?

### Kaynak dosyalar

| Dosya | İçerik |
|---|---|
| `wegs_customer_operation_panel_masterdokuman.html` | Ana spesifikasyon — strateji, kapsam, kanal, akışlar, KPI, modüller, roller, teknik mimari |
| `wegs_shell_design_system_v5.html` | Tasarım sistemi + 30 bölümlük component kataloğu (v0.5) |
| `wegs_shell_bolum21_v06.html` | Terminoloji ve veri modeli kuralları (v0.6 — güncellenmesi gerekiyor) |
| `COP_Tasarım_Mantığı.txt` | Tasarım felsefesi ve çalışma şekli |
| `Logo.png` | Renk paletinin türetildiği logo |

---

*Doküman sonu · WEGS Müşteri Operasyonları Yönetim Paneli · Sistem Dokümantasyonu v2 · 07.08.2026*
