efinans e arşiv fatura sorgulama / e-Arşiv Fatura Nedir? Başvuru, Görüntüleme, Avantajlar -QNB eFinans

Efinans E Arşiv Fatura Sorgulama

efinans e arşiv fatura sorgulama

1 efinans e-arşiv efinans Elektronik Arşiv Yönetim Sistemi e-arşiv Çözümü

2 Revizyon Tablosu Güncel Revizyon Yayımlanma Tarihi Açıklama İlk Revizyon Fatura Numarası Üretme, Fatura Oluşturma, Fatura Verisi Sorgulama servisleri yeniden düzenlendi. Fatura Saklama, Fatura İmzalama, Fatura Görüntüsü Sorgulama, Fatura Postalama servisleri kaldırıldı Fatura Sorgulama servis parametreleri düzenlendi aliciepostaeklesilguncelle, epostagonder, epostadurumsorgula, faturaiptalet metotları eklendi. Sonuç Kodları Listesi eklendi. Entegrasyon servisleri bölümünde Holder tipi açıklaması eklendi. resultextra alanı açıklaması detaylandırıldı. Fatura Numarası Üretme servisi açıklamasında output parametresi Holder tipi olarak açıklandı. Fatura Oluşturma servisi açıklamasında output parametresi Holder tipi olarak açıklandı. Fatura Sorgulama servisi açıklamasında output parametresi Holder tipi olarak açıklandı. Yazım hataları düzeltildi. Hata kodları / mesajları listesi güncellendi Mevcut metotlara seçimli alanlar eklendi. Yeni metotlar eklendi. Önemli konulara ilişkin sarı işaretlenmiş not kutuları eklendi Rapor Bölümleri Oluşturma WS metodu eklendi Rapor Bölümü Silme WS metodu eklendi. Rapor Bölümü Listesi Detaylı Sorgula metodu eklendi. Rapor Bölüm Bilgisi Al metodu eklendi raporbolumrapornoguncelleimzala metodu eklendi. 1 / 79

3 faturaiptalikaldir metodu eklendi rapordafaturasorgula metodu eklendi. 2 / 79

4 İçindekiler Revizyon Tablosu 1 Giriş 5 Amaç ve Kapsam 5 Çözüm Modeli 6 Çözüm Mimarisi 7 Toplu İşlem Ara Yüzü ile Entegrasyon 9 WEB Servisleri ile Entegrasyon Kimlik Doğrulama ve Yetkilendirme Yöntemleri Entegrasyon Servisleri Servis Geri Dönüş Değeri Fatura Numarası Üretme Fatura Oluşturma Fatura Sorgulama Fatura İptal Etme Fatura İptali Kaldırma E-Posta Gönderme Alıcı E-Postası Ekleme / Silme / Güncelleme E-Posta Durumu Sorgulama SMS Gönderme SMS Durumu Sorgulama Rapor Durum Sorgulama Rapor Bölüm Listesi Sorgulama Rapor Bölüm Sorgulama Rapor Bölümü İndirme Rapor Bölümü Silme Rapor Bölümü Yeniden Numara Verip İmzalama Rapor Gönderme Rapor Oluşturma Toplu Fatura Paket Dosyası Gönderme Toplu Fatura Paket Dosyası Sorgulama Toplu Fatura Paket Sorgulama Toplu Fatura Paket Onaylama / 79

5 Kontör Sorgulama Fatura Önizleme e-fatura Kayıtlı Kullanıcı Listele e-fatura Kayıtlı Kullanıcısı Sorgulama Fatura Listesi Sorgulama / 79

6 Giriş Amaç ve Kapsam Elektronik arşiv uygulaması, elektronik fatura uygulamasının kapsamı dışında kalan fatura işlemlerinin de elektronik ortama taşınmasını hedefleyen bir uygulama olarak fatura işlem ve kopyalarının tümüyle elektronik ortama taşınması vizyonunun önemli bir ayağıdır. Bu doküman, efinans ın, 30/12/ tarih ve sayılı Resmi Gazetede yayımlanan sıra no lu tebliğ ile düzenlenen e-arşiv Uygulamasına ilişkin usul ve esaslar kapsamında, mükelleflerin elektronik arşiv uygulaması ihtiyaçlarını karşılamak üzere geliştirdiği yazılım çözümü e-arşiv in çözüm modelini ve e-arşiv uygulama ve servisleri ile entegre olmak isteyen iş ortaklarımızın ihtiyaç duyabilecekleri teknik bilgileri sunmak için hazırlanmıştır. 5 / 79

7 Çözüm Modeli e-arşiv, efatura ürün ailesinin bir üyesi olarak, istendiğinde aynı ürün ailesinden başka ürünlerin de eklenebildiği, kimlik doğrulama, yetkilendirme ve yüksek özelleştirilebilirlik özelliklerini barındıran portal ürünü ile beraber gelir. e-arşiv in sunduğu işlevler şunlardır. Fatura numarası üretme. e-arşiv faturası oluşturma ve kaydetme. Faturayı imzalama. Faturayı veri tabanı / depolama alanına arşivleme ve sorgulama. Faturayı ya da faturaya erişmek için kullanılabilecek tekil internet bağlantısını e-posta ile müşteriye iletme. e-arşiv raporu oluşturma ve mali mühür ile onaylama. Raporu elektronik ortamda Gelir İdaresi Başkanlığı na iletme. 6 / 79

8 e-arşiv uygulama ve servislerini temel ve gelişmiş işlevler olmak üzere iki ana gruba ayırmak mümkündür. Temel işlevler, Gelir İdaresi Başkanlığı tarafından yayınlanan tebliğ ve yönetmeliklere uygun elektronik arşiv fonksiyonlarından oluşmuştur. Fatura oluşturma, imzalama, arşivleme, sorgulama, fatura numarası verme, olarak müşteriye iletme gibi temel fonksiyonları kapsamaktadır. Gelişmiş işlevler ise, yukarıda belirtilen fonksiyonlara ek olarak ileride gündeme gelebilecek değişiklik, ek işlevler, yeni form ve belgeleri de kapsamaktadır. Gelişmiş işlevler, mevcut entegrasyon yöntemlerini değiştirmedikleri için, müşterilerimiz kesinlikle etkilenmeyecektir. Çözüm Mimarisi e-arşiv in dış dünya ile iletişim kurduğu 3 ara yüzü vardır: kullanıcı ara yüzü, web servisleri ara yüzü ve toplu işlem ara yüzü. Bu ara yüzler, kullanıcının, e-arşiv çekirdeğinin gücünden maksimum düzeyde yararlanabilmek için kullanabileceği farklı yöntemleri seçebilmesine olanak sağlar. Kullanıcı ara yüzü, faturaları ve raporları sorgulamak ve görüntülemek gibi kullanıcının ihtiyaç duyabileceği işlevsellikleri barındırır. Web servisleri ara yüzü, e-arşiv in başka sistemlerle birlikte kullanılabilmesine olanak sağlamak üzere tasarlanmıştır. Örneğin, fatura kesmek amacıyla kullanmakta olduğu sistemden vaz geçmek istemeyen fakat faturalarını arşivlemek için e-arşiv ı tercih eden bir kullanıcı, fatura numarası üretme işlevini de e-arşiv in üstlenmesini sağlayabilir. Web servisleri ara yüzü, e-arşiv in, farklı ihtiyaçlara göre konfigüre edilebilen, Gelir İdaresi Başkanlığı nın belirlediği standarda uygun olarak ürettiği fatura numarasını diğer sisteme aktarmasını mümkün kılar. Toplu işlem ara yüzü ise, kasa örneğindeki gibi anlık olarak başka sistemlerle iletişimi gerektirmeyen fakat başka sistemler tarafından üretilmiş faturaların toplu biçimde ve yüksek performansla içe aktarılması ihtiyacını karşılamak üzere tasarlanmış ara yüzdür. e-arşiv, web uygulamalarında, HTTP protokolünün doğasından kaynaklanan sorunlardan kaçınabilmeyi mümkün kılan teknolojiler kullanılarak geliştirilmiştir. ActiveMQ kuyrukları ile geliştirilen, entegre olduğu 7 / 79

9 dış sistemlerden veri akışının yoğunlaştığı dönemlerde bile istikrarlı ve kararlı şekilde çalışmaya devam etmesini sağlayan yük dengeleme özelliği, HTTP isteklerinin ulaşıldıkları sıra ile işlenmesine olanak sağlamaktadır. Sisteme ulaşan faturaların geldikleri kaynağa göre (mükellef VKN, şube, kasa), Doküman formatı Faturaya numara verilip verilmeyeceği Fatura numarasının serisi Faturanın üretileceği şablon PDF tipi haricindeki fatura tiplerinde not alanına yazıyla tutar eklenip eklenmeyeceği Postalanırken (e-posta ile) faturanın mı yoksa faturanın tekil web adresinin mi postalanacağı Toplu işlemler için otomatik onaylanıp onaylanmayacağı gibi parametreler kullanıcı ara yüzü aracılığıyla ayrı ayrı konfigüre edilebilmektedir. Örneğin bir firmanın kasadan ürettiği faturalar farklı şablonda merkezi veri tabanından ürettiği faturalar farklı şablonda olabilmekte, bir tanesine numara mükellef tarafından verilmişken diğerine özel entegratörün numara vermesi talep edilebilmektedir. Her müşteri için istenilen tüm konfigürasyonlar bir konfigürasyon tablosunda tutularak, gelen işlenmemiş fatura verileri bu konfigürasyona bağlı olarak işlenerek fatura görüntüsüne dönüştürülmektedir. Görüntü hazır sadece imzala ve arşivle A Firması şablonuna göre fatura oluştur, imzala, arşivle. B Firması şablonuna göre fatura oluştur, imzala, arşivle, müşteriye gönder C Firması kasa şablonuna göre fatura oluştur, imzala, arşivle, görüntüyü kasaya gönder C Firması merkezi VT 1 şablonuna göre numara ver ve fatura oluştur, imzala ve arşivle C Firması merkezi VT 2 şablonuna göre numara ver ve fatura oluştur, imzala ve arşivle 8 / 79

10 Toplu İşlem Ara Yüzü ile Entegrasyon Toplu işlem ara yüzü, sistem tarafından erişilebilen diskler, depolama birimleri, dışsal veri tabanları, ftp sunucuları gibi dışsal veri kaynaklarından erişilen fatura verilerinin toplu olarak sisteme aktarılabilmesi amacıyla geliştirilmiş çeşitli konektör uygulama ya da bileşenlerinden oluşmaktadır. Sisteme bu yolla aktarılan veriler de kullanıcı ara yüzü ya da web servisi ara yüzü kullanılarak aktarılan verilerden farklı şekilde işlenmez. e-arşiv çekirdeğini oluşturan iş mantığı katmanı, ve bu katmana gücünü veren tüm teknolojiler veriye hangi kaynaktan ulaşıldığından bağımsız olarak ve hatta bundan haberdar dahi olmaksızın veriyi aynı mantıkla işlerler. Burada UBL / CSXML / Özel XML / PDF (UBL/XML gömülü) formatında alınan fatura verileri toplu olarak Veri tabanından çekmek, FTP/SFTP ile aktarmak veya Upload etmek suretiyle gerçekleştirilebilir. Geçici bir alana alınan veriler GIB in Earşiv fatura standartlarına göre XML (UBL) olarak düzenlenerek fatura görüntüsü oluşturulmak üzere Earşiv uygulama yazılımında işlenir. Fatura verileri Merkezi bir veri tabanı veya kasaların bağlı olduğu her şubedeki bölgesel veri tabanları ile entegre olunarak alınabilmektedir. 9 / 79

