NAV Navbar
Logo
C#

Başlarken

Versiyon Tarihçesi

Tarih Açıklama
2019-12-31 (Yeni) E-Fatura menüsünde Hal Tipi Fatura başlığı ve fatura senaryoları başlığı altınada Hal Tipi fatura örnekleri eklenmiştir.
2019-10-05 Kamu kurumlarına düzenlenecek e-fatura kılavuzu GİB Dokümanları ve UBL-Fatura Örnekleri bölümüne eklendi.
2019-01-01 E-Fatura, e-arşiv fatura, e-irsaliye entegrasyon kılavuzu ilk versiyon yayınlandı

Başlarken

TÜRKBELGE E-Dönüşüm Entegrasyon kılavuzuna hoşgeldiniz. Bu kılavuz yazılımlarını TÜRKBELGE sistemlerine entegre etmek isteyen firmalara yol göstermek için hazırlanmıştır. Entegrasyon kılavuzumuz aşağıda ki ürünleri desteklemektedir.

Eğer entegrasyona yeni başlıyorsanız Başlarken başlığı altında ki bilgileri okumanızı tavsiye ederiz.

Yardım Talebi

Entegrasyon süreci ile ilgili her türlü teknik sorularınızı destek@turkbelge.com.tr adresine iletebilirsiniz.

Tanımlar ve Kısaltmalar

Tanım Açıklama
Başkanlık T.C. Maliye Bakanlığı Gelir İdaresi Başkanlığı
GİB T.C. Maliye Bakanlığı Gelir İdaresi Başkanlığı
E-Fatura Elektronik Fatura
Gönderici Birim e-Faturanın düzenlenmesinden ve gönderilmesinden sorumlu birim
Posta Kutusu Gönderilen e-faturanın alınmasından sorumlu birim
HTTP (Hyper Text Transfer Protocol) Hiper Metin Transferi Protokolü
HTTPS (Hyper Text Transfer Protocol Secure) Hiper Metin Transferi Protokolü–Güvenli
Merkez Gönderici Birim ile Posta Kutusu arasındaki iletişimi sağlayan ve denetleyen birim
MTOM (Message Transfer Optimization Method) Mesaj Transferi Optimizasyon Mekanizması. Web servisleri üzerinden verimli bir şekilde ikilik dosya iletimine olanak sağlayan veri iletim yöntemi
MD5 (Message-Digest Algorithm 5) Veri bütünlüğünü test etmek içinkullanılan, tek yönlü şifreleme algoritması
Schematron/Şematron XML belgelerini mantıksal olarak kontrol etmek için kullanılan kural tabanlı doğrulama dili
Sistem Yanıtı Fatura veya uygulama yanıtı içeren zarfların durumları ile ilgili olarak birimlerden gönderilen cevap mesajlarıdır.
SOAP (Simple Object Access Protocol) Basit Nesne Erişim Protokolü. Dağıtık uygulamalarda ve web servislerinin haberleşmesinde kullanılmak üzere tasarlanan, sunucu/istemci mantığına dayalıiletişim protokolü
SSL (Secure Sockets Layer) Bilginin bütünlüğü ve gizliliği için,internet üzerinde iki taraf arasında oluşan trafiğin şifrelenerek, gizliliğinin ve bütünlüğünün korunmasını sa ğlayan bir protokol
Schema/Şema XML dosyalarında taşınan verilerin nasıl yorumlanacağının belirtimi
TCKN T.C. Kimlik Numarası
VKN Vergi Kimlik Numarası
Veritabanı Çeşitli kaynaklardan elde edilen verilerin depolandığı veri yapısı
VPN (Virtual Private Network) Telekomünikasyon altyapısı kullanılarak güvenli ve özel veri aktarımını sağlayan sanal özel ağ teknolojisi
W3C WWW Birliği
Web Servis Bilgisayarlar arasında ağ üzerinden etkileşimi ve uyumluluğu sağlayan yazılım sistemi
WSDL (Web Services Description Language) Web Servislerinin tanımlandığı, erişim ve işlev bilgilerinin detaylı olarak sunulduğu XML tabanlı metin işaretleme dili
WS-I (Web Services Interoperability) Değişik web servis belirtimlerinin birlikte çalışabilmesini sağlayan endüstri konsorsiyumu
WS-I Basic Profile SOAP, WSDL, UDDI gibi temel web servis belirtimlerinin birlikte çalışabilmesini sağlayan profil
XML (Extensible Markup Language) Verinin tanımlanması ve tarif edilmesi için kullanılan genişletilebilir işaretleme dili
XSD (XML Schema Definition) XML belgelerinin uyması gereken kuralların belirlendiği metin işaretleme dili
XSLT (Extensible Stylesheet Language Transformations) Genişletilebilir Biçimlendirme Dili Dönüşümleri, XML dokümanlarını dönüştürmek için kullanılan ve orijinal dokümanı değiştirmeden, yeni bir doküman oluşturmaya olanak sağlayan
UBL (Universal Business Language) Evrensel İş Dili
UBL-TR UBL Türkiye Özelleştirmesi
Uygulama Elektronik Fatura Uygulaması
Uygulama Yanıtı Ticari fatura senaryosunda alınan bir faturaya ait “KABUL”, “RED” veya “İADE” bilgisini içeren belge türüdür.
Fatura Tarihi Faturanın kaynak sistemde düzenleme tarihi
E-Fatura Numarası Faturaya Ait E-fatura Numarası
Sistem Referansı Kaynak sistemden gelen folyo/çek/fatura referans numarası
Senaryo Kullanılan fatura senaryosu (Temel Fatura / Ticari Fatura)
Fatura Tipi Fatura Tipi Kodu (Satış / İade)
Alıcı Ünvan / Ad Soyad Alıcı cari hesap ünvanı
TCKN / VKN Alıcı vergi kimlik numarası
Fatura Net Tutar KDV Tutarı / Toplam Tutarı
GTB Gümrük ve Ticaret Bakanlığı
GÇB Gümrük Çıkış Belgesi
ZIP Veri sıkıştırma ve arşivleme formatı

Belge Numarası Yönetimi

Belge Görüntüleme

Kullandığınız Java Versiyonuna Göre E-Belge Görüntüleyici İndirebilirsiniz: E-Belge Görüntüleyici Java 1.6 İndir
E-Belge Görüntüleyici Java 1.7 İndir

Belge Gönderme Kontrolleri

Özel entegratör sistemi senkron çalışmaktadır. Yani herhangi bir servise gönderilen istek sunucu tarafından anlık olarak işlenerek sonuç dönülür. Yüklenen belgelerde hatalı durum tespit edilmesi durumunda webservis hata (SOAP Fault) dönülmektedir.

Belge gönderiminde aşağıda ki kontroller yapılmaktadır:

Belge Oluşturma

Özel Entegeratör webservislerine gönderilecek belgelerin (fatura, irsaliye, müstahsil vs) UBL-TR formatında istemci ortamında oluşturulması gerekmektedir. UBL-TR XML belge oluşturmak için iki yöntem kullanılabilir :

Belge Tipi Çalıştırılacak Komut Oluşacak Sınıf Belge Tipi
E-Fatura / E-Arşiv Fatura xsd /c UBL-Invoice-2.1.xsd ../common/UBL-CommonExtensionComponents-2.1.xsd ../common/UBL-CommonBasicComponents-2.1.xsd ../common/UBL-UnqualifiedDataTypes-2.1.xsd ../common/UBL-CoreComponentParameters-2.1.xsd ../common/CCTS_CCT_SchemaModule-2.1.xsd ../common/UBL-CommonAggregateComponents-2.1.xsd UBL-Invoice-2.1.cs InvoiceType
E-İrsaliye xsd /c UBL-DespatchAdvice-2.1.xsd ../common/UBL-CommonExtensionComponents-2.1.xsd ../common/UBL-CommonBasicComponents-2.1.xsd ../common/UBL-UnqualifiedDataTypes-2.1.xsd ../common/UBL-CoreComponentParameters-2.1.xsd ../common/CCTS_CCT_SchemaModule-2.1.xsd ../common/UBL-CommonAggregateComponents-2.1.xsd UBL-DespatchAdvice-2.1.cs DespatchAdviceType
E-İrsaliye Yanıtı xsd /c UBL-ReceiptAdvice-2.1.xsd ../common/UBL-CommonExtensionComponents-2.1.xsd ../common/UBL-CommonBasicComponents-2.1.xsd ../common/UBL-UnqualifiedDataTypes-2.1.xsd ../common/UBL-CoreComponentParameters-2.1.xsd ../common/CCTS_CCT_SchemaModule-2.1.xsd ../common/UBL-CommonAggregateComponents-2.1.xsd UBL-ReceiptAdvice-2.1.cs ReceiptAdviceType
Müstahsil Makbuzu xsd /c UBL-CreditNote-2.1.xsd ../common/UBL-CommonExtensionComponents-2.1.xsd ../common/UBL-CommonBasicComponents-2.1.xsd ../common/UBL-UnqualifiedDataTypes-2.1.xsd ../common/UBL-CoreComponentParameters-2.1.xsd ../common/CCTS_CCT_SchemaModule-2.1.xsd ../common/UBL-CommonAggregateComponents-2.1.xsd UBL-CreditNote-2.1.cs CreditNoteType


Ödeme Şekilleri

e-Arşiv ve e-Fatura ödeme paymentmeans tag’ini fatura içerisinde kullanıyorsanız bu alanın örnek kod’ları aşağıdaki gibidir.

KOD AÇIKLAMASI
48 KREDIKARTI/BANKAKARTI
46 EFT/HAVALE
10 KAPIDAODEME
1 Diğerleri

Diğer kodlar için aşağıdaki referanslardan yararlanabilirsiniz. * Referans 1: http://www.unece.org/trade/untdid/d11a/tred/tred4461.htm ** Referans 2: https://www.stylusstudio.com/edifact/D01C/4461.htm

Webservice Endpoint (WSDL) URL

Ürün Endpoint URL
Kimlik Doğrulama https://authenticationws.turkbelge.com.tr/AuthenticationWS?wsdl
E-Fatura Webservis https://efaturawstest.turkbelge.com.tr/EFaturaOIB?wsdl
E-Arşiv Fatura Webservis https://earsivwstest.turkbelge.com.tr/EIArchiveWS/EFaturaArchive?wsdl

Portal Uygulaması

Entegrasyon sürecinde Portal uygulamamızı aşağıda ki durumlar için kullanabilirsiniz:

Test Portal Adresimiz: https://demo.turkbelge.com.tr

Test portali erişim bilgileri için destek@turkbelge.com.tr adresi ile iletişime geçebilirsiniz.

Entegrasyon Sıkça Sorulan Sorular

Entegrasyon sürecinde karşılaşılan soruların cevapları:

Soru: Ürün bazlı (E-Fatura, E-İrsaliye) kayıtlı kullanıcıları sorgulayabileceğimiz bir servis mevcut mu ?

Cevap: Kimlik Doğrulama webservisinde bulunan Mükellef Listesi Çekme (GetGibUserList) metodumuzu kullanarak E-Fatura ve E-İrsaliye mükellef listesini çekebilirsiniz. DOCUMENT_TYPE parametresine E-Fatura için INVOICE, E-İrsaliye için DESPATCHADVICE gönderilmelidir. Her iki ürüne ait etiketleri toplu çekmek için ALL değeri gönderilebilir. Parametre gönderilmez veya boş gönderilirse bütün liste dönülecektir.

Kimlik Doğrulama Webservisi

Entegrasyon sürecinin ilk adımı olan kimlik doğrulamayı sağlayan servistir. Yapılan her işlem mutlaka aktif bir oturum ile yapılmalıdır.

İstemci (client) Örnek Projeler

Webservice entegrasyonu için sunucu taraflı programlama diline uygun farklı istemci(client) örnekleri sunar. Bu istemcilerden programlama yapmak istediğiniz dile uygun olanı seçip test bilgileri ile kullanmaya başlayabilirsiniz.

İstemci örneklerini talep etmek için destek@turkbelge.com.tr adresine .net, php, java, delphi veya soapui örneklerinden hangisini talep ettiğinizi bildiriniz.

Ortak Kullanılan Eleman

Her webservis isteğinde gönderilmesi beklen ortak elemandır (REQUEST_HEADER)

Parametre Tip Zorunluluk Açıklama
SESSION_ID String Evet Login Metodunda sistem tarafında gönderilen SESSION_ID bilgisi. Sonraki tüm metod çağrılarında parametre olarak metoda geçmelidir.
APPLICATION_NAME String Evet Metodu çağıran uygulamanın adı. Mutlaka uygulama adının yazılması gerekmektedir.
CHANNEL_NAME String Evet Metodun çağrıldığı kanal adı.
COMPRESSED String Hayır İçerikte taşınan bilginin ZIP formatında sıkıştırılmış mı gönderildiği/talep edildiği bilgisi. Belge gönderim ve belge okuma servislerinde gönderilen değere göre işlem yapılmaktadır.
CLIENT_TXN_ID String Hayır İstemci uygulama tarafından işlem için üretilen işlem bilgisi (transaction id) varsa istek esnasında gönderilip, sonuçta alabileceğiniz bir değerdir. request/response eşleşmesi yapmak için kullanılabilir.
INT_PARENT_TXN_ID String Hayır İstemci uygulamasında ana modül entitileri ile ilişkilendirelmek istenen ana transaction ID.
ACTION_DATE String Hayır Metodun çağrılma tarihi
CHANGE_INFO Array Hayır Bu eleman ile eğer verilerde bir değişiklik yapılacak ise o değişikliği ait bilgi.
REASON String Hayır İşlem sebebi. Fatura gönderme, fatura alma vs.
HOST_NAME String Hayır Metodu çağıran sunucunun host bilgisi.
SIMULATION_FLAG String Hayır Metod çağrılır ancak arkadaki işlem yapılmaz.

