Birçok işletme siparişi kendi web sitesinde, rezervasyonu kendi panelinde, stoku kendi yazılımında yönetir; ama fatura kesmek için bilgileri başka bir ekrana elle taşır. Günde birkaç fatura için sorun değildir. Günde elli fatura olduğunda hem zaman kaybı hem de hata kaynağı hâline gelir. Bu yazıda kendi yazılımınızdan doğrudan e-Fatura ve e-Arşiv faturası kesmenin yollarını ve dikkat edilmesi gereken noktaları anlatıyoruz.
Not: Hangi işletmenin e-Fatura ve e-Arşiv'e geçmek zorunda olduğu, ciro eşikleri ve süreler zaman zaman değişir. Güncel kuralları Gelir İdaresi Başkanlığı'nın (GİB) duyurularından ve mali müşavirinizden kontrol edin. Burada konunun teknik tarafına odaklanıyoruz.
Önce iki kavram: e-Fatura ve e-Arşiv
- e-Fatura: İki tarafın da e-Fatura sistemine kayıtlı olduğu durumlarda kullanılır. Fatura elektronik olarak, GİB altyapısı üzerinden doğrudan alıcının sistemine ulaşır.
- e-Arşiv Fatura: Alıcı e-Fatura sistemine kayıtlı değilse (örneğin nihai tüketici ya da kayıtlı olmayan bir firma) kesilir. Alıcıya e-posta ya da başka bir elektronik yolla iletilir, GİB'e raporlanır.
Pratik sonuç şu: yazılımınız her fatura için önce alıcının kayıtlı kullanıcı olup olmadığını kontrol etmeli ve buna göre e-Fatura ya da e-Arşiv kesmeli. Bu kontrolü elle yapmak, en sık yaşanan hatalardan birinin kaynağıdır.
Üç bağlantı yolu
1. GİB portalı
GİB'in web arayüzü üzerinden fatura kesmek ücretsizdir, ama elle yapılır. Az sayıda fatura kesen işletmeler için yeterli olabilir; kendi yazılımınızla otomatik bağlantı için uygun değildir.
2. Özel entegratör
GİB'den izinli özel entegratör firmalar, e-Fatura ve e-Arşiv altyapısını hizmet olarak sunar. Çoğu bir API sağlar: yazılımınız fatura verisini gönderir, entegratör belgeyi oluşturur, imzalar, iletir ve saklar. KOBİ'ler ve orta ölçekli işletmeler için en yaygın ve genellikle en mantıklı yol budur.
3. Doğrudan entegrasyon
İşletmenin kendi bilgi işlem sistemini doğrudan GİB'e bağlaması. Ayrı bir başvuru ve teknik yeterlilik gerektirir; yüksek fatura hacmi ve güçlü bir bilgi işlem ekibi olan büyük işletmeler için anlamlıdır. Çoğu işletme için gereğinden ağırdır.
Entegratör API'siyle çalışırken akış
- Alıcı kontrolü: Alıcının vergi kimlik numarasıyla kayıtlı kullanıcı sorgusu yapılır; sonuca göre e-Fatura ya da e-Arşiv seçilir.
- Fatura verisinin hazırlanması: Satırlar, KDV oranları, istisnalar, döviz bilgisi. Fatura teknik olarak UBL-TR adı verilen bir XML formatındadır; çoğu entegratör bu XML'i sizin gönderdiğiniz daha sade bir veriden üretir.
- Gönderim ve durum takibi: Fatura gönderilir, entegratörün döndürdüğü durum (kuyrukta, iletildi, hata) sisteminize işlenir.
- Belgenin saklanması: Faturanın kendisi ve PDF görünümü sisteminizde sipariş kaydıyla ilişkilendirilir.
e-Fatura'da ayrıca senaryo seçimi vardır. Temel fatura senaryosunda alıcının sistem üzerinden kabul/red yanıtı yoktur; ticari fatura senaryosunda ise alıcı, mevzuatta tanımlı süre içinde faturayı kabul ya da reddedebilir. Yazılımınız ticari fatura kullanıyorsa bu yanıtları da takip etmelidir.
Sık yapılan hatalar
- Mükerrer fatura: Ağ hatası yüzünden "gitti mi gitmedi mi" belli olmayan bir istek tekrar gönderildiğinde aynı sipariş için iki fatura oluşabilir. Her faturaya sizin tarafınızda benzersiz bir anahtar verin ve tekrar denemelerde aynı anahtarı kullanın.
- Yuvarlama farkları: Satır bazında ve toplamda KDV hesaplaması farklı yuvarlandığında kuruş farkları çıkar. Hesaplamayı tek bir yerde, tek bir kuralla yapın.
- Hatanın sessizce kaybolması: Entegratör bir faturayı reddettiğinde bunu birinin görmesi gerekir. Hata durumundaki faturalar bir listede toplanmalı ve sorumlu kişiye bildirilmelidir.
- Alıcı bilgisinin eski olması: Müşterinin unvanı, adresi ya da vergi dairesi değişmiştir ama sizin sisteminizde eskisi durur. Kayıtlı kullanıcı sorgusunu her seferinde yapmak bu riski azaltır.
- İptal ve iade akışlarının unutulması: Fatura kesmek akışın yarısıdır. İade, iptal ve düzeltme senaryoları baştan tasarlanmalı ve mali müşavirle birlikte netleştirilmelidir.
Entegratör seçerken sorulacaklar
- API dokümantasyonu açık ve güncel mi? Test (sandbox) ortamı var mı?
- e-Fatura, e-Arşiv ve gerekiyorsa e-İrsaliye tek API'den mi yönetiliyor?
- Durum değişiklikleri için bildirim (webhook) var mı, yoksa sürekli sorgulamak mı gerekiyor?
- Fiyatlandırma kontör bazlı mı, sabit mi? Hacminiz arttığında ne olur?
- Entegratör değiştirmek istediğinizde geçmiş faturalarınızı nasıl alırsınız?
Sonuç
Kendi yazılımınızdan fatura kesmek çoğu işletme için bir özel entegratörün API'sine bağlanmak demektir. Teknik zorluk faturayı göndermekte değil; alıcı kontrolünde, mükerrer kaydı önlemekte, hataları görünür kılmakta ve iade-iptal akışlarını doğru kurmaktadır. Bunlar baştan düşünüldüğünde faturalama, siparişin doğal bir parçası hâline gelir ve elle taşıma ortadan kalkar.