11 WEB Servisleri ile Entegrasyon Kasadan veya merkezi sistemlerden gerçekleştirilecek anlık fatura üretimi/faturanın elektronik imzalanmasına yönelik entegrasyon yöntemi olarak web servisleri teknolojisi kullanılmaktadır. Web servislerimiz, servisler için yayımlanan WSDL e uygun bir biçimde geliştirilen, web servis istemci uygulamaları ile çağrılabilir. e-arşiv WSDL Adresi aşağıdaki gibidir: Cookie tabanlı kimlik doğrulamada kullanılan UserService için WSDL adresi aşağıdaki gibidir: Kimlik Doğrulama ve Yetkilendirme Yöntemleri e-arşiv web servislerinde güvenli veri alışverişi için HTTPS protokolü kullanılmaktadır. e-arşiv web servislerinin kullanılabilmesi için aşağıda belirtilen yöntemlerden biri ile kimlik doğrulama yapılması gerekmektedir. Kullanıcı Servisi (UserService) ile Cookie tabanlı erişim Kullanıcı servisi ve cookie yöntemi, kimlik doğrulama için tavsiye edilen yöntemdir. Her metot çağrısında yeniden kimlik doğrulama yapılmadığı için header tabanlı yönteme göre daha iyi performansa sahiptir. Kullanıcı servisi (UserService), kullanıcı adı ve şifre ile sisteme giriş (login) ve sistemden çıkış (logout) metotları sağlamaktadır. Sisteme başarılı giriş sonrası bir oturum çerezi (session cookie) oluşturulmaktadır. Web servis istemcisi, cookie kabul edecek şekilde ayarlanarak kullanılmalıdır. Giriş yapıldıktan sonra yapılan tüm web servis çağırımlarında login sırasında oluşturulan oturum çerezi (cookie) gönderilirse, web servis çağrıları başarıyla çalıştırılacaktır. Örnek pseudo code: // Kullandığınız yazılım platformuna göre cookie kabul etme ayarlarını yapmalısınız CookieManager cm = new CookieManager(); funduszeue.infokiepolicy(funduszeue.info_all); funduszeue.infoault(cm); UserService userservice = new UserService_Service().getUserServicePort(); funduszeue.infon(username, password, "tr"); EarsivWebService servis = new EarsivWebService_Service().getEarsivWebServicePort(); // oturum açıldıktan sonra istediğiniz kadar metot çağırısı yapabilirsiniz funduszeue.infovismetodu(musteritcno); funduszeue.infoirservismetodu(musteritcno, miktar); //oturum kapatma funduszeue.info(); 10 / 79

12 wslogin metodu Bu servis, kimlik doğrulama ile sisteme girişi sağlar ve bir oturum çerezi (session cookie) oluşmasını sağlar. Servisin bir dönüş değeri yoktur. Eğer doğrulama başarılıysa bir oturum açılıp HTTP seviyesinde bir çerez dönülür. Bu çerezin diğer web servis çağırımlarında HTTP seviyesinde sunucuya gönderilmesi gerekmektedir. Parametre Adı Zorunluluk Parametre Türü kullaniciadi Zorunlu Karakter sifre Zorunlu Karakter dil Zorunlu Karakter Açıklama Sistemde kayıtlı kullanıcı adı Sistemde kayıtlı kullanıcı şifresi Türkçe için tr, İngilizce için en girilmelidir logout metodu Bu servis açılan oturumun kapatılmasını sağlar. wslogin Servisi Giriş Parametreleri Soap header tabanlı erişim Tercih edilen kimlik doğrulama yöntemi olan Cookie tabanlı erişim yöntemi kullanılamadığı durumlarda e- Arşiv web servis metotlarına yapılan her çağrının header bilgisinde kullanıcı adı ve parola gönderilerek kimlik doğrulama yapılabilir. Bunun için soap Xml inin header bölümünde aşağıdaki örnekteki gibi bir bölüm bulunmalıdır. <soapenv:header> <wsse:security xmlns:wsse=" <wsse:usernametoken> <wsse:username>kullaniciadi</wsse:username> <wsse:password>sifre</wsse:password> </wsse:usernametoken> </wsse:security> </soapenv:header> 11 / 79

13 Entegrasyon Servisleri Tüm servisler input ve gerekli ise output giriş / çıkış parametreleri ile çalışırlar. Parametreler ya dizgi türündendir ve JSON dizgisi beklenmektedir ya da Belge / Holder türündendir. Belge türü, belgenin tipini tanımlayan bir sabit ve belgenin içeriğini temsil eden byte dizisinden oluşur. Holder ise value alanında Object tipinde değer taşıyabilen bir taşıyıcıdır. Tüm servisler, servis çağrısının sonucunu içeren (çağrının başarılı olup olmadığı, değilse oluşan hataya ilişkin bilgi) result değerini geri döndürür. Sadece veri sorgulama amacı taşıyan servisler dışında kalan işlem servisleri ; islemid vkn sube kasa gibi özelliklerini input JSON dizgisi içerisinde parametre olarak alırlar. Bu dört parametre ve çağrının alındığı kaynak, sistemde tanımlı işlem adımlarının uygulanması ya da atlanmasına karar vermeyi sağlayan bir konfigürasyon tanımlayıcısı işlevi görür. E-Arşiv uygulamasının web ara yüzünde uygulama seçeneklerinin kullanıcı tarafından değiştirilebilmesini sağlayan bir menü seçeneği yer almaktır. Kullanıcı, mükellef bazında, örneğin web servisi kaynağından gelen faturaların numaralarının hangi seri ön eki ile üretileceğini uygulama seçeneklerinde belirtir. işlemid ve diğer üç parametre (vkn, sube, kasa), sistem açısından bir işlemin tekil tanımlayıcısı işlevi görürler. islemid parametresi, servisi kullanan istemci tarafından kendi işlemini tekil tanımlamak için üretilerek gönderilen bir referanstır. Eğer işlem her hangi bir uçta (istemci ya da sunucu tarafında), dışsal sebeplerle kesintiye uğrar ve istemci ile sunucu arasındaki iletişim koparsa, tekrar iletişim kurulduğunda, aynı islemid parametresi ile işlem tekrarlanabilir. Bu durumunda, sistem, aynı islemid ile yapılan çağrıya bir önceki çağrıda ürettiği cevabı üretecektir. Aynı islemid ile yapılan çağrıların denk güçlü olması bu gibi çökme durumlarında sistem tutarlılığının korunmasını sağlamaktadır. Servis Geri Dönüş Değeri Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format resultcode String Çağrı sonucu kodu Bkz: sonuç kodları listesi. resulttext String Çağrı sonucunu açıklayan metin Bkz: sonuç kodları listesi. resultextra Properties Çağrı sonucu ile ilgili ek bilgi faturaurl, uuid, faturano gibi değerleri key-value çiftleri olarak içerir. Sonuç Kodları Listesi 12 / 79

14 resultcode AE AE AE resulttext İşlem başarılı. Sistem hatası! Belirsiz istisnai durum hatası! AE Fatura belgesi validasyon işlemi başarısız! Hata Detayı : {0} AE AE Fatura belgesi unmarshal işlemi başarısız! Fatura belgesi marshal işlemi başarısız! AE Fatura belgesi unmarshal işlemi validasyonu başarısız! Hata detayı: {0} AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE Fatura belgesi marshal işlemi validasyonu başarısız! Belirtilen vkn, şube, kasa, kaynak kombinasyonu için tanımlı konfigürasyon bilgisi bulunamadı! Belirtilen vkn için belirtilen fatura numarasına sahip kayıtlı fatura mevcut! Belirtilen belge tipi imzalama desteği mevcut değil! Belirtilen şablon adı mükellef şablonları arasında bulunamadı! {0} belge tipi desteklenmiyor. Bu işlem ID ile daha önce fatura gönderildi! Fatura XML&#;&#;inde UUID içeren alan okunamadı. Fatura XML&#;inde Fatura No içeren alan okunamadı. Veritabanında belirtilen UUID ile kayıtlı Fatura Numarası ile gönderilen Fatura Numarası eşleşmiyor. Fatura versiyonu daha önce gönderilenle aynı ya da daha eski. Belirtilen UUID&#;ye sahip kayıtlı fatura mevcut! XSLT marshal işlemi başarısız! XSLT mapping işlemi başarısız! XSLT doğrulama işlemi başarısız! XSLT, UBL&#;&#;in içinde bulunamadı! Faturanın ek bilgisi ya da goruntu path&#;&#;i bulunamadı! {0} ozelleştirmesi için özelleştirme tanım dosyası bulunamadı! AE E-Posta listesinde geçersiz eposta adresi bulunmaktadır! Hatalı kayıt : {0} AE AE AE AE E-Posta listesinde geçersiz VKN/TCKN bulunmaktadır! VKN 10 haneli, TCKN 11 haneli olmalıdır. Hatalı kayıt : {0} Fatura serisi iki karakterden kısa olamaz! Faturayı oluşturduğunuz tarihten en fazla 36 gün öncesine kesebilirsiniz. Daha geçmiş tarihe fatura kesemezsiniz! Konfigürasyonda kayıtlı fatura serisiyle geçmiş tarihe fatura kesemezsiniz! Geçmiş tarihe fatura kesebilmeniz için fatura serisi iki karakter olmalıdır. 13 / 79

15 AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE {0} fatura sistemde kayıtlı değildir! Fatura hatalı durumda! Fatura işlemde. Faturada belirtilen satıcı kimlik numarası ({0}) ile işlemi yapan kullanıcı kimlik numarası ({1}) uyuşmuyor. Bu işlem id ile başarılı bir işlem bulunamadı. İptal edilmek istenen fatura imzalı duruma ulaşmamış. İptal işlemi yapılamaz! {0} UUID&#;&#;li fatura sistemde mevcut ve imzalı durumda! Kullanıcınn yetkili olduğu VKN bulunamadı! Fatura iptal işlemi başarısız! Web servis çağrısı "input" alanından fatura bilgisi elde edilemedi, bu alanın boş olmadığından emin olunuz! Web servis çağrısı "fatura" alanından belge elde edilemedi, bu alanın boş olmadığından emin olunuz! UBL TR {0} belge tipi desteklenmemektedir. Lütfen faturanızı UBL TR {1} formatında gönderiniz. Sıkıştırılmış olarak gelen fatura belgesi açılırken hata oluştu! {0} VKN&#;&#;sine ait {1} donemine ilişkin rapor bulunamadı! {0} VKN&#;&#;sine ait {1} rapor numaralı rapor bölümü bulunamadı! {0} VKN&#;&#;sine ait {1} donemine ilişkin rapor durumu {2}. Rapor durumu gönderime hazır (9) olmadığından gonderilemez! {0} VKN&#;&#;sine ait {1} rapor numaralı rapor bölümü okunamadı! AE Fatura UBL&#;&#;i şema doğrulaması başarısız. Hata detayı : {0} AE AE AE AE AE AE AE AE AE Fatura görüntüsü oluşturulurken hata oluştu. Fatura bilgilerine ulaşılamıyor. Fatura görüntüsü oluşturulurken hata UUID bilgisine ulaşılamıyor. Fatura görüntüsü oluşturulurken hata Fatra No (ID) bilgisine ulaşılamıyor. Web servis çağrısı "input" alanından gerekli bilgiler elde edilemedi. Eksik alanlar: {0} bu alan(lar)ın boş olmadığından emin olunuz! Web servis çağrısı "paketdosyasizip" alanından dosya elde edilemedi, bu alanın boş olmadığından emin olunuz! Paket dosyasi adından versiyon elde edilemedi. Versiyon numarası dosya adı içindeki numerik karakterlerle oluşturulmaktadır. Aynı paket için daha büyük versiyonlu dosya gelmediği sürece işlem yapılmamaktadır. "input" içindeki paketdosyaadi parametresini F zip formatında gönderiniz. Mevcut paketdosyaadi: {0} Kayıtlı paketler arasında {0} paketi bulunamadı. Sisteme gönderilen paketler sıralı olarak işlendiğinden kaydın oluşması kullanıma göre zaman alabilmektedir. Lütfen daha sonra tekrar deneyiniz. Kayıtlı paketler arasında {0} paketine ait {1} paket dosyası bulunamadı. Sisteme gönderilen paket dosyaları sıralı olarak işlendiğinden kaydın oluşması kullanıma göre zaman alabilmektedir. Lütfen daha sonra tekrar deneyiniz. {0} paketi onaylıdır, tekrar onaylanamaz. Paket durumunu paket sorgulama metodu ile sorgulayabilirsiniz. 14 / 79