Başarı Sonuç Nesnesi

Webservis işlem başarılı olduğunda response objesi içerisinde REQUEST_RETURN tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
REQUEST_RETURN ComplexType İşlem sonucunu içeren başarılı sonuç objesi
INT_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda bu eleman dönülmez.
INVOICE_ID String Fatura numarası e-arşiv platformunda atanmışsa atanan fatura numarası dönülür.

Hata Sonuç Nesnesi

Webservis metodunda hata oluşması durumunda response objesi içerisinde ERROR_TYPE tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
ERROR_TYPE ComplexType İşlem sonucunu içeren başarısız/hatalı sonuç objesi
INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
ERROR_CODE String Hata kodu. Hata kod detayları için ilgili servisteki hata kod listesini inceleyebilirsiniz.
ERROR_SHORT_DESC String Hatanın kısa açıklaması.

Oturum Açma (Login)

Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
REQUEST_HEADER.SESSION_ID String Evet Request Header objesi içerisinde bulunan SESSION_ID login servisinde -1 olarak gönderilmelidir.
USER_NAME String Evet Sisteme tanımlı kullanıcı adı. Test hesabı için destek@turkbelge.com.tr e-posta adresiyle iletişime geçebilirsiniz.
PASSWORD String Evet Sisteme tanımlı kullanıcıya ait şifre.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
SESSION_ID String Sonraki metod çağrılarında kullanılacak oturum bilgisi.

Oturum Kapatma (Logout)

Web servis istemcisinin özel entegratör platformunda ki oturumu kapatmasını sağlayan servistir.

Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
SESSION_ID String Evet Oturum kapatılmak istenen session ID değeri



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
RETURN_CODE String Oturum başarı ile sonlandırılmışsa 0 döner

Mükellef Listesi Çekme (GetGibUserList)

E-Fatura ve E-İrsaliye sistemine kayıtlı firmalara ait GB/PK etiketlerinin sıkıştırılmış olarak istenilen tipte dönüldüğü servistir.

Mükellef Çekme Senaryoları

İşlem
DOCUMENT ALIAS ALIAS_MODIFY REGISTER_TIME
Aktif E-Fatura ve E-İrsaliye posta kutusu etiketlerini çekme ALL PK - -
Aktif E-Fatura ve E-İrsaliye GB ve PK etiketlerini çekme ALL ALL - -
Aktif E-Fatura posta kutusu etiketlerini çekme INVOICE PK - -
Aktif E-İrsaliye posta kutusu etiketlerini çekme DESPATCHADVICE PK - -
Belirli tarihten sonra (2019-12-01) eklenen veya silinen E-Fatura ve E-İrsaliye posta kutusu etiketlerini çekme ALL PK 2019-12-01 -
Belirli tarihten sonra (2019-12-01) eklenen veya silinen E-Fatura ve E-İrsaliye GB ve PK etiketlerini çekme ALL ALL 2019-12-01 -
Belirli tarihten sonra (2019-12-01) eklenen veya silinen E-Fatura posta kutusu etiketlerini çekme INVOICE PK 2019-12-01 -
Belirli tarihten sonra (2019-12-01) eklenen veya silinen E-İrsaliye posta kutusu etiketlerini çekme DESPATCHADVICE PK 2019-12-01
Belirli tarihten sonra (2019-12-01) E-Fatura veya E-İrsaliye mükellefi olan firmaların etiketlerini çekme ALL ALL - 2019-12-01
Belirli tarihten sonra (2013-12-01) E-Fatura veya E-İrsaliye mükellefi olan firmaların belirtilen bir tarihten (2019-12-01) sonra eklenen veya silinen etiketlerini çekme ALL ALL 2019-12-01 2013-12-01
Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
TYPE String Hayır Listenin dönüleceği dosya tipi. XML ve CSV olabilir. Varsayılan XMLdir.
DOCUMENT_TYPE String Hayır Mükellef listesi çekilmek istenilen ürün tipi. E-Fatura için INVOICE, E-İrsaliye için DESPATCHADVICE gönderilmelidir. Her iki ürüne ait etiketleri çekmek için ALL değeri gönderilebilir. Parametre gönderilmez bütün ürünlere ait Aktif etiket listesi dönülecektir.
ALIAS_TYPE String Hayır Mükelleflerin etiketlerine göre çekmek için kullanılır. Sadece Gönderici Birim etiketini çekmek için GB, Posta Kutusu etiketini çekmek için PK gönderilmelidir. Bütün etiketleri çekmek için ALL değeri gönderilebilir. Varsayılan PKdir. Parametre gönderilmez ise sadece PK etiket listesi dönülecektir. Belge göndermek için sadece PK etiketlerine ihtiyaç bulunmaktadır.
REGISTER_TIME_START DateTime Hayır Mükellefiyet başlangıç tarihi. Belirli bir tarihten sonra e-fatura veya e-irsaliye mükellefi sisteme dahil olmuş mükellefleri çekmek için kullanılabilir. Eğer tarih içerisinde saat bilgisi gönderilirse sonuç dönülürken dikkate alınacaktır. format: YYYY-AA-GG veya YYYY-AA-GGTSS:DD:SS formatında 2013-01-01, 2013-01-01T01:01:01
ALIAS_MODIFY_DATE DateTime Hayır Etiket durum değişiklik tarihi. Belirli bir tarihten sonra sisteme eklenen veya silinen etiketleri çekmek için kullanılabilir. Bu parametre gönderilirse gönderilen tarihten sonra sisteme eklenen veya silinen etiketler dönülecektir. Eğer tarih içerisinde saat bilgisi gönderilirse sonuç dönülürken dikkate alınacaktır. format: YYYY-AA-GG veya YYYY-AA-GGTSS:DD:SS formatında 2013-01-01, 2013-01-01T01:01:01



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
CONTENT Base64Encoded Kriterlere uygun mükelleflere ait GB ve PK adresleri

XML dosyasının içerisinde bulunan USER objesinin elamanları şu şekildedir :

Eleman Tip Açıklama
USER.IDENTIFIER String Mükellefe ait VKNsı.
USER.ALIAS String Mükellefe ait GB veya PK etiketi. format: urn:mail:defaultgb@firma.com
USER.TITLE String Firmanın GİB e-fatura sisteminde tanımlı ünvanı.
USER.TYPE String Firmanın GİB e-fatura sisteminde tanımlı tipi. OZEL veya KAMU olabilir.
USER.UNIT String Etiketin tipi. GB veya PK
USER.DOCUMENT_TYPE String E-Fatura için INVOICE, E-İrsaliye için DESPATCHADVICE dönülmektedir.
USER.REGISTER_TIME DateTime Firmanın GİB e-fatura sistemine ilk kayıt olduğu tarih. formatı: 2013-07-01T15:22:11
USER.ALIAS_CREATION_TIME DateTime Etiketin oluşturulduğu tarih. formatı: 2013-07-01T15:22:11
USER.DELETED String Eleman sadece silinmiş etiketlerde bulunur. Değeri Y olur. Silinmemiş etiketlerde bu eleman bulunmaz.
USER.DELETION_TIME DateTime Eleman sadece silinmiş etiketlerde bulunur. Etiketin GİB sisteminde kapatıldığı tarih. formatı: 2013-07-01T15:22:11

E-Fatura Mükellefi Sorgulama (CheckUser)

Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
USER.IDENTIFIER String Evet Mükellefiyeti sorgulanacak firmanın vergi kimlik numarası
DOCUMENT_TYPE String Evet Mükelleffiyet kontrol edilecek ürün tipi. E-Fatura için INVOICE, E-İrsaliye için DESPATCHADVICE gönderilmelidir.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
USER.IDENTIFIER String Mükellefe ait VKNsı.
USER.ALIAS String Mükellefe ait GB veya PK etiketi.
USER.TITLE String Firmanın GİB sisteminde tanımlı ünvanı.
USER.TYPE String Firmanın GİB sisteminde tanımlı tipi. OZEL veya KAMU olabilir.
USER.REGISTER_TIME Date Firmanın GİB sistemine ilk kayıt olduğu tarih. formatı: 2013-07-01T15:22:11
USER.UNIT String Etiketin tipi. GB veya PK
USER.ALIAS_CREATION_TIME DateTime Etiketin oluşturulduğu tarih. formatı: 2013-07-01T15:22:11

E-Fatura Webservisi

e-Fatura servisi, e-fatura mükellefinin fatura gönderimini ve gelen faturaları kendisi sistemine çekmesini sağlayan webservis uygulamasıdır.

GİB Dokümanları

Doküman Açıklama İndir
UBL-TR Fatura UBL-TR v1.2 (UBL 2.1 Türkiye Özelleştirmesi) paketinde yer alan fatura belgesinde geçen elemanlara ait XSD, tanımlama, kullanım şekilleri, kardinaliteler hakkında bilgi vermek ve örnek kullanım şekillerini göstermek amacı ile hazırlanmıştır.
UBL-TR Ortak Elemanlar UBL-TR (UBL 2.1 Türkiye Özelleştirmesi) paketinde yer alan belgelerde geçmesi muhtemel elemanlara ait (ortak elemanlar örneğin: Adres, Parasal Toplamlar, Taraf gibi) XSD, açıklama, kullanım şartları, kardinaliteler hakkında bilgi vermek ve örnek kullanım şekillerini göstermek amacı ile hazırlanmıştır.
UBL-TR Kod Listeleri UBL-TR kapsamında kullanılan Kodlama Sistemleri ve Kimlik Şemaları hakkında bilgi vermek amacı ile hazırlanmıştır.
Gümrük İşlemleri Kılavuzu Elektronik Fatura Uygulamasında yolcu beraberi eşya ihracı ve mal ihracı faturalarını e-fatura sistemine entegre edecek ve uygulamaya ilişkin yazılım geliştireceklerin teknik konularda ihtiyaç duyabilecekleri bilgileri vermek amacıyla hazırlanmıştır.
İhracat Faturası Ek Alanlar İhracat faturalarında eklenmesi zorunlu ve isteğe bağlı alanların açıklamak için hazırlanmıştır.
SGK E-Fatura Teknik Kılavuzu Elektronik Fatura Uygulamasında Sosyal Güvenlik Kurumuna (SGK) düzenlenecek faturaların e-fatura sistemine entegre edecek uygulamaya ilişkin yazılım geliştireceklerin teknik konularda ihtiyaç duyabilecekleri bilgileri vermek amacıyla hazırlanmıştır.
Kamu E-Fatura Teknik Kılavuzu e-Fatura Uygulamasına kayıtlı olan vergi mükelleflerimiz, 5018 sayılı Kamu Mali Yönetimi ve Kontrol Kanunu ile belirlenmiş merkezi yönetim kapsamında yer alan ve Muhasebat ve Mali Kontrol Genel Müdürlüğü (MGM) tarafından geliştirilen Yeni Harcama Yönetim Sistemini (MYS) kullanan kamu idareleri ve bunlara bağlı harcama birimleri adına, 1.3.2019 tarihinden itibaren GİB e-Fatura Uygulaması aracılığı ile e-Fatura düzenleyip gönderebileceklerdir. Teknik kılavuz hazırlanmıştır.
Hal Tipi Fatura Kılavuzu Hal Komisyoncularının düzenlediği KOMİSYONCU veya SATIŞ faturalarının işleyişinin açıklandığı teknik kılavuzdur.

UBL-Fatura Örnekleri

E-Fatura ve E-Arşiv Fatura sistemi üzerinden düzenlebilecek ve gönderilebilecek fatura senaryoları ve örnek fatura XML dosyası aşağıda listelenmiştir.

Fatura Senaryosu Açıklama XML HTML
Temel Satış Faturası Alıcısı tarafından elektronik ortamda kabul veya reddedilemeyen fatura tipidir.
Ticari Satış Faturası Alıcısı tarafından elektronik ortamda kabul veya reddedilebilen fatura tipidir.
İade Faturası Alınan bir fatura üzerinde ki yanlış tutar veya eksik bilgi sebebi ile düzenlenen fatura tipidir. İade faturası TEMELFATURA olarak gönderilmesi zorunludur.
Farklı KDV Oranlarına Sahip Fatura Fatura satırında farklı KDV oranlarının bulunduğu fatura örneğidir. Her satırda farklı KDV oranı vardır.
0 KDV Fatura Fatura satırında KDV oranı 0 olan satış faturası örneğidir. KDV 0 olduğu durumlarda muafiyet sebebi belirtilmelidir.
Bedelsiz (%100 İskontolu) Satış Faturası Promosyon, Eşantiyon veya Numune Ürün Teslimlerinde bedelsiz düzenlenen fatura örneğidir. Bu faturalarda KDV 0 hesaplandığı için muafiyet sebebi belirtilmelidir. Bu faturaların muafiyet kodu 351 olur. Muafiyet sebebi ise müşteri tarafından girilebilir.
Satırda Çoklu İskontolu Satış Faturası Bir fatura satırında birden fazla iskonto içeren fatura örneğidir.
İstisna Faturası İstisna Faturası
Özel Mathrah Faturası Özel Matrah Faturası
Tevkifat Faturası Tevkifat Faturası
SGK Faturası SGK Faturası TEMELFATURA senaryosunda gönderilmek zorundadır.
E-Arşiv Fatura - İnternet Internet üzerine yapılan satış için düzenlenen fatura tipidir. Bu faturalar alıcısına elektronik ortamda iletilmek zorundadır. Bu faturalar diğer satış faturalarından farklı bir seriden gönderilmeldir.
E-Arşiv Fatura - Normal Internet üzerine yapılan satış dışında düzenlenen fatura tipidir. Bu faturalar alıcısına elektronik ortamda iletilebileceği gibi kağıt olarakta teslim edilebilir.

