---
title: "Mikro ERP e-Fatura Entegrasyon Sorunları: 10 Hata ve SQL Çözüm Rehberi"
description: "Mikro ERP'de e-fatura gönderilmiyor, UUID hatası, şematron kontrolünden geçemedi, GİB bağlantı hatası mı alıyorsunuz? E_FATURA_ISLEMLERI tablosu rehberi, GİB durum kodları sözlüğü ve 10 sık karşılaşılan hatanın SQL ile çözümü."
date: 2026-06-28
category: mikro-erp
tags: ["mikro-erp", "e-fatura", "e-arsiv", "e-irsaliye", "sql-server", "gib", "entegrasyon", "astaflow"]
url: https://mikroerp.dev/blog/mikro-erp-efatura-entegrasyon-sorunlari-cozum-rehberi/
---

e-Fatura, e-Arşiv veya e-İrsaliye gönderirken hata almak, operasyonu durma noktasına getirir. Müşteri faturayı bekler, muhasebe kapanışa yetişemez, numaratör kayar. Bu rehber, Mikro ERP'de karşılaşılan **en yaygın 10 e-fatura entegrasyon sorununu** ve her birinin SQL tabanlı çözümünü kapsar.

## E_FATURA_ISLEMLERI Tablosu: Tüm e-Belge Sürecinin Kalbi

Mikro ERP'de e-fatura, e-arşiv ve e-irsaliye işlemlerinin tamamı `E_FATURA_ISLEMLERI` tablosunda takip edilir. Bu tabloyu anlamadan hata çözmek mümkün değildir.

### Tablo Kimliği