16 AE AE AE AE AE AE Sistemde kayıtlı FTP kullanıcınız bulunamadı. Fatura seri alanı 2 ya da 3 haneli olmalıdır. Xslt ekleme alani sistem tarafindansa sablon bos olamaz. {0} VKN&#;&#;sine ait {1} kalan kontor bulunamadı. Aynı şube, kasa, kaynak kombinasyonu için ikinci bir kayıt girilemez! Kullanıcıya ait tanımlı FTP hesabı bulunamadı. AE Web servis çağrısı içeriği uygun değil. Uygun olmayan içerik: {0} AE AE Web servis çağrısı ile gelen bilgilerden tanımlı bir yapılandırmaya ulaşılamadı (Şube: {0}, Kasa: {1}). Ayrıca {2} VKN&#;si için tanımlı bir varsayılan seri de tanımlı değil. Numara verilemedi! Tanımlı şablon olmadığından görüntü oluşturulamadı. AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE AE {0} belge formatı için görüntü oluşturulamaz. {0} VKN&#;&#;sine ait {1} fatura numarası {2} UUID&#;&#;si ile kayıtlıdır! {0} VKN&#;&#;si e-fatura kayıtlı kullanıcısıdır. e-arşiv faturası kesilemez! Fatura oluşturma metodunda donenbelgeformati parametresi 0 (UBL), 2 (HTML), 3 (PDF) ve 9 (YOK) değerlerini alabilir! Fatura önizleme metodunda donenbelgeformati parametresi 0 (UBL), 2 (HTML) ve 3 (PDF) değerlerini alabilir! e-arşiv ürününüz yok! e-arşiv aktivasyonunuz yapılmamış. Fatura zamanı e-arşiv aktivasyon zamanınızdan öncedir! e-arşiv raporunda zorunlu olan vergi toplamlarının matrah bilgisi fatura verisinden elde edilemedi. Vergi oranı olmadığında ya da 0 olduğunda faturanın toplam vergileri bölümünde matrah (cbc:taxableamount) alanının gönderilmesi gerekmektedir! İptal edilmek istenen fatura {0} tarihinde iptal edilmiş durumdadır. Başlangıç tarihi bitiş tarihinden büyük olamaz. Tarih aralığı en fazla 92 gün olabilir. Gönderilen işlem ID ({2}) ile sistemde mevcut işlem ID uyuşmuyor. Kayıtı UUID: {0}, Kayıtlı işlem ID : {1} {0} VKN&#;&#;si için gönderilen işlem ID ({1}) ile farklı UUID&#;&#;ye sahip kayıt mevcut (durum : {2}). Gelen UUID: {3} Kayıtlı UUID: {4} Bu VKN için işlem yapmaya yetkili değilsiniz! Bu servisi kullanabilmek için giriş yapmalısınız! İstek zaman aşımına uğradı!!! Bu işlev henüz desteklenmiyor. 15 / 79

17 Fatura Numarası Üretme EarsivServiceResult faturanouret(string input, Holder output) Belirtilen seri için sıradaki fatura numarasını output parametresi ile geri döndürür. output parametresi value alanında Object tipinde dönen fatura numarası String ini taşıyan bir Holder objesidir. İnput dizgisi (JSON formatında) aşağıdaki alanları içerebilir. Bu alanlardan islemid alanı, yapılan işlemi tekil olarak tanımlamak üzere kullanıcı tarafından verilen bir değerdir ve kullanıcı bazında tekil olması zorunludur. Herhangi bir şekilde çağrı tamamlanamadığı durumda kullanıcı aynı islemid değeri ile çağrıyı tekrar ettiğinde önceki çağrıda oluşturulmuş sonuç dönecektir. Başarısız çağrılar eğer yeni bir işlemid ile tekrarlanırsa önceki çağrıda numaranın üretilebildiği durumlarda kullanıcı tarafından alınamamış / atlanmış fatura numaraları oluşmasına sebep olabilir. input JSON dizgisi içindeki alanlar Özellik Adı Özellik Tipi Açıklama Zorunluluk faturaseri String Fatura serisi. (gönderildiğinde Seçimli öncelikli olarak bu seriye göre numara verilir.) islemid String İşlemi tanımlayan tekil tanımlayıcı. Zorunlu kasa String Faturanın kesildiği kasanın kodu. (sube alanı ile birlikte faturaseri belirtilmediği durumlarda yapılandırma ayarında belirtilen seriyi almak için kullanılır) sube String Faturanın kesildiği mükellef şubesinin kodu. (kasa alanı ile birlikte faturaseri belirtilmediği durumlarda yapılandırma ayarında belirtilen seriyi almak için kullanılır) vkn String Faturayı kesen mükellefin vergi kimlik numarası. tarih String YYYYAAGG formatında tarih değeri gönderilirse fatura numarası bu fatura tarihine göre verilir. Olmadığında çağrının sisteme ulaştığı tarih kullanılır. Seçimli Seçimli Zorunlu Seçimli Fatura numarası öncelikle input içinde gelen faturaseri için verilir. Olmadığı durumlarda gönderilen sube/kasa değerlerine göre tanımlı yapılandırma ayarındaki seriye göre verilir. Her ikisinin de olmadığı durumlarda firma ayarları sayfasında tanımlanan varsayılan seri ayarı kullanılarak numara verilir. 16 / 79

18 Fatura No Uret Response Tipi Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format output Holder Value alanında üretilen fatura String formatındadır numarasını taşır. resultextra Properties (key/value) Üretilen fatura numarası ile ilişkili bir kısa URL değerini taşır. Bu numara ile daha sonra fatura kaydedildiğinde kısa URL den erişilebilir olacaktır. Değer listesi: - url Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:faturanouret> <input>{"islemid":" ", "vkn" : " ", "sube" : "", "kasa" : "", "tarih":" "}</input> </ser:faturanouret> </soapenv:body> </soapenv:envelope> Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:faturanouretresponse xmlns:ns2=" <output>ws </output> <return> <resultcode>ae</resultcode> <resultextra> <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" </resultextra> <resulttext>işlem başarılı.</resulttext> </return> </ns2:faturanouretresponse> </S:Body> </S:Envelope> 17 / 79

19 Fatura Oluşturma EarsivServiceResult faturaolustur(string input, Belge fatura, Holder output) Faturayı belge olarak alır, veri tabanı kaydını oluşturur. Konfigürasyona göre, gerekiyorsa, faturaya numara verme, fatura görüntüsünü oluşturma ve faturayı imzalama adımlarını uygular. Faturayı, güncellenmiş (numarası verilmiş ve/veya görüntüsü oluşturulmuş ve/veya imzalanmış) hali ile istenen formatta (UBL, HTML ya da PDF) Belge yi value alanında taşıyan Holder tipinde geri döndürür. Fatura UUID si, fatura numarası ve faturaya sistem üzerinden erişmek için kullanılabilecek tekil ağ bağlantısı (URL) servis geri dönüş değerinin resultextra alanı içerisindedir. Fatura HTML/PDF veya UBL olarak geri alınmak istenmiyorsa (yalnızca resultextra alanındaki fatura numarası, URL vb. bilgiler isteniyorsa) donenbelgeformati olarak 9 (YOK) gönderilir. İnput dizgisi (JSON formatında) aşağıdaki alanları içerebilir. Belirtilen seçimli alanlar yapılandırmadaki ayarların yerine o çağrıya özel kullanılmak üzere sağlanmaktadır. Yapılandırmada belirtilen şube ve kasa için mevcut ayarlardan farklı işlem yapılmak istenmediği sürece gönderilmesi zorunlu değildir. Bu alanlardan islemid alanı, yapılan işlemi tekil olarak tanımlamak üzere kullanıcı tarafından verilen bir değerdir ve kullanıcı bazında tekil olması zorunludur. Herhangi bir şekilde çağrı tamamlanamadığı durumda kullanıcı aynı islemid değeri ile çağrıyı tekrar ettiğinde önceki çağrıda oluşturulmuş sonuç dönecektir. Başarısız çağrılar eğer yeni bir işlemid ile tekrarlanırsa önceki çağrıda faturanın üretilebildiği durumlarda kullanıcı tarafından alınamamış fatura oluşmasına, diğer bir deyişle çift fatura oluşmasına sebep olabilir. input JSON dizgisi içindeki alanlar Özellik Adı Özellik Tipi Açıklama Zorunluluk Değer Listesi / Format donenbelgeformati İnt output değeri ile dönecek fatura görüntüsünün hangi formatta (HTML, PDF, UBL) oluşturulacağı. Zorunlu 0 (UBL) 2 (HTML) 3 (PDF) 9 (YOK) goruntuolusturulsunmu int Fatura belgesi içine gömülecek XSLT nin sistem tarafından eklenip Seçimli 0 1 eklenmeyeceği.(yapılandırmada belirtilen XSLT ekleme ayarı yerine kullanılmak üzere opsiyonel olarak gönderilir.) Bu ayar 0 yani XSLT eklenmesin olarak kullanıldığında XSLT gönderilen belgenin içinde gömülü olmak zorundadır. islemid String İşlemi tanımlayan tekil tanımlayıcı. Zorunlu vkn String Faturayı kesen mükellefin vergi kimlik numarası. sube String Faturanın kesildiği mükellef şubesinin kodu. (kasa alanında gelen değerle birlikte faturanın hangi kurallara göre işleneceği yapılandırma kaydı bu değerle alınır.) Zorunlu Zorunlu 18 / 79