Webservice Endpoint (WSDL) URL

Ürün Endpoint URL
Kimlik Doğrulama https://authenticationws.turkbelge.com.tr/AuthenticationWS?wsdl
E-Fatura Webservis https://efaturawstest.turkbelge.com.tr/EFaturaOIB?wsdl
E-Arşiv Fatura Webservis https://earsivwstest.turkbelge.com.tr/EIArchiveWS/EFaturaArchive?wsdl

Portal Uygulaması

Entegrasyon sürecinde Portal uygulamamızı aşağıda ki durumlar için kullanabilirsiniz:

Test Portal Adresimiz: https://demo.turkbelge.com.tr

Test portali erişim bilgileri için destek@turkbelge.com.tr adresi ile iletişime geçebilirsiniz.

Test Hesaplar

Test sürecinde düzenlenen faturaların/irsaliyelerin göndericisi, alıcısı ve etiketler için aşağıda ki bilgiler kullanılmalıdır.

Gönderici VKN Gönderici Etiket Alıcı VKN Alıcı Etiket
4710710430 urn:mail:defaultgb@ileka.com.tr 4710710430 urn:mail:defaultpk@ileka.com.tr

Dikkat Edilecek Hususlar

Uygulamanızı tasarlarken aşağıda ki bilgiler faydalı olacaktır:

  1. Kimlik Doğrulama (Authentication) Webservisinde bulunan Login servisi ile oturum açarak session id alınacak. Session Id sistemimiz tarafında 8 saate kadar zaman aşımına uğramadığı için kullanıcı giriş yapınca session id alıp bütün kullanım süresinde aynı session id kullanabilirsiniz.
  2. Kimlik Doğrulama (Authentication) Webservisinde bulunan GetGibUserList servisi ile GIB e-fatura mükellef listesini her 2 saatte özel entegratör platformundan çekmeniz gerekmektedir. Güncel listeyi çektikten sonra Cari listenizde ki firmaların e-fatura mükellefi olup olmadığını güncellemelisiniz.
  3. E-Fatura Mükellefi olan firmalara kesilen faturaları UBL-TR formatına dönüştürerek (ekte örnek fatura bulunuyor) TÜRKBELGE sunucularına gönderebilirsiniz. Her fatura içerisinde faturanın görüntülenmesini sağlayan XSLT dokümanı olmalıdır.
  4. SendInvoice metodu ile fatura gönderimi yapılacak. Gönderim esnasında eğer faturanın alıcısına ait birden fazla Posta Kutusu bulunuyorsa ekranda seçilerek gönderilmesi sağlanmalı. Sadece 1 adet PK adresi varsa seçim yapılmadan gönderim sağlanabilir.
  5. GetInvoiceStatus metodu ile gelen/giden faturaların durumları sorgulanacak. Nihai duruma erişene kadar faturanın durumu özel entegratör sisteminden minumum 4 saatte bir sorgulanmalıdır. Sık sorgulama yapmayınız.
  6. GetInvoice metodu ile firmaya gelen faturalar müşteri bilgisayarına aktarılır. TÜRKBELGE sistemlerine gelen yeni faturaları almanız gerekmektedir. Servis ile yeni gelen en fazla 100 adet faturayı çekebilirsiniz. Eğer dönen listede 100 adet fatura varsa yeniden getinvoice servisi çağırılarak başka fatura olup olmadığı kontrol edilmelidir. Dönen listede 100den az fatura varsa tekrar sorgulama yapmaya gerek yoktur. Fatura çekme zamanlayıcı ile yapılıyorsa en az 15 dk bir servis çağırılmalıdır.
  7. MarkInvoice metodu ile başarılı şekilde teslim alınan faturalar TÜRKBELGE sistemlerinde okundu olarak işaretlenir. Böylece bir sonra ki getinvoice servisi çağrılınca dönülmez.
  8. SendInvoiceResponseWithServerSign metodu ile gelen ticari bir faturaya kabul veya red yanıtı gönderebilirsiniz.
  9. Gelen bir faturaya 8 gün içerisinde kabul veya red gönderilebilir. 8 günü geçtikten sonra kabul/red yapılması engellenmelidir. Temel faturalar için yanıt gönderilmesi kısıtlanmalıdır.
  10. Ticari bir faturaya elektronik ortamda en fazla 1 adet yanıt gönderilebilir. Bundan dolayı bir faturaya başarıyla yanıt (kabul/red) gönderilmişse farklı bir yanıt gönderilmesi kısıtlanmalıdır.
  11. Kimlik Doğrulama (Authentication) Webservisinde bulunan Logout metodu ile kullanıcı e-fatura programını kapatınca veya sizin belirlediğiniz bir sürede oturumu kapatabilirsiniz.

E-Fatura Entegrasyon Kontrol Listesi

Durum Kontrol
Evet / Hayır Oturum Açmak için Kimlik Doğrulama (Authentication) webservisinde ki Login metodu kullanıldı.
Evet / Hayır Oturum açıldıktan sonra bütün isteklerde aynı Session ID kullanılıyor. Eğer Aktif session bulunamadı hatası dönülürse yeni oturum açılıyor.
Evet / Hayır E-Fatura mükellef listesi çekmek için Kimlik Doğrulama (Authentication) webservisinde ki GetGibUserList metodu kullanılıyor.
Evet / Hayır Gönderilen her istek ile REQUEST_HEADER objesinde ki SESSION_ID ve APPLICATION_NAME alanları dolu gönderiliyor.
Evet / Hayır Fatura numarası ataması müteselsilliği sağlıyor.
Evet / Hayır Her türlü fatura senaryosuna göre fatura SendInvoice metodu kullanılarak gönderildi (TEMEL, TICARI, IHRACAT, YOLCUBERABERI,SGK)
Evet / Hayır Her türlü fatura tipinden örnek fatura gönderildi. (Satış, Iade, Tevkifat, Özel Matrah vs)
Evet / Hayır Özel entegratöre iletilen faturalar için muhasebe paketi/ERP'de değişiklik yapılamıyor. Kayıt kitleniyor.
Evet / Hayır Alıcı tarafında hata almış faturalar aynı fatura numarası ama farklı ETTN ile tekrar SendInvoice servisi kullanılarak gönderilebiliyor.
Evet / Hayır 7 günden geriye fatura düzenlenemiyor.
Evet / Hayır GetInvoice metodu kullanılarak yeni gelen bütün faturalar içerikleri ile beraber (XML) müşteri ortamına çekiliyor.
Evet / Hayır Özel entegratörden fatura çekme özelliği ekranda bir butona değilde zamanlayıcı ile belirli aralıkta otomatik yapılıyorsa bu süre konfiguratif ve en az 15dk olarak belirlendi.
Evet / Hayır Özel entegratörden fatura çekme ekranda bir buton ile kullanıcıya bırakıldıysa kullanıcı çok sık butona tıklasa bile 5 dakika da bir yapılıyor.
Evet / Hayır Özel entegratörden GetInvoice metodu ile çekilen faturaların XMLleri (file sisteme veya veritabanına) kaydediliyor.
Evet / Hayır Başarı ile kaydedilen faturalar için MarkInvoice kullanılarak alındı mesajı gönderildi.
Evet / Hayır Alınan bütün faturalar için toplu alındı mesajı gönderilmek için GetInvoice metodu ile dönülen INVOICE listesi MarkInvoice metoduna parametre olarak gönderiliyorsa fatura içeriğinin (Base64Binary) bulunduğu INVOICE.CONTENT alanı boşaltılıyor. Böylece network trafik oluşturulması önleniyor.
Evet / Hayır Faturaların durumu zamanlayıcı ile otomatik sorgulanıyorsa bu süre konfiguratif ve en az 4 saat olarak belirlendi.
Evet / Hayır Nihai duruma ulaşmış giden faturaların (GetInvoiceStatus servisi ile dönülen SUBSTATUS parametresinin değeri SUCCEED veya FAILED ise) durumları sorgulanmıyor.
Evet / Hayır Gelen temel faturaların durumları sorgulanmıyor.
Evet / Hayır Gelen ticari faturaların durumları yanıt verildikten sonra sorugulanmaya başlanıyor ve GetInvoiceStatus servisi ile dönülen STATUS parametresinin değeri SUCCEED veya FAILED olana kadar sorgulanıyor.
Evet / Hayır Alıcı sisteme ulaştıktan sonra üzerinden 8 gün geçmiş gelen veya giden faturaların durumları sorgulanmıyor.
Evet / Hayır Nihai duruma ulaşmamış faturalar için durum sorgulaması GetInvoiceStatus metodu ile yapılıyor.
Evet / Hayır Durum sorgulaması yapılacak fatura birden fazla ise GetInvoiceStatus metodunda UUID parametresi çoklanarak tek bir istek ile yapılıyor. Yani her fatura için ayrı ayrı durum sorgulaması yapılmıyor.
Evet / Hayır İhracat faturaların durumları sorgulanınca GTB numarası vs alınıp müşteriye gösteriliyor.
Evet / Hayır Gelen temel fatura senaryosunda ki faturalara kabul veya ret yanıtı gönderilemiyor.
Evet / Hayır Gelen ticari fatura senaryosunda ki faturalara kabul veya red yanıtı SendInvoiceResponseWithServerSign metodu ile gönderildi.
Evet / Hayır Ret edilen ticari faturalar için red sebebi mutlaka gönderiliyor.
Evet / Hayır Fatura görüntülemek için indirdilen fatura XML içerisinde ki XSLT ile transform edip HTML görüntüsünü oluşturuluyor.
Evet / Hayır Kullanıcı uygulamayı kapattığında Kimlik Doğrulama (Authentication) webservisinde ki Logout metodu kullanarak oturum kapatıldı.

İstemci (client) Örnek Projeler

Webservice entegrasyonu için sunucu taraflı programlama diline uygun farklı istemci(client) örnekleri sunar. Bu istemcilerden programlama yapmak istediğiniz dile uygun olanı seçip test bilgileri ile kullanmaya başlayabilirsiniz.

İstemci örneklerini talep etmek için destek@turkbelge.com.tr adresine .net, php, java, delphi veya soapui örneklerinden hangisini talep ettiğinizi bildiriniz.

Fatura Sınıfı (InvoiceType) Nasıl Üretilir ?

.NET üzerinden XSD dosyasından sınıf üretmek için şu adımları uygulayınız:

  1. http://www.efatura.gov.tr/dosyalar/kilavuzlar/UBL-TR1.2.1_Paketi.zip adresinden paket indirilir.
  2. İndirilen dosya unzip edilir.
  3. .Net Framework yüklü olan bir bilgisayarda başlat>Developer Command Prompt yazılır ve gelen seçenek tıklanarak komut dosyası açılır
  4. 2.maddedeki unzip yapılan dizine cd UNZIP_EDILEN_DIZIN olarak gidilir.
  5. Gelen ekranda aşağıdaki komutu yapıştırıyoruz.
    xsd /c UBL-Invoice-2.1.xsd UBL-CommonExtensionComponents-2.1.xsd UBL-CommonBasicComponents-2.1.xsd UBL-UnqualifiedDataTypes-2.1.xsd UBL-CoreComponentParameters-2.1.xsd CCTS_CCT_SchemaModule-2.1.xsd UBL-CommonAggregateComponents-2.1.xsd
  6. Bu işlemin sonunda e-Fatura/E-Arşiv fatura oluşturmak için gerekli bütün sınıflar UBL-Invoice-2.1.cs dosyası içerisinde oluşturulacaktır.
  7. Fatura InvoiceType sınıfı ile üretilmektedir.

Ortak Kullanılan Eleman

Her webservis isteğinde gönderilmesi beklen ortak elemandır (REQUEST_HEADER)

Parametre Tip Zorunluluk Açıklama
SESSION_ID String Evet Login Metodunda sistem tarafında gönderilen SESSION_ID bilgisi. Sonraki tüm metod çağrılarında parametre olarak metoda geçmelidir.
APPLICATION_NAME String Evet Metodu çağıran uygulamanın adı. Mutlaka uygulama adının yazılması gerekmektedir.
CHANNEL_NAME String Evet Metodun çağrıldığı kanal adı.
COMPRESSED String Hayır İçerikte taşınan bilginin ZIP formatında sıkıştırılmış mı gönderildiği/talep edildiği bilgisi. Belge gönderim ve belge okuma servislerinde gönderilen değere göre işlem yapılmaktadır.
CLIENT_TXN_ID String Hayır İstemci uygulama tarafından işlem için üretilen işlem bilgisi (transaction id) varsa istek esnasında gönderilip, sonuçta alabileceğiniz bir değerdir. request/response eşleşmesi yapmak için kullanılabilir.
INT_PARENT_TXN_ID String Hayır İstemci uygulamasında ana modül entitileri ile ilişkilendirelmek istenen ana transaction ID.
ACTION_DATE String Hayır Metodun çağrılma tarihi
CHANGE_INFO Array Hayır Bu eleman ile eğer verilerde bir değişiklik yapılacak ise o değişikliği ait bilgi.
REASON String Hayır İşlem sebebi. Fatura gönderme, fatura alma vs.
HOST_NAME String Hayır Metodu çağıran sunucunun host bilgisi.
SIMULATION_FLAG String Hayır Metod çağrılır ancak arkadaki işlem yapılmaz.

Başarı Sonuç Nesnesi

Webservis işlem başarılı olduğunda response objesi içerisinde REQUEST_RETURN tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
REQUEST_RETURN ComplexType İşlem sonucunu içeren başarılı sonuç objesi
INT_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda bu eleman dönülmez.
INVOICE_ID String Fatura numarası e-arşiv platformunda atanmışsa atanan fatura numarası dönülür.