| Özellik | Değer |
|---|---|
| **Tablo No** | 559 |
| **Tablo Adı** | E_FATURA_ISLEMLERI |
| **Prefix** | `efi_` |
| **Toplam Alan** | 85 |
| **Primary Key** | `efi_Guid` (Uniqueidentifier) |
| **En Çok JOIN** | Satış Faturaları (`efi_evrak_tipi = 63`) |
| **API Docs** | [apidocs.mikro.com.tr](https://apidocs.mikro.com.tr/tablo-alan-adlari/e_fatura_islemleri) |

### Kritik Bayrak (Flag) Alanları

Bu alanlar, bir e-belgenin hangi aşamada olduğunu belirler. Hata teşhisinde ilk bakacağınız yerler:

| Alan | Tip | Açıklama | Değerler |
|---|---|---|---|
| `efi_efaturaislem_tipi` | Tinyint | **Belge türü** | **0:** e-Fatura, **1:** e-Arşiv, **2:** e-İrsaliye, **3:** e-Müstahsil, **4:** e-SMM, **5:** e-ZRaporu, **6:** e-Bilet, **7:** e-Yolcu Listesi, **8:** VMO Fatura |
| `efi_gonderildi_fl` | Bit | Gönderildi mi? | **0:** Hayır, **1:** Evet |
| `efi_onaylandi_fl` | Bit | Onaylandı mı? | **0:** Hayır, **1:** Evet |
| `efi_efaturaolustu_fl` | Bit | e-Fatura XML oluştu mu? | **0:** Hayır, **1:** Evet |
| `efi_kabuledildi_fl` | Bit | Alıcı kabul etti mi? | **0:** Hayır, **1:** Evet |
| `efi_rededildi_fl` | Bit | Alıcı reddetti mi? | **0:** Hayır, **1:** Evet |
| `efi_Iptal_fl` | Bit | İptal edildi mi? | **0:** Hayır, **1:** Evet |
| `efi_shematron_gecmedi_fl` | Bit | Şematron kontrolünden geçemedi mi? | **0:** Geçti, **1:** Geçemedi |
| `efi_tip` | Tinyint | Borç / Alacak | **0:** Borç, **1:** Alacak |
| `efi_islem_tipi` | Tinyint | İşlem tipi | **0:** Kabul, **1:** Red |

### Evrak ve Kimlik Alanları

| Alan | Tip | Açıklama |
|---|---|---|
| `efi_uuid` | Nvarchar(40) | GİB benzersiz fatura kimliği — her fatura için tekil |
| `efi_gib_seri_sira` | Nvarchar(40) | GİB seri ve sıra numarası |
| `efi_evrakno_seri` | evrakseri_str | Mikro evrak seri numarası |
| `efi_evrakno_sira` | Integer | Mikro evrak sıra numarası |
| `efi_evrak_tipi` | Tinyint | Evrak tipi (0: Alış Faturası, 63: Satış Faturası, 64: Tediye Makbuzu...) |
| `efi_carikod` | Nvarchar(25) | İlgili cari hesap kodu |
| `efi_EfaturaaQueueuuid` | Nvarchar(40) | GİB kuyruk kimliği |

### Tarih ve Kullanıcı İzleme Alanları

| Alan | Açıklama |
|---|---|
| `efi_onaylama_tarihi` | Onaylama tarihi |
| `efi_gonderim_tarihi` | GİB'e gönderim tarihi |
| `efi_kabuletme_tarihi` | Alıcı kabul tarihi |
| `efi_rededilme_tarihi` | Alıcı red tarihi |
| `efi_Iptal_tarihi` | İptal tarihi |
| `efi_efaturaolusturmatarihi` | XML oluşturma tarihi |
| `efi_Earsiv_iptal_tarihi` | e-Arşiv iptal tarihi |
| `efi_Earsiv_iptal_nedeni` | e-Arşiv iptal nedeni (Nvarchar 120) |

---

## GİB Durum Kodları Sözlüğü

e-Fatura GİB'e gönderildikten sonra bir dizi durum kodundan geçer. Bu kodları bilmeden hata teşhisi yapamazsınız:

### Süreç Kodları (Bekleme — Müdahale Gerektirmez)

| Kod | Durum | Ne Yapmalı? |
|---|---|---|
| **1000** | Zarf kuyruğa eklendi | Bekleyin — GİB yoğunluğundan kaynaklanır |
| **1100** | Zarf işleniyor | Bekleyin — genellikle 1-5 dakika sürer |

### Başarı Kodları

| Kod | Durum | Ne Yapmalı? |
|---|---|---|
| **1200** | Zarf başarıyla işlendi | Teknik kontroller geçildi ✅ |
| **1300** | İşlem başarıyla tamamlandı | Fatura alıcıya ulaştı ✅ |

### Hata Kodları (Müdahale Gerektirir 🔴)

| Kod | Durum | Yaygın Neden | Çözüm |
|---|---|---|---|
| **1110** | Zarf işlenemedi | Geçici GİB hatası | Yeniden göndermeyi deneyin |
| **1120** | Zarf işlenemedi (kalıcı) | XML yapısında hata | Faturayı kontrol edip yeniden oluşturun |
| **1130** | Zarfta belge bulunamadı | Boş veya bozuk XML | DLL güncelleyin, faturayı yeniden oluşturun |
| **1150** | **Şematron kontrolünden geçemedi** | Birim kodu, VKN, adres eksikliği | Aşağıdaki Hata #4'e bakın |
| **1160** | **XML şema kontrolünden geçemedi** | XML yapı bozukluğu | DLL güncelleyin, dizaynı sıfırlayın |
| **1163** | **Sistemde kayıtlı fatura** | Aynı UUID ile mükerrer gönderim | Aşağıdaki Hata #2'ye bakın |

---

## 10 Sık Karşılaşılan Hata ve SQL Çözümü

### Hata #1: "Gönderilmemiş Faturalarınız Mevcuttur"

**Belirti:** Mikro açıldığında "Gönderilmemiş e-faturalarınız mevcuttur" uyarısı çıkar ama fatura listede görünmez.

**Neden:** `E_FATURA_ISLEMLERI` tablosunda `efi_gonderildi_fl = 0` olarak kalmış kayıtlar var — fatura aslında gönderilmiş olabilir ama bayrak güncellenmemiş.

**Teşhis:**

```sql
-- Gonderilmemis olarak isaretli faturalari listele
SELECT
    efi_evrakno_seri              AS Seri,
    efi_evrakno_sira              AS Sira,
    efi_uuid                      AS UUID,
    efi_carikod                   AS Cari_Kod,
    efi_gib_seri_sira             AS GIB_No,
    CASE efi_efaturaislem_tipi
        WHEN 0 THEN 'e-Fatura'
        WHEN 1 THEN 'e-Arsiv'
        WHEN 2 THEN 'e-Irsaliye'
    END                           AS Belge_Turu,
    efi_create_date               AS Olusturma_Tarihi,
    efi_gonderim_tarihi           AS Gonderim_Tarihi
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_gonderildi_fl = 0
  AND efi_iptal = 0
  AND efi_evrak_tipi = 63        -- Satis faturasi
ORDER BY efi_create_date DESC;
```

**Çözüm:** Eğer faturanın GİB portalinde (veya entegratör panelinde) başarıyla gönderildiğini teyit ettiyseniz:

```sql
-- DIKKAT: Sadece GIB'de gonderildigini TEYIT ETTIKTEN sonra calistirin
-- Mutlaka yedek alin!

-- Oncelikle tek bir faturayi guncelleyin ve test edin:
UPDATE dbo.E_FATURA_ISLEMLERI
SET efi_gonderildi_fl = 1,
    efi_gonderim_tarihi = GETDATE()
WHERE efi_evrakno_seri = 'A'       -- Kendi seri numaraniz
  AND efi_evrakno_sira = 12345     -- Kendi sira numaraniz
  AND efi_gonderildi_fl = 0;
```

> ⚠️ **Uyarı:** Bu işlemi yapmadan önce faturanın **gerçekten GİB'e ulaştığını** portal üzerinden kontrol edin. Aksi halde fatura kaybolabilir.

---

### Hata #2: "UUID Zaten Kullanılmış" / "Daha Önce Gönderilmiş"

**Belirti:** Fatura gönderilirken "Bu UUID daha önce kullanılmıştır" veya GİB'den 1163 kodu dönüyor.

**Neden:** Fatura daha önce GİB'e başarıyla gönderilmiş ama Mikro tarafında "gönderildi" olarak işaretlenmemiş. Tekrar gönderilmeye çalışılıyor.

**Teşhis:**

```sql
-- Ayni UUID ile birden fazla kayit var mi?
SELECT
    efi_uuid,
    COUNT(*)                     AS Kayit_Sayisi,
    MAX(efi_gonderildi_fl)       AS Gonderildi,
    MAX(efi_gonderim_tarihi)     AS Son_Gonderim
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_uuid IS NOT NULL
  AND efi_uuid <> ''
GROUP BY efi_uuid
HAVING COUNT(*) > 1
ORDER BY MAX(efi_create_date) DESC;
```

**Çözüm:**

1. GİB portalinde veya entegratör panelinde UUID'yi aratarak faturanın durumunu kontrol edin
2. Fatura GİB'de varsa → Mikro'da `efi_gonderildi_fl = 1` yapın (Hata #1'deki yöntemi kullanın)
3. Fatura GİB'de yoksa → Faturayı Mikro'da iptal edip yeni UUID ile tekrar oluşturun

---

### Hata #3: "GİB Bağlantısı Kurulamadı"

**Belirti:** e-Fatura gönderimi sırasında "GİB bağlantısı kurulamadı" veya "e-Mikro servisine erişilemiyor" hatası.

**Kontrol Listesi:**

| # | Kontrol | Nasıl? |
|---|---|---|
| 1 | İnternet bağlantısı çalışıyor mu? | Tarayıcıda [efatura.gov.tr](https://efatura.gov.tr) açın |
| 2 | GİB servisleri aktif mi? | [efatura.gov.tr](https://efatura.gov.tr) duyurularını kontrol edin |
| 3 | Mikro parametreleri doğru mu? | Menü **096158** → kullanıcı adı, şifre, bağlantı adresi |
| 4 | Firewall engelliyor mu? | GİB ve e-Mikro portlarının açık olduğunu doğrulayın |
| 5 | Saat senkronizasyonu doğru mu? | Windows saat ayarını kontrol edin — sertifika hatası verebilir |
| 6 | Mikro "Yönetici olarak" çalıştırılıyor mu? | Sağ tık → Yönetici olarak çalıştır |

**SQL ile son başarılı gönderimi kontrol edin:**

```sql
-- Son 10 basarili gonderimi listele — baglanti ne zaman koptu?
SELECT TOP 10
    efi_evrakno_seri              AS Seri,
    efi_evrakno_sira              AS Sira,
    efi_gonderim_tarihi           AS Gonderim_Tarihi,
    efi_uuid                      AS UUID,
    CASE efi_efaturaislem_tipi
        WHEN 0 THEN 'e-Fatura'
        WHEN 1 THEN 'e-Arsiv'
        WHEN 2 THEN 'e-Irsaliye'
    END                           AS Belge_Turu
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_gonderildi_fl = 1
  AND efi_gonderim_tarihi IS NOT NULL
ORDER BY efi_gonderim_tarihi DESC;
```

---

### Hata #4: "Şematron Kontrolünden Geçemedi" (Kod 1150)

**Belirti:** Fatura GİB'e ulaşıyor ama "Schematron kontrolünden geçemedi" hatası dönüyor.

**En Yaygın 5 Neden:**

#### 1. Birim Kodu Eksik veya Hatalı

Stok kartlarındaki birimler, GİB'in kabul ettiği uluslararası UBL kodlarıyla eşleşmeli:

| Türkçe Birim | UBL Kodu | Açıklama |
|---|---|---|
| Adet | C62 | En yaygın |
| Kilogram | KGM | Ağırlık birimi |
| Litre | LTR | Hacim birimi |
| Metre | MTR | Uzunluk |
| Kutu | BX | Paket birimi |
| Paket | PK | Paket |
| Düzine | DZN | 12'li grup |
| Ton | TNE | 1000 kg |

**Kontrol:** Ayarlar → Referans Kayıtları → Satış Tanımları → Birim menüsünden UBL kodlarının tanımlı olduğunu doğrulayın.

#### 2. VKN / TCKN Hatalı

```sql
-- Cari kartlardaki bos veya hatali vergi numaralarini bul
SELECT
    cari_kod,
    cari_unvan1,
    cari_vdaire_no                AS Vergi_No,
    LEN(REPLACE(cari_vdaire_no, ' ', '')) AS VKN_Uzunluk,
    CASE
        WHEN cari_vdaire_no IS NULL OR cari_vdaire_no = '' THEN 'BOS - Hata verecek!'
        WHEN LEN(REPLACE(cari_vdaire_no, ' ', '')) NOT IN (10, 11) THEN 'HATALI UZUNLUK'
        ELSE 'OK'
    END                           AS Durum
FROM dbo.CARI_HESAPLAR WITH (NOLOCK)
WHERE cari_kod IN (
    SELECT DISTINCT efi_carikod
    FROM dbo.E_FATURA_ISLEMLERI
    WHERE efi_shematron_gecmedi_fl = 1
)
ORDER BY cari_kod;
```

#### 3. Adres Bilgisi Eksik

GİB, faturadaki alıcı adresinin boş olmasını kabul etmez. Cari kartta il, ilçe ve adres alanlarının dolu olduğunu kontrol edin.

#### 4. Yazılım Güncel Değil

GİB şematron kuralları periyodik olarak güncellenir. Mikro'nun güncel sürümünü kullanmıyorsanız eski kurallarla fatura oluşturulur ve reddedilir.

#### 5. Özel Dizayn Hatası

Eğer özel fatura dizaynı kullanıyorsanız, standart dizayna geçerek test edin. Sorun dizayndan kaynaklanıyorsa düzeltilmesi gerekir.

**Şematrondan geçemeyen faturaları listeleyin:**

```sql
-- Sematrondan gecemeyen tum faturalari listele
SELECT
    efi_evrakno_seri              AS Seri,
    efi_evrakno_sira              AS Sira,
    efi_carikod                   AS Cari_Kod,
    efi_uuid                      AS UUID,
    efi_create_date               AS Tarih,
    efi_Not                       AS Hata_Notu,
    CASE efi_efaturaislem_tipi
        WHEN 0 THEN 'e-Fatura'
        WHEN 1 THEN 'e-Arsiv'
        WHEN 2 THEN 'e-Irsaliye'
    END                           AS Belge_Turu
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_shematron_gecmedi_fl = 1
  AND efi_iptal = 0
ORDER BY efi_create_date DESC;
```

---

### Hata #5: Numaratör Hatası — Sıra Numarası Kayması

**Belirti:** Yeni fatura oluşturulurken "Bu numara zaten kullanılıyor" hatası veya fatura numaraları atlıyor.

**Neden:** Silinmiş bir faturanın `E_FATURA_ISLEMLERI` tablosundaki kaydı hâlâ duruyor ve o numarayı meşgul ediyor.

**Teşhis:**

```sql
-- Hangi numara mesgul? Belirli bir seriyi kontrol edin
SELECT
    efi_evrakno_seri              AS Seri,
    efi_evrakno_sira              AS Sira,
    efi_gonderildi_fl             AS Gonderildi,
    efi_iptal                     AS Iptal,
    efi_uuid                      AS UUID,
    efi_create_date               AS Olusturma
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_evrakno_seri = 'A'      -- Kendi serinizi yazin
  AND efi_evrakno_sira >= 100     -- Sorunlu araligi yazin
  AND efi_evrakno_sira <= 110
ORDER BY efi_evrakno_sira;
```

```sql
-- Seri bazinda son kullanilan numarayi bul
SELECT
    efi_evrakno_seri              AS Seri,
    MAX(efi_evrakno_sira)         AS Son_Numara,
    COUNT(*)                      AS Toplam_Kayit
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_iptal = 0
GROUP BY efi_evrakno_seri
ORDER BY efi_evrakno_seri;
```

> ⚠️ **Yasal Uyarı:** Fatura numaralarının **müteselsil** (sıralı ve atlamasız) olması yasal zorunluluktur. Numara düzeltme işlemleri için mali müşavirinize danışın.

---

### Hata #6: Cari Mükellef Tipi Yanlış — e-Fatura Yerine e-Arşiv Gidiyor

**Belirti:** e-Fatura mükellefi olan bir cariye e-Arşiv fatura gönderiliyor veya tersi.

**Neden:** Cari karttaki e-fatura mükellefiyet bilgisi güncel değil.

**Çözüm:**

1. Menü **360030** (Cari Kart Güncelleme) ile GİB listesini çekin — sistem otomatik günceller
2. Veya tek bir cariyi kontrol edin:

```sql
-- Belirli bir carinin e-fatura mukellefiyetini kontrol et
SELECT
    cari_kod,
    cari_unvan1,
    cari_vdaire_no                AS VKN,
    cari_efatura_fl               AS EFatura_Mukellef
FROM dbo.CARI_HESAPLAR WITH (NOLOCK)
WHERE cari_kod = '120.001';       -- Kontrol etmek istediginiz cari
```

**GİB portalinden güncel liste:** [ebelge.gib.gov.tr/efaturakayitlikullanicilar.html](https://ebelge.gib.gov.tr/efaturakayitlikullanicilar.html)

---

### Hata #7: Tevkifat Kodu Hatası

**Belirti:** Tevkifatlı fatura gönderilirken şema hatası alınıyor.

**Çözüm Adımları:**

1. Menü **501110** (Firma Tanıtım Kartı) → "Mali yıl vergi hesap kodları" → Kullandığınız KDV oranını seçin
2. Tevkifat kodu ve işlem türü alanlarının doğru tanımlandığını kontrol edin
3. Menü **091600** (Vergi Parametreleri) → İlgili tevkifat oranının tanımlı olduğunu doğrulayın
4. Alış ve satış muhasebe kodlarının boş olmadığından emin olun

---

### Hata #8: İmza / Sertifika Hatası

**Belirti:** "İmza doğrulanamadı" veya "Sertifika süresi dolmuş" hatası.

**Kontrol Listesi:**

| # | Kontrol |
|---|---|
| 1 | Mali mühür veya e-imza sertifikasının süresini kontrol edin |
| 2 | Birden fazla Java sürümü yüklü mü? Sadece güncel olanı bırakın |
| 3 | AKİS sürücüsünün güncel olduğunu doğrulayın |
| 4 | Bilgisayar tarih/saat ayarının doğru olduğunu kontrol edin |
| 5 | Bulut imzalama kullanıyorsanız internet bağlantısını test edin |

---

### Hata #9: e-Arşiv Fatura Mail Gönderilmiyor

**Belirti:** e-Arşiv fatura oluşturuluyor ama müşteriye otomatik mail gitmiyor.

**Kontrol Listesi:**

1. Cari kartta (041110) e-posta adresinin tanımlı olduğunu kontrol edin
2. Menü **091460** (e-Posta Parametreleri) → SMTP ayarlarını doğrulayın
3. Menü **504080** (Windows Servis Parametreleri) → "e-Fatura/e-Arşiv otomatik gönderim servisi çalışsın mı?" aktif mi?

```sql
-- e-Arsiv faturasi kesilen ama mail adresi bos olan carileri bul
SELECT DISTINCT
    e.efi_carikod                 AS Cari_Kod,
    c.cari_unvan1                 AS Unvan,
    c.cari_EMail                  AS Email,
    CASE
        WHEN c.cari_EMail IS NULL OR c.cari_EMail = '' THEN 'BOS — Mail gitmez!'
        ELSE 'OK'
    END                           AS Durum
FROM dbo.E_FATURA_ISLEMLERI e WITH (NOLOCK)
INNER JOIN dbo.CARI_HESAPLAR c WITH (NOLOCK) ON e.efi_carikod = c.cari_kod
WHERE e.efi_efaturaislem_tipi = 1 -- e-Arsiv
  AND e.efi_gonderildi_fl = 1
  AND (c.cari_EMail IS NULL OR c.cari_EMail = '')
ORDER BY c.cari_unvan1;
```

---

### Hata #10: "XML Belgesinin Üst Düzey Öğesi Olmalıdır"

**Belirti:** Fatura gönderiminde XML parse hatası.

**Çözüm:**

1. e-Fatura `client_setup` dosyalarını **Yönetici Olarak Çalıştır** ile tekrar kurun
2. Bu işlem DLL dosyalarını güncelleyerek XML oluşturma motorunu yeniler
3. Sorun devam ederse standart fatura dizaynına geçiş yaparak test edin

---

## Genel Durum Kontrol Paneli: Tek Sorgu ile Tüm Resmi Görün

Aşağıdaki sorgu, e-fatura sürecinizin genel sağlığını tek bakışta gösterir:

```sql
-- e-Fatura saglik kontrol paneli
SELECT
    CASE efi_efaturaislem_tipi
        WHEN 0 THEN 'e-Fatura'
        WHEN 1 THEN 'e-Arsiv'
        WHEN 2 THEN 'e-Irsaliye'
        WHEN 3 THEN 'e-Mustahsil'
        WHEN 4 THEN 'e-SMM'
        ELSE 'Diger'
    END                                              AS Belge_Turu,
    COUNT(*)                                         AS Toplam,
    SUM(CAST(efi_gonderildi_fl AS INT))              AS Gonderilen,
    SUM(CASE WHEN efi_gonderildi_fl = 0
              AND efi_iptal = 0 THEN 1 ELSE 0 END)  AS Bekleyen,
    SUM(CAST(efi_kabuledildi_fl AS INT))             AS Kabul_Edilen,
    SUM(CAST(efi_rededildi_fl AS INT))               AS Reddedilen,
    SUM(CAST(efi_Iptal_fl AS INT))                   AS Iptal,
    SUM(CAST(efi_shematron_gecmedi_fl AS INT))       AS Sematron_Hatali,
    MAX(efi_gonderim_tarihi)                         AS Son_Gonderim
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_create_date >= DATEADD(MONTH, -3, GETDATE())
GROUP BY efi_efaturaislem_tipi
ORDER BY efi_efaturaislem_tipi;
```

**Bu sorgunun çıktısı şöyle görünecektir:**

| Belge Türü | Toplam | Gönderilen | Bekleyen | Kabul | Red | İptal | Şematron Hatalı |
|---|---|---|---|---|---|---|---|
| e-Fatura | 245 | 240 | 3 | 238 | 2 | 5 | 1 |
| e-Arşiv | 1.120 | 1.118 | 2 | — | — | 4 | 0 |
| e-İrsaliye | 89 | 89 | 0 | 89 | 0 | 0 | 0 |

**Neye bakmalı:**
- **Bekleyen > 0** → Hata #1'i kontrol edin
- **Şematron Hatalı > 0** → Hata #4'ü kontrol edin
- **Red > 0** → Alıcıyla iletişime geçin, 8 gün kuralını hatırlayın

---

## İptal ve Red Süreçleri: 8 Gün Kuralı

e-Fatura iptal ve red işlemlerinde yasal süreler kritiktir:

| Senaryo | Süre | Yöntem |
|---|---|---|
| **Ticari e-Fatura — Red** | 8 takvim günü | Alıcı sistem üzerinden "Red Yanıtı" verir |
| **Temel e-Fatura — İptal** | 8 takvim günü | GİB İptal/İtiraz Portalı üzerinden talep |
| **8 gün geçtiyse** | — | İade faturası kesilir (Menü 061190, Nor/İade → İade) |
| **e-Arşiv — İptal** | 7-8 gün | Portal üzerinden, mümkün olan en kısa sürede |

> ⚠️ 8 gün içinde işlem yapılmazsa ticari e-fatura **otomatik kabul edilmiş** sayılır.

```sql
-- 8 gunu gecmis ama hala islem yapilmamis gelen faturalar
SELECT
    efi_evrakno_seri              AS Seri,
    efi_evrakno_sira              AS Sira,
    efi_carikod                   AS Cari_Kod,
    efi_create_date               AS Fatura_Tarihi,
    DATEDIFF(DAY, efi_create_date, GETDATE()) AS Gecen_Gun,
    CASE
        WHEN efi_kabuledildi_fl = 0 AND efi_rededildi_fl = 0
        THEN 'ISLEM YAPILMAMIS — Otomatik kabul riski!'
        WHEN efi_kabuledildi_fl = 1 THEN 'Kabul edildi'
        WHEN efi_rededildi_fl = 1 THEN 'Reddedildi'
    END                           AS Durum
FROM dbo.E_FATURA_ISLEMLERI WITH (NOLOCK)
WHERE efi_tip = 1                 -- Alacak (gelen fatura)
  AND efi_evrak_tipi = 0          -- Alis faturasi
  AND efi_efaturaislem_tipi = 0   -- e-Fatura
  AND efi_iptal = 0
  AND efi_kabuledildi_fl = 0
  AND efi_rededildi_fl = 0
  AND DATEDIFF(DAY, efi_create_date, GETDATE()) >= 6
ORDER BY efi_create_date;
```

---

## 2026 Zorunluluk Hadleri

1 Temmuz 2026 itibarıyla yeni mükellefler e-belge sistemine dahil olmak zorunda:

| Uygulama | Ciro Haddi | Kaynak Yılı | Son Tarih |
|---|---|---|---|
| **e-Fatura** (genel) | 3 Milyon TL brüt satış | 2024 veya 2025 | 1 Temmuz 2026 |
| **e-Fatura** (özel sektörler*) | 500 Bin TL | 2024 veya 2025 | 1 Temmuz 2026 |
| **e-İrsaliye** | 10 Milyon TL brüt satış | 2025 | 1 Temmuz 2026 |

*Özel sektörler: E-ticaret, internet reklamcılığı, gayrimenkul, motorlu taşıt alım-satım/kiralama*

> ⚠️ Bu bilgiler genel bilgilendirme amaçlıdır. Güncel mevzuat için mali müşavirinize danışın ve GİB'in resmi tebliğlerini kontrol edin.

---

## Sonuç

e-Fatura entegrasyon sorunlarının çoğu `E_FATURA_ISLEMLERI` tablosundaki bayrak alanlarının hatalı kalmasından kaynaklanır. Bu rehberdeki SQL sorguları ile:

- **Gönderilmemiş faturaları** tespit edip düzeltirsiniz
- **Şematron hatalarının** kök nedenini (birim kodu, VKN, adres) bulursunuz
- **UUID çakışmalarını** çözersiniz
- **Genel sağlık paneli** ile tüm e-belge sürecinizi tek sorguda izlersiniz
- **8 gün kuralını** kaçırmazsınız

**İlgili yazılar:**
- [Mikro ERP CARI_HESAP_HAREKETLERI Tablo Rehberi](/blog/mikro-erp-cari-hesap-hareketleri-tablo-rehberi) — 185 alan, 137 evrak tipi
- [Mikro ERP SQL Server Performans Optimizasyonu](/blog/mikro-erp-sql-server-performans-optimizasyonu-rehberi) — Veritabanı hızlandırma rehberi
- [Mikro ERP Tablo İlişkileri ve JOIN Rehberi](/blog/mikro-erp-tablo-iliskileri-join-rehberi) — FK ilişkileri ve JOIN kalıpları
- [Mikro ERP Çek/Senet Vade Takip SQL](/blog/mikro-erp-cek-senet-vade-takip-sql) — Değerli kağıt pozisyon takibi