# Firma İçe Aktarma - Değişiklik Özeti

## ✅ Yapılan Değişiklikler

### 1. Companies Migration - Eski Haline Döndürüldü
- ✅ `company_tax_number`, `company_address`, `company_district` alanları kaldırıldı
- ✅ Tablo orijinal haline getirildi

### 2. Addresses Tablosu Kullanımı
- ✅ Vergi numarası artık `addresses.vat_number` alanında
- ✅ Vergi dairesi `addresses.tax_office` alanında
- ✅ Adres bilgileri `addresses` tablosunda `type='billing'` ile
- ✅ Zorunlu alanlar: `line_1`, `city`, `state`, `zip`, `country`

### 3. Address Model Güncellendi
- ✅ `fillable` alanlar eklendi
- ✅ İlişkiler tanımlandı (company, team, user)
- ✅ SoftDeletes trait eklendi

### 4. Company Model
- ✅ `addresses` ilişkisi eklendi
- ✅ Eski fillable alanlarına döndürüldü

### 5. CompanyImportService Güncellendi
- ✅ Firma oluşturma mantığı değişti (ad bazlı)
- ✅ Her firma için `type='billing'` adres oluşturuluyor
- ✅ Adres bilgileri faturaya aktarılıyor
- ✅ Excel parse fonksiyonu yeni sütunlara göre güncellendi

### 6. Excel Şablonu Güncellendi
**Yeni Sütunlar:**
1. İşletme Adı * (zorunlu)
2. Vergi No
3. Vergi Dairesi
4. Adres (Satır 1) * (zorunlu)
5. Adres (Satır 2 / İlçe)
6. İl/Şehir * (zorunlu)
7. Bölge/State * (zorunlu)
8. Posta Kodu * (zorunlu)
9. Ülke * (zorunlu)
10. Bakiye

### 7. Önizleme Tablosu Güncellendi
- ✅ Yeni sütunlar gösteriliyor
- ✅ Adres, Şehir, Posta Kodu sütunları eklendi

### 8. Dokümantasyon Güncellendi
- ✅ Yeni tablo yapısı açıklandı
- ✅ Zorunlu alanlar işaretlendi (★)
- ✅ İçe aktarma mantığı güncellendi
- ✅ Örnek veri formatı güncellendi

## 🎯 Yeni Mantık

```
1. Excel → Parse
2. Firma adına göre kontrol
   ├─ Varsa: Mevcut firmayı kullan
   └─ Yoksa: Yeni firma oluştur
3. Firma için fatura adresi (billing) oluştur/güncelle
   ├─ Vergi no: addresses.vat_number
   ├─ Vergi dairesi: addresses.tax_office
   └─ Adres bilgileri: addresses tablosu
4. Bakiye varsa fatura oluştur
   └─ Fatura bilgileri adres tablosundan alınır
```

## 📊 Veri Akışı

```
Excel Dosyası
    ↓
CompanyImportService.parseExcelFile()
    ↓
CompanyImportService.importCompanyWithBalance()
    ↓
    ├─ Company::firstOrCreate()
    ├─ Address::updateOrCreate() [type='billing']
    └─ Invoice::create() [eğer bakiye != 0]
```

## 🔧 Test Senaryosu

1. `/companies/import` sayfasına git
2. "Şablonu İndir" butonuna tıkla
3. Excel'i aç ve firma bilgilerini gir:
   - İşletme Adı: ABC Ltd. ★
   - Vergi No: 1234567890
   - Vergi Dairesi: Çankaya VD
   - Adres (Satır 1): Atatürk Cad. No:5 ★
   - Adres (Satır 2/İlçe): Çankaya
   - İl/Şehir: Ankara ★
   - Bölge/State: Ankara ★
   - Posta Kodu: 06100 ★
   - Ülke: Türkiye ★
   - Bakiye: 5000

4. Dosyayı yükle ve içe aktar
5. Kontroller:
   - ✅ `companies` tablosunda yeni firma
   - ✅ `addresses` tablosunda `type='billing'` adres
   - ✅ `invoices` tablosunda açılış bakiyesi faturası

## 🎉 Sonuç

Sistem artık daha modüler ve esnek:
- Firmalar sadece temel bilgileri tutuyor
- Adresler ayrı tabloda, birden fazla adres eklenebilir
- Vergi bilgileri adres ile ilişkili
- Fatura adresleri `type='billing'` ile işaretli