Hata Sonuç Nesnesi

Webservis metodunda hata oluşması durumunda response objesi içerisinde ERROR_TYPE tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
ERROR_TYPE ComplexType İşlem sonucunu içeren başarısız/hatalı sonuç objesi
INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
ERROR_CODE String Hata kodu. Hata kod detayları için ilgili servisteki hata kod listesini inceleyebilirsiniz.
ERROR_SHORT_DESC String Hatanın kısa açıklaması.

Fatura Gönderme (SendInvoice)

Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER.SESSION_ID String Evet Request Header objesi içerisinde bulunan SESSION_ID gönderilmelidir.
REQUEST_HEADER.COMPRESSED String Hayır Binary Fatura içeriği sıkıştırılmış/sıkıştırılmamış bilgisi. Varsayılan değer Y olduğu için gönderilmediği durumda fatura sıkıştırılarak/ziplenerek gönderilmesi beklenmektedir. Faturayı XML olarak göndermek için mutlaka eleman eklenmeli ve N değeri gönderilmelidir.
SENDER String Hayır Faturayı gönderen tarafın vergi kimlik numarasını vkn attribute içerisine, gönderici birim etiketini alias attribute eklenmelidir. Eğer eleman gönderilmezse oturum açılan kullanıcının bağlı olduğu hesapta ki VKN ve gönderici birim etiketi kullanılacaktır. Sender elemanı gönderilmesini tavsiye ederiz.
RECEIVER String Hayır Faturanın alıcı tarafının vergi kimlik numarasını vkn attribute içerisine, posta kutusu etiketini alias attribute içerisine eklenmelidir. Eğer eleman gönderilmezse fatura içerisinde ki alıcı taraf (AccountingCustomerParty) içerisinde ki VKN ve o VKN için tanımlanmış herhangi bir posta kutusu etiketi kullanılacaktır. Receiver elemanı gönderilmesini tavsiye ederiz. Özellikle alıcı tarafından posta kutusu tercihi talep edilmişse bu eleman kullanılmalıdır.
INVOICE.CONTENT Array Evet Faturanın Base64Binary tipinde XML veya Ziplenmiş içeriği. Bir istek ile çoklu fatura gönderimi yapılabilir. Birden fazla fatura göndermek için INVOICE elemanı çoklanmalıdır.

Başarı Sonuç Nesnesi

Webservis işlem başarılı olduğunda response objesi içerisinde REQUEST_RETURN tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
REQUEST_RETURN ComplexType İşlem sonucunu içeren başarılı sonuç objesi
INT_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı işlemlerde 0 değeri döner. Başarısız olduğunda bu eleman dönülmez.
INVOICE_ID String Fatura numarası e-arşiv platformunda atanmışsa atanan fatura numarası dönülür.

Hata Sonuç Nesnesi

Webservis metodunda hata oluşması durumunda response objesi içerisinde ERROR_TYPE tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
ERROR_TYPE ComplexType İşlem sonucunu içeren başarısız/hatalı sonuç objesi
INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
ERROR_CODE String Hata kodu. Hata kod detayları için ilgili servisteki hata kod listesini inceleyebilirsiniz.
ERROR_SHORT_DESC String Hatanın kısa açıklaması.

Hata Kodları

Hata Kodu Açıklama
-1 Beklenmedik bir hata oluştu. Lütfen daha sonra tekrar deneyiniz.
10001 Sistemde Beklenmedik Bir Hata Oluştu: {HATA SEBEBİ}
10002 Oturum oluşturulamadı
10003 Belge Şematron Kontrolünden Geçemedi: {HATA SEBEBİ}
10004 Geçersiz oturum. Lütfen tekrar oturum oluşturunuz ve tekrar deneyiniz
10005 Hesabınızın {ÜRÜN ADI} ürün aktif degildir
10006 Yetkiniz bulunmamaktadır
10007 İstek ZİP bir dosya içermelidir
10008 Belirtilen kriterlere uygun kayıt bulunamamıştır
10009 Gönderilen belge daha önce gönderilmiş bir belge ile eşleşmektedir. ID: ve UUID:
10010 Bir istek boyutu maksimum 5MB veya 100 adet belge içerebilir
10011 Tekrarlanan işlem: kayıt sistemde mevcuttur
10012 Kullanıcı aktif degil {kullanıcı adı}
10013 Gönderilen istek geçersizdir. Hata sebebi {0}
10014 Geçersiz İmza
10015 Servis desteklenmemektedir. Servis adı
10016 Müşteri sistemde aktif degildir.
10017 Gönderilen belge daha önce gönderilmiş bir belge ile eşleşmektedir. ID: ve UUID:
10018 Yetkisiz erişim tespit edildi! {HATA SEBEBİ}

Taslak Fatura Yükleme (LoadInvoice)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur. Fatura sıkıştırılarak/ziplenerek gönderiliyorsa COMPRESSED alanı gönderilmeyebilir veya Y olarak gönderilebilir. Faturayı XML formatında sıkıştırılmadan yüklemek için mutlaka COMPRESSED eleman eklenmeli ve N değeri gönderilmelidir.
INVOICE.CONTENT Array Evet Faturanın Base64Binary olarak encode edilmiş XML veya Ziplenmiş içeriği. Bir istek ile çoklu fatura gönderimi yapılabilir. Birden fazla fatura göndermek için INVOICE elemanı çoklanmalıdır.

Başarı Sonuç Nesnesi

Webservis işlem başarılı olduğunda response objesi içerisinde REQUEST_RETURN tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
REQUEST_RETURN ComplexType İşlem sonucunu içeren başarılı sonuç objesi
INT_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı işlemlerde 0 değeri döner. Başarısız olduğunda bu eleman dönülmez.
INVOICE_ID String Fatura numarası e-arşiv platformunda atanmışsa atanan fatura numarası dönülür.

Hata Sonuç Nesnesi

Webservis metodunda hata oluşması durumunda response objesi içerisinde ERROR_TYPE tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
ERROR_TYPE ComplexType İşlem sonucunu içeren başarısız/hatalı sonuç objesi
INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
ERROR_CODE String Hata kodu. Hata kod detayları için ilgili servisteki hata kod listesini inceleyebilirsiniz.
ERROR_SHORT_DESC String Hatanın kısa açıklaması.

Hata Kodları

Hata Kodu Açıklama
-1 Beklenmedik bir hata oluştu. Lütfen daha sonra tekrar deneyiniz.
10001 Sistemde Beklenmedik Bir Hata Oluştu: {HATA SEBEBİ}
10002 Oturum oluşturulamadı
10003 Belge Şematron Kontrolünden Geçemedi: {HATA SEBEBİ}
10004 Geçersiz oturum. Lütfen tekrar oturum oluşturunuz ve tekrar deneyiniz
10005 Hesabınızın {ÜRÜN ADI} ürün aktif degildir
10006 Yetkiniz bulunmamaktadır
10007 İstek ZİP bir dosya içermelidir
10008 Belirtilen kriterlere uygun kayıt bulunamamıştır
10009 Gönderilen belge daha önce gönderilmiş bir belge ile eşleşmektedir. ID: ve UUID:
10010 Bir istek boyutu maksimum 5MB veya 100 adet belge içerebilir
10011 Tekrarlanan işlem: kayıt sistemde mevcuttur
10012 Kullanıcı aktif degil {kullanıcı adı}
10013 Gönderilen istek geçersizdir. Hata sebebi {0}
10014 Geçersiz İmza
10015 Servis desteklenmemektedir. Servis adı
10016 Müşteri sistemde aktif degildir.
10017 Gönderilen belge daha önce gönderilmiş bir belge ile eşleşmektedir. ID: ve UUID:
10018 Yetkisiz erişim tespit edildi! {HATA SEBEBİ}

E-Fatura Okuma (GetInvoice)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur. Faturaları XML formatında sıkıştırılmadan çekmek için mutlaka COMPRESSED elemanı eklenmeli ve N değeri gönderilmelidir. Eğer gönderilmezse faturalar sıkıştırılmış/ziplenmiş olarak dönülecektir. Değerler: Y/N
SEARCH_KEY.LIMIT String Hayır Kaç fatura okunmak istendiği. Eğer eleman gönderilmezse 10 adet fatura, fatura içerikleri (XML) ile beraber en fazla 100 adet fatura, sadece fatura başlıklarını çekildiğindeise en fazla 25.000 adet fatura dönülür.
SEARCH_KEY.FROM String Hayır Gönderici firma gönderici birim (GB) etiketine göre çekmek için kullanılabilir. Örneğin birden fazla GB etiketi olan bir firmanın sadece muhasebe departmanından gelen faturaları okumak için kullanılabilir. format: urn:mail:muhasebegb@firma.com
SEARCH_KEY.TO String Hayır Birden fazla Posta Kutusu (PK) etiketi olan bir firmanın sadece bir PK adresine gelen faturaları çekmek için kullanılabilir. Eğer etiket gönderilmez ise kullanıcının yetkisine bağlı olarak bütün faturalar dönülür. format: urn:mail:muhasebepk@firma.com
SEARCH_KEY.ID String Hayır Fatura numarası ile fatura okumak için kullanılabilir. format: FYA2018000000001
SEARCH_KEY.UUID String Hayır Evrensel Tekil Tanımlama Numarası (ETTN) ile fatura okumak için kullanılabilir. GUID formatında
SEARCH_KEY.START_DATE String Hayır Belirli tarih aralığında fatura çekmek istendiğinde dönem başlangıç tarihi format: YYYY-MM-DD
SEARCH_KEY.END_DATE String Hayır Belirli tarih aralığında fatura çekmek istendiğinde dönem bitiş tarihi format: YYYY-MM-DD
SEARCH_KEY.READ_INCLUDED Boolean Hayır Fatura okurken daha önce okunmuş faturaları dönüşe dahil edilip edilmeyeceğini belirler. true değeri gönderilirse fatura daha önce okunmuş olsa bile yanıta eklenir. Gönderilmezse veya false gönderilirse sadece yeni gelen faturalar dönülür. Değerler: true/false
SEARCH_KEY.DRAFT_FLAG String Hayır Taslak faturaları sonuca eklenmesi için kullanılan parametredir. Y değeri gönderilirse taslak faturalar diğer kriterlere uyan faturalarla beraber sonuca eklenir. Parametre gönderilmezse veya N gönderilirse taslak faturalar sonuca eklenmez. Değerler: Y/N
SEARCH_KEY.DIRECTION String Hayır Belge yönü. Gelen veya Giden faturaları çekmek için kullanılabilir. Gelen faturaları çekmek için IN, giden faturaları çekmek için OUT değeri gönderilebilir. Varsayılan değer IN olduğu için eğer parametre gönderilmezse sadece gelen faturalar dönülecektir. Gönderilebilecek değerler: IN, OUT
HEADER_ONLY String Hayır Fatura içerik ile beraber mi yoksa sadece özet bilgisi mi okunmak istenildiğini belirler. Eleman gönderilmezse veya N değeri gönderilirse faturalar XML ile beraber dönülür. Y değeri gönderilirse faturaların özeti dönülür. Değerler: Y/N



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
INVOICE ComplexType Sorgu kriterine uyan fatura(lar)ın listesi. Fatura numarası ID, fatura evrensel tekil tanımlama numarası UUID ve e-fatura sisteminde tanımlı tekil numara değeri LIST_ID attribute içerisinde dönülmektedir.
INVOICE.HEADER ComplexType Faturaya ait özet bilgiler içermektedir.
HEADER.SENDER String Faturayı gönderen firma VKN'si.
HEADER.RECEIVER String Faturayı alan firma VKN'si.
HEADER.SUPPLIER String Faturayı gönderen firma ünvanı.
HEADER.CUSTOMER String Faturayı alan firma ünvanı.
HEADER.ISSUE_DATE String Fatura tarihi.
HEADER.PAYABLE_AMOUNT String Toplam ödenecek tutar.
HEADER.FROM String Faturayı gönderen Gönderici Birim (GB)
HEADER.TO String Faturanın geldiği Posta Kutusu (PK)
HEADER.PROFILEID String Faturanın senaryosu. TEMELFATURA, TICARIFATURA,IHRACATFATURA, YOLCUBERABER değerleri olabilir.
HEADER.INVOICE_TYPE_CODE String Faturanın tipi. SATIS, IADE, ISTISNA, IHRACAT, OZELMATRAH, TEVKIFAT, IHRACKAYITLI değerleri olabilir.
HEADER.STATUS String Faturanın durumu. Detay için Fatura durum sorgulama ekranında bulunan Fatura Durumları başlığını inceleyiniz.
HEADER.STATUS_DESCRIPTION String Fatura durum açıklaması. Detay için Fatura durum sorgulama ekranında bulunan Fatura Durumları başlığını inceleyiniz.
HEADER.GIB_STATUS_CODE String Faturanın GİB'de ki durum kodu. Detay için Fatura durum sorgulama ekranında bulunan GİB Durum Kodları başlığını inceleyiniz.
HEADER.GIB_STATUS_DESCRIPTION String Faturanın GİB'de ki durumunun kodunun açıklaması. Detay için GİB Durum Kodları başlığını inceleyiniz.
HEADER.RESPONSE_CODE String Ticari fatura için verilen yanıtı içeren zarfın durum kodu
HEADER.RESPONSE_DESC String Ticari fatura için verilen yanıtı içeren zarfın durum açıklaması
HEADER.CDATE String Faturanın sistemimize ulaştığı tarih
HEADER.ENVELOPE_IDENTIFIER String Faturanın zarf IDsi.
INVOICE.CONTENT String Faturanın içeriği. Eğer COMPRESSED elemanı N olarak gönderilmişse XML dosya, COMPRESSED elemanı gönderilmemiş veya Y değeri gönderilmişse sıkıştırılmış/ziplenmiş XML dosyası dönülür.