20 kasa String Faturanın kesildiği kasanın kodu. (sube alanında gelen değerle birlikte faturanın hangi kurallara göre işleneceği yapılandırma kaydı bu değerle alınır.) numaraverilsinmi int Fatura numarasının sistem tarafından verilmesinin istenip istenmediği. (gönderildiğinde yapılandırmadaki ayar yerine kullanılır) faturaseri String Numara sistem tarafından verilecekse fatura serisinin hangi seriden kullanılması istendiği. (Gönderildiğinde yapılandırmadaki ayar yerine kullanılır.) sablonadi String Faturayı oluştururken, bu mükellef için sistemde kayıtlı fatura şablonlarından hangisinin kullanılacağı. (Gönderildiğinde yapılandırmadaki kaydın yerine kullanılır) erpkodu String Kullanıcının çağrıyı gönderdiği ERP Sisteminin efinans ta kayıtlı kodudur. efinans tarafından sağlanır zorunluluğu mükellef ile efinans arasındaki mutabakatla belirlenir. gzip int Bu değerle fatura belgesinin içeriğinin (belgeicerigi) gzip formatında sıkıştırılıp sıkıştırılmadığı ve dönen belgenin içeriğinin sıkıştırılıp sıkıştırılmayacağı belirlenir. Bu alan gönderilmediğinde sıkıştırma yok varsayılır. Zorunlu Seçimli 0 1 Seçimli Seçimli Seçimli Seçimli 0 1 Belge içeriği gelen fatura için XML ya da PDF formatında dönen output için ise UBL, HTML veya PDF formatındadır. Bu içeriklerin sıkıştırılması ağda taşınan verinin azaltılmasını dolayısıyla gönderim ve almanın daha hızlı yapılabilmesini sağlar. Bu sebeple kullanılması tavsiye edilir. 19 / 79

21 Belge Tipi Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format belgeformati String Belgenin formatı. UBL - 0 ÖZEL XML - 4 (Gönderilebilecek özel XML, mükellefe özel, daha önceden çalışılmış ve sisteme tanıtılmış olmalıdır.) PDF_CUSTOM - 7 (Özel XML gömülü PDF) PDF_UBL 8 (UBL Gömülü PDF) belgeicerigi byte[] Belgeyi oluşturan byte dizisi. gzip alanı 1 olarak kullanıldığında bu içerik gzip formatında sıkıştırılarak sıkıştırılmış içeriğin byte dizgisi kullanılmalıdır. Aynı şekilde dönen belgede de bu alan gzip formatında sıkıştırılmış output içeriğini tutacaktır. Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:faturaolustur> <input>{"islemid":"d6ed-db9eb48e-9eca3bcb", "vkn" : " ", "sube" : "", "kasa" : "", "donenbelgeformati" : "2", "gzip":"1", "erpkodu":"erp1"}</input> <fatura> <belgeformati>ubl</belgeformati> <belgeicerigi>h4siaaaaaaaaao09yxbiwjaaa=</belgeicerigi> </fatura> </ser:faturaolustur> </soapenv:body> </soapenv:envelope> 20 / 79

22 Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:faturaolusturresponse xmlns:ns2=" <output> <belgeformati>html</belgeformati> <belgeicerigi>h4siaaaaaaaaaoyumq3jmfaqa=</belgeicerigi> </output> <return> <resultcode>ae</resultcode> <resultextra> <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" instance"> b48e-9eca3bcb</value> <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" </resultextra> <resulttext>işlem başarılı.</resulttext> </return> </ns2:faturaolusturresponse> </S:Body> </S:Envelope> 21 / 79

23 Fatura Olustur Response Tipi Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format output Holder Value alanında üretilen dönen Belge formatındadır Belge yi taşır. resultextra Properties (key/value) Üretilen fatura ile ilişkili ilave alanları taşır. Değer listesi: - islemid - faturaurl - uuid - faturano - iptaltarihi (iptal edildiyse eklenir) Fatura Sorgulama EarsivServiceResult faturasorgula(string input, Holder output) Tekil tanımlayıcı olarak aldığı fatura numarası ya da UUID ye göre faturayı istenen formatta (UBL, HTML ya da PDF) Belge yi value alanında taşıyan Holder tipinde geri döndürür. Fatura UUID si, fatura numarası ve faturaya sistem üzerinden erişmek için kullanılabilecek tekil ağ bağlantısı (URL) servis geri dönüş değerinin resultextra alanı içerisindedir. Fatura HTML/PDF veya UBL olarak geri alınmak istenmiyorsa (yalnızca resultextra alanındaki fatura numarası, URL vb. bilgiler isteniyorsa) donenbelgeformati olarak 9 (YOK) gönderilir. Gönderilen input içinde vkn bulunuyorsa sorgu bu VKN değeri için yapılır. Eğer bu değer yoksa kullanıcının yetkili olduğu ilk VKN kullanılır. Web Servis çağrıları yapılırken kullanılan kullanıcının birden çok VKN için işlem yapma yetkisi varsa input içinde vkn alanı muhakkak gönderilmelidir. Aksi halde sistem tanımlı VKN lerden ilkine göre sorgu yapacağı için aslında kayıtlı olan bir fatura sorgulanırken fatura bulunamadı yanıtı alınabilir. İnput dizgisi (JSON formatında) aşağıdaki alanları içerebilir. input JSON dizgisi içindeki alanlar Özellik Özellik Adı Açıklama Tipi Zorunluluk Değer Listesi / Format vkn String İşlem yapılan mükellefin VKN sidir. Seçimli donenbelgeformati int Sorgulanan faturanın hangi formatta geri döneceği. (Gönderilmediğinde varsayılan olarak UBL tipinde cevap döner) Faturanın tekil tanımlayıcısı. (Mevcutsa faturauuid String faturano alanı dikkate alınmadan UUID ye göre sorgu yapılır.) faturano String Fatura numarası. (UUID belirtilmemişse zorunludur.) gzip int Bu değerle dönen belgenin içeriğinin sıkıştırılıp sıkıştırılmayacağı belirlenir. Bu alan gönderilmediğinde sıkıştırma yok varsayılır. Seçimli Seçimli Seçimli Seçimli 0 1 UBL 0 HTML 2 PDF 3 YOK 9 22 / 79

24 Belge Tipi Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format UBL 0 belgeformati String Belgenin formatı. HTML 2 PDF 3 belgeicerigi byte[] Belgeyi oluşturan byte dizisi. gzip alanı 1 olarak kullanıldığında dönen belgede bu alan gzip formatında sıkıştırılmış output içeriğini tutacaktır. Belge içeriği dönen output için UBL, HTML veya PDF formatındadır. Bu içeriklerin sıkıştırılması ağda taşınan verinin azaltılmasını dolayısıyla cevabın daha hızlı alınabilmesini sağlar. Bu sebeple kullanılması tavsiye edilir. Holder Type Property name Property type Details value Object Donen Belge objesini tutar Value list / Format Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:faturasorgula> <input>{ "vkn":" ", "donenbelgeformati":"3", "faturauuid":"d6ed-db9eb48e-9eca3bcb"}</input> </ser:faturasorgula> </soapenv:body> </soapenv:envelope> 23 / 79

25 Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:faturasorgularesponse xmlns:ns2=" <output> <belgeformati>pdf</belgeformati> <belgeicerigi>jvberi0xljqkmsanzukjsvft0yk</belgeicerigi> </output> <return> <resultcode>ae</resultcode> <resultextra> <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" instance"> b48e-9eca3bcb</value> <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <key xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" <value xsi:type="xs:string" xmlns:xs=" xmlns:xsi=" </resultextra> <resulttext>işlem başarılı.</resulttext> </return> </ns2:faturasorgularesponse> </S:Body> </S:Envelope> 24 / 79

26 Fatura Sorgula Response Tipi Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format output Holder Value alanında üretilen dönen Belge formatındadır Belge yi taşır. resultextra Properties (key/value) Üretilen fatura ile ilişkili ilave alanları taşır. Değer listesi: - islemid - faturaurl - uuid - faturano - iptaltarihi (iptal edildiyse eklenir) Fatura İptal Etme EarsivServiceResult faturaiptalet (String input) Tekil tanımlayıcı olarak aldığı fatura numarası ya da UUID ye göre faturayı iptal eder ve sistemde kayıtlı olan alıcı e-posta adresine faturanın iptal edildiğine dair e-posta gönderir. Gönderilen input içinde vkn bulunuyorsa iptal işlemi bu VKN değeri için yapılır. Eğer bu değer yoksa kullanıcının yetkili olduğu ilk VKN kullanılır. Web Servis çağrıları yapılırken kullanılan kullanıcının birden çok VKN için işlem yapma yetkisi varsa input içinde vkn alanı muhakkak gönderilmelidir. Aksi halde sistem tanımlı VKN lerden ilkine göre iptal işlemi yapacağı için aslında kayıtlı olan bir faturayı iptal etmeye çalışırken fatura bulunamadı yanıtı alınabilir veya diğer VKN ye ait aynı fatura numarsına sahip bir fatura iptal edilebilir. İnput dizgisi (JSON formatında) aşağıdaki alanları içerebilir. input JSON dizgisi içindeki alanlar Özellik Adı Özellik Tipi Açıklama Zorunluluk vkn faturauuid faturano String String String İşlem yapılan mükellefin VKN sidir. Faturanın tekil tanımlayıcısı. (Mevcutsa faturano alanı dikkate alınmadan UUID ye göre iptal yapılır.) Fatura numarası. (UUID belirtilmemişse zorunludur.) Seçimli Seçimli Seçimli 25 / 79

27 Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:faturaiptalet> <input>{ "vkn":" ","faturauuid":"d6ed-db9eb48e- 9eca3bcb"}</input> </ser:faturaiptalet> </soapenv:body> </soapenv:envelope> Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:faturaiptaletresponse xmlns:ns2=" <return> <resultcode>ae</resultcode> <resultextra/> <resulttext>işlem başarılı.</resulttext> </return> </ns2:faturaiptaletresponse> </S:Body> </S:Envelope> Fatura İptali Kaldırma EarsivServiceResult faturaiptalikaldir (String input) Tekil tanımlayıcı olarak aldığı fatura numarası ya da UUID ye göre faturanın iptal durumunu kaldırır ve sistemde kayıtlı olan alıcı e-posta adresine faturanın iptal durumunun kaldırıldığına dair e-posta gönderir. Faturanın iptal tarihine boş değer atılır. İptali kaldırma isteği yollandığı esnada devam eden bir rapor işlemi varsa istek geri çevrilir çünkü iptali kaldırılmak istenen fatura, işlemi devam eden rapora girmiş olabilir. İptal durumunu kaldırmak için faturanın rapora girmemiş olması gerekir. input JSON dizgisi içindeki alanlar Özellik Adı Özellik Tipi Açıklama Zorunluluk vkn faturauuid String String İşlem yapılan mükellefin VKN sidir. Faturanın tekil tanımlayıcısı. (Mevcutsa faturano alanı dikkate alınmadan UUID ye göre iptal yapılır.) 26 / 79 Seçimli Seçimli

28 faturano String Fatura numarası. (UUID belirtilmemişse zorunludur.) Seçimli Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:faturaiptalikaldir> <!--Optional> <input>{ "vkn":" ","faturano":"wfc "}</input> </ser:faturaiptalikaldir> </soapenv:body> </soapenv:envelope> Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:faturaiptalikaldirresponse xmlns:ns2=" <return> <resultcode>ae</resultcode> <resultextra/> <resulttext>işlem başarılı.</resulttext> </return> </ns2:faturaiptalikaldirresponse> </S:Body> </S:Envelope> E-Posta Gönderme EarsivServiceResult epostagonder(string input,string ilaveeposta, String tanimliepostayagonder) Tekil tanımlayıcı olarak aldığı fatura numarası ya da UUID ye göre fatura bilgisini parametrelerle belirlenen e-posta adreslerine gönderir. Tanımlı e-postaya gönderilmek istenildiğinde, öncelikli olarak alıcı e-posta listesinde belirtilen e-posta adresine, bulunamadığı takdirde faturada kayıtlı e-posta adresine faturayı gönderir. Bunların haricinde bir e-posta adresine gönderilmek istenirse, ilave e-posta adresi olarak belirtilir. Parametreler Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format input JSON Bkz. input JSON dizgisi içindeki alanlar 27 / 79

