Mikro ERP e-Fatura Entegrasyon Sorunları: 10 Hata ve SQL Çözüm Rehberi
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ü.
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 |
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:
-- 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:
-- 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:
-- 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:
- GİB portalinde veya entegratör panelinde UUID’yi aratarak faturanın durumunu kontrol edin
- Fatura GİB’de varsa → Mikro’da
efi_gonderildi_fl = 1yapın (Hata #1’deki yöntemi kullanın) - 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 açın |
| 2 | GİB servisleri aktif mi? | 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:
-- 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ı
-- 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:
-- 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:
-- 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;
-- 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:
- Menü 360030 (Cari Kart Güncelleme) ile GİB listesini çekin — sistem otomatik günceller
- Veya tek bir cariyi kontrol edin:
-- 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
Hata #7: Tevkifat Kodu Hatası
Belirti: Tevkifatlı fatura gönderilirken şema hatası alınıyor.
Çözüm Adımları:
- Menü 501110 (Firma Tanıtım Kartı) → “Mali yıl vergi hesap kodları” → Kullandığınız KDV oranını seçin
- Tevkifat kodu ve işlem türü alanlarının doğru tanımlandığını kontrol edin
- Menü 091600 (Vergi Parametreleri) → İlgili tevkifat oranının tanımlı olduğunu doğrulayın
- 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:
- Cari kartta (041110) e-posta adresinin tanımlı olduğunu kontrol edin
- Menü 091460 (e-Posta Parametreleri) → SMTP ayarlarını doğrulayın
- Menü 504080 (Windows Servis Parametreleri) → “e-Fatura/e-Arşiv otomatik gönderim servisi çalışsın mı?” aktif mi?
-- 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:
- e-Fatura
client_setupdosyalarını Yönetici Olarak Çalıştır ile tekrar kurun - Bu işlem DLL dosyalarını güncelleyerek XML oluşturma motorunu yeniler
- 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:
-- 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.
-- 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 — 185 alan, 137 evrak tipi
- Mikro ERP SQL Server Performans Optimizasyonu — Veritabanı hızlandırma rehberi
- Mikro ERP Tablo İlişkileri ve JOIN Rehberi — FK ilişkileri ve JOIN kalıpları
- Mikro ERP Çek/Senet Vade Takip SQL — Değerli kağıt pozisyon takibi