Fatura Görsel Okuma (GetInvoiceWithType)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur. Bu serviste COMPRESSED elemanı dikkate alınmamaktadır. Talep edilen formatta sıkıştırılmış/ziplenmiş olarak dönülecektir. İstemciye çektikten sonra unzip edilmelidir.
SEARCH_KEY.ID String Hayır Fatura numarası ile fatura okumak için kullanılabilir. örnek FYA2018000000001 UUID elamanı gönderilmemişse zorunludur.
SEARCH_KEY.UUID String Hayır Fatura Evrensel Tekil Tanımlama Numarası (ETTN) ile fatura okumak için kullanılabilir. ID elamanı gönderilmemişse zorunludur.
SEARCH_KEY.TYPE String Evet Faturanın çekilmek istenilen tipi: PDF, HTML, XML olabilir.
SEARCH_KEY.DIRECTION String Evet Belge yönü. Gelen veya Giden faturaları çekmek için kullanılabilir. Gelen faturaları çekmek için IN, giden faturaları çekmek için OUT değeri gönderilebilir. Varsayılan değer IN olduğu için eğer parametre gönderilmezse sadece gelen faturalar dönülecektir. Gönderilebilecek değerler: IN, OUT
HEADER_ONLY String Evet Fatura görseli çekmek için N gönderilmelidir.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
INVOICE ComplexType Sorgu kriterine uyan fatura(lar)ın listesi. Fatura numarası ID, fatura evrensel tekil tanımlama numarası UUID ve e-fatura sisteminde tanımlı tekil numara değeri LIST_ID attribute içerisinde dönülmektedir.
INVOICE.HEADER ComplexType Faturaya ait özet bilgiler içermektedir.
HEADER.SENDER String Faturayı gönderen firma VKN'si.
HEADER.RECEIVER String Faturayı alan firma VKN'si.
HEADER.SUPPLIER String Faturayı gönderen firma ünvanı.
HEADER.CUSTOMER String Faturayı alan firma ünvanı.
HEADER.ISSUE_DATE String Fatura tarihi.
HEADER.PAYABLE_AMOUNT String Toplam ödenecek tutar.
HEADER.FROM String Faturayı gönderen Gönderici Birim (GB)
HEADER.TO String Faturanın geldiği Posta Kutusu (PK)
HEADER.PROFILEID String Faturanın senaryosu. TEMELFATURA, TICARIFATURA,IHRACATFATURA, YOLCUBERABER değerleri olabilir.
HEADER.INVOICE_TYPE_CODE String Faturanın tipi. SATIS, IADE, ISTISNA, IHRACAT, OZELMATRAH, TEVKIFAT, IHRACKAYITLI değerleri olabilir.
HEADER.STATUS String Faturanın durumu. Detay için Fatura Durumları başlığını inceleyiniz.
HEADER.STATUS_DESCRIPTION String Fatura durum açıklaması. Detay için Fatura Durumları başlığını inceleyiniz.
HEADER.GIB_STATUS_CODE String Faturanın GİB'de ki durum kodu. Detay için GİB Durum Kodları başlığını inceleyiniz.
HEADER.GIB_STATUS_DESCRIPTION String Faturanın GİB'de ki durumunun kodunun açıklaması. Detay için GİB Durum Kodları başlığını inceleyiniz.
HEADER.RESPONSE_CODE String Ticari fatura için verilen yanıtı içeren zarfın durum kodu
HEADER.RESPONSE_DESC String Ticari fatura için verilen yanıtı içeren zarfın durum açıklaması
HEADER.CDATE String Faturanın sistemimize ulaştığı tarih
HEADER.ENVELOPE_IDENTIFIER String Faturanın zarf IDsi.
INVOICE.CONTENT Base64Binary Faturanın talep edilen formatta (PDF, HTML) sıkıştırılmış/ziplenmiş dosyası dönülür. İstemciye çektikten sonra unzip edilmeldir.

Fatura Okundu İşaretleme (MarkInvoice)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
MARK.value String Hayır Başarı ile alındıysa READ gönderilmeli. Daha önce alındı olarak işaretlenen bir faturayı tekrar çekmeden önce UNREAD olarak gönderilebilir.
INVOICE.ID String Hayır İşaretlenecek faturanın numarası. Örnek: FYA2018000000001
INVOICE.UUID String Hayır İşaretlenecek faturanın ETTNsi. GUID formatında olmalı.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda WS Fault objesi dönecektir.

Fatura Durum Sorgulama (GetInvoiceStatus)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
INVOICE.ID String Hayır Durumu sorgulanacak faturanın 16 hane fatura numarası. örnek: FYA2018000000001 Eğer UUID elemanı gönderilmezse zorunludur.
INVOICE.UUID String Hayır Durumu sorgulanacak faturanın GUID formatında Evrensel Tekil Tanımlama Numarası. Eğer ID elemanı gönderilmezse zorunludur.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
INVOICE_STATUS ComplexType Sorgu kriterine uyan fatura(lar)ın listesi. Fatura numarası ID, fatura evrensel tekil tanımlama numarası UUID attribute içerisinde dönülmektedir.
INVOICE_STATUS.STATUS String Faturanın e-fatura sisteminde ki durumu. Detay için Fatura Durumları başlığını inceleyiniz.
INVOICE_STATUS.STATUS_DESCRIPTION String Fatura durum açıklaması. Detay için Fatura Durumları başlığını inceleyiniz.
INVOICE_STATUS.GIB_STATUS_CODE String Faturanın GİB'de ki durum kodu. Faturanın GİB'de ki durumu e-fatura sistemi tarafından henüz sorgulanmadıysa eleman dönülmez. Detay için GİB Durum Kodları başlığını inceleyiniz.
INVOICE_STATUS.GIB_STATUS_DESCRIPTION String Faturanın GİB'de ki durumunun kodunun açıklaması. Faturanın GİB'de ki durumu e-fatura sistemi tarafından henüz sorgulanmadıysa eleman dönülmez. Detay için GİB Durum Kodları başlığını inceleyiniz.
INVOICE_STATUS.RESPONSE_CODE String Ticari fatura için verilen yanıtı içeren zarfın durum kodu. Eğer faturanın senaryosu TICARIFATURA değilse eleman dönülmez.
INVOICE_STATUS.RESPONSE_DESC String Ticari fatura için verilen yanıtı içeren zarfın durum açıklaması. Eğer faturanın senaryosu TICARIFATURA değilse eleman dönülmez.
INVOICE_STATUS.GTB_REFNO String Gümrük Sistemine alınan ihracat faturaları için, Gümrük ve Ticaret Bakanlığı tarafından üretilen 23 haneli bir referans numarasıdır. 23 haneli bir referans numarası ile belge tarihi yükümlü tarafından gümrük beyannamesinin 44 no’lu kutusunda “Belge Referans No” ve “Belge Tarihi” alanlarında beyan edilecektir. İhracat faturası değilse dönülmez.
INVOICE_STATUS.GTB_GCB_TESCILNO String Gümrük İdaresi fiili ihracatı tamamlanan eşyanın kabul uygulama yanıtı ile ilgilisine dönülen Gümrük Çıkış Belgesi (GÇB) tescil numarasıdır. İhracat faturası değilse dönülmez.
INVOICE_STATUS.GTB_FIILI_IHRACAT_TARIHI String Gümrük İdaresi tarafından fiili ihracatı tamamlanan ihracat faturaları için döndüğü fiili ihraç tarihi bilgisidir. Gümrük İdaresi bu bilgiyi fiili ihracat (intaç) gerçekleştiğinde dönecektir. Eğer ihracat faturası için bu alan dönülmemişse hala fiili ihracat yapılmamıştır. İhracat faturası değilse dönülmez.
INVOICE_STATUS.CDATE String Faturanın e-fatura sistemine yüklendiği/ulaştığı tarih
INVOICE_STATUS.DIRECTION String Gelen fatura için IN, Gönderilen fatura için OUT
INVOICE_STATUS.ENVELOPE_IDENTIFIER String Faturanın zarf IDsi. Taslak faturalar için eleman dönülmez.

Giden Fatura Durumları

DURUM KODU
DURUM AÇIKLAMASI
STATUS_SUBSTATUS ALINACAK AKSİYON
100 DURUM HENÜZ GÜNCELLENMEDİ LOAD_SUCCEED Durum sorgulanması yapmaya devam edilecek
101 KUYRUĞA EKLENDİ LOAD_SUCCEED Fatura Yükleme - Başarılı
102 TASLAK İŞLENİYOR LOAD_PROCESSING Belge İşleniyor
103 PAKETLENİYOR PACKAGE_PROCESSING Belge GİB'e Göndermek İçin Zarflanıyor
104 PAKETLENDİ PACKAGE_SUCCEED Belge Zarflandı GİB'e Gönderilecek
105 PAKETLEME HATASI PACKAGE_FAILED Belge Zarflanırken Hata Oluştu. Tekrar Denenecektir.
106 İMZALANIYOR SIGN_PROCESSING Belge İmzalanıyor
107 İMZALANDI" SIGN_SUCCEED Belge İmzalandı
109 GİB'DEN YANIT BEKLİYOR SEND_WAIT_GIB_RESPONSE Belge GİB'e Gönderildi
110 ALICIDAN YANIT BEKLİYOR SEND_WAIT_SYSTEM_RESPONSE Belge Alıcıya Başarıyla Ulaştırıldı. Sistem Yanıtı Bekliyor.
111 ALICIDAN ONAY BEKLİYOR SEND_WAIT_APPLICATION_RESPONSE Ticari Belge Alıcıdan Onay Bekliyor
112 KABUL EDİLDİ ACCEPTED_SUCCEED Belge Kabul Edildi
120 RET EDİLDİ REJECTED_SUCCEED Belge Ret Edildi
134 ZAMAN AŞIMI OLUŞTU SEND_TIMEOUT Belge GİB'e Gönderilirken Zaman Aşımına Uğradı.
135 GÖNDERİLİYOR SEND_PROCESSING Belge GİB'e Gönderiliyor
136 GÖNDERME İŞLEMİ BAŞARISIZ SEND_FAILED Belge GİB'e Gönderilirken Hata Oluştu
137 GÖNDERİLDİ SEND_SUCCEED Belge GİB'e Gönderildi
139 OTOMATİK GÖNDERİM HATASI AUTO_FAILED Otomatik Gönderim Hatası
140 FATURA NUMARASI ATANDI LOAD_ID_ASSIGNED Belge Numarası Atandı
141 FATURA NUMARASI ATANMA BEKLENİYOR LOAD_WAIT_ID_ASSIGNED Belge Numarası Atandı

Gelen Fatura Durumları

DURUM KODU
DURUM AÇIKLAMASI
STATUS_SUBSTATUS ALINACAK AKSİYON
133 ALINDI RECEIVE_SUCCEED Temel fatura alındı
132 ALINDI RECEIVE_WAIT_APPLICATION_RESPONSE Ticari Fatura yanıt bekliyor
134 ZAMAN AŞIMI OLUŞTU ACCEPT/REJECT_TIMEOUT İŞLEM SİSTEM TARAFINDAN OTOMATİK TEKRARLANCAKTIR
122 KABUL EDİLDİ ACCEPTED_SUCCEED
123 KABUL İŞLENİYOR ACCEPTED_PROCESSING
124 KABUL GİBDEN YANIT BEKLİYOR ACCEPT_GIB_RESPONSE
125 KABUL ALICIDAN YANIT BEKLİYOR ACCEPT_WAIT_SYSTEM_RESPONSE
126 KABUL İŞLEMİ BAŞARISIZ ACCEPT_FAILED
127 RED ALICIDAN YANIT BEKLİYOR REJECT_WAIT_SYSTEM_RESPONSE
128 RED GİBDE YANIT BEKLİYOR REJECT_WAIT_GIB_RESPONSE
129 RED İŞLENİYOR REJECT_PROCESSING
130 REDDEDİLDİ REJECT_SUCCEED
131 RED İŞLEMİ BAŞARISIZ FAILED

GİB Durum Kodları