29 ilaveeposta tanimliepostayagonder String int Alıcı e-posta listesinde ya da faturada kayıtlı e-posta adresi haricinde belirtilen e-posta adresi. Alıcı e-posta listesinde ya da faturada kayıtlı e-posta adresine gönderme durumu. 0 Gönderme 1 Gönder Fatura belgesi içinde alıcı bilgilerinde bulunan tanımlı eposta haricinde belirtilen ilaveeposta alanına virgülle ayrılmış olarak birden çok eposta yazılabilir. Gönderilen input içinde vkn bulunuyorsa işlem bu VKN değeri için yapılır. Eğer bu değer yoksa kullanıcının yetkili olduğu ilk VKN kullanılır. Web Servis çağrıları yapılırken kullanılan kullanıcının birden çok VKN için işlem yapma yetkisi varsa input içinde vkn alanı muhakkak gönderilmelidir. Aksi halde sistem tanımlı VKN lerden ilkine göre iptal işlemi yapacağı için aslında kayıtlı olan bir fatura için eposta göndermeye çalışırken fatura bulunamadı yanıtı alınabilir veya diğer VKN ye ait aynı fatura numarsına sahip bir fatura için işlem yapılabilir. İnput dizgisi (JSON formatında) aşağıdaki alanları içerebilir. input JSON dizgisi içindeki alanlar Özellik Adı Özellik Tipi Açıklama Zorunluluk vkn String İşlem yapılan mükellefin VKN sidir. Seçimli faturauuid faturano String String Faturanın tekil tanımlayıcısı. (Mevcutsa faturano alanı dikkate alınmadan UUID ye göre iptal yapılır.) Fatura numarası. (UUID belirtilmemişse zorunludur.) Seçimli Seçimli Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:epostagonder> <input>{ "vkn":" ","faturauuid":"d6ed-db9eb48e- 9eca3bcb"}</input> <ilaveeposta>[email protected], [email protected]</ilaveeposta> <tanimliepostayagonder>0</tanimliepostayagonder> </ser:epostagonder> </soapenv:body> </soapenv:envelope> 28 / 79

30 Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:epostagonderresponse xmlns:ns2=" <return> <resultcode>ae</resultcode> <resultextra/> <resulttext>işlem başarılı.</resulttext> </return> </ns2:epostagonderresponse> </S:Body> </S:Envelope> Alıcı E-Postası Ekleme / Silme / Güncelleme EarsivServiceResult aliciepostaeklesilguncelle(string inputguncellenecekeposta, String inputsilinecekeposta) Alıcı e-postalarını ekler, siler ve günceller. Alıcı epostaları bir VKN/TCKN için sistemde varsayılan eposta adresi belirlemek için kullanılır. Bu şekilde belirlenen VKN ler için fatura işlenirken yapılandırma ayarlarına göre gönderilen epostalar ve e-posta gönderme web servis metodu ile gönderilirken tanımlıepostayagonder seçeneği 1 ise yollanan epostalar fatura belgesi içindeki eposta adresi yerine bu listede tanımlı eposta adresine gönderilir. Fatura belgesi içinde bulunan firmanın fatura üzerinde görünmesini istediği eposta adresi ile otomatik gönderileceğinde kullanılması istenen eposta adresinin farklı olduğu durumlarda kullanılabilir. (Bu listenin güncellenmesi portal üzerindeki ilgili arayüzden de yapılabilmektedir.) Parametreler Özellik Adı Özellik Tipi Açıklama Değer Listesi / Format inputguncellenecekeposta Properties Sistemde kayıtlı olması halinde güncellenecek, aksi takdirde eklenecek olan alıcı VKN/TCKN ve e-posta adresi için key/value çiftleri listesi. inputsilinecekeposta List Sistemde kayıtlı olması halinde silinecek e-posta adreslerine ait alıcı VKN/TCKN listesi. 29 / 79

31 Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:aliciepostaeklesilguncelle> <inputguncellenecekeposta>{" ":"[email protected]", " ":"[email protected]"}</inputGuncellenecekEposta> <inputsilinecekeposta>[" ", " "]</inputSilinecekEposta> </ser:aliciepostaeklesilguncelle> </soapenv:body> </soapenv:envelope> Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:aliciepostaeklesilguncelleresponse xmlns:ns2=" <return> <resultcode>ae</resultcode> <resultextra/> <resulttext>işlem başarılı.</resulttext> </return> </ns2:aliciepostaeklesilguncelleresponse> </S:Body> </S:Envelope> E-Posta Durumu Sorgulama EarsivServiceResult epostadurumsorgula(string input,string outputdurum, String outputeposta) Tekil tanımlayıcı olarak aldığı fatura numarası ya da UUID ye göre fatura ile her hangi bir yolla ilişkilendirilmiş (fatura içerisindeki iletişim bilgisi olarak ya da gönderilecek e-posta listesi) e-posta adresini ve gönderim durumunu geri döndürür. Gönderilen input içinde vkn bulunuyorsa işlem bu VKN değeri için yapılır. Eğer bu değer yoksa kullanıcının yetkili olduğu ilk VKN kullanılır. 30 / 79

32 Web Servis çağrıları yapılırken kullanılan kullanıcının birden çok VKN için işlem yapma yetkisi varsa input içinde vkn alanı muhakkak gönderilmelidir. Aksi halde sistem tanımlı VKN lerden ilkine göre işlemi yapacağı için aslında kayıtlı olan bir fatura için eposta durumu sorgulamaya çalışırken fatura bulunamadı yanıtı alınabilir veya diğer VKN ye ait aynı fatura numarsına sahip bir fatura için işlem yapılabilir. İnput dizgisi (JSON formatında) aşağıdaki alanları içerebilir. input JSON dizgisi içindeki alanlar Özellik Adı Özellik Tipi Açıklama Zorunluluk vkn faturauuid faturano String String String İşlem yapılan mükellefin VKN sidir. Faturanın tekil tanımlayıcısı. (Mevcutsa faturano alanı dikkate alınmadan UUID ye göre iptal yapılır.) Fatura numarası. (UUID belirtilmemişse zorunludur.) Seçimli Seçimli Seçimli Cevap olarak dönen outputdurum fatura genelindeki eposta gönderim durumunu belirtir, outputeposta ise o fatura için şu ana kadar kaydı yapılmış tüm eposta gönderim işlemlerine ait bilgileri gösterir. Bu alan bir JSON dizisidir. Dizinin her elemanı aşağıdaki alanları bulundurur. Özellik Adı oid uuid epostaoid epostaadres konu code aciklama ilkgondermezamani sonkontrolzamani durum Açıklama e-posta durum kaydının tekil tanımlayıcısı Faturanın tekil tanımlayıcısı e-posta kaydının tekil tanımlayıcısı e-posta adresi e-posta konusu e-posta servis sağlayıcısından dönen durum kodu e-posta durumuna ilişkin açıklama metni e-postanın servis sağlayıcısına gönderilme zamanı e-posta durumunun servis sağlayıcısından en son sorgulanma zamanı e-posta durumu kodları 0 - eposta gönderme ayarlarına göre gönderim istenmemiş 1 - eposta göndermek üzere kaydedildi, henüz servis sağlayıcısına gönderilmedi 2 - servis sağlayıcısına gönderilirken hata oluştu (yerel eposta format kontrolünden geçmemedi) 31 / 79

33 3 - servis sağlayıcısına gönderildi 4 - servis sağlayıcısına gönderme işlemi yapılıyor 5 - Servis sağlayıcısından dönen yanıt eposta geçersiz 6 - Servis sağlayıcısından dönen yanıt e-posta ulaşmadı 7 - Servis sağlayıcısı tarafından iletildi 8 - Okundu outputdurum alanında belirtilen durum bu fatura için gönderim kaydı bulunan e-postalardan en düşük durumdakinin durumudur. Örneğin bir eposta okundu durumunda iken diğeri iletilemedi durumundaysa, faturanın durumu iletilemedi olacaktır. Örnek Çağrı Soap XML i <soapenv:envelope xmlns:soapenv=" xmlns:ser=" <soapenv:header/> <soapenv:body> <ser:epostadurumsorgula> <input>{"vkn":" ", "faturauuid":"d6ed-db9eb48e- 9eca3bcb"}</input> </ser:epostadurumsorgula> </soapenv:body> </soapenv:envelope> Örnek Cevap Soap XML i <S:Envelope xmlns:s=" <S:Body> <ns2:epostadurumsorgularesponse xmlns:ns2=" <outputdurum>e-posta Servisine Iletilemedi.</outputDurum> <outputeposta> [{"oid":"5eikpkgmtya", "uuid":"d6ed-db9eb48e- 9eca3bcb", "epostaoid":"5eikpkgmty", "epostaadres":"[email protected]", "konu":"iptal Edilen Test Firmasi A.Ş. e-arşiv Faturanız Your Cancelled Test Firmasi A.Ş. e-archive Invoice", "postid":null, "code":"_ear_inv", "aciklama":"e-posta servis sağlayıcısına iletilemedi.", "ilkgondermezamani":" ", "sonkontrolzamani":" ", "durum":2}, {"oid":"5eikpkgmtyc", "uuid":"d6ed-db9eb48e-9eca3bcb", "epostaoid": "5eikpkgmtyb", "epostaadres":"[email protected]", "konu":"iptal Edilen Test Firmasi A.Ş. e-arşiv Faturanız Your Cancelled Test Firmasi A.Ş. e-archive Invoice", "postid":"36ec94be94bdfd3a2e6eb6", "code":"re", "aciklama":"e-posta servis sağlayıcısı tarafından iletildi. (Okunma bilgisi yok)", "ilkgondermezamani":" ", "sonkontrolzamani":" ", "durum":7}] </outputeposta> <return> <resultcode>ae</resultcode> 32 / 79

Daha göster

QNB Finansbank’ın iştiraki QNB eFinans’ın dikkat çeken ürünlerinden biri e-arşiv hizmetidir. e-Fatura mükellefi olmayan müşteriler için düzenlenen e-arşiv fatura süreci, QNB eFinans ile dijitalleşiyor. Kullanıcılar, QNB eFinans e-arşiv hizmeti ile faturalarını oluşturabiliyor, gönderebiliyor, internet olan her yerden süreçlerini yönetebiliyor. Yengeç’in de entegre olabildiği QNB eFinans’ın e-arşiv hizmetini detaylı olarak bu yazıda anlattık.

e-Arşiv Fatura Nedir?

e-Arşiv fatura mükellef olmayan müşterilere düzenlenen fatura tipidir. Müşteriye e-posta ya da SMS yolu ile gönderilebilir. e-Arşiv faturanın mükellef olmayanlara kesilmesinin yanında e-faturadan ayıran bir diğer özelliği de zaman damgası onaylanarak muhafaza edilmesi ve kağıt baskısının geçersiz olmasıdır. Düzenlenecek faturaların vergiler dahil toplam tutarın TL’yi aşması halinde mükelleflerin e-arşiv fatura düzenlemesi zorunludur. e-Arşiv fatura uygulaması hakkında merak edilen önemli bilgilere “e-Arşiv Fatura Hakkında Merak Edilenler” başlıklı içeriğimizden ulaşabilirsiniz.