Kod Açıklama Alınacak Aksiyon
1000 ZARF KUYRUĞA EKLENDİ Durum kodunun güncellenmesi beklenmelidir.
1100 ZARF İŞLENİYOR Durum kodunun güncellenmesi beklenmelidir.
1110 ZIP DOSYASI DEĞİL Belge yeniden gönderilmeli
1111 ZARF ID UZUNLUĞU GEÇERSİZ Belge yeniden gönderilmeli
1120 ZARF ARŞİVDEN KOPYALANAMADI Belge yeniden gönderilmeli
1130 ZIP AÇILAMADI Belge yeniden gönderilmeli
1131 ZIP BİR DOSYA İÇERMELİ Belge yeniden gönderilmeli
1132 XML DOSYASI DEĞİL Belge yeniden gönderilmeli
1133 ZARF ID VE XML DOSYASININ ADI AYNI OLMALI Belge yeniden gönderilmeli
1140 DOKUMAN AYRIŞTIRILAMADI Belge yeniden gönderilmeli
1141 ZARF ID YOK Belge yeniden gönderilmeli
1142 ZARF ID VE ZIP DOSYASI ADI AYNI OLMALI Belge yeniden gönderilmeli
1143 GEÇERSİZ VERSİYON Belge yeniden gönderilmeli
1150 SCHEMATRON KONTROL SONUCU HATALI Belge yeniden gönderilmeli
1160 XML SEMA KONTROLÜNDEN GEÇEMEDİ Belge yeniden gönderilmeli
1161 İMZA SAHİBİ TCKN VKN ALINAMADI Belge yeniden gönderilmeli
1162 İMZA KAYDEDİLEMEDİ Belge yeniden gönderilmeli
1163 GÖNDERİLEN ZARF SİSTEMDE DAHA ÖNCE KAYITLI OLAN BİR FATURAYI İÇERMEKTEDİR Belge yeniden gönderilmeli
1170 YETKİ KONTROL EDİLEMEDİ Belge yeniden gönderilmeli
1171 GÖNDERİCİ BİRİM YETKİSİ YOK Belge yeniden gönderilmeli
1172 POSTA KUTUSU YETKİSİ YOK Belge yeniden gönderilmeli
1175 İMZA YETKİSİ KONTROL EDİLEMEDİ Belge yeniden gönderilmeli
1176 İMZA SAHİBİ YETKİSİZ Belge yeniden gönderilmeli
1177 GEÇERSİZ İMZA Belge yeniden gönderilmeli
1180 ADRES KONTROL EDİLEMEDİ Belge yeniden gönderilmeli
1181 ADRES BULUNAMADI Belge yeniden gönderilmeli
1182 KULLANICI EKLENEMEDİ Belge yeniden gönderilmeli
1183 KULLANICI SİLİNEMEDİ Belge yeniden gönderilmeli
1190 SİSTEM YANITI HAZIRLANAMADI Belge yeniden gönderilmeli
1195 SİSTEM HATASI Belge yeniden gönderilmeli
1200 ZARF BAŞARIYLA İŞLENDİ Özel entegratörden gönderilen Belgede sorun tespit edilmedi. Sonra ki aşamalara geçilecek.
1210 DOKUMAN BULUNAN ADRESE GÖNDERİLEMEDİ GİB’in tekrar gönderme denemesi sonlandıktan sonra, 1215 durum kodu alınır ise belgeler yeniden gönderilmeli
1215 DOKÜMAN GÖNDERİMİ BAŞARISIZ. TEKRAR GÖNDERME SONLANDI Belge yeniden gönderilmeli
1220 HEDEFTEN SİSTEM YANITI GELMEDİ Bu durum kodundan sonra 1230 HEDEFTEN SİSTEM YANITI BAŞARISIZ GELDİ durum kodu alınır ise Belge yeniden gönderilmelidir.
1230 HEDEFTEN SİSTEM YANITI BAŞARISIZ GELDİ Belge yeniden gönderilmeli
1300 BAŞARIYLA TAMAMLANDI Başarılı olan Belge aynı numara ile gönderilemez.

Toplu Fatura Durum Sorgulama (GetInvoiceStatusAll)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
UUID String Evet Durumu sorgulanacak faturanın GUID formatında Evrensel Tekil Tanımlama Numarası. Birden fazla fatura durum sorgulamak için INVOICE elementini çoklayınız.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
INVOICE_STATUS ComplexType Sorgu kriterine uyan fatura(lar)ın listesi. Fatura numarası ID, fatura evrensel tekil tanımlama numarası UUID attribute içerisinde dönülmektedir.
INVOICE_STATUS.STATUS String Faturanın e-fatura sisteminde ki durumu. Detay için Fatura Durumları başlığını inceleyiniz.
INVOICE_STATUS.STATUS_DESCRIPTION String Fatura durum açıklaması. Detay için Fatura Durumları başlığını inceleyiniz.
INVOICE_STATUS.GIB_STATUS_CODE String Faturanın GİB'de ki durum kodu. Faturanın GİB'de ki durumu e-fatura sistemi tarafından henüz sorgulanmadıysa eleman dönülmez. Detay için GİB Durum Kodları başlığını inceleyiniz.
INVOICE_STATUS.GIB_STATUS_DESCRIPTION String Faturanın GİB'de ki durumunun kodunun açıklaması. Faturanın GİB'de ki durumu e-fatura sistemi tarafından henüz sorgulanmadıysa eleman dönülmez. Detay için GİB Durum Kodları başlığını inceleyiniz.
INVOICE_STATUS.RESPONSE_CODE String Ticari fatura için verilen yanıtı içeren zarfın durum kodu. Eğer faturanın senaryosu TICARIFATURA değilse eleman dönülmez.
INVOICE_STATUS.RESPONSE_DESC String Ticari fatura için verilen yanıtı içeren zarfın durum açıklaması. Eğer faturanın senaryosu TICARIFATURA değilse eleman dönülmez.
INVOICE_STATUS.GTB_REFNO String Gümrük Sistemine alınan ihracat faturaları için, Gümrük ve Ticaret Bakanlığı tarafından üretilen 23 haneli bir referans numarasıdır. 23 haneli bir referans numarası ile belge tarihi yükümlü tarafından gümrük beyannamesinin 44 no’lu kutusunda “Belge Referans No” ve “Belge Tarihi” alanlarında beyan edilecektir. İhracat faturası değilse dönülmez.
INVOICE_STATUS.GTB_GCB_TESCILNO String Gümrük İdaresi fiili ihracatı tamamlanan eşyanın kabul uygulama yanıtı ile ilgilisine dönülen Gümrük Çıkış Belgesi (GÇB) tescil numarasıdır. İhracat faturası değilse dönülmez.
INVOICE_STATUS.GTB_FIILI_IHRACAT_TARIHI String Gümrük İdaresi tarafından fiili ihracatı tamamlanan ihracat faturaları için döndüğü fiili ihraç tarihi bilgisidir. Gümrük İdaresi bu bilgiyi fiili ihracat (intaç) gerçekleştiğinde dönecektir. Eğer ihracat faturası için bu alan dönülmemişse hala fiili ihracat yapılmamıştır. İhracat faturası değilse dönülmez.
INVOICE_STATUS.CDATE String Faturanın e-fatura sistemine yüklendiği/ulaştığı tarih
INVOICE_STATUS.DIRECTION String Gelen fatura için IN, Gönderilen fatura için OUT
INVOICE_STATUS.ENVELOPE_IDENTIFIER String Faturanın zarf IDsi. Taslak faturalar için eleman dönülmez.

Giden Fatura Durumları

DURUM KODU
DURUM AÇIKLAMASI
STATUS_SUBSTATUS ALINACAK AKSİYON
100 DURUM HENÜZ GÜNCELLENMEDİ LOAD_SUCCEED Durum sorgulanması yapmaya devam edilecek
101 KUYRUĞA EKLENDİ LOAD_SUCCEED Fatura Yükleme - Başarılı
102 TASLAK İŞLENİYOR LOAD_PROCESSING Belge İşleniyor
103 PAKETLENİYOR PACKAGE_PROCESSING Belge GİB'e Göndermek İçin Zarflanıyor
104 PAKETLENDİ PACKAGE_SUCCEED Belge Zarflandı GİB'e Gönderilecek
105 PAKETLEME HATASI PACKAGE_FAILED Belge Zarflanırken Hata Oluştu. Tekrar Denenecektir.
106 İMZALANIYOR SIGN_PROCESSING Belge İmzalanıyor
107 İMZALANDI" SIGN_SUCCEED Belge İmzalandı
109 GİB'DEN YANIT BEKLİYOR SEND_WAIT_GIB_RESPONSE Belge GİB'e Gönderildi
110 ALICIDAN YANIT BEKLİYOR SEND_WAIT_SYSTEM_RESPONSE Belge Alıcıya Başarıyla Ulaştırıldı. Sistem Yanıtı Bekliyor.
111 ALICIDAN ONAY BEKLİYOR SEND_WAIT_APPLICATION_RESPONSE Ticari Belge Alıcıdan Onay Bekliyor
112 KABUL EDİLDİ ACCEPTED_SUCCEED Belge Kabul Edildi
120 RET EDİLDİ REJECTED_SUCCEED Belge Ret Edildi
134 ZAMAN AŞIMI OLUŞTU SEND_TIMEOUT Belge GİB'e Gönderilirken Zaman Aşımına Uğradı.
135 GÖNDERİLİYOR SEND_PROCESSING Belge GİB'e Gönderiliyor
136 GÖNDERME İŞLEMİ BAŞARISIZ SEND_FAILED Belge GİB'e Gönderilirken Hata Oluştu
137 GÖNDERİLDİ SEND_SUCCEED Belge GİB'e Gönderildi
139 OTOMATİK GÖNDERİM HATASI AUTO_FAILED Otomatik Gönderim Hatası
140 FATURA NUMARASI ATANDI LOAD_ID_ASSIGNED Belge Numarası Atandı
141 FATURA NUMARASI ATANMA BEKLENİYOR LOAD_WAIT_ID_ASSIGNED Belge Numarası Atandı

Gelen Fatura Durumları

DURUM KODU
DURUM AÇIKLAMASI
STATUS_SUBSTATUS ALINACAK AKSİYON
133 ALINDI RECEIVE_SUCCEED
134 ZAMAN AŞIMI OLUŞTU ACCEPT/REJECT_TIMEOUT - YANLIŞ
122 KABUL EDİLDİ ACCEPTED_SUCCEED
123 KABUL İŞLENİYOR ACCEPTED_PROCESSING
124 KABUL GİBDEN YANIT BEKLİYOR ACCEPT_GIB_RESPONSE
125 KABUL ALICIDAN YANIT BEKLİYOR ACCEPT_WAIT_SYSTEM_RESPONSE
126 KABUL İŞLEMİ BAŞARISIZ ACCEPT_FAILED
127 RED ALICIDAN YANIT BEKLİYOR REJECT_WAIT_SYSTEM_RESPONSE
128 RED GİBDE YANIT BEKLİYOR REJECT_WAIT_GIB_RESPONSE
129 RED İŞLENİYOR REJECT_PROCESSING
130 REDDEDİLDİ REJECT_SUCCEED
131 RED İŞLEMİ BAŞARISIZ FAILED

GİB Durum Kodları

Kod Açıklama Alınacak Aksiyon
1000 ZARF KUYRUĞA EKLENDİ Durum kodunun güncellenmesi beklenmelidir.
1100 ZARF İŞLENİYOR Durum kodunun güncellenmesi beklenmelidir.
1110 ZIP DOSYASI DEĞİL Belge yeniden gönderilmeli
1111 ZARF ID UZUNLUĞU GEÇERSİZ Belge yeniden gönderilmeli
1120 ZARF ARŞİVDEN KOPYALANAMADI Belge yeniden gönderilmeli
1130 ZIP AÇILAMADI Belge yeniden gönderilmeli
1131 ZIP BİR DOSYA İÇERMELİ Belge yeniden gönderilmeli
1132 XML DOSYASI DEĞİL Belge yeniden gönderilmeli
1133 ZARF ID VE XML DOSYASININ ADI AYNI OLMALI Belge yeniden gönderilmeli
1140 DOKUMAN AYRIŞTIRILAMADI Belge yeniden gönderilmeli
1141 ZARF ID YOK Belge yeniden gönderilmeli
1142 ZARF ID VE ZIP DOSYASI ADI AYNI OLMALI Belge yeniden gönderilmeli
1143 GEÇERSİZ VERSİYON Belge yeniden gönderilmeli
1150 SCHEMATRON KONTROL SONUCU HATALI Belge yeniden gönderilmeli
1160 XML SEMA KONTROLÜNDEN GEÇEMEDİ Belge yeniden gönderilmeli
1161 İMZA SAHİBİ TCKN VKN ALINAMADI Belge yeniden gönderilmeli
1162 İMZA KAYDEDİLEMEDİ Belge yeniden gönderilmeli
1163 GÖNDERİLEN ZARF SİSTEMDE DAHA ÖNCE KAYITLI OLAN BİR FATURAYI İÇERMEKTEDİR Belge yeniden gönderilmeli
1170 YETKİ KONTROL EDİLEMEDİ Belge yeniden gönderilmeli
1171 GÖNDERİCİ BİRİM YETKİSİ YOK Belge yeniden gönderilmeli
1172 POSTA KUTUSU YETKİSİ YOK Belge yeniden gönderilmeli
1175 İMZA YETKİSİ KONTROL EDİLEMEDİ Belge yeniden gönderilmeli
1176 İMZA SAHİBİ YETKİSİZ Belge yeniden gönderilmeli
1177 GEÇERSİZ İMZA Belge yeniden gönderilmeli
1180 ADRES KONTROL EDİLEMEDİ Belge yeniden gönderilmeli
1181 ADRES BULUNAMADI Belge yeniden gönderilmeli
1182 KULLANICI EKLENEMEDİ Belge yeniden gönderilmeli
1183 KULLANICI SİLİNEMEDİ Belge yeniden gönderilmeli
1190 SİSTEM YANITI HAZIRLANAMADI Belge yeniden gönderilmeli
1195 SİSTEM HATASI Belge yeniden gönderilmeli
1200 ZARF BAŞARIYLA İŞLENDİ Özel entegratörden gönderilen Belgede sorun tespit edilmedi. Sonra ki aşamalara geçilecek.
1210 DOKUMAN BULUNAN ADRESE GÖNDERİLEMEDİ GİB’in tekrar gönderme denemesi sonlandıktan sonra, 1215 durum kodu alınır ise belgeler yeniden gönderilmeli
1215 DOKÜMAN GÖNDERİMİ BAŞARISIZ. TEKRAR GÖNDERME SONLANDI Belge yeniden gönderilmeli
1220 HEDEFTEN SİSTEM YANITI GELMEDİ Bu durum kodundan sonra 1230 HEDEFTEN SİSTEM YANITI BAŞARISIZ GELDİ durum kodu alınır ise Belge yeniden gönderilmelidir.
1230 HEDEFTEN SİSTEM YANITI BAŞARISIZ GELDİ Belge yeniden gönderilmeli
1300 BAŞARIYLA TAMAMLANDI Başarılı olan Belge aynı numara ile gönderilemez.

Uygulama Yanıtı Gönderme (SendInvoiceResponseWithServerSign)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
STATUS String Evet Faturaya verilecek yanıt. KABUL veya RED değeri alabilir.
INVOICE ComplexType Evet Yanıt gönderilecek fatura listesi
DESCRIPTION String Evet Yanıt ile beraber gönderilecek mesaj. Ret edilen faturalar için Red Sebebi bu alana yazılabilir. STATUS KABUL ise ve bu alan gönderilmezse Fatura kabul edildi, STATUS RED ise Reddedildi mesajı varsayılan olarak eklenecektir.

Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String İşlem başarılı ise 0 değeri döner. Başarısız olduğunda WS Fault objesi dönecektir.


Servisten Dönebilecek Hatalar

Hata Açıklaması Açıklama
Daha önce yanıtlanmış bir fatura için tekrar yanıt gönderilemez! Fatura UUID:xxxxxxx Bir faturaya en fazla 1 defa yanıt gönderilebilmektedir. Bundan dolayı yanıt gönderilmiş faturalara tekrar yanıt gönderilmesi istemci tarafında kısıtlanmalıdır.
Fatura ID : FYA201800000001 sistemde bulunamadı! E-Fatura sisteminde gelen fatura kutusunda bulunmayan bir faturaya uygulama yanıtı gönderme yapıldığı zaman dönülmektedir. Özellikle birden fazla hesabı olan firmalarda, erişim yetkisi olan bir kullanıcı tarafından istemciye indirilen bir faturaya, faturaya erişim yetkisi olmayan bir kullanıcı tarafından yanıt gönderilince karşılaşılmaktadır.
Uygulama yanıtı 8 gün geciktiği için cevap gönderilemez Ticari fatura özel entegratör sistemine ulaştıktan sonra 8 gün içerisinde yanıtlanmalıdır. İstemci 8 günü geçen faturalar için kontrol eklemelidir. 8 günü hesaplamak için GetInvoice servisinde fatura için dönülen CDATE alanına 8 gün eklenebilir.
Fatura durumu yanıtlama için uygun olmadıgından işlem sonlandı! Fatura UUID:XXX-XXX-, STATUS:XXXXX-XXXXX Uygulama yanıtı gönderilmiş ve hala süreci tamamlanmamış bir faturaya tekrar yanıt gönderildiğinde dönülen hatadır.

E-Arşiv Fatura Webservisi

E-Fatura mükellefi olmayan firma veya nihai tüketiciye düzenlenen faturaların özel entegratör sistemine gönderilmesi ve raporlamasını sağlayan webservis uygulamasıdır.

GİB Dokümanları

Doküman Açıklama İndir
UBL-TR Fatura UBL-TR v1.2 (UBL 2.1 Türkiye Özelleştirmesi) paketinde yer alan fatura belgesinde geçen elemanlara ait XSD, tanımlama, kullanım şekilleri, kardinaliteler hakkında bilgi vermek ve örnek kullanım şekillerini göstermek amacı ile hazırlanmıştır.
UBL-TR Ortak Elemanlar UBL-TR (UBL 2.1 Türkiye Özelleştirmesi) paketinde yer alan belgelerde geçmesi muhtemel elemanlara ait (ortak elemanlar örneğin: Adres, Parasal Toplamlar, Taraf gibi) XSD, açıklama, kullanım şartları, kardinaliteler hakkında bilgi vermek ve örnek kullanım şekillerini göstermek amacı ile hazırlanmıştır.
UBL-TR Kod Listeleri UBL-TR kapsamında kullanılan Kodlama Sistemleri ve Kimlik Şemaları hakkında bilgi vermek amacı ile hazırlanmıştır.
Gümrük İşlemleri Kılavuzu Elektronik Fatura Uygulamasında yolcu beraberi eşya ihracı ve mal ihracı faturalarını e-fatura sistemine entegre edecek ve uygulamaya ilişkin yazılım geliştireceklerin teknik konularda ihtiyaç duyabilecekleri bilgileri vermek amacıyla hazırlanmıştır.
İhracat Faturası Ek Alanlar İhracat faturalarında eklenmesi zorunlu ve isteğe bağlı alanların açıklamak için hazırlanmıştır.
SGK E-Fatura Teknik Kılavuzu Elektronik Fatura Uygulamasında Sosyal Güvenlik Kurumuna (SGK) düzenlenecek faturaların e-fatura sistemine entegre edecek uygulamaya ilişkin yazılım geliştireceklerin teknik konularda ihtiyaç duyabilecekleri bilgileri vermek amacıyla hazırlanmıştır.
Kamu E-Fatura Teknik Kılavuzu e-Fatura Uygulamasına kayıtlı olan vergi mükelleflerimiz, 5018 sayılı Kamu Mali Yönetimi ve Kontrol Kanunu ile belirlenmiş merkezi yönetim kapsamında yer alan ve Muhasebat ve Mali Kontrol Genel Müdürlüğü (MGM) tarafından geliştirilen Yeni Harcama Yönetim Sistemini (MYS) kullanan kamu idareleri ve bunlara bağlı harcama birimleri adına, 1.3.2019 tarihinden itibaren GİB e-Fatura Uygulaması aracılığı ile e-Fatura düzenleyip gönderebileceklerdir. Teknik kılavuz hazırlanmıştır.
Hal Tipi Fatura Kılavuzu Hal Komisyoncularının düzenlediği KOMİSYONCU veya SATIŞ faturalarının işleyişinin açıklandığı teknik kılavuzdur.

Webservice Endpoint (WSDL) URL

Ürün Endpoint URL
Kimlik Doğrulama https://authenticationws.turkbelge.com.tr/AuthenticationWS?wsdl
E-Fatura Webservis https://efaturawstest.turkbelge.com.tr/EFaturaOIB?wsdl
E-Arşiv Fatura Webservis https://earsivwstest.turkbelge.com.tr/EIArchiveWS/EFaturaArchive?wsdl

Portal Uygulaması

Entegrasyon sürecinde Portal uygulamamızı aşağıda ki durumlar için kullanabilirsiniz:

Test Portal Adresimiz: https://demo.turkbelge.com.tr

Test portali erişim bilgileri için destek@turkbelge.com.tr adresi ile iletişime geçebilirsiniz.

Dikkat Edilecek Hususlar

Uygulamanızı tasarlarken aşağıda ki bilgiler faydalı olacaktır:

E-Arşiv Entegrasyon Testleri

Test Test Açıklama
Oturum Açma
Nihai Tüketiciye Fatura Gönderme
Firmaya Fatura Gönderme
Satış Faturası Gönderme
İade Faturası Gönderme
Tevkifatlı Fatura Gönderme
Alıcısına Kağıt Ortamda Teslim Edilecek Fatura Gönderme
Alıcısına Kağıt Ortamda Teslim Edilecek ve Ayrıca Elektronik Ortamda İletilecek Fatura Gönderme
Alıcısına Elektronik Ortamda İletilecek Fatura Gönderme
İnternet Üzerinden Yapılan Satış İçin Fatura Gönderme
İrsaliyeli Fatura Gönderme
Raporlanmadan Önce Fatura İptal Etme
Raporlandıktan Sonra Fatura İptal Etme
Hatalı Düzenlenmiş Faturayı Tekrar Yüklemek Üzere İptal Etme
Faturayı Tekrar E-Posta Olarak İletme Talebi Gönderme
İmzalı Fatura Çekme
Fatura Görselini Çekme
Bir Faturanın Durumunu Sorgulama
Birden Fazla Faturanın Durumunu Sorgulama
Rapor Listesi Çekme
Rapor İçeriği Çekme

İstemci (client) Örnek Projeler

Webservice entegrasyonu için sunucu taraflı programlama diline uygun farklı istemci(client) örnekleri sunar. Bu istemcilerden programlama yapmak istediğiniz dile uygun olanı seçip test bilgileri ile kullanmaya başlayabilirsiniz.

İstemci örneklerini talep etmek için destek@turkbelge.com.tr adresine .Net, PHP, Java veya Soapui örneklerinden hangisini talep ettiğinizi bildiriniz.

Ortak Kullanılan Eleman

Her webservis isteğinde gönderilmesi beklen ortak elemandır (REQUEST_HEADER)

Parametre Tip Zorunluluk Açıklama
SESSION_ID String Evet Login Metodunda sistem tarafında gönderilen SESSION_ID bilgisi. Sonraki tüm metod çağrılarında parametre olarak metoda geçmelidir.
APPLICATION_NAME String Evet Metodu çağıran uygulamanın adı. Mutlaka uygulama adının yazılması gerekmektedir.
CHANNEL_NAME String Evet Metodun çağrıldığı kanal adı.
COMPRESSED String Hayır İçerikte taşınan bilginin ZIP formatında sıkıştırılmış mı gönderildiği/talep edildiği bilgisi. Belge gönderim ve belge okuma servislerinde gönderilen değere göre işlem yapılmaktadır.
CLIENT_TXN_ID String Hayır İstemci uygulama tarafından işlem için üretilen işlem bilgisi (transaction id) varsa istek esnasında gönderilip, sonuçta alabileceğiniz bir değerdir. request/response eşleşmesi yapmak için kullanılabilir.
INT_PARENT_TXN_ID String Hayır İstemci uygulamasında ana modül entitileri ile ilişkilendirelmek istenen ana transaction ID.
ACTION_DATE String Hayır Metodun çağrılma tarihi
CHANGE_INFO Array Hayır Bu eleman ile eğer verilerde bir değişiklik yapılacak ise o değişikliği ait bilgi.
REASON String Hayır İşlem sebebi. Fatura gönderme, fatura alma vs.
HOST_NAME String Hayır Metodu çağıran sunucunun host bilgisi.
SIMULATION_FLAG String Hayır Metod çağrılır ancak arkadaki işlem yapılmaz.

Başarı Sonuç Nesnesi

Webservis işlem başarılı olduğunda response objesi içerisinde REQUEST_RETURN tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
REQUEST_RETURN ComplexType İşlem sonucunu içeren başarılı sonuç objesi
INT_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda bu eleman dönülmez.
INVOICE_ID String Fatura numarası e-arşiv platformunda atanmışsa atanan fatura numarası dönülür.

Hata Sonuç Nesnesi

Webservis metodunda hata oluşması durumunda response objesi içerisinde ERROR_TYPE tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
ERROR_TYPE ComplexType İşlem sonucunu içeren başarısız/hatalı sonuç objesi
INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
ERROR_CODE String Hata kodu. Hata kod detayları için ilgili servisteki hata kod listesini inceleyebilirsiniz.
ERROR_SHORT_DESC String Hatanın kısa açıklaması.

E-Arşiv Fatura Gönderme (WriteToArchieveExtended)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur. Faturaları XML formatında sıkıştırılmadan çekmek için mutlaka COMPRESSED elemanı eklenmeli ve N değeri gönderilmelidir. Eğer gönderilmezse faturalar sıkıştırılmış/ziplenmiş olarak dönülecektir.
INVOICE_PROPERTIES.EARSIV_FLAG String Evet E-Arşiv fatura için Y olmalıdır.
INVOICE_PROPERTIES.EARSIV_PROPERTIES ComplexType Evet E-Arşiv faturaları için kullanılabilecek parametreler
EARSIV_PROPERTIES.EARSIV_TYPE String Evet Gönderilen e-arşiv faturasının tipi: NORMAL veya INTERNET değerleri olabilir. Internet üzerinde yapılan satış için düzenlenen faturalarında e-arşiv tipi INTERNET olmak zorundadır. Diğerleri fatura tipleri için NORMAL olacaktır.
EARSIV_PROPERTIES.SUB_STATUS String Evet Varsayılan değer NEW. E-Arşiv faturasını göndermek için NEW değeri gönderilmelidir. Taslaklara yüklemek için ise DRAFT değeri gönderilebilir.
EARSIV_PROPERTIES.SERI String Hayır Fatura numara atamasının E-Arşiv platformu üzerinde yapılması istenildiği durumlarda hangi seri ile numara atanacağını belirleyen alandır. Maksimum 3 hane alfanumerik değer içermelidir. Gönderilecek seri önce portal ekranları kullanılarak e-arşiv sisteminde tanımlanmalıdır. Tanımlanmayan seri gönderildiğinde hata dönülecektir.
EARSIV_PROPERTIES.EARSIV_EMAIL_FLAG String Hayır E-Arşiv faturasının alıcı tarafa e-posta olarak gönderilmek isteniyorsa Y değeri gönderilmelidir. Varsayılan değer N dir. DİKKAT: Eğer E-Arşiv sisteminde müşterinin e-posta gönderme hizmeti yoksa Y değeri gönderilince hata alacaktır. Bu durumda özel entegratör ile iletişime geçerek e-posta gönderim hizmetini aktiflemesi talep edilmelidir.
EARSIV_PROPERTIES.EARSIV_EMAIL String Hayır E-Arşiv faturasının iletileceği e-posta adresi. E-Posta formatında olmalıdır. EARSIV_EMAIL_FLAG= Y olarak gönderilmişse bu alan zorunludur. DİKKAT: Eğer EARSIV_EMAIL_FLAG gönderilmemiş veya N olarak gönderilmişse bu alanda ki değer veritabanına kaydedilecek ama e-posta gönderilmeyecektir.
EARSIV_PROPERTIES.EARSIV_SMS_FLAG String Hayır E-Arşiv faturasının alıcıya özel entegratör sistemi üzerinden SMS olarak göndermek isteniyorsa Y değeri gönderilmelidir. Varsayılan değer N dir. DİKKAT: Eğer E-Arşiv sisteminde müşterinin SMS gönderme hizmeti yoksa Y değeri gönderilince hata alacaktır. Bu durumda özel entegratör ile iletişime geçerek SMS gönderim hizmetini aktiflemesi talep edilmelidir.
EARSIV_PROPERTIES.SMS_PHONE_NUMBER String Hayır E-Arşiv faturasının iletileceği 10 hane telefon numarası. Format: 1234567890. Telefon numarasının başında 0 olmadığına dikkat ediniz. EARSIV_SMS_FLAG= Y olarak gönderilmişse bu alan zorunludur. DİKKAT: Eğer EARSIV_SMS_FLAG gönderilmemiş veya N olarak gönderilmişse bu alanda ki değer veritabanına kaydedilecek ama SMS gönderilmeyecektir.
EARSIV_PROPERTIES.EARCHIVE_TEST_FLAG String Hayır Kullanmayınız Kullanım sonlandırılmıştır.
EARSIV_PROPERTIES.ARCH_INVOICE_ID String Hayır Kullanmayınız Kullanım sonlandırılmıştır.
EARSIV_PROPERTIES.EARCHIVE_TEST_FLAG String Hayır Kullanmayınız Kullanım sonlandırılmıştır.
INVOICE_PROPERTIES.PDF_PROPERTIES ComplexType Hayır Kullanmayınız Kullanım sonlandırılmıştır.
INVOICE_PROPERTIES.ARCHIVE_NOTE String Hayır E-Arşiv faturalara not eklenebilecek parametredir.
INVOICE_PROPERTIES.INVOICE_CONTENT Base64Binary Evet Faturanın UBL-TR formatında ki dosyasının Base64Binary tipinde sıkıştırılmış/ziplenmiş içeriği.