QNB eFinans’ın e-Arşiv Fatura Hizmeti Nedir?

QNB eFinans’ın kullanıcılarına sunduğu hizmetler arasında olan e-arşiv ile mağaza, şube ya da merkezde kestiğiniz faturalar, QNB eFinans sistemi üzerinden müşteriye kağıt, e-posta ya da SMS olarak gönderilir veya URL olarak paylaşılabilir. Gönderilen e-arşiv faturaların bir nüshası da sistemde saklanır. QNB eFinans’ı şirketinizin kullandığı yazılıma hızlıca entegre edebilirsiniz. Ayrıca faturalarınız QNB eFinans güvencesi ile 10 yıl saklanabilir.

QNB Finans sayesinde e-arşiv raporu oluşturma ve mali mühür ile onaylama işlemlerini de yapabilirsiniz. QNB eFinans Portalı üzerinden toplu olarak e-arşiv faturalarınızı yükleyebilirsiniz. Gönderilen faturaların durumlarını detaylı olarak sorgulayabilir dilerseniz sadece saklama hizmetinden yararlanabilirsiniz.

QNB eFinans Portalı’nda e-fatura şablonunuzu tasarlayabileceğiniz gibi e-arşiv fatura şablonunuzu da oluşturabilirsiniz. Faturanızı özelleştirmek için resim, şirket logosu, tablo gibi ek bilgileri ekleyebilirsiniz.

Ayrıca, QNB eFinans Portalı’na erişim hakkı verdiğiniz kullanıcılara e-arşiv fatura oluşturma, sorgulama, iptal etme, e-Posta ve SMS sorgulama, rapor sorgulama gibi roller tanımlayarak kullanıcı bazında yetkilendirme yapabilirsiniz. Bu sayede kullanıcılar sadece tanımlandıkları rol dağılımına göre işlemler gerçekleştirebilir.

QNB banner

e-Fatura Müşterisi Olmadan e-Arşiv Ürünü Kullanılabilir Mi?

Hayır, e-arşiv fatura kullanıcısı olabilmek için öncelikle e-fatura kullanıcısı olmak gerekmektedir. e-Fatura mükellefi değilseniz önce e-fatura başvurusu yapmalısınız. QNB eFinans ile e-faturaya geçme adımları için “QNB eFinans ile e-Fatura Rehberi” içeriğimizdeki adımları inceleyebilirsiniz.

eFinans ile e-Arşiv Faturaları Müşteriye Gönderilebilir Mi?

Evet, QNB eFinans ile e-arşiv faturalarınızı müşterilerinize gönderebilir, yeni faturalar düzenleyebilirsiniz.

eFinans ile e-Arşiv Fatura İşlemlerinde Kontör Kullanımı Nasıldır?

QNB eFinans üzerinden yapacağınız e-arşiv işlemleri kontör karşılığı yapılmaktadır. Bir adet e-arşiv fatura gönderme ve saklama işlemi bir kontör karşılığındadır. Kontör paketleri satın alarak tüm işlemlerinizi bu kontörlerle yapabilirsiniz. QNB eFinans’ın sunduğu kontör paket ve detaylarına buradan ulaşabilirsiniz.
QNB eFinans ile e-arşiv fatura işlemlerinde kontör kullanımları tablosu

eFinans’ta e-Arşiv Faturalar Saklanabilir Mi?

Evet, e-arşiv faturalarınızı QNB Finans güvencesi ile 10 yıl boyunca saklama hizmetinden yararlanabilirsiniz.

eFinans’ta Bulunan e-Arşiv Faturalar Ne Kadar Süre Saklanabilir?

QNB eFinans’ta bulunan e-arşiv faturalar 10 yıl boyunca sisteme saklanabilmektedir.

eFinans’ın e-Arşiv Ürünü Hangi Yazılımlarla Entegre Edilebilir?

QNB eFinans Konnektör ile uyumlu olan her programın ürün kapsamında e-arşiv bulunmayabilir. Ürün kapsamında e-arşiv hizmeti bulunan ve QNB eFinans ile uyumlu çalışabilen yazılımların detaylı listesini buradan inceleyebilirsiniz.

eFinans’tan Kesilen e-Arşiv Faturalar İçin Kontör Gerekli Mi?

Evet, her bir e-arşiv gönderme ve saklama işlemi bir kontör, e-arşivin SMS olarak gönderilmesi işlemi de yine bir kontör karşılığındadır.

eFinans’ta e-Arşiv Fatura Raporu Nasıl Kullanılır?

QNB eFinans sistemi, e-arşiv fatura raporlamasını, fatura oluşturma tarihini izleyen günün ilk saatlerinde otomatik olarak sıraya alır ve GİB sistemlerine raporlar. Ayrıca siz de QNB eFinans Portalı üzerinden e-arşiv raporlarınızı yükleyebilir ve işleyebilirsiniz. Bunun için portalın solunda bulunan menüde e-Arşiv > e-Arşiv Taşıma > e-Arşiv Fatura/Rapor Yükleme veya e-Arşiv Fatura/Rapor İşleme adımlarını izleyebilirsiniz. Rapor sorgulama işlemini de yine e-Arşiv > Rapor Sorgulama adımlarını takip ederek yapabilirsiniz.

eFinans e-Arşiv Fatura Mali Mühür İle Onaylama Nasıl Yapılır?

Öncelikle bir e-arşiv fatura oluşturmanız gerekmektedir. Daha sonra oluşturduğunuz e-arşiv faturalara QNB eFinans Portalı’nda e-Arşiv > Taslaklar bölümünden ulaşabilirsiniz. Daha sonra bu sayfada bulunan Fatura Oluştur > İmzala butonuna tıklayarak faturanızı onaylayabilirsiniz.
QNB eFinans ile e-arşiv fatura işlemlerinden eFinans e-arşiv fatura oluşturup imzalama ekran görüntüsü

eFinans e-Arşiv Fatura e-Defter ve e-Fatura İle Birlikte Yönetilebilir Mi?

Evet, QNB eFinans ile e-arşiv, e-defter ve e-fatura işlemlerini aynı uygulama içerisinden yönetebilme olanağına sahip olursunuz.

eFinans e-Arşiv Faturalarında Detaylı Olarak Sorgulama/Raporlama Yapılabilir Mi?

Evet, QNB eFinans Portalı üzerinden e-arşiv faturalarınızın detaylı olarak sorgulamasını yapabilir, raporlar oluşturabilirsiniz. Sorgulama işlemlerini, “Tutar Bazlı Fatura Sorgulama” ve “Toplam Tutar Bazlı Alıcı Sorgulama” özellikleri doğrultusunda yapabilirsiniz.

Rapor Sorgulama bölümünden de “Rapor Oluştur” butonuna tıklayarak yıl, ay ve son gün bilgilerini girerek rapor oluşturabilirsiniz.
QNB eFinans ile e-arşiv fatura işlemlerinden detaylı fatura sorgulama raporlama ekranı

eFinans e-Arşiv Fatura Hizmeti Mobil Uygulama Üzerinden Kullanılabilir Mi?

Evet, QNB eFinans mobil uygulaması ile e-arşiv fatura hizmetini kullanabilirsiniz. Ayrıca e-fatura ürün hizmeti kapsamında, onayınıza düşen faturaları onaylayıp red edebilir, gelen ve giden faturaları sorgulayabilirsiniz. e-SMM belgelerinizi mobil uygulama ile de oluşturup gönderimlerini yapabilirsiniz.

eFinans’ın e-Arşiv Ürünü Yengeç İle Birlikte Kullanılabilir Mi?

Evet, QNB eFinans’ın e-arşiv hizmetini e-faturada da olduğu gibi Yengeç ile birlikte kullanabilirsiniz.

QNB banner

eFinans e-Arşiv’i Yengeç İle Kullanmanın Avantajları Nelerdir?

QNB eFinans’ı Yengeç’e entegre ederek e-arşiv fatura işlemleri için ihtiyaç duyduğunuz kontörleri daha avantajlı fiyatlarla satın alabilirsiniz. Yengeç kullanıcısı olarak arasında olan tek kontörlü paketleri 50 TL TL arasında değişen ücretlerde alabilirsiniz. Ayrıca Yengeç’in tüm e-ticaret hizmetlerinden yararlanabilirsiniz.

e-Arşiv’e eFinans İle Başvuru Yapılabilir Mi?

Evet, e-arşiv başvurunuzu QNB eFinans ile yapabilirsiniz. e-Arşiv başvurusu için öncelikle e-fatura mükellefi olmanız gerekmektedir. Daha sonra e-arşiv ürününü kullanabilmek için;

  • Mali Mühre Sahip Olmalısınız: Mali Mühür başvurusunu funduszeue.info internet sitesinden yapabilirsiniz.
  • Ürün Aktivasyonu ve Ayarların Tamamlanması: Mali mührün ardından QNB eFinans’a başvuru esnasında vermiş olduğunu e-posta adresine ürün aktifleşmesi için bir e-posta gönderecektir. Bu e-postada izlemeniz gereken adımlar anlatılacak. Aynı zamanda QNB eFinans Portal ekranında da tamamlamanız gereken işlemler için yönlendirmeler yapılacaktır.

e-Arşiv Fatura Başvurusu Ne Kadar Sürer?

e-Arşiv fatura başvurunuzu online olarak bir gün gibi kısa bir sürede gerçekleştirebilirsiniz. Başvurunuzun ardından QNB eFinans tarafınıza göndereceği e-posta ile yapmanız gereken adımları detaylı olarak anlatacaktır. Bu işlemleri kısa sürede tamamlayarak başvurunuzu gerçekleştirebilirsiniz.

Bu yazımızda sizlere QNB Finansbank’ın iştiraki olan QNB eFinans’ın e-arşiv hizmetinin detaylarına yer verdik. QNB eFinans kullanıcılarına e-arşiv haricinde e-fatura, e-irsaliye, e-defter, e-SMM ve e-MM hizmetleri de sunmaktadır. QNB eFinans, Aras Kargo, MNG, biletix, Kiğılı ve Coca Cola gibi devlerin de kullandığı bir sistemdir. Yengeç’in de entegre olabildiği ve e-ticaret süreçlerinizi dijitale taşımanızı sağlayan QNB eFinans’ın diğer ürünleri hakkında detaylı bilgi alabilmek için “QNB eFinans Nedir, Ne İşe Yarar?” başlıklı içeriğimizden yararlanabilirsiniz.

e-Fatura ve e-Arşiv Fatura Sorgulama İşlemi Nasıl Yapılır?

itibariyle 5 bin TL ve üzerinde düzenlenen faturaların, elektronik fatura olarak düzenlenmesinin zorunlu hale gelmesiyle, e-Fatura ve e-Arşiv Faturasorgulama işleminin nasıl yapılacağı binlerce vatandaş tarafından en çok merak edilen ve sorgulanan konular arasında yer aldı.

e-Fatura sorgulama işlemi nasıl yapılır?

e-Fatura sorgulama işlemi, funduszeue.info adresinden mükellefin vergi kimlik numarası ya da TC kimlik numarasını girerek yapabilirsiniz. Mevcut bilgilerle, sistemdeki bilgileri karşılaştırabilir, doğruluğunu kontrol edebilirsiniz.

GİB tarafından uygulamaya konulan e-Faturakullanıcılarına bir çok kolaylık ve avantajları beraberinde getiriyor.

e-Arşiv Fatura sorgulama işlemi nasıl yapılır?

e-Arşiv Fatura sorgulama işlemi, funduszeue.info adresinden, fatura numarası veya firma adıyla da yapılabilir. Sorgulama işlemi esnasında paylaşılmasını istemediğiniz bilgiler gizli kalır.

e-Fatura ve e-Arşiv Fatura Sorgulamasında dikkat edilmesi gereken konular neler?

  • Sorguladığınız faturanın e Arşiv sistemikapsamında düzenlenip düzenlenmediğinden emin olun. (e-Arşivkapsamında fatura düzenlemeye yetkili e-Arşiv Uygulamasına Kayıtlı Mükellefler Listesi ulaşabilirsiniz. )
  • Faturanızı düzenleyen mükellefin Vergi Kimlik Numarası/TC Kimlik Numarası bilgilerinin doğru girdiğinizden emin olunuz.
  • Fatura üzerinde yer alan Fatura numarasının doğru bir şekilde girildiğinden emin olunuz.
  • Faturalar üzerinde ödenecek tutar ile genel toplam veya toplam tutar şeklinde farklı tutar alanları bulunmaktadır. Fatura sorgularken ödenecek Tutar bilgisinin ve bu tutarın kuruş hanelerinin doğru girildiğinden emin olunuz.
  • Güvenlik kodu karmaşık harf ve sayılardan oluştuğundan bu diziyi doğru bir şekilde girdiğinizden emin olunuz.

onca-on-muhasebe1

E-FATURA SORGULAMA İŞLEMİ NASIL YAPILIR? GİB E-FATURA SORGULAMA

  • funduszeue.info adresinden e-Fatura Görüntüleyici programını indirin (ücretsizdir)
  • Bilgisayara inen "funduszeue.info" dosyasına tıklayarak e-Fatura görüntüleyiciyi açın.
  • (Aç) düğmesine tıkladığınızda bilgisayarda olan e-Fatura XML açılır. (Burada dikkat edilmesi gereken nokta; dosya uzantısı ".zip" değil, mutlaka ".xml" seçilmelidir. )
  • Bu bölümde e-Fatura sorgulama ve e-Fatura doğrulama işlemlerini yapabilirsiniz.

E-FATURA SORGULAMA: e-Fatura açıldıktan sonra Sorgula düğmesine basılır. Sorgulama sonucunda;

  • "İlgili fatura GİB sisteminden geçmiş ve alıcıya ulaştırılmıştır" yazıyorsa fatura GİB'den başarıyla geçmiştir. (Alıcı faturaya harici yollarla itiraz etmiş olabilir, bu bilgi e-Fatura Görüntüleyici ile görülememektedir.)
  • "İlgili fatura GİB sisteminden geçmemiş ve alıcıya ulaştırılmamıştır" yazıyorsa fatura GİB'den başarıyla geçmemiştir. (Faturaya e-fatura sistemi üzerinden hiç gönderilmemiş ya da gönderilmiş ancak hata aldığı için geçersiz hale düşmüş olabilir. Gönderici gönderdiği faturanın zarfının hata alıp almadığını kontrol etmelidir.) Bu durumda fatura geçersizdir.
  • "İlgili fatura GİB sisteminden geçmiş ve alıcı faturayı reddetmiştir" yazıyorsa fatura GİB'den başarıyla geçmiş ancak alıcı bu faturaya sistem üzerinden "red" cevabı vermiştir. Bu durumda fatura geçersizdir.

E-FATURA DOĞRULAMA: Açılan e-Fatura/Uygulama Yanıtı XML'inin imzasının doğrulanabilip doğrulanamadığını kontrol eder. Doğrulama yapılamıyorsa e-Fatura'da değişiklik yapılmış demektir.

e-Fatura açıldıktan sonra "Doğrula" düğmesine basılır. Doğrulama sonucunda;

  • "Mali Mühür Doğrulandı!" yazıyorsa fatura imzalandıktan sonra üzerinde değişiklik yapılmamıştır. "Sertifika Bilgileri" kısmına tıklandığında e-imza veya mali mühür sertifika ile ilgili bilgiler görülür.
  • "Mali Mühür Geçersiz!" yazıyorsa fatura imzalandıktan sonra üzerinde değişiklik yapılmıştır (İlk imzalama işlemi sırasında yanlış işlem yapılmış ve fatura doğru şekilde hiç imzalanamamış olabilir.) Bu durumda fatura geçersizdir.

mysoft e-Belge Geçiş kasım

muhittingulap/qnbfinansbank

E-Fatura / E-Arşiv
QNB Finansbank

QNB Finansbank E-Fatura ve E-Arşiv PHP Api

Latest Stable VersionTotal DownloadsLicense


QNB Finansbank web servisleri için PHP ile yazılmış olan bu kütüphane ile E-Arşiv, E-Fatura bildirim işlemlerini yapabilirsiniz.

Dokümantasyon (QNB FinansBank)

Dokümantasyon dosyalarına ulaşmak için tıklayınız.

Kurulum

Projenizde Kullanma

<?phpinclude('vendor/funduszeue.info');

Desteklenen Yöntemler

- E-Fatura

  • setEFatura() : E-Fatura bildirme işlemi yapabilirsiniz.
  • getFaturaNo() : Portaldaki en son gönderilmiş fatura numaranıza göre sonraki fatura numarasını üretir.
  • getEfaturaKullanicisi() : İlgili kişinin vergi numarasından E-Fatura mükellefi olup olmadığı bilgisini getirir.
  • gidenBelgeDurumSorgula() : Giden faturalarınızı durumunu sorgulayabilirsiniz..
  • gidenBelgeleriListele() : Gönderilmiş faturalarınızı listeleyebilirsiniz.
  • gelenBelgeleriListele() : Gelen faturalarınızı listeleyebilirsiniz.

- E-Arşiv

  • setEArsiv() : E-Arşiv bildirme işlemi yapabilirsiniz.
  • getFaturaNo() : Portaldaki en son gönderilmiş fatura numaranıza göre sonraki fatura numarasını üretir.
  • getFaturaSorgula() : Fatura detay görüntüleme servisidir. Faturanın PDF/HTML bilgisi ve detayları döner.
  • callFaturaIptalEt() : Fatura iptal etme servisidir.

Bildirilecek Datanın Hazırlanması (UBL)

- Başlangıç datasının hazırlanması

E-Fatura ve E-Arşiv için ortak data hazılarması gerekmektedir. Aşağıdaki kodda görülen şekilde başlangıç datası oluşturulur ve ardından eklemeler yapılarak son data çıktısı alınacatıfunduszeue.info Alınan data daha sonrasında ister E-Arşiv istersenizde E-Faturaya gönderebileceksiniz.

<?php$data = new \EFINANS\Component\data(); /* otomaik benzersiz UUID oluşturur. */$uuid=$data->getUuid(); $veri = array( "ID" => "", "ProfileID" => "", "UUID" => $uuid, "IssueDate" => "", "IssueTime" => "", ); /* hazırlanan başlangıç datasını set ediyoruz */$data->setStartData($veri);

Parameters:

ParametreAçıklama
IDFatura numaranız 'TRA' şeklinde boş bırakılması halinde finansbank tarafından otomatik oluşturulur. Finansbank'tan e-arşiv ve e-fatura için seri no belirleme için tıklayınız.
ProfileID'TICARIFATURA','TEMELFATURA' veya 'EARSIVFATURA' yazabilirsiniz. E-Arşiv içinbu bilgi boş olduğunda otomaik oluşturulur.
UUIDBenzersiz işlem numarasıdır. Otomatik oluşturulması için yukarıda örnek kod bulunur.
IssueDateFatura Tarihi YYYY-MM-DD şeklinde girilmelidir. örn:
IssueTimeFatura Saati HH:ii:ss şeklinde girilmelidir.

- Not Bilgilerinin Eklenmesi

Her Bir Notu set ediyoruz. Notlar için dokümanı inceleyiniz.

<?php$veri = array( "ID" => 1, /* not benzersiz id si */ "Value" => "", /* not tu buraya yazınız */ ); $data->setAddNote($veri);

Örnek:

// e faturada zorunluluk yoktur. e arşiv için zorunlu olduğundan aşağıdaki notu eklemeniz yeterlidir.<?php$veri = array( "ID" => 1, "Value" => "Gönderim Şekli: ELEKTRONIK", ); $data->setAddNote($veri);

Parameters:

ParametreAçıklama
Gönderim Şekli: ELEKTRONIKBu not E-Arşiv için zorunludur. Diğer not lar için dokümantasyonu inceleyiniz.
#EFN_SERINO_TERCIHI#EF#Bu not E-Fatura No otomatik üretilmesi istenmesi durumunda başlangıç seri no maksimum 2 hane gönderilmelidir. Bu örnekte : EF

- Satıcı ve Alıcı Bilgilerinin Eklenmesi

Aynı bu set işlemini 'Customer' içinde alıcı bilgilerini yazıp yapmalı ve aşağıdaki 'Supplier' yazan yeri değiştirip set etmelisiniz.

<?php$veri = array( "Party" => array( "WebsiteURI" => "", "PartyIdentificationID" => "", "PartyName" => "", "Telephone" => "", "Telefax" => "", "ElectronicMail" => "", "PartyTaxSchemeName" => "", ), "PostalAddress" => array( "StreetName" => "", "BuildingNumber" => "", "CitySubdivisionName" => "", "CityName" => "", "PostalZone" => "", "CountryName" => "Türkiye", ), ); $data->setSupplierCustomerParty('Supplier', $veri);

Parameters:

ParametreAçıklama
WebsiteURIWeb site adresi bilgisi
PartyIdentificationIDVergi no veya TC kimlik no bilgisi
PartyNameAd Soyad veya Ünvan bilgisi
TelephoneTelefon numarası bilgisi
TelefaxFax numarası bilgisi
ElectronicMailEmail adresi bilgisi
PartyTaxSchemeNameVergi Dairesi (varsa) bilgisi
StreetNameAçık Adresi bilgisi
BuildingNumberKapı Numarası bilgisi
CitySubdivisionNameİlçe bilgisi
CityNameİl bilgisi
PostalZonePosta Kodu bilgisi
CountryNameÜlke bilgisi

- Satıcı ve Alıcı Personel Bilgilerinin Eklenmesi

'Customer' için mutlaka set edin çünkü TC kimlik no olduğunda zorunludur. Supplier için zorunlu değil ama girebilirsiniz

<?php$veri = array( "FirstName" => "", "FamilyName" => "", ); $data->setPerson('Customer', $veri);

Parameters:

ParametreAçıklama
FirstNameAd bilgisi
FamilyNameSoyad bilgisi

- Ödeme Koşulları Girilmesi

Bilgi notu şeklinde girilemsi zorunlu değildir.

<?php$veri = array( "Note" => "Ziraat Bankası", "PaymentDueDate" => "", ); $data->setPaymentTerms($veri);

Parameters:

ParametreAçıklama
NoteNot bilgisi
PaymentDueDateSon Ödeme Tarihi bilgisi. örn:

- Fatura Satırlarının Girilmesi

Bu adım da her satır için bu işlemi tekrarlamanız veya bir döngü içerisinde tüm fatura satırlarınızı set etmeniz gerekmektedir.

<?php$veri = array( "ID" => "", "InvoicedQuantity" => "", "LineExtensionAmount" => "", "BaseAmount" => 0, "TaxAmount" => 0, "TaxSubtotal" => array( 0 => array( "TaxableAmount" => 0, "TaxAmount" => 0, "Percent" => 0, "TaxSchemeName" => "KDV", "TaxSchemeTaxTypeCode" => "", ), 1 => array( "TaxableAmount" => 0, "TaxAmount" => 0, "Percent" => 0, "TaxSchemeName" => "Özel İletişim Vergisi", "TaxSchemeTaxTypeCode" => "", ), ), "ItemName" => "", "PriceAmount" => 0, ); $data->setInvoiceLine($veri);

Parameters:

ParametreAçıklama
IDSatır sıra no veya benzersiz ID her satır için uniq olmalı
InvoicedQuantityÜrün Adet
LineExtensionAmountSatır toplam vergiler hariç
BaseAmountSatır toplam vergiler dahil
TaxAmountVergiler toplam tutarı
ItemNameSatılan ürün adı
PriceAmountSatır birim fiyat
TaxSubtotal -> TaxableAmountVergi toplam matrah
TaxSubtotal -> TaxAmountVergi toplam tutarı
TaxSubtotal -> PercentVergi Oranı
TaxSubtotal -> TaxSchemeNameVergi başlığı
TaxSubtotal -> TaxSchemeTaxTypeCodeVergi Kodu (dokümantasyon inceleyin)

- Datanın Son Halinin Alınması

Bu adım da fatura satırlarından otomatik olarak parasal toplamların ve vergisel toplamların heaplanıp, E-Arşiv ve E-Fatura ya gönderileck datanın son halinin, xml öncesi array datasının alıp bir değişkene atıyoruz ve artık bildirim aşamasına geçebiliriz.

<?php$qnb_data = $data->setTotals()->getData();

Servis Bağlantı İşlemleri

Web servislerine bağlantı için TEST veya CANLI ortam username ve password bilgilerini tanımlıyoruz. Bu bilgiler qnbfinansbank tarafından alınır. Email atıp bilgileri alabilirsiniz.

<?php$config = new \EFINANS\Config\config(); $options=$config->setUsername("CANLI_VEYA_TEST_USERNAME") ->setpassword("CANLI_VEYA_TEST_USERNAME") ->setvergiTcKimlikNo("CANLI_VEYA_TEST_VERGI_KIMLIKNO") ->setUrl("CANLI_VEYA_TEST_URL") ->getConfig();

Parameters:

ParametreAçıklama
setUsernameBelirlenen kullanıcı adınız (bildirimi yapacak firmanın qnbfinansbank hesap bilgisi)
setpasswordBelirnenen şifreniz (bildirimi yapacak firmanın qnbfinansbank hesap bilgisi)
setvergiTcKimlikNoVergi kimlik numaranız (bildirimi yapacak firmanın qnbfinansbank hesap bilgisi)
setUrlE-Arşiv veya E-Fatura, (test veya canlı) Web Servis Url si (qnbfinansbank tarafından alınır.)
getConfigSon olarak oluşturulan ayarların array olarak alıyoruz.

Test Url

E-Fatura İşlemleri

E-Faturaya bildirim işlemlerini yapabilmek için class ı çağırıyoruz ve set işlemlerine başlıyoruz.

<?php$efatura = new \EFINANS\Libraries\efatura(); $belgeNo=uniqid(); $return= $efatura->setConfig($options) ->setStart() ->setBelgeNo($belgeNo) ->setData($qnb_data) ->setEFatura(); print $return->belgeOid; /* e faturadan bildirim sonrası dönen key */

REQUEST Parameters:

ParametreAçıklama
setConfigYukarıda ayarladığımız ayar bilgileri gönderiyoruz.
setStartServise başlangıç tetiği veriyoruz.(ilgili ayarlara göre soap başlatır.)
setBelgeNoVaritabanınızda fatura Id si veya uniq bir değer olabilir.
setDataYukarıda ilk önce hazırladığıız datayı gönderiyoruz.
setEFaturaSon olarak E-Fatura bildirim servisini çalıştırıyoruz.

RESPONSE Parameters:

ParametreAçıklama
belgeOidBildirim sonrası bize qnbfinansbank tarafından gönderilen benzersiz bildirim keyi bu keyi kullanarak e fatura sorgulama işlemi yapacağız.

E-Arşiv İşlemleri

E-Arşiv bildirim işlemlerini yapabilmek için class ı çağırıyoruz ve set işlemlerine başlıyoruz.

<?php$earsiv = new \EFINANS\Libraries\earsiv(); $return= $earsiv->setConfig($options) ->setStart() ->setSube("DFLT") ->setKasa("DFLT") ->setData($qnb_data) ->setEArsiv(); print '<pre>'; /* düzgün çıktı görseli için */ print_r($return);

REQUEST Parameters:

ParametreAçıklama
setConfigYukarıda ayarladığımız ayar bilgileri gönderiyoruz. (eğer e arşiv için başka ayarlar varsa option değişkenini o ayarlara göre tekrar oluşturun.)
setStartServise başlangıç tetiği veriyoruz.(ilgili ayarlara göre soap başlatır.)
setSubeQNB Finansbank portal yapılandırma ayarlarında WEB SERVİS için tanımlanan Şube bilgisi
setKasaQNB Finansbank portal yapılandırma ayarlarında WEB SERVİS için tanımlanan Kasa bilgisi
setDataYukarıda ilk önce hazırladığıız datayı gönderiyoruz.
setEArsivSon olarak E-Arşiv bildirim servisini çalıştırıyoruz.

RESPONSE Parameters:

ParametreAçıklama
resultCodeİşlemin durum kodu başarılı için (AE) diğer kodlar için dokümantasyon inceleyin.
resultTextİşlem sonucu mesajı
resultExtra->entryBaşarılı olduğunda dönen kullanabileceğiniz parametreler array şeklide döner.
--faturaURLentry arrayi içinde fatura url si
--uuidentry arrayi içinde gönderdiğinzi UUID bilgisi
--faturaNoentry arrayi içinde sizin bildirdiğiniz veya otomatik bildirilmesini istediğiniz fatura no örn. TMA

E-Fatura ve E-Arşiv Ek Methodlar

E-Fatura veya E-Arşiv için ihtiyaca göre ek methodlar kullanabilirsiniz.

- E-Fatura

  • getFaturaNo() : Portaldaki en son gönderilmiş fatura numaranıza göre sonraki fatura numarasını üretir.

E-Fatura Numarası üretmek için getFaturaNo() Methodu ile geriye dönen değeri $ID değişkenine alıp başlangıç datasına gönderdiğimizde otomatik değil bizim gönderdiğimiz fatura No yu kabul eder.

<?php$efatura = new \EFINANS\Libraries\efatura(); $ID= $efatura->setConfig($options) ->setStart() ->getFaturaNo("BASLANGIC_SERI_NO") ;

Parameters:

ParametreAçıklama
setConfigServis ayalarını set ediyoruz yukarıdaki gibi
setStartServisi başlatıyoruz
getFaturaNoFatura no üretmesi için başlangıç seri no gönderiyoruz örn. TRE
  • getEfaturaKullanicisi() : İlgili kişinin vergi numarasından E-Fatura mükellefi olup olmadığı bilgisini getirir.

Hazırladığımı datanın E-Fatura ya mı E-Arşiv emi gönderecileceğini tespit etmek için getEfaturaKullanicisi() methodu ile kontrol ediyoruz. Eğer (true veya 1) bir değer dönerse e fatura mükellefi demektir ve hazırladığımız datanın E-Fatura ya gönderileceği anlaşılmaktadır. Aksi durumda ise E-Arşive gönderebilirsiniz.

<?php$efatura = new \EFINANS\Libraries\efatura(); $return= $efatura->setConfig($options) ->setStart() ->getEfaturaKullanicisi("VERGI_VEYA_TC_KIMLIK_NO") ;

Parameters:

ParametreAçıklama
setConfigServis ayalarını set ediyoruz yukarıdaki gibi
setStartServisi başlatıyoruz
getEfaturaKullanicisiE-Fatura mükellefimi değilmi öğrenebilmek için fatura sahibinin TC veya VERGİ KİMLİK NO su.

- E-Arşiv

  • getFaturaNo() : En Son üretilen e arşiv fatura nosu her çalıştığında otomatik olarak counter artarak döner.

E-Arşiv Numarası üretmek için getFaturaNo() Methodu ile geriye dönen değeri $ID değişkenine alıp başlangıç datasına gönderdiğimizde otomatik değil bizim gönderdiğimiz fatura No yu kabul eder. E-Arşiv olduğu için her çalıştırıldığında yeni bir numara üretir.

<?php$earsiv = new \EFINANS\Libraries\earsiv(); $ID= $earsiv->setConfig($options) ->setStart() ->setUuid($data->getUuid()) ->

nest...

çamaşır makinesi ses çıkarması topuz modelleri kapalı huawei hoparlör cızırtı hususi otomobil fiat doblo kurbağalıdere parkı ecele sitem melih gokcek jelibon 9 sınıf 2 dönem 2 yazılı almanca 150 rakı fiyatı 2020 parkour 2d en iyi uçlu kalem markası hangisi doğduğun gün ayın görüntüsü hey ram vasundhara das istanbul anadolu 20 icra dairesi iletişim silifke anamur otobüs grinin 50 tonu türkçe altyazılı bir peri masalı 6. bölüm izle sarayönü imsakiye hamile birinin ruyada bebek emzirdigini gormek eşkiya dünyaya hükümdar olmaz 29 bölüm atv emirgan sahili bordo bereli vs sat akbulut inşaat pendik satılık daire atlas park avm mağazalar bursa erenler hava durumu galleria avm kuaför bandırma edirne arası kaç km prof dr ali akyüz kimdir venom zehirli öfke türkçe dublaj izle 2018 indir a101 cafex kahve beyazlatıcı rize 3 asliye hukuk mahkemesi münazara hakkında bilgi 120 milyon doz diyanet mahrem açıklaması honda cr v modifiye aksesuarları ören örtur evleri iyi akşamlar elle abiye ayakkabı ekmek paparası nasıl yapılır tekirdağ çerkezköy 3 zırhlı tugay dört elle sarılmak anlamı sarayhan çiftehan otel bolu ocakbaşı iletişim kumaş ne ile yapışır başak kar maydonoz destesiyem mp3 indir eklips 3 in 1 fırça seti prof cüneyt özek istanbul kütahya yol güzergahı aski memnu soundtrack selçuk psikoloji taban puanları senfonilerle ilahiler adana mut otobüs gülben ergen hürrem rüyada sakız görmek diyanet pupui petek dinçöz mat ruj tenvin harfleri istanbul kocaeli haritası kolay starbucks kurabiyesi 10 sınıf polinom test pdf arçelik tezgah üstü su arıtma cihazı fiyatları şafi mezhebi cuma namazı nasıl kılınır ruhsal bozukluk için dua pvc iç kapı fiyatları işcep kartsız para çekme vga scart çevirici duyarsızlık sözleri samsung whatsapp konuşarak yazma palio şanzıman arızası