Başarı Sonuç Nesnesi

Webservis işlem başarılı olduğunda response objesi içerisinde REQUEST_RETURN tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
REQUEST_RETURN ComplexType İşlem sonucunu içeren başarılı sonuç objesi
INT_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı işlemlerde 0 değeri döner. Başarısız olduğunda bu eleman dönülmez.
INVOICE_ID String Fatura numarası e-arşiv platformunda atanmışsa atanan fatura numarası dönülür.

Hata Sonuç Nesnesi

Webservis metodunda hata oluşması durumunda response objesi içerisinde ERROR_TYPE tipinde sonuç dönülecektir.

Servisten dönen hata sonuç nesnesi şu şekildedir:

Parametre Tip Açıklama
ERROR_TYPE ComplexType İşlem sonucunu içeren başarısız/hatalı sonuç objesi
INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
ERROR_CODE String Hata kodu. Hata kod detayları için ilgili servisteki hata kod listesini inceleyebilirsiniz.
ERROR_SHORT_DESC String Hatanın kısa açıklaması.

Hata Kod Listesi

Hata Kodu Açıklama
-1 Beklenmedik bir hata oluştu. Lütfen daha sonra tekrar deneyiniz.: {HATA SEBEBİ}
10001 Sistemde Beklenmedik Bir Hata Oluştu: {HATA SEBEBİ}
10002 Oturum oluşturulamadı
10003 Belge kontrolden geçemedi. Hata sebebi: {HATA SEBEBİ}
10004 Geçersiz oturum. Lütfen oturum açıp tekrar deneyiniz
10005 Hesabınızın {ÜRÜN ADI} ürün aktif degildir. Lütfen firma yetkiliniz ile görüşünüz.
10006 Yetkiniz bulunmamaktadır
10007 İstek ZİP bir dosya içermelidir
10008 Belirtilen kriterlere uygun kayıt bulunamamıştır {KRITER}
10009 Gönderilen belge daha önce gönderilmiş bir belge ile eşleşmektedir. Belge Tipi: Belge No: ve ETTN:
10010 Bir istek boyutu maksimum 5MB veya 100 adet belge içerebilir
10011 Tekrarlanan işlem: kayıt sistemde mevcuttur
10012 Kullanıcı aktif degil {kullanıcı adı}
10013 Gönderilen istek geçersizdir. Hata sebebi {HATA SEBEBİ}
10014 Geçersiz İmza Hata Sebebi: {HATA SEBEBİ}
10015 Servis desteklenmemektedir. Servis adı
10016 Müşteri sistemde aktif degildir.
10017 Gönderilen belge daha önce gönderilmiş bir belge ile eşleşmektedir. ID: ve UUID:
10018 Yetkisiz erişim tespit edildi! {HATA SEBEBİ}

E-Arşiv Fatura Okuma (ReadFromArchive)

Özel entegratör sistemine gönderilen e-arşiv faturalarının farklı formatlarda (XML,HTML,PDF) okumasını sağlayan servistir.


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur. Faturaları XML formatında sıkıştırılmadan çekmek için mutlaka COMPRESSED elemanı eklenmeli ve N değeri gönderilmelidir. Eğer gönderilmezse faturalar sıkıştırılmış/ziplenmiş olarak dönülecektir.
INVOICE_ID String Evet Evrensel Tekil Tanımlama Numarası (ETTN) ile fatura okumak için kullanılabilir. GUID formatında
PORTAL_DIRECTION String Evet OUT değeri gönderilecek.
EXTERNAL_ID String Hayır Kullanmayınız
PROFILE String Evet faturayı almak istediğini formattır. PDF, HTML, XML değeri alabilir. XML değeri gönderilmezse faturanın imzalı UBL-TR XML dosyası dönülecektir.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
INVOICE Base64Binary Faturanın talep edilen formatta ki içeriği. Eğer COMPRESSED elemanı N olarak gönderilmişse sıkıştırılmamış, COMPRESSED elemanı gönderilmemiş veya Y değeri gönderilmişse sıkıştırılmış/ziplenmiş olarak dönülür. Sonuç alındıktan sonra ilgili formatta işlem yapılabilir.
REQUEST_RETURN.INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
REQUEST_RETURN.RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda request return objesi dönülmez.


Servisten Dönebilecek Hatalar

Hata Açıklaması Açıklama
Fatura okunurken hata oluştu..Okumaya çalıştığınız UUID: xxxxxxx ile fatura bulunmadı… webservis isteğinde zorunlu olan bir veya birden fazla parametre eksik gönderilmiştir.

E-Arşiv Durum Sorgulama (GetEArchiveStatus)

Özel entegratör platformuna gönderilen bir veya birden çok faturanın durumunu sorgulamayı sağlayan servistir.


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
UUID String Evet Durumu sorgulanacak faturanın Evrensel Tekil Tanımlama Numarası (ETTN). GUID formatında. Birden fazla faturanın durumunu sorgulamak için bu parametre çoklanır.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
INVOICE.HEADER ComplexType Kritere uyan faturaların durumlarınını içeren objedir.
HEADER.INVOICE_ID String Fatura numarası
HEADER.UUID String Faturanın Evrensel Tekil Tanımlama Numarası (ETTN)
HEADER.PROFILE String Faturanın senaryosu (EARSIVFATURA)
HEADER.INVOICE_DATE String Fatura tarihi
HEADER.STATUS String Fatura durumu kodu. Lütfen E-Arşiv Durum başlığını inceleyiniz.
HEADER.STATUS_DESC String Faturanın durum açıklaması Lütfen E-Arşiv Durum başlığını inceleyiniz.
HEADER.EMAIL_STATUS String E-Posta gönderim durum kodu. Lütfen E-Arşiv E-Posta Durum başlığını inceleyiniz.
HEADER.EMAIL_STATUS_DESC String E-Posta gönderim durum açıklaması. Lütfen E-Arşiv E-Posta Durum başlığını inceleyiniz.
HEADER.REPORT_ID String Faturanın GİB'e gönderilen rapor numarası. Raporlanmamış faturalarda parametre dönülmez.
HEADER.WEB_KEY String Fatura alıcısının e-arşiv platformu üzerinden ulaşabileceği URL.
REQUEST_RETURN.INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
REQUEST_RETURN.RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda request return objesi dönülmez.

E-Arşiv Durumları

Durum Kodu Durum Açıklaması
100 KUYRUĞA EKLENDİ
105 TASLAK OLARAK EKLENDİ
110 İŞLENİYOR
120 RAPORLANACAK
130 RAPORLANDI
150 RAPORLANMADAN İPTAL EDİLDİ. RAPORLANMAYACAK.
200 FATURA ID BULUNAMADI

E-Arşiv E-Posta Gönderim Durumları

Durum Kodu Durum Açıklaması
100 HENÜZ İŞLENMEDİ
110 İŞLENİYOR
120 İŞLENDİ
130 E-MAIL GÖNDERİM SONLANDI

E-Arşiv Fatura İptal (CancelEArchiveInvoice)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
INVOICE_ID String Hayır İptal edilecek faturanın numarası. FYA201800000001 formatında
INVOICE_UUID String Evet İptal edilecek faturanın Evrensel Tekil Tanımlama Numarası (ETTN). GUID formatında
UPLOAD_FLAG String Hayır E-Arşiv platformunda bulunmayan bir faturayı iptal etmek için Y degeri gönderilmesi ve İptal Tarihi, Toplam Tutar ve Fatura Tarihi parametrelerinin doldurulması gerekir.
EARSIV_CANCEL_EMAIL String Hayır İptal edilecek e-arşiv faturasının alıcısına e-posta olarak bildirimi için kullanılacak parametre. Birden fazla e-posta adresini virgül , ile ayırarak gönderebilirsiniz. E-Posta formatında olmalıdır. (adsoyad@domain.com)
DELETE_FLAG String Hayır Sisteme yüklenmiş ama raporlanmamış bir e-Arşiv faturasını hiç raporlamamak için kullanılan parametredir. Y değeri gönderilirse fatura GİB'e hiç bir türlü raporlanmayacaktır. Silinen fatura müteselsilliği bozmamak için tekrar yüklenmelidir.
IPTAL_TARIHI String Hayır E-Arşiv platformunda bulunmayan bir faturanın iptal isteğinde gönderilecek. Faturanın iptal tarihi.
TOPLAM_TUTAR String Hayır iptal edilen faturanın ödenecek tutarı. E-Arşiv platformunda bulunmayan bir faturayı iptal ederken gönderilmelidir.
INVOICE_CONTENT String Hayır Kullanmayınız



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
RETURN_CODE String Başarılı durumlarda 0 değeri döner.

E-Arşiv Faturasını E-Posta Olarak Tekrar Gönderme (GetEmailEarchiveInvoice)


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
FATURA_UUID String Evet E-Posta olarak iletilecek faturanın Evrensel Tekil Tanımlama Numarası (ETTN). GUID formatında.
FATURA_ID String Hayır Kullanılmamaktadır
EMAIL String Evet E-Arşiv faturasının iletileceği e-posta adresi. E-Posta formatında olmalıdır. Birden fazla e-postaya göndermek için virgül (,) ile ayırarak gönderilmelidir.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
REQUEST_RETURN.INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
REQUEST_RETURN.RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda request return objesi dönülmez.

E-Arşiv Durumları

Durum Kodu Durum Açıklaması
100 KUYRUĞA EKLENDİ
105 TASLAK OLARAK EKLENDİ
110 İŞLENİYOR
115 İŞLENİYOR
120 İŞLENDİ
130 RAPORLANDI
200 FATURA ID BULUNAMADI

E-Arşiv E-Posta Gönderim Durumları

Durum Kodu Durum Açıklaması
100 HENÜZ İŞLENMEDİ
110 İŞLENİYOR
120 İŞLENDİ
130 E-MAIL GÖNDERİM SONLANDI

E-Arşiv Rapor Listesini Çekme (GetEArchiveReport)

Özel entegratör platformunda mükellefe ait oluşturulan bir döneme ait rapor listesini çekmek için kullanılır. Bu servis sadece rapor listesini döndecektir. Servisin döndüğü raporlara ait içerikleri almak için ReadEArchiveReport servisi kullanılabilir.


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
REPORT_PERIOD String Evet Rapor listesinin alınmak istenilen dönem bilgisi. Örnek: Mayıs 2018 dönemi için 201805
REPORT_STATUS_FLAG String Hayır Rapor durumunun sonuca eklenmesi isteniyorsa Y, değilse N değeri gönderilmelidir.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
REPORT ComplexType Dönem için oluşturulan raporların listesi. Birden fazla rapor varsa REPORT objesi çoklu olur.
REPORT.REPORT_NO String Raporun numarası GUID formatında
REPORT.STATUS String Raporun durumu. İşlenmiş rapor durumu SUCCEED olur.
REQUEST_RETURN.INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
REQUEST_RETURN.RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda request return objesi dönülmez.

E-Arşiv Rapor Çekme (ReadEArchiveReport)

Mükellef için GİB'e gönderilen raporun imzalı XML dosyasını okumayı sağlayan servistir.


Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre Tip Zorunluluk Açıklama
REQUEST_HEADER ComplexType Evet Request Header objesi içerisinde SESSION_ID ve APPLICATION_NAME alanı zorunludur.
RAPOR_ID String Evet Detay/içeriği çekilecek raporun IDsi. Rapor IDsine GetEArchiveReport servisini kullanarak erişebilirsiniz.



Servisten dönen parametreler şu şekildedir:

Parametre Tip Açıklama
EARCHIVEREPORT Base64Binary GİB'e gönderilen raporun imzalı XML dosyasının sıkıştırılmış/ziplenmiş ve Base64 encode edilmiş değeri.
REQUEST_RETURN.INTL_TXN_ID String Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak destek ekibine iletilebilir.
REQUEST_RETURN.RETURN_CODE String Başarılı durumlarda 0 değeri döner. Başarısız olduğunda request return objesi dönülmez.
C#