Git Product home page Git Product logo

bilgint / earsiv-efatura Goto Github PK

View Code? Open in Web Editor NEW

This project forked from salihdemircan/earsiv-efatura

0.0 0.0 0.0 297 KB

e-Arşiv ile Kağıt, Baskı, Arşivleme, İş Gücü ve Dağıtım Maliyetlerinizi Azaltın. Djital Dönüşüme Bizimle Sorunsuz ve Güvenli Bir Şekilde Hemen Başlayın! Sektörel Çözümler.

Home Page: http://salihdemircan.com

License: GNU General Public License v3.0

Pascal 100.00%

earsiv-efatura's Introduction

    1. GİRİŞ İçindekiler
    1. TEST HESAPLARI
    1. WEB SERVİS METODLARI ÖZET TABLOSU
    1. WEB SERVİS METODLARI DETAYLARI
    1. E-FATURA ENTEGRASYON HAZIRLIĞI
    1. E- ARŞİV FATURA ENTEGRASYON HAZIRLIĞI
    1. OTURUM AÇMA - LOGİN
    1. ÇIK IŞ – LOGOUT
    • 8.1. E-ARŞİV XML’İNİN E-FATURA XML’İNDEN FARKLILIKLARI
    • 8.2. PAYMENTMEANS KODLARI
    1. FATURA GÖNDERME - SENDINVOICE
    • ❖ UBL-TR ILE FATURA GÖNDERME
    1. E-FATURA NESNESI GÖNDER-SENDPARKINVOICEOBJECT
    • 10.1. E-FATURA NESNESI GÖNDERME
    • 10.2. E-ARŞIV NESNESI GÖNDERME ..................................................................................................................................................
    1. TASLAK FATURA YÜKLEME - LOADINVOICE
    1. E-FATURA OKU - GETINVOICE
    1. E-FATURA DURUM SORGULAMA - GETINVOICESTATUS
    1. E- FATURA İŞARETLEME - MARKINVOICE
    1. E-FATURA CEVAP HAZIRLAMA - PREPAREINVOICERESPONSE
    1. E-FATURA CEVAP GÖNDERME - SENDINVOICERESPONSE
    1. MÜKELLEF LISTESI ALMA - GETUSERLIST
    1. MÜKELLEF KONTROLÜ - CHECKUSER
    1. E-FATURA CEVAP VERME - SENDINVOICERESPONSEWITHSERVERSIGN
    1. E-FATURA MÜKELLEF LISTESI- GETUSERLISTBINARY- SIKIŞTIRILMIŞ
    1. E-FATURA ZARF GETIR - GETENVELOPE
    1. E-FATURA ZARF DURUM SORGULAMA - GETENVELOPESTATUS
    1. E- FATURA ZARF İŞARET LE - MARKENVELOPE
    1. E-FATURA TIPIYLE BERABER GETIR - GETINVOICEWITHTYPE
    1. E- FATURA ZARF XML’I - GETAPPLICATIONRESPONSE
    1. E- ARŞIV FATURASI GÖN DERME(WRITETOARCHIVEEXTENDED)
    1. E- ARŞIV FATURASINI A LMA - READFROMARCHIVE
    1. E- ARŞIV FATURASINI İ PTAL ETME - CANCELEARCHIVEINVOICE
    1. E- ARŞIV RAPOR LISTES INI ALMA - GETEARCHIVEREPORT
    1. E- ARŞIV RAPOR DETAYI ALMA - READEARCHIVEREPORT
    1. E- ARŞIV FATURA DURUM - GETEARCHIVEINVOICESTATUSREQUEST
    • HER HAKKI SAKLIDIR - ©

    • 31.1. E-ARŞIV FATURA DURUM KODLARI

    • 31.2. E-ARŞIV FATURA E-MAIL DURUM KODLARI

    1. E- ARŞIV FATURASI TEK RARDAN MAIL GÖNDERILMESI - GETEMAILEARCHIVEINVOICE
    1. FAULT HANDLING
    1. FAULT HANDLING - GETEMAILEARCHIVEINVOICE
    1. FATURA DURUMLARI
    • 35.1. GIDEN FATURA DURUMLARI
    • 35.2. GELEN FATURA DURUMLARI
    1. İHRACAT E - FATURA
    • 36.1. İHRACAT E-FATURA UBL ÖRNEĞİ
    • 36.2. YOLCUBERABER E-FATURA UBL ÖRNEĞİ

1. Giriş

Bu doküman PARK e-Fatura ve e-Arşiv Fatura servislerinin kullanımı için, yazılım geliştirme ve sistem

entegrasyon uzmanları için hazırlanmıştır.

PARK e-Fatura ve e-Arşiv Fatura web servisi SOAP protokol tabanlı olarak geliştirilmiştir ve SOAP 1.

kullanmaktadır.

2. TEST HESAPLARI

Park e-Fatura sistemine entegre olmak için aşağıdaki WSDL dosyaları kullanılarak istemci oluşturulmaldır. E-

Fatura için sadece EFaturaService, E-Arşiv Fatura için her ikisi de kullanılacaktır. GİB tarafından tek bir test

VKN’sine izin verildiğinden, test ortamında ilgili test VKN’sinden yine aynı VKN’ye fatura düzenlenecektir.

Faturalar çekildiğinde başka faturalar da sonuç olarak dönerse bu aynı VKN ile ortak test yapılmasından

kaynaklıdır.

Test VKN: 7210452742

Test Portal adresi: https://efptest.parkentegrasyon.com.tr

e-Fatura ve e- Arşiv Fatura: https://wstest.parkentegrasyon.com.tr/EFaturaService.asmx

e- Arşiv Fatura: https://wstest.parkentegrasyon.com.tr/EArchiveService.asmx

3. WEB SERVİS METODLARI ÖZET TABLOSU

PARK web servis metodları tablosu yazılım geliştirme ve entegrasyon uzmanlarına web servis işlevlerini

özetleyerek aktarma amacı taşır.

METOD AMACI Login Web servis istemcisinin(client) EFATURA Entegrasyon Platformuna kimlik doğrulayarak giriş yapmasını sağlar. Logout Web servis istemcisinin(client) EFATURA Entegrasyon Platformundan güvenli çıkış yapmasını sağlar. LoadInvoice EFATURA Entegrasyon Platformu üzerinden 1 yada daha fazla faturayı taslak olarak kaydeder. SendInvoice EFATURA Entegrasyon Platformu üzerinden 1 yada daha fazla faturayı GIB (Gelir İdaresi Başkanlığı) EFATURA sistemine gönderir. GetInvoice GIB (Gelir İdaresi Başkanlığı) EFATURA sisteminden gelen/giden faturaları EFATURA Entegrasyon Platformu üzerinden getirir. GetInvoiceStatus Faturanın durumunu Park sistemlerinden kontrol etmek için kullanılır. GetInvoiceWithType GIB (Gelir İdaresi Başkanlığı) EFATURA sisteminden gelen/giden faturaları EFATURA Entegrasyon Platformu üzerinden seçilen XML, HTML veya PDF formatı ile getirir. MarkInvoice Faturayı okundu olarak işaretler. PrepareInvoiceResponse Alınan Ticari Faturalara kabul yada red cevabı göndermek için kullanılacak imzasız uygulama yanıtını yaratır. Yaratılan bu uygulama yanıtı müşteri tarfındaki uygulama tarafından müşteri elektronik imzası

Sayfa 6 / 86

ile onaylanıp SendInvoiceResponse metoduyla ticari faturaya kabul yada red cevabı vermek için kullanılır. SendInvoiceResponse Alınan Ticari Faturalara kabul yada red cevabı müşteri tarafında imzalanarak göndermek için kullanılır. SendInvoiceResponseWithServverSign Alınan Ticari Faturalara kabul yada red cevabı özel entegratör imzası ile göndermek için kullanılır. GetEnvelope GIB (Gelir İdaresi Başkanlığı) EFATURA sisteminden gelen/giden zarfları EFATURA Entegrasyon Platformu üzerinden getirir. GetEnvelopeStatus Zarfın durumunu Park sistemlerinden kontrol etmek için kullanılır. GetUserList GIB EFATURA sistemine kayıtlı kullanıcıların listesini ve bilgilerini getirir. MarkEnvelope Zarfı okundu olarak işaretler. CheckUser GIB EFATURA sistemine kayıtlı kullanıcı varmı diye kontrol eder, varsa bilgilerini getirir. GetApplicationResponse Girilen zarfa ait bilgilerin döküman bilgilerini XML çıktısı olarak verir. WriteToArchiveExtended GIB EFATURA sistemine kayıtlı kullanıcıların bilgilerini sıkıştırılmış formatta getirir. ReadFromArchive PARK EFATURA Arşiv Platformunda daha önce arşivlenen faturalara erişimi sağlar. CancelEArchiveInvoice PARK EFATURA Arşiv Platformunda daha önce arşivlenen faturalara erişimi sağlar. GetEArchiveInvoiceStatus PARK EFATURA Arşiv Platformunda daha önce arşivlenen faturaların, fatura durumu,email durumu ve raporlama durumu sorgulamasını sağlar GetEArchiveReport PARK EFATURA Arşiv Platformunda bulunan earşiv raporlarını erşimini sağlar. ReadEArchiveReport PARK EFATURA Arşiv Platformunda bulunan earşiv rapor’u içerisinde faturaya erşimini saglar. GetEmailEarchiveInvoice PARK EFATURA Arşiv Platformunda daha önce arşivlenen faturaların, tekrardan mail olarak gönderilmesini sağlar.

4. WEB SERVİS METODLARI DETAYLARI

Ortak Kullanılan REQUEST_HEADER Tipi

ADI AÇIKLAMASI SESSION_ID Login Metodunda sistem tarafında gönderilen SESSION_ID bilgisi. Sonraki tüm metod çağrılarında parametre olarak metoda geçmelidir. CLIENT_TXN_ID İstemci uygulama tarafından üretilen her istek için unique olması beklenen transaction ID. Bu ID bilgisi DB de saklanmaktadır. Zorunlu değildir ancak gönderilmesi tavsiye edilir. INT_TXN_ID İstemci uygulamasında ana modül entitileri ile ilişkilendirelmek istenen transaction ID. Zorunlu değildir. INT_PARENT_TXN_ID İstemci uygulamasında ana modül entitileri ile ilişkilendirelmek istenen ana transaction ID. Zorunlu değildir. ACTION_DATE Metodun çağrılma tarihi CHANGE_INFO Bu metod ile eğer verilerde bir değişiklik yapılacak ise o değişikliğe ait bilgi. Zorunlu değildir. REASON Aksiyonun çağrılma nedeni. Zorunlu değildir. APPLICATION_NAME Metodu çağıran uygulamanın adı. Zorunlu değildir. HOST_NAME Metodu çağıran Host’un adı. Zorunlu değildir. CHANNEL_NAME Metodun çağrıldığı kanal adı.Zorunlu değildir. SIMULATION_FLAG Metod çağrılır ancak arkadaki iş yapılmaz. Zorunlu değildir. COMPRESSED İçerikte taşınan bilginin ZIP formatında sıkıştırılmış mı gönderildiği/talep edildiği bilgisi. Bu parametre aşağıda ki servislerde kullanılmaktadır:

  • LoadInvoice
  • PrepareInvoiceResponse

Sayfa 7 / 86

  • SendInvoice
  • SendInvoiceResponse

5. E-FATURA ENTEGRASYON HAZIRLIĞI

Uygulamanızı tasarlarken aşağıdaki bilgileri okuduktan sonra servise login olunuz:

  • Login servisi ile giriş yaparak session id alınmalıdır. 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’yi kullanabilirsiniz. Portal tarafında session için 30 dk timeout süresi bulunmaktadır.
  • GetUserList servisi ile GIB e-fatura mükellef listesini her 2 saatte bir Park sunucularından çekmeniz gerekmektedir. Güncel listeyi çektikten sonra Cari listenizdeki firmaların e-Fatura mükellefi olup olmadığını güncellemelisiniz.
  • e-Fatura Mükellefi olan firmalara kesilen faturaları UBL-TR formatına dönüştürerek Park sunucularına gönderebilirsiniz. Her fatura içerisinde faturanın görüntülenmesini sağlayan XSLT dokümanı olmalıdır.
  • SendInvoice servisi ile fatura gönderimi yapılmalıdır. 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ıdır. Sadece 1 adet PK adresi varsa seçim yapılmadan gönderim sağlanabilir.
  • GetInvoiceStatus servisi ile gelen/giden faturaların durumları sorgulanmalıdır. Nihai duruma erişene kadar faturanın durumu Park sunucularından sorgulanmalıdır.
  • GetInvoice servisi ile firmaya gelen faturalar müşteri bilgisayarına aktarılır. Park 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 100’den az fatura varsa tekrar sorgulama yapmaya gerek yoktur.
  • MarkInvoice servisi ile başarılı şekilde teslim alınan faturalar Park sistemlerinde okundu olarak işaretlenir. Böylece bir sonra ki getinvoice servisi çağrılınca dönülmez.
  • SendInvoiceResponseWithServerSign servisi ile gelen ticari bir faturaya kabul veya red yanıtı gönderebilirsiniz. Gelen bir faturaya 8 gün içerisinde kabul veya red gönderilebilir. 8 günü geçtikten sonra kabul/red yapılması engellenmelidir.
  • Logout servisi ile kullanıcı e-Fatura programını kapatınca veya sizin belirlediğiniz bir sürede oturumu kapatabilirsiniz.

6. E- ARŞİV FATURA ENTEGRASYON HAZIRLIĞI

Uygulamanızı tasarlarken aşağıdaki bilgileri okuduktan sonra servise login olunuz:

  • Login servisi ile giriş yaparak 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. Portal tarafında sessionlar 30 dk timeout süresi bulunuyor.
  • WriteToArchieveExtended servisi ile UBL formatlı e-arşiv faturası gönderilir.
  • ReadFromArchive servisi ile faturanın ihtiyaç duyulan formatta alınır.
  • CancelEArchiveInvoice servisi ile iptal edilen fatura GIB bildirilmek üzere gönderilir.
  • GetEArchiveInvoiceStatus serivisi ile Park platformuna yüklemiş olduğunuz e-Arşiv faturasanın durumu, email durumu ve raporlanma durumunu sorgulayabilirsiniz.
  • GetEArchiveReport servisi ile gelir idaresin raporlanan e-arşiv raporlarını dönemlik olarak çekebilirsiniz.
  • ReadEArchiveReport serivisi ile gelir idaresinde gönderilen rapor detayını sorgulayabilirsiniz.
  • GetEmailEarchiveInvoice servisi ile Park platformuna daha önceden yüklenen e-arşiv faturasının tekrardan mail gönderilmesini tetiklenmektedir.

Sayfa 8 / 86

7. OTURUM AÇMA - LOGİN

Tüm web servis yöntemlerinden önce oturum açılarak güvenlik doğrulaması yapılmalıdır. Ancak bu metod

hatasız çalıştırıldıktan sonra diğer metodlar kullanılabilir. Login() metodu çalıştırılmadan diğer yöntemlerin

çağırılması durumunda sistem otomatik olarak hata verecektir.

Web servis istemcisinin(client) EFATURA entegrasyon platformuna kimlik doğrulama yöntemiyle giriş

yapmasını sağlar. Webservise giriş için kullanılan kullanıcı bilgileri, portale giriş için kullanılan kullanıcı bilgileri

ile aynıdır.

Dönen cevap başarılı ise session_id tag’i altında e0904c98-d6fc-4b67-94ab-377c740b4b31 seklinde bir id

döner. Login komutu sonrası dönen session ID parametresi, login sonrası çağırılacak tüm metodlarda

parametre olarak kullanılmalıdır.

Aşağıdaki Request Parame treleri ile istek gönderilir:

ADI TİPİ^ AÇIKLAMASI SESSION_ID STRING Request Header objesi içerisinde bulunan SESSION_ID login servisinde -1 olarak gönderilmelidir. USER_NAME STRING Sisteme bağlanacak kullanıcı adı. PASSWORD STRING Kullanıcı şifresi

Örnek istek:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:Login

par:userNamepark-entegrasyon</par:userName>

par:passwordcmc2017*!Park</par:password> </par:Login> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI SESSION_ID Login işlemi kabul edilmiş ise bundan sonraki metod çağrılarında kullanılacak oturum bilgisi.

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body 9a668193- 0619 - 4ab4-b39a-417bc71bcb68 </soap:Body> </soap:Envelope> ^

Login()

Sayfa 9 / 86

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string username Kullanıcı Adı

string password Şifre

Dönüş Değeri:

TÜR AÇIKLAMA

string Metot çağrılarında kullanılacak oturum bilgisi

Örnek Kod:

EFaturaService client = new EFaturaService(); string sessionID = string.Empty; public void Login() { string token = client.Login("park-entegrasyon", "cmc2017*!Park"); sessionID = token; }

8. ÇIK IŞ – LOGOUT

Web servis istemcisinin(client) EFATURA Entegrasyon Platformundan güvenli çıkış yapmasını sağlar.

Park platfromunda dönen cevap başarılı ise return_code 0 döner.

Aşağıdaki Request Parametreleri ile istek gönderilir:

ADI TİPİ^ AÇIKLAMASI REQUEST_HEADER :SESSION_ID

STRING Sonuçlandırılmak istenen oturumun session IDsi

Örnek istek:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:Logout

par:sessionId9a668193- 0619 - 4ab4-b39a-417bc71bcb68</par:sessionId> </par:Logout> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI INTL_TXN_ID Logout işleminin internal transaction ID’sidir.

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body 169997470 </soap:Body> </soap:Envelope>^ ^

Sayfa 10 / 86

Logout()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

long Gönderilen request transcation kaydının id’si

Örnek Kod:

public void Logout() { long txn = client.Logout(sessionID); }

8.1. E- Arşiv XML’inin E - Fatura XML’inden farklılıkları

e- Arşiv ile e - Fatura arasındaki farklılıklar aşağıdaki gibidir: e-Arşiv faturasında kağıt ve internet olmak üzere ikiye ayrılır.

e- Arşiv Kağıt faturası:

  1. e-Arşiv fatura fatura tipi EARSIVFATURA olmalıdır.
  2. e-arşiv faturasında issue_time zorunlu alanlardır.
  3. AdditionalDocumentReference alanında DocumentTypeCode ve DocumentType alanları zorunlu alandır. e- Arşiv İnternet Faturası:
  4. Normal faturlarda belirtmiş olduğumuz alanlar bu faturada da zorunludur.
  5. Delivery alanı doldurulmak zorunludur.
  6. Ödeme(PaymentMeans) şekli belirtmilmesi zorunludur.
  7. Fatura notlarına “e- Arşiv İzni kapsamında elektronik ortamda iletilmiştir ” ibaresinin eklenmesi gerekmektedir ve görsel olarak fatura üzerinde gösterilmelidir.

UBL- TR gönderen firmalar için aşağıdaki alanlar kullanılmalıdır: AdditionalDocumentReference elemanı çoklanarak aşağıdaki cbc:ID standartlarına göre e- Arşiv Fatura Bilgileri Doldurulacaktır.

cac:AdditionalDocumentReference

cbc:ID1</cbc:ID>

cbc:IssueDate2018- 03 - 21</cbc:IssueDate>

cbc:DocumentTypeCodeSendingType</cbc:DocumentTypeCode>

cbc:DocumentTypeELEKTRONIK</cbc:DocumentType> </cac:AdditionalDocumentReference>

Delivery nodu doldurulacaktır:

cac:Delivery

cac:CarrierParty

cac:PartyIdentification <cbc:ID schemeID="VKN">98745655</cbc:ID>

</cac:PartyIdentification>

cac:PartyName

cbc:Nametaşıyıcı firma</cbc:Name>

Sayfa 11 / 86

</cac:PartyName> cac:PostalAddress

cbc:StreetName/

cbc:CitySubdivisionName/

cbc:CityName/

cbc:PostalZone/ cbc:Region/

cac:Country

cbc:Name/

</cac:Country>

</cac:PostalAddress> </cac:CarrierParty>

cac:Despatch

cbc:ActualDespatchDate2018- 03 - 21</cbc:ActualDespatchDate>

</cac:Despatch>

</cac:Delivery>

8.2. PAYMENTMEANS KODLARI

e-Arşiv ve e-Fatura ödeme paymentmeans tag’ini fatura içerisinde kullanıyorsanız bu alanın örnek kodları

aşağıdaki gibidir.

Örnek kodlar:

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

Diğer kodlar için aşağıdaki referanstan yararlanabilirsiniz:

http://www.unece.org/trade/untdid/d11a/tred/tred4461.htm

Örnek XML yapısı:

cac:PaymentMeans cbc:PaymentMeansCode48</cbc:PaymentMeansCode>

cbc:PaymentDueDate2018- 03 - 21</cbc:PaymentDueDate>

cbc:InstructionNote Odeme Tipi : KREDIKARTI/BANKAKARTI- Web Adresi :

internet</cbc:InstructionNote> </cac:PaymentMeans>

9. FATURA GÖNDERME - SENDINVOICE

EFATURA Entegrasyon Platformu üzerinden 1 ya da daha fazla faturayı GIB (Gelir İdaresi Başkanlığı)

EFATURA sistemine UBL-TR içeriğe sahip bir xml ile fatura gönderir. Ayrıca fatura gönderim esnasında hatalı

duruma geçen faturalar bu servis ile tekrar gönderilir.

Bu işlemden sonra gönderilen faturaların durumları GetInvoiceStatus servisi ile kontrol edilmelidir. Faturanın

durumu GIB’de hatalı olduğu zaman bu servis ile faturayı aynı ID fakat farklı UUID ile tekrar gönderilir.

❖ UBL-TR ILE FATURA GÖNDERME

❖ Aşağıdaki Request Parametreleri ile istek servise gönderilir, eğer dönen cevap başarılı ise servis return_code 0 döner.

❖ Bu işlemlerden sonra faturanız gelir idaresine iletilir. Gelir idaresi imza kontrolü ve schematron kontrolünü sagladıktan sonra alıcı firmaya faturayı iletir.

❖ İstek servise gönderilirken birarada kullanılması gereken parametreler SENDER ve RECEIVER olabilir veya FROM ve TO olabilir. Bu kullanımın haricindeki durumlarda veya iki grubun da birarada kullanıldığı durumlarda “duplicate association path: ENVELOPE.SENDER” hatası alınır.

Sayfa 12 / 86

İstek Parametreleri

ADI AÇIKLAMASI SENDER Faturayı gönderecek gönderici birimin GIB’de tanımlı urn si vkn Faturayı gönderecek gönderici birimin GIB’de tanımlı VKN/TCKN si alias Faturayı gönderecek gönderici birimin GIB’de tanımlı alias’i (urn si) RECEIVER Faturayı alacak birimin GIB de tanımlı urn’si vkn Faturayı alacak birimin GIB de tanımlı VKN/TCKN si alias Faturayı alacak birimin GIB de tanımlı GIB’de tanımlı alias’i (urn si) INVOICE :CONTENT

XML faturanın Base64Binary tipinde standart zip yöntemi ile sıkıştırılmış/sıkıştırılmamış içeriği. Bir istek ile çoklu fatura gönderimi yapılabilir. Çoklu göndermek için INVOICE elemanı çoklanmalıdır. REQUEST_HEADER :COMPRESSED

Binary Fatura içeriği sıkıştırılmış/sıkıştırılmamış bilgisi. Sıkıştırılmış ise Y olmalıdır.

Örnek İstek :

soapenv:Header/ soapenv:Body wsdl:SendInvoiceRequest <REQUEST_HEADER> <SESSION_ID>405bd2ef-4d22-4f99-ae98-08a151317611</SESSION_ID> N </REQUEST_HEADER> </wsdl:SendInvoiceRequest> </soapenv:Body> ^

Beklenen Cevap

Fatura başarı ile ulaştırılmış ise aşağıda ki değerleri içeren bir yanıt dönecektir.

ADI AÇIKLAMASI INT_TXN_ID Sunucuda işlemin gerçekleştirildiği transaction IDsi. Bu ID istemci tarafında kaydedilerek oluşabilecek hatalarda referans olarak Park’a verilmelidir. RETURN CODE RETURN CODE

Örnek Cevap:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body < SendInvoiceRequest xmlns="http://schemas.i2i.com/ei/wsdl"> <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>1971827</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </ SendInvoiceRequest > </SOAP-ENV:Body> </SOAP-ENV:Envelope>^ ^

SendInvoice()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string alias GIB’de tanımlı urn

string vkn Vergi Kimlik Numarası veya TC

Dönüş Değeri:

Sayfa 13 / 86

TÜR AÇIKLAMA

int Return Code 0 ise işlem başarılı

long Gönderilen request transcation kaydının id’si

Örnek Kod:

public void SendInvoice(INVOICE inv) { SendInvoiceRequestRECEIVER alici = new SendInvoiceRequestRECEIVER(); alici.vkn = "7210452742"; alici.alias = "urn:mail:[email protected]";

SendInvoiceRequestSENDER gonderici = new SendInvoiceRequestSENDER(); gonderici.vkn = "7210452742"; gonderici.alias = "urn:mail:[email protected]";

SendInvoiceRequest SReq = new SendInvoiceRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, COMPRESSED = "N", }, SENDER = gonderici, RECEIVER = alici, INVOICE = new INVOICE[] { inv } }; SendInvoiceResponse SRes = client.SendInvoice(SReq);

if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız");

}

10. E-FATURA NESNESI GÖNDER-SENDPARKINVOICEOBJECT

EFatura Entegrasyon Platformu üzerinden fatura / e-arşiv fatura oluşturularak taslak olarak kaydedilir veya

doğrudan müşteriye gönderilir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise return code 0 döner.

İstek Parametreleri:

ADI AÇIKLAMASI CustomerRef Müşterinin veritabanındaki ID’si PricingExchangeRate Döviz Kuru Oranı InvoiceDBRef Faturanın veritabanındaki ID’si IsEArchive E-Arşiv Fatura ise true, değilse false SendToCustomer Oluşturulan bu fatura taslak olarak kaydedilcekse “false”, direkt alıcıya gönderilecekse “true” girilir. TypeCode Fatura Tipi

Sayfa 14 / 86

ProfileId Fatura ait profile bu alan e-arşiv de EARSIVFATURA’dır

ID Fatura No

IssueDate Fatura tarihi

IssueTime Fatura saati

CurrencyCode Para birimi kodu

AllowanceChargeIndicator Iskonto ise “false”, artırım ise “true” girilir.

AllowanceChargeAmount Iskonto tutarı

LineExtensionAmount Mal/hizmet miktarı ile Mal/hizmet birim fiyatının çarpımı ile bulunan tutardır

(varsa iskonto düşülür).

AllowanceTotalAmount Toplam ıskonto tutarı girilir.

ChargeAmount Fiyat artırımı tutarı girilir.

TaxExclusiveAmount Vergiler hariç, ıskonto veya artırım dahil toplam tutar girilir.(Vergi Matrahı).

TaxInclusiveAmount Vergiler, ıskonto ve artırım dahil toplam tutar girilir.

PayableAmount Ödenecek tutar girilir.

CustomerParty Alıcı tarafın bilgilerini tutan elemandır.

SupplierParty Satıcı bilgilerini tutan elemandır.

TaxOrIdNo Vergi Kimlik Numarası

PartyName Taraf eğer kurum ise kurum ismi bu elemana metin olarak girilir.

TaxSchemeName Tarafın vergi kimlik numarası girilmişse bu alana vergi dairesi adı girilir.

WebSiteURI Tarafın web sayfası adresi metin olarak girilir.

Telephone Telefon numarası metin olarak girilecektir.

Telefax Fax numarası metin olarak girilecektir.

ElectronicMail Elektronik posta adresi metin olarak girilecektir.

Country Ülke adı metin olarak girilecek.

CityName Şehir adı metin olarak girilecek.

CitySubDivisionName İlçe/Semt adı bilgileri girilecek.

PostalZone Posta kodu bilgisi girilecek.

ID Vergi kimlik numarası girilecek.

StreetName Meydan/bulvar/cadde/sokak/küme evler/site adı bilgileri girilecektir.

BuildingNumber Bina veya bloğa ait dış kapı numarası girilecektir.

FirstName Şahsın ilk adı girilecek.

FamilyName Şahsın soyadı girilecek.

InvoiceTax Fatura vergileri ile ilgili bilgileri tutan elemandır.

CalculationSequenceNumeric Vergi hesaplamasında belli bir sıra izlenmesi veya birden fazla vergi

hesaplaması yapılması halinde ilgili sıra numarası girilecektir.

InvoiceTypeCode Vergi Tipi Kodu girilecektir. Her türlü mal ve hizmet satışı ile ilgili düzenlenen

faturalar için “SATIS” değerini; bir malın iadesi amacıyla alıcı tarafından düzenlenen faturalar için “IADE” değerini; tevkifat içeren faturalar için “TEVKIFAT” değerini; vergi istisnası içeren faturalar için “ISTISNA” değerini, SGK faturaları için “SGK” değerini ve özel matrah faturaları için “OZELMATRAH” değerini; ihraç kayıtlı satışlar ile DİİB ve geçici kabul rejimi kapsamındaki satışlar için düzenlenen faturalarda “IHRACKAYITLI” değerini alacaktır.

Name Verginin adı girilecek.

TaxableAmount Verginin üzerinden hesaplandığı tutar (matrah) bilgisi girilecektir.

TaxPercent Vergi yüzdesi girilecek.

TaxAmount Hesaplanan Vergi Tutarıdır.

SubTaxAmount Vergi tutarı (Tevkifatlı faturalarda TaxTotal ile TaxSubtotal içerisindeki

TaxAmount alanlarına farklı tutarlar gelebildiği için ayrıldı)

InvoiceLine Belgede geçen mal/hizmete ilişkin bilgilerin girildiği elemandır.

InvLineDBRef Fatura satırının veritabanındaki ID’si

ID Kalem sıra numarası girilir.

SellersItemID Satıcının mal/hizmete verdiği tanımlama bilgisi girilir

BuyersItemID Alıcının mal/hizmete verdiği tanımlama bilgisi girilir.

Sayfa 15 / 86

ManufacturersItemID Üreticinin mal/hizmete verdiği tanımlama bilgisi girilir. ItemName Mal/hizmet adı serbest metin olarak girilir. BrandName Mal/hizmet marka adı serbest metin olarak girilir. ModelName Mal/hizmet model adı serbest metin olarak girilir. ItemDescription Mal/hizmet açıklaması metin olarak girilir. InvoicedQuantity Mal/hizmet miktarı birimi ile birlikte girilir. UnitCode Ölçü birim kodu. PriceAmount Mal/hizmetin birim fiyatı nümerik olarak girilir. LineExtensionAmount Mal/hizmet miktarı ile Mal/hizmet birim fiyatının çarpımı ile bulunan tutardır Currency Para birimi kodu. ChargeIndicator Iskonto ise “false”, artırım ise “true” girilir. AllowanceBaseAmount İskonto veya artırımın uygulandığı tutar MultiplierFactorNumeric Iskonto veya artırım oranı numerik olarak girilir. AllowanceAmount Iskonto/ Artırım Tutarı. LineTaxes Satır Vergileri AdditionalDocumentReference E-Arşiv Faturaya eklenmesi gereken, XSLT dosyası için ve gönderim tipi için gerekli alanlar.EArşiv Faturada XSLT ve Gönderim tipi için AdditionalDocumentReference alanı çoklanmalıdır. ID XSLT için bu alana fatura UUID, Gönderim tipi için herhangi bir şey yazmak yeterlidir. IssueDate Fatura Tarihi DocumentType XSLT için bu alana XSLT yazılacaktır. Gönderim Tipi için bu alana KAGIT veya ELEKTRONIK yazılacaktır. DocumentTypeCode Bu alana Gönderim Tipi için SendingType yazılacaktır. XSLT’de bu alan olmayacaktır. Attachment XSLT için xslt dosyasının bilgilerini içeren kısımdır. Gönderim tipi için bu alan olmayacaktır. EmbeddedDocumentBinaryObject XSLT dosyasının bilgilerini içeren kısım mimeCode Bu alana application/xml yazılacaktır fileName Xslt dosyasının dosya adı. encodingCode Base64 yazılmalıdır characterSetCode UTF-8 yazılmalıdır Value XSLT dosyasının Base64Binary tipinde standart zip yöntemi ile sıkıştırılmış/sıkıştırılmamış içeriği.

Cevap Parametreleri:

ADI AÇIKLAMASI RETURN_CODE Başarılı ise 0 döner

INTL_TXN_ID İşlemin internal transaction ID’sidir.

10.1. E-FATURA NESNESI GÖNDERME

Örnek İstek :

Sayfa 16 / 86

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/">

soapenv:Header/

soapenv:Body

par:SendPARKInvoiceObject

par:invoiceObj

par:CustomerRef0</par:CustomerRef>

par:PricingExchangeRate0</par:PricingExchangeRate>

par:InvoiceDBRef0</par:InvoiceDBRef>

par:IsEArchivefalse</par:IsEArchive>

par:SendToCustomertrue</par:SendToCustomer>

par:TypeCodeSATIS</par:TypeCode>

par:ProfileIdTEMELFATURA</par:ProfileId>

par:IDTST2018000000066</par:ID>

par:CopyIndicatorfalse</par:CopyIndicator>

par:IssueDate2018- 04 - 18</par:IssueDate>

par:IssueTime15:00:00</par:IssueTime>

par:CurrencyCodeTRY</par:CurrencyCode>

par:AllowanceChargeIndicatorfalse</par:AllowanceChargeIndicator>

par:AllowanceChargeAmount0.00</par:AllowanceChargeAmount>

par:LineExtensionAmount10.00</par:LineExtensionAmount>

par:AllowanceTotalAmount0.00</par:AllowanceTotalAmount>

par:ChargeAmount0</par:ChargeAmount>

par:TaxExclusiveAmount10.00</par:TaxExclusiveAmount>

par:TaxInclusiveAmount10.10</par:TaxInclusiveAmount>

par:PayableAmount10.10</par:PayableAmount>

par:CustomerParty

par:TaxOrIdNo7210452742</par:TaxOrIdNo>

par:GibAliasurn:mail:[email protected]</par:GibAlias>

par:PartyNamePARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI A.S.</par:PartyName>

par:TaxSchemeNameGaziosmanpasa</par:TaxSchemeName>

par:WebSiteURIhttp://parkentegrasyon.com.tr/</par:WebSiteURI>

par:Telephone02123223777</par:Telephone>

par:Telefax02123226777</par:Telefax>

par:ElectronicMail[email protected]</par:ElectronicMail>

par:CountryTürkiye</par:Country>

par:CityNameIstanbul</par:CityName>

par:CitySubDivisionNameEyüp</par:CitySubDivisionName>

par:PostalZone34077</par:PostalZone>

par:ID7210452742</par:ID>

par:StreetNameGöktürk Merkez Mah. Menekşe Sok.</par:StreetName>

par:BuildingNumber18</par:BuildingNumber>

par:FirstNameBüşra</par:FirstName>

par:FamilyNameKaya</par:FamilyName>

</par:CustomerParty>

par:SupplierParty

par:TaxOrIdNo7210452742</par:TaxOrIdNo>

par:GibAliasurn:mail:[email protected]</par:GibAlias>

par:PartyNamePARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI A.S.</par:PartyName>

par:TaxSchemeNameGaziosmanpasa</par:TaxSchemeName>

Sayfa 17 / 86

par:WebSiteURIhttp://parkentegrasyon.com.tr/</par:WebSiteURI>

par:Telephone02123223777</par:Telephone>

par:Telefax02123226777</par:Telefax>

par:ElectronicMail[email protected]</par:ElectronicMail>

par:CountryTürkiye</par:Country>

par:CityNameIstanbul</par:CityName>

par:CitySubDivisionNameEyüp</par:CitySubDivisionName>

par:PostalZone34077</par:PostalZone>

par:ID7210452742</par:ID>

par:StreetNameGöktürk Merkez Mah. Menekşe Sok.</par:StreetName>

par:BuildingNumber18</par:BuildingNumber>

par:FirstNameBüşra</par:FirstName>

par:FamilyNameKaya</par:FamilyName>

</par:SupplierParty>

par:InvoiceTaxes

par:InvoiceTax

par:CalculationSequenceNumeric0</par:CalculationSequenceNumeric>

par:TaxTypeCode0015</par:TaxTypeCode>

par:NameKDV</par:Name>

par:TaxableAmount10.00</par:TaxableAmount>

par:TaxPercent1</par:TaxPercent>

par:TaxAmount0.10</par:TaxAmount>

par:SubTaxAmount0.10</par:SubTaxAmount>

par:TaxExemptionReasonCode/

</par:InvoiceTax>

</par:InvoiceTaxes>

par:InvoiceLines

par:InvoiceLine

par:InvLineDBRef0</par:InvLineDBRef>

par:ID1</par:ID>

par:SellersItemID000278</par:SellersItemID>

par:BuyersItemIDABC00001</par:BuyersItemID>

par:ManufacturersItemIDDEF00123</par:ManufacturersItemID>

par:ItemName12 VOLT 105 AMPER MUTLU AKÜ</par:ItemName>

par:BrandNameMutlu</par:BrandName>

par:ModelName105</par:ModelName>

par:ItemDescriptionLorem ipsum dolor sit amet</par:ItemDescription>

par:InvoicedQuantity1</par:InvoicedQuantity>

par:UnitCodeC62</par:UnitCode>

par:PriceAmount25</par:PriceAmount>

par:LineExtensionAmount10</par:LineExtensionAmount>

par:CurrencyTRY</par:Currency>

par:ChargeIndicator0</par:ChargeIndicator>

par:AllowanceChargeReason/

par:AllowanceBaseAmount10.00</par:AllowanceBaseAmount>

par:MultiplierFactorNumeric1</par:MultiplierFactorNumeric>

par:AllowanceAmount10.00</par:AllowanceAmount>

par:Notes

par:stringLorem ipsum</par:string>

</par:Notes>

par:LineTaxes

Sayfa 18 / 86

par:InvoiceTax

par:CalculationSequenceNumeric0</par:CalculationSequenceNumeric>

par:TaxTypeCode0015</par:TaxTypeCode>

par:NameKDV</par:Name>

par:TaxableAmount10.00</par:TaxableAmount>

par:TaxPercent1</par:TaxPercent>

par:TaxAmount0.10</par:TaxAmount>

par:SubTaxAmount0.10</par:SubTaxAmount>

par:TaxExemptionReasonCode/

</par:InvoiceTax>

</par:LineTaxes>

</par:InvoiceLine>

</par:InvoiceLines>

par:Notes

par:stringLorem ipsum dolor</par:string>

</par:Notes>

par:AdditionalDocumentReferences

par:AdditionalDocumentReference

par:ID93232ee4-19h0-40b6- 9585 - 88653t9ede93</par:ID>

par:IssueDate2018- 04 - 04</par:IssueDate>

par:DocumentTypeXSLT</par:DocumentType>

par:Attachment

par:EmbeddedDocumentBinaryObject

par:mimeCodeapplication/xml</par:mimeCode>

par:fileNamegeneral.xslt</par:fileName>

par:encodingCodeBase64</par:encodingCode>

par:characterSetCodeUTF-8</par:characterSetCode>

par:ValuePD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGl</par:Value>

</par:EmbeddedDocumentBinaryObject>

</par:Attachment>

</par:AdditionalDocumentReference>

</par:AdditionalDocumentReferences>

</par:invoiceObj>

par:sessionIdd7315a7d-f02d-45b4- 8611 - 08247713b2d0</par:sessionId>

</par:SendPARKInvoiceObject>

</soapenv:Body>

</soapenv:Envelope>

Örnek Cevap:

Sayfa 19 / 86

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

soap:Body

<INTL_TXN_ID xmlns="">169915785</INTL_TXN_ID>

<RETURN_CODE xmlns="">0</RETURN_CODE>

</soap:Body>

</soap:Envelope>

SendParkInvoiceObject()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

public void SendParkInvoiceObject() { var parkObj = new PARKInvoiceType { // Taslaklara göndermek için: false, direkt alıcıya göndermek için: true SendToCustomer = false, // e-Arşiv fatura için: true, e-Fatura için: false IsEArchive = false, // Fatura No ID = "PRK2017000003028", // Fatura unique id, ETTN UUID = Guid.NewGuid().ToString(), // Fatura tipi. // UBL-TR Kod Listeleri v1.16, Madde: 2. TypeCode = "SATIS", // Fatura senaryosu // UBL-TR Kod Listeleri v1.16, Madde: 3. ProfileId = "TICARIFATURA", // Fatura tarihi IssueDate = DateTime.Today, // Fatura saati. Yalnızca e-Arşiv faturalarda zorunludur. IssueTime = DateTime.Now, // Para birimi kodu // UBL-TR Kod Listeleri v1.16, Madde: 2. CurrencyCode = "TRY", // Arttırım için: true, indirim için: false AllowanceChargeIndicator = false, // Arttırım/İndirim tutarı AllowanceChargeAmount = 0, // Toplam tutar

Sayfa 20 / 86

LineExtensionAmount = 10, // Dip indirim tutarı AllowanceTotalAmount = 0, // Dip arttırım tutarı ChargeAmount = 0, // Vergiler hariç tutar TaxExclusiveAmount = 10, // Vergiler dahil tutar TaxInclusiveAmount = 10.10m, // Ödenecek tutar PayableAmount = 10.10m, // Alıcı bilgileri SupplierParty = new PartyDetails { // TCKN/VKN TaxOrIdNo = "7210452742", //Faturayı gönderecek gönderici birimin GIB’de tanımlı urn’si GibAlias= "urn:mail:[email protected]" // Firma adı PartyName = "PARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI A.S.", // Vergi dairesi TaxSchemeName = "Gaziosmanpasa", // Web adresi WebSiteURI = "http://parkentegrasyon.com.tr/", // Telefon Telephone = "02123223777", // Fax Telefax = "02123226777", // E-Posta ElectronicMail = "[email protected]", // Ülke Country = "Türkiye", // Şehir CityName = "Istanbul", // İlçe CitySubDivisionName = "Eyüp", // Posta kodu PostalZone = "34077", // Adres satırı StreetName = "Göktürk Merkez Mah. Menekşe Sok.", // Bina numarası BuildingNumber = "18", // Şahıs ise adı FirstName = "Büşra", // Şahıs ise soyadı FamilyName = "Kaya", }, CustomerParty = new PartyDetails { // TCKN/VKN TaxOrIdNo = "7210452742", //Faturayı alan birimin GIB’de tanımlı urn’si GibAlias = "urn:mail:[email protected]", // Firma adı PartyName = "PARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI A.S.", // Vergi dairesi TaxSchemeName = "Gaziosmanpasa", // Web adresi WebSiteURI = "http://parkentegrasyon.com.tr/", // Telefon Telephone = "02123223777", // Fax Telefax = "02123226777", // E-Posta ElectronicMail = "[email protected]", // Ülke

Sayfa 21 / 86

Country = "Türkiye", // Şehir CityName = "Istanbul", // İlçe CitySubDivisionName = "Eyüp", // Posta kodu PostalZone = "34077", // Adres satırı StreetName = "Göktürk Merkez Mah. Menekşe Sok.", // Bina numarası BuildingNumber = "18", // Şahıs ise adı FirstName = "Büşra", // Şahıs ise soyadı FamilyName = "Kaya", }, // Fatura vergileri InvoiceTaxes = new InvoiceTax[] { new InvoiceTax { // Vergi hesaplama sırası CalculationSequenceNumeric = 0, // Vergi kodu TaxTypeCode = "0015", // Vergi adı Name = "KDV", // Vergilenen tutar TaxableAmount = 10, // Vergi oranı TaxPercent = 1, // Vergi tutarı TaxAmount = 0.10m, // Vergi tutarı // (Tevkifatlı faturalarda TaxTotal ile TaxSubtotal içerisindeki TaxAmount alanlarına farklı tutarlar gelebildiği için ayrıldı) SubTaxAmount = 0.10m, // İstisna kodu TaxExemptionReasonCode = "", } }, // Fatura satırları InvoiceLines = new InvoiceLine[] { new InvoiceLine { // Satır sıra numarası ID = 1, // Satıcı ürün kodu SellersItemID = "000278", // Alıcı ürün kodu BuyersItemID = "ABC00001", // Üretici ürün kodu ManufacturersItemID = "DEF00123", // Ürün adı ItemName = "12 VOLT 105 AMPER MUTLU AKÜ", // Ürün markası BrandName = "Mutlu", // Ürün modeli ModelName = "105", // Ürün açıklaması ItemDescription = "Lorem Ipsum, dizgi ve baskı endüstrisinde kullanılan mıgır metinlerdir.", // Faturalanan miktar InvoicedQuantity = 40, // Birim

Sayfa 22 / 86

// UBL-TR Kod Listeleri v1.16, Madde: 2.5 UnitCode = "C62", // Birim fiyatı PriceAmount = 25, // İndirim uygulanmış satır tutarı LineExtensionAmount = 10, // Para birimi kodu // UBL-TR Kod Listeleri v1.16, Madde: 2.1 Currency = "TRY", // İndirim matrahı AllowanceBaseAmount = 10, // İndirim oranı MultiplierFactorNumeric = 1, // İndirim tutarı AllowanceAmount = 10, // Satır notları Notes = new string[]{ "Yaygın inancın tersine, Lorem Ipsum rastgele sözcüklerden oluşmaz.", "Kökleri M.Ö. 45 tarihinden bu yana klasik Latin edebiyatına kadar uzanan 2000 yıllık bir geçmişi vardır. ", "Not 3" }, // Satır vergileri LineTaxes = new InvoiceTax[] { new InvoiceTax { // Vergi hesaplama sırası CalculationSequenceNumeric = 0, // Vergi kodu TaxTypeCode = "0015", // Vergi adı Name = "KDV", // Vergilenen tutar TaxableAmount = 10, // Vergi oranı TaxPercent = 1, // Vergi tutarı TaxAmount = 0.10m, // Vergi tutarı // (Tevkifatlı faturalarda TaxTotal ile TaxSubtotal içerisindeki TaxAmount alanlarına farklı tutarlar gelebildiği için ayrıldı) SubTaxAmount = 0.10m, // İstisna kodu TaxExemptionReasonCode = "", } } } }, // Fatura notları Notes = new string[] { "Yinelenen bir sayfa içeriğinin okuyucunun dikkatini dağıttığı bilinen bir gerçektir.", "Lorem Ipsum kullanmanın amacı, sürekli 'buraya metin gelecek, buraya metin gelecek' ", "yazmaya kıyasla daha dengeli bir harf dağılımı sağlayarak okunurluğu artırmasıdır." },

AdditionalDocumentReferences = new AdditionalDocumentReference[] { new AdditionalDocumentReference { IssueDate = DateTime.Now, ID=uuId,

Sayfa 23 / 86

DocumentType = "XSLT", Attachment = new InvoiceService.Attachment { EmbeddedDocumentBinaryObject = new EmbeddedDocumentBinaryObject { characterSetCode="UTF-8", encodingCode = "Base64", fileName ="general.xslt", mimeCode = "application/xml", Value=File.ReadAllBytes("general.xslt") } } } }

}; REQUEST_RETURNType res = client.SendPARKInvoiceObject(parkObj, sessionID); if (res.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

10.2. E-ARŞIV NESNESI GÖNDERME..................................................................................................................................................

Örnek İstek : <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/">

soapenv:Header/

soapenv:Body

par:SendPARKInvoiceObject

par:invoiceObj

par:CustomerRef0</par:CustomerRef>

par:PricingExchangeRate0</par:PricingExchangeRate>

par:InvoiceDBRef0</par:InvoiceDBRef>

par:IsEArchivetrue</par:IsEArchive>

par:SendToCustomertrue</par:SendToCustomer>

par:UUID9933fa1a-acfd-4ef1-be43-53c434c1d4f8</par:UUID>

par:TypeCodeSATIS</par:TypeCode>

par:ProfileIdEARSIVFATURA</par:ProfileId>

par:IDATS2018000000114</par:ID>

par:CopyIndicatorfalse</par:CopyIndicator>

par:IssueDate2018- 04 - 16</par:IssueDate>

par:IssueTime15:00:00</par:IssueTime>

par:CurrencyCodeTRY</par:CurrencyCode>

par:AllowanceChargeIndicatorfalse</par:AllowanceChargeIndicator>

par:AllowanceChargeAmount0.00</par:AllowanceChargeAmount>

par:LineExtensionAmount10.00</par:LineExtensionAmount>

Sayfa 24 / 86

par:AllowanceTotalAmount0.00</par:AllowanceTotalAmount>

par:ChargeAmount0</par:ChargeAmount>

par:TaxExclusiveAmount10.00</par:TaxExclusiveAmount>

par:TaxInclusiveAmount10.10</par:TaxInclusiveAmount>

par:PayableAmount10.10</par:PayableAmount>

par:CustomerParty

par:TaxOrIdNo12345678910</par:TaxOrIdNo>

par:PartyNameBüşra Kaya</par:PartyName>

par:TaxSchemeNameKüçükçekmece</par:TaxSchemeName>

par:WebSiteURI</par:WebSiteURI>

par:Telephone02123223777</par:Telephone>

par:Telefax02123226777</par:Telefax>

par:ElectronicMail[email protected]</par:ElectronicMail>

par:CountryTürkiye</par:Country>

par:CityNameIstanbul</par:CityName>

par:CitySubDivisionNameKüçükçekmece</par:CitySubDivisionName>

par:PostalZone34290</par:PostalZone>

par:ID12345678910</par:ID>

par:StreetName</par:StreetName>

par:BuildingNumber</par:BuildingNumber>

par:FirstNameBüşra</par:FirstName>

par:FamilyNameKaya</par:FamilyName>

</par:CustomerParty>

par:SupplierParty

par:TaxOrIdNo7210452742</par:TaxOrIdNo>

par:PartyNamePARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI A.S.</par:PartyName>

par:TaxSchemeNameGaziosmanpasa</par:TaxSchemeName>

par:WebSiteURIhttp://parkentegrasyon.com.tr/</par:WebSiteURI>

par:Telephone02123223777</par:Telephone>

par:Telefax02123226777</par:Telefax>

par:ElectronicMail[email protected]</par:ElectronicMail>

par:CountryTürkiye</par:Country>

par:CityNameIstanbul</par:CityName>

par:CitySubDivisionNameEyüp</par:CitySubDivisionName>

par:PostalZone34077</par:PostalZone>

par:ID7210452742</par:ID>

par:StreetNameGöktürk Merkez Mah. Menekşe Sok.</par:StreetName>

par:BuildingNumber18</par:BuildingNumber>

par:FirstNameBüşra</par:FirstName>

par:FamilyNameKaya</par:FamilyName>

</par:SupplierParty>

Sayfa 25 / 86

par:InvoiceTaxes

par:InvoiceTax

par:CalculationSequenceNumeric0</par:CalculationSequenceNumeric>

par:TaxTypeCode0015</par:TaxTypeCode>

par:NameKDV</par:Name>

par:TaxableAmount10.00</par:TaxableAmount>

par:TaxPercent1</par:TaxPercent>

par:TaxAmount0.10</par:TaxAmount>

par:SubTaxAmount0.10</par:SubTaxAmount>

par:TaxExemptionReasonCode</par:TaxExemptionReasonCode>

</par:InvoiceTax>

</par:InvoiceTaxes>

par:InvoiceLines

par:InvoiceLine

par:InvLineDBRef0</par:InvLineDBRef>

par:ID1</par:ID>

par:SellersItemID000278</par:SellersItemID>

par:BuyersItemIDABC00001</par:BuyersItemID>

par:ManufacturersItemIDDEF00123</par:ManufacturersItemID>

par:ItemName12 VOLT 105 AMPER MUTLU AKÜ</par:ItemName>

par:BrandNameMutlu</par:BrandName>

par:ModelName105</par:ModelName>

par:ItemDescriptionLorem ipsum dolor sit amet</par:ItemDescription>

par:InvoicedQuantity1</par:InvoicedQuantity>

par:UnitCodeTRY</par:UnitCode>

par:PriceAmount25</par:PriceAmount>

par:LineExtensionAmount10</par:LineExtensionAmount>

par:CurrencyTRY</par:Currency>

par:ChargeIndicator0</par:ChargeIndicator>

par:AllowanceChargeReason</par:AllowanceChargeReason>

par:AllowanceBaseAmount10.00</par:AllowanceBaseAmount>

par:MultiplierFactorNumeric1</par:MultiplierFactorNumeric>

par:AllowanceAmount10.00</par:AllowanceAmount>

par:Notes

par:stringLorem ipsum</par:string>

</par:Notes>

par:LineTaxes

par:InvoiceTax

par:CalculationSequenceNumeric0</par:CalculationSequenceNumeric>

par:TaxTypeCode0015</par:TaxTypeCode>

par:NameKDV</par:Name>

Sayfa 26 / 86

par:TaxableAmount10.00</par:TaxableAmount>

par:TaxPercent1</par:TaxPercent>

par:TaxAmount0.10</par:TaxAmount>

par:SubTaxAmount0.10</par:SubTaxAmount>

par:TaxExemptionReasonCode</par:TaxExemptionReasonCode>

</par:InvoiceTax>

</par:LineTaxes>

</par:InvoiceLine>

</par:InvoiceLines>

par:Notes

par:stringLorem ipsum</par:string>

</par:Notes>

par:AdditionalDocumentReferences

par:AdditionalDocumentReference

par:ID1</par:ID>

par:IssueDate2018- 04 - 16</par:IssueDate>

par:DocumentTypeCodeSendingType</par:DocumentTypeCode>

par:DocumentTypeKAGIT</par:DocumentType>

</par:AdditionalDocumentReference>

par:AdditionalDocumentReference

par:ID9933fa1a-acfd-4ef1-be43-53c434c1d4f8</par:ID>

par:IssueDate2018- 04 - 16</par:IssueDate>

par:DocumentTypeXSLT</par:DocumentType>

par:Attachment

par:EmbeddedDocumentBinaryObject

par:mimeCodeapplication/xml</par:mimeCode>

par:fileNamegeneral.xslt</par:fileName>

par:encodingCodeBase64</par:encodingCode>

par:characterSetCodeUTF-8</par:characterSetCode>

par:ValuePD94bWwgdmVyc2lvbj0iMS4</par:Value>

</par:EmbeddedDocumentBinaryObject>

</par:Attachment>

</par:AdditionalDocumentReference>

</par:AdditionalDocumentReferences>

</par:invoiceObj>

par:sessionIdd7315a7d-f02d-45b4- 8611 - 08247713b2d0</par:sessionId>

</par:SendPARKInvoiceObject>

</soapenv:Body>

</soapenv:Envelope>

Örnek Cevap:

Sayfa 27 / 86

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

soap:Body

<INTL_TXN_ID xmlns="">170404184</INTL_TXN_ID>

<RETURN_CODE xmlns="">0</RETURN_CODE>

</soap:Body>

</soap:Envelope>

SendParkInvoiceObject()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

public void SendParkInvoiceObject(string xsltFilePath) { string uuid = Guid.NewGuid().ToString(); string id = "PRK2017000003028”;

var parkObj = new PARKInvoiceType { // Taslaklara göndermek için: false, direkt alıcıya göndermek için: true SendToCustomer = true, // e-Arşiv fatura için: true, e-Arşiv için: true IsEArchive = true, // Fatura No ID = id, // Fatura unique id, ETTN UUID = uuid, // Fatura tipi. // UBL-TR Kod Listeleri v1.16, Madde: 2.4 TypeCode = "SATIS", // Fatura senaryosu // UBL-TR Kod Listeleri v1.16, Madde: 3.2 ProfileId = "EARSIVFATURA", // Fatura tarihi IssueDate = DateTime.Today, // Fatura saati. Yalnızca e-Arşiv faturalarda zorunludur. IssueTime = DateTime.Now, // Para birimi kodu // UBL-TR Kod Listeleri v1.16, Madde: 2.1 CurrencyCode = "TRY", // Arttırım için: true, indirim için: false AllowanceChargeIndicator = false, // Arttırım/İndirim tutarı AllowanceChargeAmount = 0,

Sayfa 28 / 86

// Toplam tutar LineExtensionAmount = 10, // Dip indirim tutarı AllowanceTotalAmount = 0, // Dip arttırım tutarı ChargeAmount = 0, // Vergiler hariç tutar TaxExclusiveAmount = 10, // Vergiler dahil tutar TaxInclusiveAmount = 10.10m, // Ödenecek tutar PayableAmount = 10.10m, // Alıcı bilgileri SupplierParty = new PartyDetails { // TCKN/VKN TaxOrIdNo = "7210452742", // Firma adı PartyName = "PARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI A.S.", // Vergi dairesi TaxSchemeName = "Gaziosmanpasa", // Web adresi WebSiteURI = "http://parkentegrasyon.com.tr/", // Telefon Telephone = "02123223777", // Fax Telefax = "02123226777", // E-Posta ElectronicMail = "[email protected]", // Ülke Country = "Türkiye", // Şehir CityName = "Istanbul", // İlçe CitySubDivisionName = "Eyüp", // Posta kodu PostalZone = "34077", // Adres satırı StreetName = "Göktürk Merkez Mah. Menekşe Sok.", // Bina numarası BuildingNumber = "18", // Şahıs ise adı FirstName = "Büşra", // Şahıs ise soyadı FamilyName = "Kaya", }, CustomerParty = new PartyDetails { // TCKN/VKN TaxOrIdNo = "7210452742", // Firma adı PartyName = "PARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI A.S.", // Vergi dairesi TaxSchemeName = "Gaziosmanpasa", // Web adresi WebSiteURI = "http://parkentegrasyon.com.tr/", // Telefon Telephone = "02123223777", // Fax Telefax = "02123226777", // E-Posta ElectronicMail = "[email protected]", // Ülke Country = "Türkiye", // Şehir CityName = "Istanbul",

Sayfa 29 / 86

// İlçe CitySubDivisionName = "Eyüp", // Posta kodu PostalZone = "34077", // Adres satırı StreetName = "Göktürk Merkez Mah. Menekşe Sok.", // Bina numarası BuildingNumber = "18", // Şahıs ise adı FirstName = "Büşra", // Şahıs ise soyadı FamilyName = "Kaya", }, // Fatura vergileri InvoiceTaxes = new InvoiceTax[] { new InvoiceTax { // Vergi hesaplama sırası CalculationSequenceNumeric = 0, // Vergi kodu TaxTypeCode = "0015", // Vergi adı Name = "KDV", // Vergilenen tutar TaxableAmount = 10, // Vergi oranı TaxPercent = 1, // Vergi tutarı TaxAmount = 0.10m, // Vergi tutarı // (Tevkifatlı faturalarda TaxTotal ile TaxSubtotal içerisindeki TaxAmount alanlarına farklı tutarlar gelebildiği için ayrıldı) SubTaxAmount = 0.10m, // İstisna kodu TaxExemptionReasonCode = "", } }, // Fatura satırları InvoiceLines = new InvoiceLine[] { new InvoiceLine { // Satır sıra numarası ID = 1, // Satıcı ürün kodu SellersItemID = "000278", // Alıcı ürün kodu BuyersItemID = "ABC00001", // Üretici ürün kodu ManufacturersItemID = "DEF00123", // Ürün adı ItemName = "12 VOLT 105 AMPER MUTLU AKÜ", // Ürün markası BrandName = "Mutlu", // Ürün modeli ModelName = "105", // Ürün açıklaması ItemDescription = "Lorem Ipsum, dizgi ve baskı endüstrisinde kullanılan mıgır metinlerdir.", // Faturalanan miktar InvoicedQuantity = 40, // Birim // UBL-TR Kod Listeleri v1.16, Madde: 2.5 UnitCode = "C62", // Birim fiyatı

Sayfa 30 / 86

PriceAmount = 25, // İndirim uygulanmış satır tutarı LineExtensionAmount = 10, // Para birimi kodu // UBL-TR Kod Listeleri v1.16, Madde: 2.1 Currency = "TRY", // İndirim matrahı AllowanceBaseAmount = 10, // İndirim oranı MultiplierFactorNumeric = 1, // İndirim tutarı AllowanceAmount = 10, // Satır notları Notes = new string[]{ "Yaygın inancın tersine, Lorem Ipsum rastgele sözcüklerden oluşmaz.", "Kökleri M.Ö. 45 tarihinden bu yana klasik Latin edebiyatına kadar uzanan 2000 yıllık bir geçmişi vardır. ", "Not 3" }, // Satır vergileri LineTaxes = new InvoiceTax[] { new InvoiceTax { // Vergi hesaplama sırası CalculationSequenceNumeric = 0, // Vergi kodu TaxTypeCode = "0015", // Vergi adı Name = "KDV", // Vergilenen tutar TaxableAmount = 10, // Vergi oranı TaxPercent = 1, // Vergi tutarı TaxAmount = 0.10m, // Vergi tutarı // (Tevkifatlı faturalarda TaxTotal ile TaxSubtotal içerisindeki TaxAmount alanlarına farklı tutarlar gelebildiği için ayrıldı) SubTaxAmount = 0.10m, // İstisna kodu TaxExemptionReasonCode = "", } } } }, // Fatura notları Notes = new string[] { "Yinelenen bir sayfa içeriğinin okuyucunun dikkatini dağıttığı bilinen bir gerçektir.", "Lorem Ipsum kullanmanın amacı, sürekli 'buraya metin gelecek, buraya metin gelecek' ", "yazmaya kıyasla daha dengeli bir harf dağılımı sağlayarak okunurluğu artırmasıdır." }, AdditionalDocumentReferences = new AdditionalDocumentReference[] {

new AdditionalDocumentReference

{

ID = uuId,

IssueDate = DateTime.Now, DocumentType = "XSLT",

Attachment = new InvoiceService.Attachment

{

Sayfa 31 / 86

EmbeddedDocumentBinaryObject = new EmbeddedDocumentBinaryObject {

characterSetCode="UTF-8",

encodingCode = "Base64",

fileName =$"{id}.xslt",

mimeCode = "application/xml", Value=File.ReadAllBytes(xsltFilePath)

}

}

},

new AdditionalDocumentReference {

ID = "1",

IssueDate = DateTime.Now,

DocumentType ="ELEKTRONIK",

DocumentTypeCode = "SendingType" }

}

};

REQUEST_RETURNType res = client.SendPARKInvoiceObject(parkObj, sessionID); if (res.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

11. TASLAK FATURA YÜKLEME - LOADINVOICE

PARK EFATURA Entegrasyon Platformu üzerinden 1 yada daha fazla faturayı taslak olarak kaydeder.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise return_code 0 döner.

İstek Parametreleri

ADI AÇIKLAMASI INVOICE Fatura ID Faturanın üzerinde yazılı fatura numarası UUID Faturanın unique(özgün) id si HEADER Fatura özet bilgileri SENDER Faturayı gönderecek birimin GIB’de tanımlı VKN/TCKN si FROM Faturayı gönderecek birimin GIB’de tanımlı urn’si RECEIVER Faturayı alacak birimin GIB de tanımlı VKN/TCKN si TO Faturayı alacak birimin GIB de tanımlı posta kutusu urn’si CONTENT XML faturanın Base64Binary tipinde standart zip yöntemi ile sıkıştırılmış/sıkıştırılmamış içeriği. REQUEST_HEADER :COMPRESSED

Binary Fatura içeriği sıkıştırılmış/sıkıştırılmamış bilgisi. Sıkıştırılmış ise Y olmalıdır.

Örnek İstek :

Sayfa 32 / 86

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body par:LoadInvoice

par:LoadInvoiceRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2-44624f123e0f</SESSION_ID> N </REQUEST_HEADER> ZW1lPjxjYWM6VGF4U2NoZW1lPjxjYmM6TmFtZT5HYXppb3NtYW5w </par:LoadInvoiceRequest> </par:LoadInvoice> </soapenv:Body> </soapenv:Envelope>^ ^

Beklenen Cevap

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>169997478</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </soap:Body> </soap:Envelope>^ ^

LoadInvoice()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise işlem başarılı

long Gönderilen request transcation kaydının id’si

Örnek Kod:

public void LoadInvoice(INVOICE inv)

{

LoadInvoiceRequest LReq = new LoadInvoiceRequest() {

Sayfa 33 / 86

INVOICE = new INVOICE[] { inv }, REQUEST_HEADER = new REQUEST_HEADERType() { SESSION_ID = sessionID, COMPRESSED = "N", } }; LoadInvoiceResponse LRes = client.LoadInvoice(LReq); if (LRes.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

12. E-FATURA OKU - GETINVOICE

GIB (Gelir İdaresi Başkanlığı) EFATURA sisteminden gelen/giden faturalari EFATURA Entegrasyon Platformu üzerinden

getirir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise fatura ait detay ve zip içerisinde xml content’i döner.

İstek Parametreleri

ADI AÇIKLAMASI LIMIT Kaç fatura okunmak istendiği FROM Faturayı göndereren gönderici birimin GIB’de tanımlı urn si TO Faturayı alan birimin GIB de tanımlı urn’si ID Faturanın üzerinde yazılı fatura numarası UUID Faturanın unique(özgün) id si START_DATE Getirilmek istenen faturaların geliş tarihi END_DATE Getirilmek istenen faturaların son tarihi READ_INCLUDED Okunmuş olarak işaretlenen faturaları da getirsin mi bilgisi

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetInvoice

par:GetInvoiceRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2-44624f123e0f</SESSION_ID> N </REQUEST_HEADER>

<INVOICE_SEARCH_KEY> PRK2017000003026

F437195F- 3847 - 48AF- 9033 - 1FD8A6E1AC4E <READ_INCLUDED>false</READ_INCLUDED>

IN </INVOICE_SEARCH_KEY>

<HEADER_ONLY>N</HEADER_ONLY> </par:GetInvoiceRequest> </par:GetInvoice> </soapenv:Body>

Sayfa 34 / 86

</soapenv:Envelope>

^

Cevap Parametreleri

ADI AÇIKLAMASI INVOICE_ID Faturanın üzerinde yazılı fatura numarası INVOICE_UUID Faturanın unique(özgün) id si SENDER Faturayı göndereren birimin VKN’si RECEIVER Faturayı alan birimin VKN’si CUSTOMER Faturayı alan firma adı ISSUE_DATE Fatura tarihi PAYABLE_AMOUT Fatura toplam ödenecek tutar FROM Faturayı göndereren birimin GIB’de tanımlı etiketi (urn) TO Faturayı alan birimin GIB’de tanımlı etiketi (urn) INVOICE_CONTENT XML faturanın Base64Binary tipinde standart zip yöntemi ile sıkıştırılmış/sıkıştırılmamış içeriği. Metod çağrılırken COMPRESSED bilgisi Y ise veya COMPRESSED alanı gönderilmemişse içerik sıkıştırılmıştır. INVOICE_ID Faturanın üzerinde yazılı fatura numarası

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body

7210452742 7210452742 PARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI ANONIM SIRKETI PARK ENTEGRASYON E DÖNÜŞÜM VE BİLİŞİM HİZMETLERİ A.Ş. 2017- 12 - 29 10.18 urn:mail:[email protected] urn:mail:[email protected] TICARIFATURA TEVKIFAT REJECT - FAILED FAILED 1300 BASARIYLA TAMAMLANDI REJECT Fatura red edildi. 2017- 12 - 29T15:18:49+03:00 021c5350-925a-41e3-ba3d- 2581b16cdbab +CiAgICA8L2NhYzpQcmljZT4KICA8L2NhYzpJbnZvaWNlTGluZT4KPC9JbnZvaWNlPg==

Sayfa 35 / 86

GetInvoice()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string ID Fatura no

string UUID Faturanın özgün ID

string TO GIB’de tanımlı urn (Alıcı Firmanın)

Dönüş Değeri:

TÜR AÇIKLAMA

INVOICE[] Verilen ID ve UUID ye ait fatura detayları döner.

Örnek Kod:

public INVOICE[] GetInvoice(string ID, string UUID) {

GetInvoiceRequest req = new GetInvoiceRequest();

req.REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }; req.INVOICE_SEARCH_KEY = new GetInvoiceRequestINVOICE_SEARCH_KEY { READ_INCLUDED = false, DIRECTION = "IN",

ID = ID, UUID = UUID,

};

req.HEADER_ONLY = "N"; var resgelen = client.GetInvoice(req); return resgelen; }

13. E-FATURA DURUM SORGULAMA - GETINVOICESTATUS

EFATURA Entegrasyon Platformu üzerinden faturaların durumunu sorgulamayı sağlar.

❖ Aşağıdaki Request Parametreleri ile istek PARKe gönderilir. ❖ Park platfromunda dönen cevap başarılı ise fatura ait detay durum detay döner.

ADI AÇIKLAMASI UUID Faturaya ait UUID ID Faturaya ait ID

Sayfa 36 / 86

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body par:GetInvoiceStatus

par:GetInvoiceStatusRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID> N </REQUEST_HEADER>

</par:GetInvoiceStatusRequest> </par:GetInvoiceStatus> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI STATUS Faturanın gelir idaresindeki durumu STATUS_DESCRIPTION Faturanın gelir idaresinde durumunun açıklaması. GIB_STATUS_CODE Faturanın gelir idaresinde durumunun GIB_STATUS_DESCRIPTION Faturanın gelir idaresinde durumunun açıklaması. CDATE Faturanın oluşturma zamanı ENVELOPE_IDENTIFIER Faturayı gelir idaresine gönderilirken kullanılan zarf id’si

Örnek Cevap: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body <INVOICE_STATUS ID="PRI2017000000002" UUID="3A90AB05-F963-490C- B3BF-0E7C0B999B2E" xmlns=""> SEND - WAIT_SYSTEM_RESPONSE <STATUS_DESCRIPTION>WAIT_SYSTEM_RESPONSE</STATUS_DESCRIPTION> <GIB_STATUS_CODE>1220</GIB_STATUS_CODE> <GIB_STATUS_DESCRIPTION>HEDEFTEN SISTEM YANITI GELMEDI</GIB_STATUS_DESCRIPTION> 2017- 12 - 26T11:41:48+03:00 <ENVELOPE_IDENTIFIER>5ce35dc5-faae-44d6-883b- c91509906ace</ENVELOPE_IDENTIFIER> <GTB_REFNO></GTB_REFNO> </INVOICE_STATUS> </soap:Body> </soap:Envelope>^ ^

GetInvoiceStatus()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

Sayfa 37 / 86

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

GetInvoiceStatusResponseINVOICE_STATUS Faturaya ait durum detayı

❖ GTB Ref No da bu metot yolu ile çekilir.

❖ Örnek istek ve dönen cevap aşağıdaki gibidir.

❖ Dönen cevapta Status parametresinde yer alan durum bilgileri ve açıklamaları aşağıdaki tabloda verilmiştir:

STATUS SUBSTATUS PORTAL STATUS DETAYLI AÇIKLAMA

AŞAMA DURUMU

LOAD SUCCEED

Fatura Yükleme – Başarılı

Fatura Yükleme Başarılı Nihai Aşama

LOAD FAILED

Fatura Yükleme – Başarısız Oldu

Fatura Yükleme Hatalı Nihai Aşama

PACKAGE FAILED

Fatura Paketleme - Başarısız oldu

Fatura paketleme sırasında hata oluştu. Sistem tarafından tekrar

Ara aşama

Sayfa 38 / 86

paketle işlemi yapılarak gönderilecektir.

PACKAGE SUCCEED

Fatura Paketleme - Başarıyla işlendi

Fatura paketleme başarılı

Fatura paketleme başarılı

SEND PROCESSING

Fatura Gönderimi - İşleniyor

Fatura Gönderimi Yapılıyor Ara aşama

SEND SUCCEED Fatura Gönderimi - Temel Fatura Gönderimi Başarılı Nihai Aşama

SEND FAILED

Fatura Gönderimi – Başarısız Oldu

Fatura Gönderiminde Hata Alındı Nihai Aşama

SEND WAIT_GIB_RESPONSE

Fatura Gönderimi - GIB'e Gönderildi

Fatura GIB e gönderildi ve GIB den faturanın alındığına dair sistem yanıtı bekleniyor

Ara aşama

SEND WAIT_SYSTEM_RESPONSE

Fatura Gönderimi - Sistem Yanıtı Bekleniyor

Fatura GIB tarafından alıcısına gönderildi ve alıcı taraftan faturanın alındığına dair sistem yanıtı bekleniyor

Ara aşama

SEND WAIT_APPLICATION_RESPONSE

Fatura Gönderimi - Fatura Onayı Bekleniyor

Ticari Fatura Alıcıdan Cevap Bekliyor Ara aşama

ACCEPTED SUCCEED

Giden Ticari Fatura Kabul - Başarıyla işlendi

Gönderilmiş olan ticari fatura alıcı tarafından kabul edilmiştir ve alıcının kabul yanıtı gönderen tarafa başarılı şekilde ulaşmıştır.

Nihai Aşama

REJECTED SUCCEED

Giden Ticari Fatura Red - Başarıyla işlendi

Gönderilmiş olan ticari fatura alıcı tarafından red edilmiştir ve alıcının red yanıtı gönderen tarafa başarılı şekilde ulaşmıştır.

Nihai Aşama

RECEIVE SUCCEED

Fatura Alımı - Başarıyla işlendi

Temel Fatura Alımı Başarılı Nihai Aşama

RECEIVE WAIT_APPLICATION_RESPONSE

Fatura Alımı - Fatura Onayı Bekleniyor

Ticari Faatura Alımı Başarılı Ara Aşama

ACCEPT PROCESSING

Gelen Ticari Fatura Kabul – İşleniyor

Gelen Ticari Fatura Kabul Edilmiştir ve kabul yanıtı GİB’e gönderilmek üzere işlenmektedir. Hala GİB’e gönderilmemiştir.

Ara aşama

ACCEPT WAIT_GIB_RESPONSE

Gelen Ticari Fatura Kabul – GIB'e Gönderildi

Gelen Ticari Fatura Kabul Edilmiştir ve kabul yanıtı GIB’e gönderildi. GIB den onayın alındığına dair sistem yanıtı bekleniyor.

Ara aşama

ACCEPT WAIT_SYSTEM_RESPONSE

Gelen Ticari Fatura Kabul – Sistem Yanıtı Bekleniyor

Fatura onayı GIB tarafından alıcısına gönderildi ve alıcı taraftan onayın alındığına dair sistem yanıtı bekleniyor

Ara aşama

ACCEPT FAILED

Gelen Ticari Fatura Kabul - Başarısız oldu

Onaylanan Ticari fatura cevabı gönderiminden hata oluştu. Bu fatura tekrar onaylanabilir.

Nihai Aşama

ACCEPT SUCCEED

Gelen Ticari Fatura Kabul Edilmiştir ve kabul yanıtı

Nihai Aşama

REJECT PROCESSING Ara aşama

Sayfa 39 / 86

Gelen Ticari Fatura Red – İşleniyor

Gelen Ticari Fatura Red Edilmiştir ve red yanıtı GİB’e gönderilmek üzere işlenmektedir. Hala GİB’e gönderilmemiştir.

REJECT WAIT_GIB_RESPONSE

Gelen Ticari Fatura Red – GIB'e Gönderildi

Gelen Ticari Fatura reddedilmiştir ve red yanıtı GIB’e gönderildi. GIB den onayın alındığına dair sistem yanıtı bekleniyor.

Ara aşama

REJECT WAIT_SYSTEM_RESPONSE

Gelen Ticari Fatura Red – Sistem Yanıtı Bekleniyor

Fatura onayı GIB tarafından alıcısına gönderildi ve alıcı taraftan onayın alındığına dair sistem yanıtı bekleniyor

Ara aşama

REJECT SUCCEED

Gelen Ticari Fatura Red - Başarıyla işlendi

Gelen Ticari Fatura Red Edilmiştir ve red yanıtı göndericiye başarılı bir şekilde ulaştırılmıştır.

Nihai Aşama

REJECT FAILED

Gelen Ticari Fatura Red - Başarısız oldu

Gelen Ticari Fatura Red Edilmiştir ve red yanıtı GİB’de veya alıcı tarafında oluşan bir sebeple hatalı duruma ulaşmıştır.

Nihai Aşama

Örnek Kod:

public GetInvoiceStatusResponseINVOICE_STATUS GetInvoiceStatus(string ID, string UUID) { GetInvoiceStatusRequest req = new GetInvoiceStatusRequest() { INVOICE = new INVOICE { ID = ID, UUID = UUID, }, REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, } }; GetInvoiceStatusResponse res = client.GetInvoiceStatus(req); return res.INVOICE_STATUS;

}

14. E- FATURA İŞARETLEME - MARKINVOICE

Fatura okundu olarak işeretlenir.

❖ Aşağıdaki Request Parametreleri ile istek PARKe gönderilir. ❖ Park platfromunda dönen cevap başarılı ise Return_code 0 olarak döner.

İstek Parametreleri

ADI AÇIKLAMASI MARK Değeri READ olarak yazılmalıdır. UUID Faturaya ait UUID ID Faturaya ait ID

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body par:MarkInvoice

par:MarkInvoiceRequest

Sayfa 40 / 86

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID>

N </REQUEST_HEADER>

pofjıgjskgçdvökhjvkx = ^ ^

Cevap Parametreleri

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir

MarkInvoice()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise işlem başarılı

long Gönderilen request transcation kaydının id’si

Örnek Kod:

public void MarkInvoice(INVOICE inv) { MarkInvoiceRequest req = new MarkInvoiceRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, MARK = new MarkInvoiceRequestMARK {

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>169997517</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </soap:Body> </soap:Envelope>

^

Sayfa 41 / 86

value = MarkInvoiceRequestMARKValue.READ, INVOICE = new INVOICE[] { inv }, } }; MarkInvoiceResponse res = client.MarkInvoice(req); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

15. E-FATURA CEVAP HAZIRLAMA - PREPAREINVOICERESPONSE

Alınan Ticari Faturalara kabul yada red cevabı göndermek için kullanılacak imzasız uygulama yanıtını yaratır.

Yaratılan bu uygulama yanıtı müşteri tarfındaki uygulama tarafından müşteri elektronik imzası ile onaylanıp

SendInvoiceResponse metoduyla ticari faturaya kabul yada red cevabı vermek için kullanılır.

Request Header kısmında bulunan Compressed alanı N veya boş gönderilirse, gelen yanıt sıkıştırılmamış XML

dosyası olacaktır. Eğer Compressed alanı Y olarak gönderilirse gelen cevap zip olarak sıkıştırılacaktır.

❖ Aşağıdaki Request Parametreleri ile istek PARKe gönderilir. ❖ Park platfromunda dönen cevap başarılı ise INVOICE_CONTENT zipli şekilde base 64 döner.

İstek Parametreleri

ADI AÇIKLAMASI UUID Faturaya ait UUID ID Faturaya ait ID STATUS Fatura ait cevap’da KABUL veya RET durumu yazılır DESCRIPTION Fatura ait verilen cevap’da ret ve kabul sebebi yazılır.Ret faturalar’da bu alan zorunludur.

Örnek İstek : <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body par:PrepareInvoiceResponse

par:PrepareInvoiceResponseRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2-44624f123e0f</SESSION_ID> N </REQUEST_HEADER>

RED

PEludm9pY2UgeG1sbnM9InVybjpvYXNpczp

? </par:PrepareInvoiceResponseRequest> </par:PrepareInvoiceResponse> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

Sayfa 42 / 86

ADI AÇIKLAMASI INVOICE_CONTENT XML faturanın Base64Binary tipinde standart zip yöntemi ile sıkıştırılmış/sıkıştırılmamış içeriği. Metod çağrılırken COMPRESSED bilgisi Y ise veya COMPRESSED

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body

PHVybjpBcHBsaWNhdGlvblJlc3BvbnNlIHhtb </soap:Body> </soap:Envelope>

PrepareInvoiceResponse ()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

INVOICE Invoice Cevap için hazırlanacak fatura

Dönüş Değeri:

TÜR AÇIKLAMA

PrepareInvoiceResponseRequest Metodun Request’i

Örnek Kod:

public PrepareInvoiceResponseRequest PrepareInvoice(string status, INVOICE inv) { PrepareInvoiceResponseRequest req = new PrepareInvoiceResponseRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID,

}, INVOICE = new INVOICE[] { inv, }, STATUS = status, }; return req; }

16. E-FATURA CEVAP GÖNDERME - SENDINVOICERESPONSE

Alınan Ticari Faturalara kabul yada red cevabı göndermek için kullanılır.

❖ Aşağıdaki Request Parametreleri ile istek PARKe gönderilir. ❖ Park platfromunda dönen cevap başarılı ise INVOICE_CONTENT

İstek Parametreleri

Sayfa 43 / 86

ADI AÇIKLAMASI INVOICE_CONTENT PrepareInvoiceResponse hazırlanan cevap XML değeri eklenerek istek gönderilir.

Örnek İstek : <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://schemas.i2i.com/ei/wsdl" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body wsdl:SendInvoiceResponseRequest <REQUEST_HEADER> <SESSION_ID>caab2943- 4034 - 4b34-97e6-266c81fa8153</SESSION_ID> </REQUEST_HEADER> INVOCE_CONTENT </wsdl:SendInvoiceResponseRequest> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir

Örnek Cevap:

<SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>1974103</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </SOAP-ENV:Body> </SOAP-ENV:Envelope>^ ^

SendInvoiceResponse ()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

INVOICE Invoice Cevap için hazırlanacak fatura

Dönüş Değeri:

TÜR AÇIKLAMA

base64Binary[] XML Faturanın base4Binary tipinde içeriği

Örnek Kod:

public void SendInvoiceResponse(INVOICE inv,string status) { var liste = new List(); base64Binary[] sonuc = client2.PrepareInvoiceResponse(PrepareInvoice(status,inv)); liste.AddRange(sonuc); SendInvoiceResponseRequest req = new SendInvoiceResponseRequest() { REQUEST_HEADER = new REQUEST_HEADERType

Sayfa 44 / 86

{

SESSION_ID = sessionID, }, }; foreach (base64Binary base64 in liste) { base64Binary appres = new base64Binary() { Value = base64.Value, contentType = "application/xml", }; req.APPRESPONSE = new base64Binary[] { appres }; } SendInvoiceResponseResponse res = client.SendInvoiceResponse(req); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

17. MÜKELLEF LISTESI ALMA - GETUSERLIST

GIB EFATURA sistemine kayıtlı kullanıcıların listesini ve bilgilerini getirir.

❖ Aşağıdaki Request Parametreleri ile istek PARKe gönderilir. ❖ Park platfromunda dönen cevap başarılı ise Mükellife ait bilgiler CSV formatında gelmektedir.

İstek Parametreleri

ADI AÇIKLAMASI REGISTER_TIME_START Sorgulanacak kayıtlar için GIB Efatura kayıt başlangıç tarihi. Tarih verilmez ise tüm kullanıcıları getiririr.

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetUserList

par:GetUserListRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID> </REQUEST_HEADER>

<REGISTER_TIME_START>1975- 01 - 01</REGISTER_TIME_START> </par:GetUserListRequest> </par:GetUserList> </soapenv:Body> </soapenv:Envelope>^ ^

Sayfa 45 / 86

Cevap Parametreleri

ADI AÇIKLAMASI IDENTIFIER Kullanıcının GIB’de tanımlı ID si ALIAS Kullanıcının GIB’de tanımlı Posta Kutusu urn’si TITLE Kullanıcının GIB’de tanımlı adı/unvanı TYPE Kullanıcının tip bilgisi, Kamu yada Özel olarabilir REGISTER_TIME Kullanıcının GIB E-FATURA Sistemine kayit tarihi UNIT Kullanıcı kaydının bulundugu birim, PK yada GB olabilir PK(Posta Kutusu ) mu yoksa GB (Gönderici Birim) için tanımlı oldugunu gösterir CSV FORMAT olarak CSV verildiginde kullanıcı listesi aşagıdaki formatta base64 ile encode edilerek bu alanda döner. identifier,"alias ","title.",type,"registerTime"

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body 1234567802

urn:mail:[email protected]

<TITLE>Test Kurum İki</TITLE> Özel 2013- 06 - 19T20:53:40 GB 2014- 07 - 18T16:07:39 ^ ^

GetUserList()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

DateTime REGISTER_TIME_START Kayıt başlangı tarihi

Dönüş Değeri:

TÜR AÇIKLAMA

GIBUSER[] Gelen kullanıcıların listesi

Örnek Kod:

public GIBUSER[] GetUserList() { GetUserListRequest req = new GetUserListRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, },

Sayfa 46 / 86

REGISTER_TIME_START = Convert.ToDateTime("2013- 11 - 01T20:55:02"), }; GIBUSER[] list = client2.GetUserList(req); return list;

}

18. MÜKELLEF KONTROLÜ - CHECKUSER

GIB EFATURA sistemine kayıtlı kullanıcı var mı diye kontrol eder, varsa bilgilerini getirir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise Mükellife ait bilgiler gelmektedir.

İstek Parametreleri

ADI AÇIKLAMASI IDENTIFIER Kontrol edilmek istenen kullanicinin GIB’de tanımlı ID si ALIAS Kontrol edilmek istenen kullanicinin GIB’de tanımlı Posta Kutusu urn’si TITLE Kontrol edilmek istenen kullanicinin GIB’de tanımlı adı/unvanı TYPE Kontrol edilmek istenen kullanicinin tip bilgisi REGISTER_TIME Kontrol edilmek istenen kullanicinin GIB E-FATURA Sistemine kayit tarihi IDENTIFIER Kontrol edilmek istenen kullanicinin GIB’de tanımlı ID si

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:CheckUser

par:CheckUserRequest

<REQUEST_HEADER> <SESSION_ID>e5a73ea1-27a7- 4170 - 9134 - 61743ed0454b</SESSION_ID> </REQUEST_HEADER> 7210452742 </par:CheckUserRequest> </par:CheckUser> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI IDENTIFIER Kullanıcının GIB’de tanımlı ID si ALIAS Kullanıcının GIB’de tanımlı Posta Kutusu urn’si TITLE Kullanıcının GIB’de tanımlı adı/unvanı TYPE Kullanıcının tip bilgisi REGISTER_TIME Kullanıcının GIB E-FATURA Sistemine kayit tarihi

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body

Sayfa 47 / 86

7210452742 urn:mail:[email protected]

<TITLE xmlns="">PARK ENTEGRASYON E DÖNÜŞÜM VE BİLİŞİM HİZMETLERİ ANONİM ŞİRKETİ</TITLE> Özel 2017- 09 - 14T10:33:05 PK 2017- 09 - 14T10:33:05 7210452742 edespatch <TITLE xmlns="">PARK ENTEGRASYON E DÖNÜŞÜM VE BİLİŞİM HİZMETLERİ ANONİM ŞİRKETİ</TITLE> Özel 2017- 09 - 14T10:33:05 GB 2017- 12 - 13T15:23:21 7210452742 urn:mail:[email protected] <TITLE xmlns="">PARK ENTEGRASYON E DÖNÜŞÜM VE BİLİŞİM HİZMETLERİ ANONİM ŞİRKETİ</TITLE> Özel 2017- 09 - 14T10:33:05 GB 2017- 09 - 14T10:33:05 ^

^

CheckUser()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string IDENTIFIER Kullanıcının vkn’si

Dönüş Değeri:

TÜR AÇIKLAMA

GIBUSER[] Gelen kullanıcıların listesi

Örnek Kod:

public GIBUSER[] CheckUser(string vkn) { CheckUserRequest req = new CheckUserRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, USER = new GIBUSER

Sayfa 48 / 86

{

IDENTIFIER = vkn, }, }; GIBUSER[] list = client.CheckUser(req); return list; }

19. E-FATURA CEVAP VERME - SENDINVOICERESPONSEWITHSERVERSIGN

Gelen ticari faturaları Park sunucuların da imzlayarak onaylamak için kullanılacak servistir.

❖ Aşağıdaki Request Parametreleri ile istek Park gönderilir. ❖ Park platfromunda dönen cevap başarılı ise return code 0 dönmektedir.

İstek Parametreleri

ADI AÇIKLAMASI STATUS Faturaya verilen cevap durumu KABUL veya RET ID Faturaya ait id UUID Faturaya ait uuid STATUS Faturaya verilen cevap durumu KABUL veya RET

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://schemas.i2i.com/ei/wsdl" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body wsdl:SendInvoiceResponseWithServerSignRequest <REQUEST_HEADER> <SESSION_ID>caab2943- 4034 - 4b34-97e6-266c81fa8153</SESSION_ID> </REQUEST_HEADER> KABUL ? </wsdl:SendInvoiceResponseWithServerSignRequest> </soapenv:Body> </soapenv:Envelope>^ ^

CevapParametreleri

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir

SendInvoiceResponseWithSign()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string status RED veya KABUL

INVOICE inv Red veya kabule dilecek fatura

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı

Sayfa 49 / 86

Örnek Kod:

public void SendInvoiceResponseWithSign(string status, INVOICE inv) { SendInvoiceResponseWithServerSignRequest SIRWSReq = new SendInvoiceResponseWithServerSignRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, INVOICE = new INVOICE[] { inv, }, STATUS = status, };

SendInvoiceResponseWithServerSignResponse res = client.SendInvoiceResponseWithServerSign(SIRWSReq); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız");

}

20. E-FATURA MÜKELLEF LISTESI- GETUSERLISTBINARY- SIKIŞTIRILMIŞ

GetUserListBinary servisi GIB EFATURA sistemine kayıtlı kullanıcıların listesini ve bilgilerini zip dosya içerisinde

getirir.

❖ Aşağıdaki Request Parametreleri ile istek Park gönderilir. ❖ Park platfromunda dönen cevap başarılı ise content içerisin base64 halinde gib kullanıcı listesi döner.

İstek Parametreleri

ADI AÇIKLAMASI TYPE Kullanıcı listesinin dönülmesi istenilen format. XML veya CSV

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetUserListBinary

par:GetUserListBinaryRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID> </REQUEST_HEADER>

XML </par:GetUserListBinaryRequest> </par:GetUserListBinary> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

Sayfa 50 / 86

ADI AÇIKLAMASI CONTENT FORMAT olarak CSV veya XML verildiginde kullanıcı listesi base64 ile encode edilerek bu alanda döner.

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body UEsDBBQACAgIACN/OEwAAAAAAAAAAAAA== </soap:Body> </soap:Envelope>^

GetUserListBinary()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

GetUserListBinaryRequestTYPE TYPE XML veya CSV formatında olabilir

Dönüş Değeri:

TÜR AÇIKLAMA

base64Binary Kullanıcı listesinin sıkıştırılmış hali

Örnek Kod:

public base64Binary GetUserListBinary() { GetUserListBinaryRequest req = new GetUserListBinaryRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, TYPE = GetUserListBinaryRequestTYPE.XML, }; GetUserListBinaryResponse res = new GetUserListBinaryResponse(); return res.CONTENT; }

21. E-FATURA ZARF GETIR - GETENVELOPE

GIB (Gelir İdaresi Başkanlığı) E-FATURA sisteminden gelen/giden zarfları E-FATURA Entegrasyon Platformu

üzerinden getirir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise sorgulanan zarfa ait alıcı ve gönderici bilgileri ile eşleşen diğer zarfları ve zarf detaylarını getirir.

İstek Parametreleri

ADI AÇIKLAMASI

Sayfa 51 / 86

START_DATE Getirilmek istenen faturaların geliş tarihi END_DATE Getirilmek istenen faturaların son tarihi READ_INCLUDED Okunmuş olarak işaretlenen faturaları da getirsin mi bilgisi TYPE Kullanıcı listesinin dönülmesi istenilen format. XML , HTML veya PDF olabilir UUID Zarfın unique(özgün) id si

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetEnvelope

par:GetEnvelopeRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID> N </REQUEST_HEADER> <ENVELOPE_SEARCH_KEY> <START_DATE>1975- 01 - 01</START_DATE> <END_DATE>2030- 01 - 01</END_DATE> <READ_INCLUDED>false</READ_INCLUDED> IN ? 5ce35dc5-faae-44d6-883b-c91509906ace </ENVELOPE_SEARCH_KEY>

<HEADER_ONLY>N</HEADER_ONLY> </par:GetEnvelopeRequest> </par:GetEnvelope> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI INSTANCEIDENTIFIER Zarf Numarası, Zarfın unique(özgün) id si SENDER Faturayı gönderecek gönderici birimin GIB’de tanımlı VKN si RECEIVER Faturayı alacak alıcı birimin GIB’de tanımlı VKN si FROM Faturayı gönderecek gönderici birimin GIB’de tanımlı urn si TO Faturayı alacak alıcı birimin GIB’de tanımlı urn si DATE Zarf tarihi STATUS Faturanın Gelir İdaresi Başkanlığı’ndaki durumu STATUS_DESCRIPTION Faturanın Gelir İdaresi Başkanlığı’ndaki durumunun açıklaması GIB_STATUS_CODE Faturanın Gelir İdaresi Başkanlığı’ndaki durumunun kodu GIB_STATUS_DESCRIPTION Faturanın Gelir İdaresi Başkanlığı’ndaki durumunun kodunun açıklaması TYPE Zarf Tipi CONTENT XML zarfın Base64Binary tipinde standart zip yöntemi ile sıkıştırılmış/sıkıştırılmamış içeriği. Metod çağrılırken COMPRESSED bilgisi Y ise veya COMPRESSED alanı gönderilmemişse içerik sıkıştırılmıştır.

Örnek Cevap:

Sayfa 52 / 86

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body

3900383669 7210452742 GIB urn:mail:[email protected] 2017- 12 - 01 RECEIVE - FAILED RECEIVE - Document could not be validated according the schema 2004 ZARF ID BULUNAMADI SENDERENVELOPE PD94bWwgdmVyc2lvbj0iMS4wIi ^ ^

GetEnvelope()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string TYPE XML, HTML veya PDF olabilir

string UUID Zarfın özgün ID’si

string DIRECTION IN veya OUT olabilir

Dönüş Değeri:

TÜR AÇIKLAMA

ENVELOPE[] Zarfa ait gönderici bilgileriyle eşleşen diğer zarfların listesi

Örnek Kod:

public ENVELOPE[] GetEnvelope(string UUID) { GetEnvelopeRequest req = new GetEnvelopeRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, COMPRESSED = "N", }, ENVELOPE_SEARCH_KEY = new GetEnvelopeRequestENVELOPE_SEARCH_KEY { START_DATE = Convert.ToDateTime("1975- 01 - 01"), END_DATE = Convert.ToDateTime("2030- 01 - 01"), READ_INCLUDED = false, DIRECTION = "IN", ELEMENT = new GetEnvelopeRequestENVELOPE_SEARCH_KEYELEMENT { TYPE = "XML", UUID = UUID, } },

Sayfa 53 / 86

};

ENVELOPE[] list = client.GetEnvelope(req); return list;

}

22. E-FATURA ZARF DURUM SORGULAMA - GETENVELOPESTATUS

E-FATURA Entegrasyon Platformu üzerinden zarfın durumunu sorgular.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise zarfa ait detay durum döner.

İstek Parametreleri

ADI AÇIKLAMASI COMPRESSED Y olarak gönderilirse gelen cevap zip olarak sıkıştırılacaktır. ENVELOPE INSTANCEIDENTIFIER

Zarfın unique(özgün) id si, zarf numarası

Örnek İstek : <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetEnvelopeStatus

par:GetEnvelopeStatusRequest

<REQUEST_HEADER>

<SESSION_ID>e5a73ea1-27a7- 4170 - 9134 - 61743ed0454b</SESSION_ID> </REQUEST_HEADER>

Cevap Parametreleri

ADI AÇIKLAMASI SENDER Faturayı gönderecek gönderici birimin GIB’de tanımlı VKN si RECEIVER Faturayı alacak alıcı birimin GIB’de tanımlı VKN si FROM Faturayı gönderecek gönderici birimin GIB’de tanımlı urn si TO Faturayı alacak alıcı birimin GIB’de tanımlı urn si DATE Zarf tarihi STATUS Faturanın Gelir İdaresi Başkanlığı’ndaki durumu^ STATUS_DESCRIPTION Faturanın Gelir İdaresi Başkanlığı’ndaki durumunun açıklaması GIB_STATUS_CODE Faturanın Gelir İdaresi Başkanlığı’ndaki durumunun kodu GIB_STATUS_DESCRIPTION Faturanın Gelir İdaresi Başkanlığı’ndaki durumunun kodunun açıklaması TYPE Zarf Tipi

Örnek Cevap: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body

Sayfa 54 / 86

7210452742 7210452742 urn:mail:[email protected] urn:mail:[email protected] 2018- 01 - 26 SEND - SUCCEED <STATUS_DESCRIPTION>SEND</STATUS_DESCRIPTION> <GIB_STATUS_CODE>1300</GIB_STATUS_CODE> <GIB_STATUS_DESCRIPTION>BASARIYLA TAMAMLANDI</GIB_STATUS_DESCRIPTION> SENDERENVELOPE

GetEnvelopeStatus()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string INSTANCEIDENTIFIER Zarfın özgün ID’si

Dönüş Değeri:

TÜR AÇIKLAMA

ENVELOPE[] Zarfların durumlarıyla birlikte listesi

Örnek Kod:

public ENVELOPE[] GetEnvelopeStatus(string UUID) { GetEnvelopeStatusRequestENVELOPE env = new GetEnvelopeStatusRequestENVELOPE { INSTANCEIDENTIFIER = UUID }; GetEnvelopeStatusRequest req = new GetEnvelopeStatusRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, ENVELOPE = new GetEnvelopeStatusRequestENVELOPE[] { env }, }; ENVELOPE[] list = client.GetEnvelopeStatus(req); return list;

}

23. E- FATURA ZARF İŞARET LE - MARKENVELOPE

Zarf okundu olarak işaretlenir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise RETURN_CODE 0 döner.

İstek Parametreleri

ADI AÇIKLAMASI ENVELOPE INSTANCEIDENTIFIER

Zarfın unique(özgün) id si, zarf numarası

Sayfa 55 / 86

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:MarkEnvelope

par:MarkEnvelopeRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2-44624f123e0f</SESSION_ID> </REQUEST_HEADER>

^

Cevap Parametreleri

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>169997569</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </soap:Body> </soap:Envelope>

MarkEnvelope()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string INSTANCEIDENTIFIER Zarfın özgün ID’si

Dönüş Değeri:

TÜR AÇIKLAMA

Int Return Code 0 ise başarılı

Örnek Kod:

Sayfa 56 / 86

public void MarkEnvelope(string UUID) { MarkEnvelopeRequestMARKENVELOPE env = new MarkEnvelopeRequestMARKENVELOPE() { INSTANCEIDENTIFIER = UUID, }; MarkEnvelopeRequest req = new MarkEnvelopeRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, MARK = new MarkEnvelopeRequestMARK { value = MarkEnvelopeRequestMARKValue.READ, ENVELOPE = new MarkEnvelopeRequestMARKENVELOPE[] { env }, } }; MarkEnvelopeResponse res = client.MarkEnvelope(req);

if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız");

}

24. E-FATURA TIPIYLE BERABER GETIR - GETINVOICEWITHTYPE

GIB (Gelir İdaresi Başkanlığı) EFATURA sisteminden gelen/giden faturaları EFATURA Entegrasyon

Platformu üzerinden kullanıcının seçtiği tipe göre getirir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise fatura ait detay ve zip içerisinde xml content’i döner.

İstek Parametreleri

ADI AÇIKLAMASI COMPRESSED Y olarak gönderilirse gelen cevap zip olarak sıkıştırılacaktır. TYPE Kullanıcı listesinin dönülmesi istenilen format. XML, HTML veya PDF olabilir TO Faturayı alan birimin GIB de tanımlı urn’si START_DATE Getirilmek istenen faturaların geliş tarihi END_DATE Getirilmek istenen faturaların son tarihi READ_INCLUDED Okunmuş olarak işaretlenen faturaları da getirsin mi bilgisi

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://schemas.i2i.com/ei/wsdl"> soapenv:Header/ soapenv:Body wsdl:GetInvoiceWithTypeRequest <REQUEST_HEADER> <SESSION_ID>e5ef8615-0d5f-4fbb-9a9f-491309fd4e22</SESSION_ID> N </REQUEST_HEADER> <INVOICE_SEARCH_KEY> XML

Sayfa 57 / 86

urn:mail:[email protected] <START_DATE>1975- 01 - 01</START_DATE> <END_DATE>2030- 01 - 01</END_DATE> <READ_INCLUDED>false</READ_INCLUDED> IN </INVOICE_SEARCH_KEY> <HEADER_ONLY>N</HEADER_ONLY> </wsdl:GetInvoiceWithTypeRequest> </soapenv:Body> </soapenv:Envelope>

Cevap Parametreleri

ADI AÇIKLAMASI SENDER Faturayı göndereren birimin VKN’si RECEIVER Faturayı alan birimin VKN’si SUPPLIER Faturayı gönderen firma adı CUSTOMER Faturayı alan firma adı ISSUE_DATE Fatura tarihi PAYABLE_AMOUNT Fatura toplam ödenecek tutar^ FROM Faturayı göndereren birimin GIB’de tanımlı etiketi (urn) TO Faturayı alan birimin GIB’de tanımlı etiketi (urn) PROFILEID Fatura tipi STATUS Faturanın Gelir İdaresi Başkanlığı’ndaki durumu STATUS_DESCRIPTION Faturanın Gelir İdaresi Başkanlığı’ndaki durumunun açıklaması GIB_STATUS_CODE Faturanın Gelir İdaresi Başkanlığı’ndaki durum kodu GIB_STATUS_CODE_DESCRIPTION Faturanın Gelir İdaresi Başkanlığı’ndaki durum kodunun açıklaması CDATE Faturanın oluşturulma zamanı ENVELOPE_IDENTIFIER Faturayı gelir idaresine gönderilirken kullanılan zarf id’si CONTENT XML faturanın Base64Binary tipinde standart zip yöntemi ile sıkıştırılmış/sıkıştırılmamış içeriği. Metod çağrılırken COMPRESSED bilgisi Y ise veya COMPRESSED alanı gönderilmemişse içerik sıkıştırılmıştır.

Örnek Cevap:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body

7210452742 7210452742 PARK ENTEGRASYON E DÖNÜSÜM VE BILISIM HIZMETLERI ANONIM SIRKETI PARK ENTEGRASYON E DÖNÜŞÜM VE BİLİŞİM HİZMETLERİ A.Ş. 2017- 11 - 14+03:00 177.82 urn:mail:[email protected] urn:mail:[email protected] TEMELFATURA RECEIVE - SUCCEED SUCCEED 1300 BASARIYLA TAMAMLANDI 2017- 11 - 14T16:46:44.000+03:00 94ff7af1-eadc-4f43-beb3-e1da91098efd 2YbGbQJ5g65aHUs3Fdt0J9jdbV1qxJKXJmK1qqJcaukRNEtrzD

Sayfa 58 / 86

</SOAP-ENV:Body> </SOAP-ENV:Envelope>

GetInvoiceWithType()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string ID Fatura No

string UUID Faturanın özgün ID’si

string TYPE XML,HTML veya PDF olabilir

Dönüş Değeri:

TÜR AÇIKLAMA

INVOICE[] İstenen formatta fatura listesi döner

Örnek Kod:

public INVOICE[] GetInvoiceWithType(string ID, string UUID) { GetInvoiceWithTypeRequest req = new GetInvoiceWithTypeRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, COMPRESSED = "N", }, INVOICE_SEARCH_KEY = new GetInvoiceWithTypeRequestINVOICE_SEARCH_KEY { ID = ID, UUID = UUID, READ_INCLUDED = false, DIRECTION = "IN", TYPE = "XML", }, HEADER_ONLY = "N", }; INVOICE[] inv = client.GetInvoiceWithType(req); return inv;

}

25. E- FATURA ZARF XML’I - GETAPPLICATIONRESPONSE

GIB (Gelir İdaresi Başkanlığı) E-FATURA sisteminden gelen/giden zarfları E-FATURA Entegrasyon Platformu

üzerinden XML formatında getirir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise zarfın xml hali döner.

İstek Parametreleri

ADI AÇIKLAMASI INSTANCEIDENTIFIER Zarfın unique(özgün) id si, zarf numarası

Örnek İstek :

Sayfa 59 / 86

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:efat="http://gib.gov.tr/vedop3/eFatura"> soapenv:Header/ soapenv:Body efat:getAppRespRequest

5ce35dc5-faae-44d6-883b-c91509906ace </efat:getAppRespRequest> </soapenv:Body> </soapenv:Envelope>

Cevap Parametreleri

ADI AÇIKLAMASI ![CDATA[ Bu tag içerisinde zarfın xml I döner.

Örnek Cevap:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body <![CDATA[<sh:StandardBusinessDocument xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader PackageProxy_1_2.xsd" xmlns:sh="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" xmlns:ef="http://www.efatura.gov.tr/package-namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> sh:StandardBusinessDocumentHeader sh:HeaderVersion1.0</sh:HeaderVersion> sh:Sender sh:IdentifierGIB</sh:Identifier> sh:ContactInformation sh:Contact3900383669</sh:Contact> sh:ContactTypeIdentifierVKN_TCKN</sh:ContactTypeIdentifier> </sh:ContactInformation> sh:ContactInformation sh:ContactGelir İdaresi Başkanlığı</sh:Contact> sh:ContactTypeIdentifierUNVAN</sh:ContactTypeIdentifier> </sh:ContactInformation> </sh:Sender> sh:Receiver sh:Identifierurn:mail:[email protected]</sh:Identifier> sh:ContactInformation sh:Contact7210452742</sh:Contact> sh:ContactTypeIdentifierVKN_TCKN</sh:ContactTypeIdentifier> </sh:ContactInformation> sh:ContactInformation sh:Contactnull</sh:Contact> sh:ContactTypeIdentifierUNVAN</sh:ContactTypeIdentifier> </sh:ContactInformation> </sh:Receiver> sh:DocumentIdentification sh:StandardUBL-TR</sh:Standard> sh:TypeVersion1.0</sh:TypeVersion> sh:InstanceIdentifierdbb6869a-5a4a- 4229 - a723-eacb4b52c542</sh:InstanceIdentifier> sh:TypeSYSTEMENVELOPE</sh:Type> sh:CreationDateAndTime2017- 12 - 28T12:44:03</sh:CreationDateAndTime> </sh:DocumentIdentification> </sh:StandardBusinessDocumentHeader> ef:Package

Sayfa 60 / 86

APPLICATIONRESPONSE 1 cbc:UBLVersionID2.1</cbc:UBLVersionID> cbc:CustomizationIDTR1.2</cbc:CustomizationID> cbc:ProfileIDUBL-TR-PROFILE-1</cbc:ProfileID> cbc:ID088923f3-69f0-4c07- 9208 - 2f93a1d5de10</cbc:ID> cbc:UUID68df2190-c9ef-480a-98ca-c9ee8580afb7</cbc:UUID> cbc:IssueDate2017- 12 - 28</cbc:IssueDate> cbc:IssueTime12:44:03</cbc:IssueTime> cac:SenderParty cac:PartyIdentification <cbc:ID schemeID="VKN">3900383669</cbc:ID> </cac:PartyIdentification> cac:PartyName cbc:NameGelir İdaresi Başkanlığı</cbc:Name> </cac:PartyName> cac:PostalAddress cbc:StreetNameYeni Ziraat Mahallesi Etlik Cad. No: 16</cbc:StreetName> cbc:CitySubdivisionNameDışkapı</cbc:CitySubdivisionName> cbc:CityNameANKARA</cbc:CityName> cbc:PostalZone06110</cbc:PostalZone> cac:Country cbc:IdentificationCodeTR</cbc:IdentificationCode> cbc:NameTürkiye</cbc:Name> </cac:Country> </cac:PostalAddress> </cac:SenderParty> cac:ReceiverParty cac:PartyIdentification <cbc:ID schemeID="VKN">7210452742</cbc:ID> </cac:PartyIdentification> cac:PostalAddress cbc:CitySubdivisionName/ cbc:CityName/ cac:Country cbc:IdentificationCodeTR</cbc:IdentificationCode> cbc:NameTürkiye</cbc:Name> </cac:Country> </cac:PostalAddress> </cac:ReceiverParty> cac:DocumentResponse cac:Response

cbc:ReferenceID16398163-aab8-4f42-8fda-ebc18948eedc</cbc:ReferenceID>

cbc:ResponseCodeS_APR</cbc:ResponseCode> cbc:DescriptionSystemApplicationResponse</cbc:Description> </cac:Response> cac:DocumentReference

cbc:ID5ce35dc5-faae-44d6-883b-c91509906ace</cbc:ID> cbc:IssueDate2017- 12 - 28</cbc:IssueDate> cbc:DocumentTypeCodeSENDERENVELOPE</cbc:DocumentTypeCode> cbc:DocumentTypeSENDERENVELOPE</cbc:DocumentType> </cac:DocumentReference> cac:LineResponse cac:LineReference

cbc:LineID0</cbc:LineID> cac:DocumentReference

cbc:ID5ce35dc5-faae-44d6-883b-c91509906ace</cbc:ID> cbc:IssueDate2017- 12 - 28</cbc:IssueDate> </cac:DocumentReference>

Sayfa 61 / 86

</cac:LineReference> cac:Response

cbc:ReferenceID310fbf5f-a2ba- 4815 - 9df0-5df1507e7f98</cbc:ReferenceID> cbc:ResponseCode1210</cbc:ResponseCode> cbc:DescriptionHEDEFTEN SISTEM YANITI GELMEDI</cbc:Description> </cac:Response> </cac:LineResponse> </cac:DocumentResponse> </ef:Package> </sh:StandardBusinessDocument>]]> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

GetApplicationResponse()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

string instanceIdentifier Zarfın özgün ID’si

Dönüş Değeri:

TÜR AÇIKLAMA

string Zarfın XML’i döner

Örnek Kod:

public string GetApplicationResponse(string UUID) { getAppRespRequestType req = new getAppRespRequestType() { instanceIdentifier = UUID, }; getAppRespResponseType res = client.GetApplicationResponse(req); return res.applicationResponse;

}

26. E- ARŞIV FATURASI GÖN DERME(WRITETOARCHIVEEXTENDED)

WriteToArchiveExtended servisi ile e-arşiv faturası Park sunucularına gönderilir. e-Arşiv faturası raporlanana

kadar bu servis ile güncellenebilir.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise return code 0 döner.

ADI AÇIKLAMASI EARSIV_FLAG Faturanın e-arşiv faturası mı yoksa saklanacak e-fatura mı olduğu bilgisi. Y ise e-arşiv faturası N ise e-fatura saklama faturası demektir. E-Arşiv için her zaman Y olmalıdır. EARSIV_PROPERTIES E-Arşiv faturaları için kullanılabilecek parametreler

Sayfa 62 / 86

EARSIV_TYPE Gönderilen e-arşiv faturasının tipi: NORMAL veya INTERNET değerleri olabilir. Internet satış faturalarında e-arşiv tipi INTERNET olacak. Diğerleri için NORMAL olacak. Zorunludur. EARSIV_EMAIL_FLAG E-Arşiv faturasının alıcı tarafa e-posta olarak gönderilmek isteniyorsa Y olarak gönderilmelidir. Varsayılan değer N dir. EARSIV_EMAIL E-Arşiv e-mail flag değeri Y ise bu alan doldurulmak zorundadır. Bu alanda belirtmiş olduğunu mail adresine earşiv faturası PDF veya Html olarak gönderilmektedir. (FOP-XSLT tasarımı olan müşteriler için PDF gönderilmektedir. SUB_STATUS Değerleri: NEW/DRAFT olabilir. Konnektörler tarafından NEW olarak gönderilmelidir. Zorunludur SERI Eger faturayı gönderirken seri yönetimi Park platformu üzerinde yönetmek istiyorsanız burada alanı göndermek zorundasınız Örnek(PRK) ARCHIVE_NOTE E-Arşiv faturasına not eklenmek isterse bu alana eklenebilir.

INVOICE_CONTENT E-Arşiv faturasının Base64 encode edilmiş verisi. Zorunludur.

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:arc="http://schemas.i2i.com/ei/wsdl/archive" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body arc:ArchiveInvoiceExtendedRequest <REQUEST_HEADER> <SESSION_ID>cd6a4fac-34c3- 4768 - b112-180141dac62b</SESSION_ID> N </REQUEST_HEADER> <INVOICE_PROPERTIES> <EARSIV_FLAG>Y</EARSIV_FLAG> <EARSIV_PROPERTIES> <EARSIV_TYPE>NORMAL</EARSIV_TYPE> <EARSIV_EMAIL_FLAG>Y</EARSIV_EMAIL_FLAG> <SUB_STATUS>NEW</SUB_STATUS> </EARSIV_PROPERTIES> <ARCHIVE_NOTE>?</ARCHIVE_NOTE> <INVOICE_CONTENT xm:contentType="application/?">< INVOICE_CONTENT> </INVOICE_PROPERTIES> </arc:ArchiveInvoiceExtendedRequest> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir INVOICE_ID Furaya ait UUID

Örnek Cevap:

Sayfa 63 / 86

<SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>1975457</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> <INVOICE_ID xmlns="">DMY 2017 000000285</INVOICE_ID> </SOAP-ENV:Body> </SOAP-ENV:Envelope>^ ^

WriteToArchiveExtended()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

EARSIV_TYPE_VALUE EARSIV_TYPE NORMAL veya INTERNET olabilir

FLAG_VALUE EARSIV_FLAG Y veya N olabilir.

FLAG_VALUE EARSIV_EMAIL_FLAG Y veya N olabilir.

SUB_STATUS_VALUE SUB_STATUS NEW veya DRAFT olabilir.

String SERI Göndereceğiniz faturanın serisi

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

public void WriteToArchiveExtended() { string filePath = @"C:\Users\ParkEntegrasyon\Desktop\fatura\EArşiv Ornek\PEN2017000000005\PEN2017000000005.xml"; var invoice = XMLSerializer.DeserializeFromFile(filePath); byte[] basebinary = XMLSerializer.Serialize(invoice).ToByteArray(); ArrayOfArchiveInvoiceExtendedContentINVOICE_PROPERTIESINVOICE_PROPERTIES prop = new ArrayOfArchiveInvoiceExtendedContentINVOICE_PROPERTIESINVOICE_PROPERTIES { EARSIV_FLAG = FLAG_VALUE.Y, EARSIV_PROPERTIES = new EARSIV_PROPERTIES { EARSIV_TYPE = EARSIV_TYPE_VALUE.NORMAL, EARSIV_EMAIL_FLAG = FLAG_VALUE.Y, SUB_STATUS = SUB_STATUS_VALUE.NEW, SERI = "TST", }, INVOICE_CONTENT = new base64Binary { contentType = "application/xml", Value =basebinary, } }; ArchiveInvoiceExtendedRequest req = new ArchiveInvoiceExtendedRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, COMPRESSED = "N",

Sayfa 64 / 86

},

ArchiveInvoiceExtendedContent = new ArrayOfArchiveInvoiceExtendedContentINVOICE_PROPERTIESINVOICE_PROPERTIES[] { prop, } }; ArchiveInvoiceExtendedResponse res = client.WriteToArchiveExtended(req);

if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

27. E- ARŞIV FATURASINI A LMA - READFROMARCHIVE

ReadFromArchive servisi, Park sunucularına gönderilen e-arşiv faturasının imzalı XML veya imzalı PDF

dosyasını almak için kullanılır.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise return code 0 döner.

İstek Parametreleri

ADI AÇIKLAMASI INVOICE_ID Fatura ait UUID DOCUMENT_TYPE Almak istediğiniz faturanın türünü belirtiyorsunuz.eger imzal xml istiyorsanız EA_CUST_XML_SIGNED PDF olarak istiyorsanız : EA_CUST_PDF_SIGNED HTML olarak istiyorsanız : EA_CUST_HTML_SIGNED Belirtmeniz gerekir.

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:ReadFromArchive

par:ArchiveInvoiceReadRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID>

</REQUEST_HEADER>

3E5CCF35-96CD-4F84-9CCA- 761758050295

<PORTAL_DIRECTION>OUT</PORTAL_DIRECTION> EA_CUST_XML_SIGNED </par:ArchiveInvoiceReadRequest> </par:ReadFromArchive> </soapenv:Body> </soapenv:Envelope>^ ^

CevapParametreleri

ADI AÇIKLAMASI

Sayfa 65 / 86

INVOICE Faturanın talep edilen tipte Base64Binary encode edilmiş ve standart zip yöntemi ile sıkıştırılmış içeriği.

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body UEsDBBQACAgIAIyCOEwAAAAAAAA <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>169997643</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </soap:Body> </soap:Envelope>^

ReadFromArchive()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

public void ReadFromArchive(string FaturaUUID) { ArchiveInvoiceReadRequest req = new ArchiveInvoiceReadRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, INVOICEID = FaturaUUID, PORTAL_DIRECTION = "OUT", PROFILE = "EA_CUST_XML_SIGNED", //PROFILE = "EA_CUST_PDF_SIGNED", //PROFILE = "EA_CUST_HTML_SIGNED", }; ArchiveInvoiceReadResponse res = client.ReadFromArchive(req); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız");

}

28. E- ARŞIV FATURASINI İ PTAL ETME - CANCELEARCHIVEINVOICE

Sayfa 66 / 86

CancelEArchiveInvoice servisi, Park sunucularına gönderilen e-arşiv faturasının iptal ederek GIBe iptal fatura

durumu olarak raporlanmasını sağlar.

Ancak Park sunuclarına yüklemiş olduğunuz e-Arşiv faturası gelir idaresinde raporlanmış ise bu fatura karşılık

iptal fatura oluşturmanız sağlar.

❖ Aşağıdaki Request Parametreleri ile istek Park’a gönderilir. ❖ Park platfromunda dönen cevap başarılı ise return code 0 döner.

İptal Fatura Senaryoları

ALICI SENARYO İPTAL EDİLECEK Mİ? Vergi Mükellefi Hatalı Fatura Düzenlenmiş Raporun İptal Bölümüne Eklenecek Vergi Mükellefi Kısmi veya Toplu İade Edilme Alıcı IADE faturası düzenleyecek. GIBe iptal olarak bildirmeyecek. Nihai Tüketici Kısmi veya Toplu İade Edilme Gider pusulası ile iade alınacak. Satış olarak GIBe raporlanacak.

❖ e-Arşivde fatura iptal etme işlemleri aşağıdaki durumlarla yapılmaktadır. ❖ Sistemde bulunana bir e-Arşiv faturasını iptal etmek için aşağıdaki parameterler ile istekte bulunabilirsiniz.

İstek Parametreleri

ADI AÇIKLAMASI UUID Faturaya ait UUID

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:arc="http://schemas.i2i.com/ei/wsdl/archive" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body arc:CancelEArchiveInvoiceRequest <REQUEST_HEADER> <SESSION_ID>cd6a4fac-34c3- 4768 - b112-180141dac62b1</SESSION_ID> </REQUEST_HEADER> <FATURA_UUID>112FA3E4- 5541 - 4844 - A215-1E99244B4F38</ FATURA_UUID > </arc:CancelEArchiveInvoiceRequest> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir

Örnek Cevap:

<SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>1975527</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </SOAP-ENV:Body>

Sayfa 67 / 86

</SOAP-ENV:Envelope>

^

❖ Sistemde bulunmayan bir earşiv faturasının iptal etmek için aşağıdaki parameterler ile istekde bulunabilirsiniz.Bu işlem genelde başka entegretörden Park platformuna dahil olan müşterilerde yapılmaktadır.

İstek Parametreleri

ADI AÇIKLAMASI FATURA_UUID İptal edilecek e-arşiv faturasının UUID’si

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:arc="http://schemas.i2i.com/ei/wsdl/archive" xmlns:xm="http://www.w3.org/2005/05/xmlmime"> soapenv:Header/ soapenv:Body arc:CancelEArchiveInvoiceRequest <REQUEST_HEADER> <SESSION_ID>f602719d-adc4-4ea5-9d3b-a66c26cdd39b</SESSION_ID> </REQUEST_HEADER> <FATURA_UUID>f602719d- 0000 - 4ea5-9d3b-a66c26cdd39b</FATURA_UUID> </arc:CancelEArchiveInvoiceRequest> </soapenv:Body> </soapenv:Envelope>^ ^

Örnek Cevap:

<SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>1975527</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </SOAP-ENV:Body> </SOAP-ENV:Envelope>^ ^

CancelEArchiveInvoice()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Sayfa 68 / 86

Örnek Kod:

public void CancelEArchiveInvoice(InvoiceType inv) { CancelEArchiveInvoiceRequestCancelEArsivInvoiceContent con = new CancelEArchiveInvoiceRequestCancelEArsivInvoiceContent { FATURA_UUID = inv.UUID.Value, }; CancelEArchiveInvoiceRequest req = new CancelEArchiveInvoiceRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, CancelEArsivInvoiceContent = new CancelEArchiveInvoiceRequestCancelEArsivInvoiceContent[] { con }, }; CancelEArchiveInvoiceResponse res = client.CancelEArchiveInvoice(req); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

29. E- ARŞIV RAPOR LISTES INI ALMA - GETEARCHIVEREPORT

GetEArchiveReport servisi, Park sunucularında mükellefe ait oluşturulan bir döneme ait rapor listesini almak için kullanılır. Servisin döndüğü raporlara ait içerikleri almak için ReadEArchiveReport servisi kullanılır.

İstek Parametreleri

ADI AÇIKLAMASI REPORT_PERIOD Rapor listesinin alınmak istenilen dönem bilgisi. Örnek: Ocak 2017 dönemi için 201701 RAPOR_DURUM_FLAG Rapor durumunun sonuca eklenmesi isteniyorsa Y, değilse N olarak gönderilmelidir.

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetEArchiveReport par:GetEArchiveReportRequest <REQUEST_HEADER> <SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID> </REQUEST_HEADER> <REPORT_PERIOD>201801</REPORT_PERIOD> <REPORT_STATUS_FLAG>N</REPORT_STATUS_FLAG> </par:GetEArchiveReportRequest> </par:GetEArchiveReport> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI

Sayfa 69 / 86

REPORT_NO Döneme ait rapor’u uuid’si verir. REPORT_STATUS Repora ait durumu gösterir.

GetEArchiveReport()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

public void GetEArchiveReport() { GetEArchiveReportRequest req = new GetEArchiveReportRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, REPORT_PERIOD = "201701", REPORT_STATUS_FLAG = "N", }; GetEArchiveReportResponse res = client.GetEArchiveReport(req); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız"); }

30. E- ARŞIV RAPOR DETAYI ALMA - READEARCHIVEREPORT

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body <INVOICE_ID>TST2015000000001</INVOICE_ID> 3E5CCF35-96CD-4F84-9CCA-761758050295 130 <STATUS_DESC>RAPORLANDI</STATUS_DESC> <INVOICE_DATE>2018- 01 - 05</INVOICE_DATE> 2018- 01 - 05T17:26:08+03:00 <PAYABLE_AMOUNT>11</PAYABLE_AMOUNT> <EMAIL_STATUS>120</EMAIL_STATUS> <EMAIL_STATUS_DESC>İŞLENDİ</EMAIL_STATUS_DESC>

<REQUEST_RETURN xmlns=""> <INTL_TXN_ID>169997651</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </soap:Body> </soap:Envelope>^ ^

Sayfa 70 / 86

ReadEArchiveReport servisi, Park sunucularında mükellefe ait oluşturulan bir dönem raporun detayını verir.

İstek Parametreleri

ADI AÇIKLAMASI REPORT_PERIOD Rapor listesinin alınmak istenilen dönem bilgisi. Örnek: Ocak 2017 dönemi için 201701 RAPOR_DURUM_FLAG Rapor durumunun sonuca eklenmesi isteniyorsa Y, değilse N olarak gönderilmelidir.

Örnek İstek : <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:ReadEArchiveReport

par:ReadEArchiveReportRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2-44624f123e0f</SESSION_ID> </REQUEST_HEADER>

<RAPOR_NO>b8777b7c-9e06-4e80-a238-117e6fdc2777</RAPOR_NO> </par:ReadEArchiveReportRequest> </par:ReadEArchiveReport> </soapenv:Body> </soapenv:Envelope>^

Cevap Parametreleri

ADI AÇIKLAMASI EARCHIVEREPORT Raporun base64Binary tipinde içeriği RETURN_CODE 0 ise başarılı

ReadEArchiveReport()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

Örnek Cevap: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body UEsDBBQACAgIAPOC <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>169997655</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </soap:Body> </soap:Envelope>^

Sayfa 71 / 86

public void ReadEArchiveReport(string raporno) { ReadEArchiveReportRequest req = new ReadEArchiveReportRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, RAPOR_NO = raporno, }; ReadEArchiveReportResponse res = new ReadEArchiveReportResponse(); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız");

}

31. E- ARŞIV FATURA DURUM - GETEARCHIVEINVOICESTATUSREQUEST

Park Platfromuna yüklenen e-Arşiv faturasının durumu, email durumu ve raporlanma durumu sorgulama için

bu servisi kullanmaktayız.

Aşağıdaki Request Parametreleri ile istek Park’a gönderilir.

Park platfromunda dönen cevap başarılı ise faturanın durumları header bölümünde döner.

İstek Parametreleri

ADI AÇIKLAMASI UUID Faturaya ait UUID^

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetEArchiveInvoiceStatus

par:GetEArchiveInvoiceStatusRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID>

</REQUEST_HEADER>

3E5CCF35-96CD-4F84-9CCA-761758050295 </par:GetEArchiveInvoiceStatusRequest> </par:GetEArchiveInvoiceStatus> </soapenv:Body> </soapenv:Envelope>^ ^

Cevap Parametreleri

ADI AÇIKLAMASI INVOICE_ID Faturaya ait id PROFILE Fatura ait profile bu alan e-arşiv de TemeFatura’dır UUID Faturaya ait uuid INVOICE_DATE Fatura tarihi STATUS Fatura durum kodunu içerir. STATUS_DESC Fatura durum açıklaması

Sayfa 72 / 86

EMAIL_STATUS Fatura email durum kodunu içerir. EMAIL_STATUS_DESC Fatura e-mail durum açıklaması REPORT_ID Faturanın rapor id’si gösterir bu id dolu ise fatura gelir idaresinde raporlanmış olarak belirtmektedir.

Örnek Cevap:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body

TST2015000000001 TEMELFATURA 3E5CCF35-96CD-4F84-9CCA-761758050295 05- 01 - 2018 130 RAPORLANDI 120 İŞLENDİ 3770 169997659 0 ^ ^

GetEArchiveInvoiceStatus()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

public void GetEArchiveInvoiceStatus(string FaturaUUID) { GetEArchiveInvoiceStatusRequest req = new GetEArchiveInvoiceStatusRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, UUID = new string[] { FaturaUUID } }; GetEArchiveInvoiceStatusResponse res = client.GetEArchiveInvoiceStatus(req);

Sayfa 73 / 86

if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız");

}

31.1. E-ARŞIV FATURA DURUM KODLARI

ADI AÇIKLAMASI 100 KUYRUĞA EKLENDİ 105 TASLAK OLARAK EKLENDİ 110 İŞLENİYOR 115 İŞLENİYOR 120 İŞLENDİ 130 RAPORLANDI 200 FATURA ID BULUNAMADI

31.2. E-ARŞIV FATURA E-MAIL DURUM KODLARI

ADI AÇIKLAMASI 100 HENÜZ İŞLENMEDİ 110 İŞLENİYOR 120 İŞLENDİ 130 E-MAIL GÖNDERİM SONLANDI

32. E- ARŞIV FATURASI TEK RARDAN MAIL GÖNDERILMESI - GETEMAILEARCHIVEINVOICE

Park plarformuna yüklenen e-arşiv faturanın tekrar’dan mail gönderilmesi veya daha önce yazılan mail

adresini degiştirilmesi için bu servis kullanılır.

İstek Parametreleri

ADI AÇIKLAMASI FATURA_UUID Faturaya ait uuid dönülür. EMAIL Faturanın yönderilecegi mail adresi

Örnek İstek :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://parkentegrasyon.com.tr/"> soapenv:Header/ soapenv:Body par:GetEmailEarchiveInvoice

par:GetEmailEarchiveInvoiceRequest

<REQUEST_HEADER>

<SESSION_ID>710b9836-e33f-4c19-8fc2- 44624f123e0f</SESSION_ID>

</REQUEST_HEADER>

<FATURA_UUID>3E5CCF35-96CD-4F84-9CCA- 761758050295</FATURA_UUID>

Sayfa 74 / 86

[email protected] </par:GetEmailEarchiveInvoiceRequest> </par:GetEmailEarchiveInvoice> </soapenv:Body> </soapenv:Envelope>

Cevap Parametreleri

ADI AÇIKLAMASI INTL_TXN_ID Gönderilen request transcation kayıtının id’si RETURN_CODE 0 degeri istegin başarılı sonuca ulaştığını gösterir

Örnek Cevap: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> soap:Body <REQUEST_RETURN xmlns=""> <INTL_TXN_ID>169997666</INTL_TXN_ID> <RETURN_CODE>0</RETURN_CODE> </REQUEST_RETURN> </soap:Body> </soap:Envelope>^

GetEmailEarchiveInvoice ()

Parametreler:

TÜR PARAMETRE AÇIKLAMA

string SessionId Session ID

Dönüş Değeri:

TÜR AÇIKLAMA

int Return Code 0 ise başarılı.

Örnek Kod:

public void GetEmailEarchiveInvoice(string FaturaUUID) { GetEmailEarchiveInvoiceRequest req = new GetEmailEarchiveInvoiceRequest() { REQUEST_HEADER = new REQUEST_HEADERType { SESSION_ID = sessionID, }, FATURA_UUID = FaturaUUID, EMAIL = "[email protected]", }; GetEmailEarchiveInvoiceResponse res = client.GetEmailEarchiveInvoice(req); if (res.REQUEST_RETURN.RETURN_CODE == 0) MessageBox.Show("Başarılı"); else MessageBox.Show("Başarısız");

}

33. FAULT HANDLING

Sayfa 75 / 86

WEB Servis Metodu çağrıldığında hata alması durumunda aşağıdaki formatta Exception Fırlatacaktır.

Örnek Cevap:

SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body SOAP-ENV:Fault SOAP-ENV:Server SISTEM HATASI <INTL_TXN_ID xmlns="">63851</INTL_TXN_ID> <CLIENT_TXN_ID xmlns="" /> <ERROR_CODE xmlns="">2005</ERROR_CODE> <ERROR_SHORT_DES xmlns="">SISTEM HATASI</ERROR_SHORT_DES> <ERROR_LONG_DES xmlns="">[SISTEM HATASI ]: Aktif Session bulunamadı. Session ID:5c637666-e135-4b46-9a2a-ce14ca41ffff</ERROR_LONG_DES> java.lang.RuntimeException: Aktif Session bulunamadı. Session ID:5c637666-e135-4b46-9a2a-ce14ca41ffff at com.i2i.efatura.service.EIService.checkSession(EIService.java:215) ... </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>^

34. FAULT HANDLING - GETEMAILEARCHIVEINVOICE

WEB Servis Metodu çağrıldığında hata alması durumunda aşağıdaki formatta Exception Fırlatacaktır.

Örnek Cevap:

<SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/"> SOAP-ENV:Body <ERROR_TYPE xmlns=""> <INTL_TXN_ID>1976559</INTL_TXN_ID> <ERROR_SHORT_DES>Error get PROFILE from Archive Read Request..Read request ile gelen PROFILE bilgisi yanlış,kontrol ediniz.PROFILE: EA_CUST_P_SIGNED</ERROR_SHORT_DES> </ERROR_TYPE> </SOAP-ENV:Body> </SOAP-ENV:Envelope>^

35. FATURA DURUMLARI

35.1. GIDEN FATURA DURUMLARI

STATUS SUBSTATUS PORTAL STATUS Detaylı Açıklama LOAD SUCCEED Fatura Yükleme - Başarılı Fatura Yükleme Başarılı LOAD FAILED Fatura Yükleme - Başarısız Oldu

Fatura Yükleme Hatalı

PACKAGE FAILED Fatura Paketleme - Başarısız oldu

Fatura paketleme sırasında hata oluştu. Sistem tarafından tekrar paketle işlemi yapılarak gönderilecektir. PACKAGE SUCCEED Fatura Paketleme - Başarıyla işlendi

Fatura paketleme başarılı

Sayfa 76 / 86

SEND PROCESSING Fatura Gönderimi - İşleniyor

Fatura Gönderimi Yapılıyor

SEND SUCCEED Fatura Gönderimi - Temel Fatura Gönderimi Başarılı SEND FAILED Fatura Gönderimi – Başarısız Oldu

Fatura Gönderiminde Hata Alındı SEND WAIT_GIB_RESPONSE Fatura Gönderimi - GIB'e Gönderildi

Fatura GIB e gönderildi ve GIB den faturanın alındığına dair sistem yanıtı bekleniyor SEND WAIT_SYSTEM_RESPONSE Fatura Gönderimi - Sistem Yanıtı Bekleniyor

Fatura GIB tarafından alıcısına gönderildi ve alıcı taraftan faturanın alındığına dair sistem yanıtı bekleniyor SEND WAIT_APPLICATION_RESPONSE Fatura Gönderimi - Fatura Onayı Bekleniyor

Ticari Fatura Alıcıdan Cevap Bekliyor ACCEPTED SUCCEED Giden Ticari Fatura Kabul

  • Başarıyla işlendi

Gönderilmiş olan ticari fatura alıcı tarafından kabul edilmiştir ve alıcının kabul yanıtı gönderen tarafa başarılı şekilde ulaşmıştır. REJECTED SUCCEED Giden Ticari Fatura Red - Başarıyla işlendi

Gönderilmiş olan ticari fatura alıcı tarafından red edilmiştir ve alıcının red yanıtı gönderen tarafa başarılı şekilde ulaşmıştır.

35.2. GELEN FATURA DURUMLARI

STATUS SUBSTATUS PORTAL STATUS Detaylı Açıklama STATUS SUBSTATUS PORTAL STATUS Detaylı Açıklama

RECEIVE SUCCEED Fatura Alımı - Başarıyla işlendi

Temel Fatura Alımı Başarılı

RECEIVE WAIT_APPLICATION_RESPONSE Fatura Alımı - Fatura Onayı Bekleniyor

Ticari Faatura Alımı Başarılı

ACCEPT PROCESSING Gelen Ticari Fatura Kabul

  • İşleniyor

Gelen Ticari Fatura Kabul Edilmiştir ve kabul yanıtı GİB’e gönderilmek üzere işlenmektedir. Hala GİB’e gönderilmemiştir. ACCEPT WAIT_GIB_RESPONSE Gelen Ticari Fatura Kabul

  • GIB'e Gönderildi

Gelen Ticari Fatura Kabul Edilmiştir ve kabul yanıtı GIB’e gönderildi. GIB den onayın alındığına dair sistem yanıtı bekleniyor. ACCEPT WAIT_SYSTEM_RESPONSE Gelen Ticari Fatura Kabul

  • Sistem Yanıtı Bekleniyor

Fatura onayı GIB tarafından alıcısına gönderildi ve alıcı taraftan onayın alındığına dair sistem yanıtı bekleniyor

Sayfa 77 / 86

ACCEPT FAILED Gelen Ticari Fatura Kabul

  • Başarısız oldu

Onaylanan Ticari fatura cevabı gönderiminden hata oluştu. Bu fatura tekrar onaylanabilir. ACCEPT SUCCEED Gelen Ticari Fatura Kabul Edilmiştir ve kabul yanıtı

Nihai Aşama

REJECT PROCESSING Gelen Ticari Fatura Red – İşleniyor

Gelen Ticari Fatura Red Edilmiştir ve red yanıtı GİB’e gönderilmek üzere işlenmektedir. Hala GİB’e gönderilmemiştir. REJECT WAIT_GIB_RESPONSE Gelen Ticari Fatura Red – GIB'e Gönderildi

Gelen Ticari Fatura reddedilmiştir ve red yanıtı GIB’e gönderildi. GIB den onayın alındığına dair sistem yanıtı bekleniyor. REJECT WAIT_SYSTEM_RESPONSE Gelen Ticari Fatura Red – Sistem Yanıtı Bekleniyor

Fatura onayı GIB tarafından alıcısına gönderildi ve alıcı taraftan onayın alındığına dair sistem yanıtı bekleniyor REJECT SUCCEED Gelen Ticari Fatura Red - Başarıyla işlendi

Gelen Ticari Fatura Red Edilmiştir ve red yanıtı göndericiye başarılı bir şekilde ulaştırılmıştır. FAILED Gelen Ticari Fatura Red - Başarısız oldu

Gelen Ticari Fatura Red Edilmiştir ve red yanıtı GİB’de veya alıcı tarafında oluşan bir sebeple hatalı duruma ulaşmıştır.

Nihai Aşama

36. İHRACAT E - FATURA

İhracat E-Fatura için gönderimde kullanılan farklı bir metod bulunmamaktadır, İhracat E-Fatura da aynı

zamanda bir E-Fatura olduğundan; gönderim, SendInvoice metodu ile sağlanmaktadır. Fatura senaryosu

ve fatura tipi kullanımı ise aşağıdaki gibi olmalıdır:

Tip: ISTISNA;

Senaryo: IHRACAT;

❖ Gönderilmiş olan faturaya ait GTB Ref No da GetInvoiceStatus metodu ile çekilir.

Sayfa 78 / 86

36.1. İHRACAT E-FATURA UBL ÖRNEĞİ

Örnek XML deseni aşağıdaki gibidir. Bu desen sadece bir fikir vermek için sağlanmıştır.

cbc:UBLVersionID2.1</cbc:UBLVersionID>

cbc:CustomizationIDTR1.2</cbc:CustomizationID> cbc:ProfileIDIHRACAT</cbc:ProfileID>

cbc:IDPRK2017000007263</cbc:ID>

cbc:CopyIndicatorfalse</cbc:CopyIndicator>

cbc:UUID3e01e9ba-42cc- 4496 - 96eb-ffb2b18cd266</cbc:UUID>

cbc:IssueDate2017- 09 - 19</cbc:IssueDate> cbc:IssueTime10:56:39.0000000+03:00</cbc:IssueTime>

cbc:InvoiceTypeCodeISTISNA</cbc:InvoiceTypeCode>

<cbc:Note />

cbc:NoteÖdeme Tarihi : 19- 06 - 2017

</cbc:Note> cbc:NoteYALNIZ YEDİYÜZYİRMİ 'DİR</cbc:Note>

cbc:NoteVELİ</cbc:Note>

<cbc:Note />

cbc:DocumentCurrencyCodeTRY</cbc:DocumentCurrencyCode>

cbc:LineCountNumeric1</cbc:LineCountNumeric> cac:AdditionalDocumentReference

cbc:IDPRK2017000007263</cbc:ID>

cbc:IssueDate2017- 09 - 19</cbc:IssueDate>

cbc:DocumentTypeXSLT</cbc:DocumentType>

cac:Attachment <cbc:EmbeddedDocumentBinaryObject mimeCode="application/xml" encodingCode="Base64"

characterSetCode="UTF-8" filename="PRK2017000007263.xslt">BASE64 CODE

HERE</cbc:EmbeddedDocumentBinaryObject>

</cac:Attachment> </cac:AdditionalDocumentReference>

cac:Signature

<cbc:ID schemeID="VKN_TCKN"> 7210452742 </cbc:ID>

cac:SignatoryParty

cac:PartyIdentification <cbc:ID schemeID="VKN"> 7210452742 </cbc:ID>

Sayfa 79 / 86

</cac:PartyIdentification> cac:PostalAddress

cbc:RoomKapı No</cbc:Room>

cbc:StreetNameSokak</cbc:StreetName>

<cbc:BuildingName />

<cbc:BuildingNumber /> cbc:CitySubdivisionNameŞişli</cbc:CitySubdivisionName>

cbc:CityNameİSTANBUL</cbc:CityName>

cbc:PostalZone340000</cbc:PostalZone>

cbc:RegionŞişli</cbc:Region>

cac:Country cbc:NameTürkiye</cbc:Name>

</cac:Country>

</cac:PostalAddress>

</cac:SignatoryParty>

cac:DigitalSignatureAttachment cac:ExternalReference

cbc:URI#Signature-Id-5392a684-6dcf- 4556 - 9825 - b723da7b2e26</cbc:URI>

</cac:ExternalReference>

</cac:DigitalSignatureAttachment> </cac:Signature>

cac:AccountingSupplierParty

cac:Party

cbc:WebsiteURI1111111387</cbc:WebsiteURI>

cac:PartyIdentification <cbc:ID schemeID="VKN"> 7210452742 </cbc:ID>

</cac:PartyIdentification>

cac:PartyIdentification

<cbc:ID schemeID="MERSISNO">MERS698765</cbc:ID>

</cac:PartyIdentification> cac:PartyIdentification

<cbc:ID schemeID="TICARETSICILNO">TIC123456</cbc:ID>

</cac:PartyIdentification>

cac:PartyName

cbc:NamePARK ENTEGRASYON E DÖNÜŞÜM VE BİLİŞİM HİZMETLERİ A.Ş.</cbc:Name> </cac:PartyName>

cac:PostalAddress

cbc:StreetNameCumhuriyet Mahallesi Arabayolu Caddesi Dönence Sokak</cbc:StreetName>

cbc:CitySubdivisionNameSarıyer</cbc:CitySubdivisionName>

cbc:CityNameİstanbul</cbc:CityName> cbc:PostalZone34457</cbc:PostalZone>

cac:Country

cbc:NameTürkiye</cbc:Name>

</cac:Country> </cac:PostalAddress>

cac:PartyTaxScheme

cac:TaxScheme

cbc:NameSarıyer</cbc:Name>

</cac:TaxScheme> </cac:PartyTaxScheme>

cac:Contact

cbc:Telephone2122744635</cbc:Telephone>

<cbc:Telefax />

cbc:ElectronicMail6543210104</cbc:ElectronicMail> </cac:Contact>

</cac:Party>

</cac:AccountingSupplierParty>

cac:AccountingCustomerParty

Sayfa 80 / 86

cac:Party <cbc:WebsiteURI />

cac:PartyIdentification

<cbc:ID schemeID="VKN"> 7210452742 </cbc:ID>

</cac:PartyIdentification>

cac:PartyName cbc:NameGümrük ve Ticaret Bakanlığı</cbc:Name>

</cac:PartyName>

cac:PostalAddress

<cbc:Room />

cbc:StreetNameÜniversiteler Mahallesi Dumlupınar Bulvarı</cbc:StreetName> <cbc:BuildingName />

cbc:BuildingNumber151</cbc:BuildingNumber>

cbc:CitySubdivisionNameÇankaya</cbc:CitySubdivisionName>

cbc:CityNameAnkara</cbc:CityName>

<cbc:PostalZone /> <cbc:Region />

cac:Country

cbc:NameTürkiye</cbc:Name>

</cac:Country> </cac:PostalAddress>

cac:PartyTaxScheme

cac:TaxScheme

cbc:NameUlus</cbc:Name>

</cac:TaxScheme> </cac:PartyTaxScheme>

</cac:Party>

</cac:AccountingCustomerParty>

cac:BuyerCustomerParty

cac:Party cac:PartyIdentification

<cbc:ID schemeID="PARTYTYPE">EXPORT</cbc:ID>

</cac:PartyIdentification>

cac:PartyName

cbc:NameTEST CARI UNVAN</cbc:Name> </cac:PartyName>

cac:PostalAddress

cbc:CitySubdivisionNameSarıyer</cbc:CitySubdivisionName>

cbc:CityNameİstanbul</cbc:CityName>

cac:Country cbc:NameTürkiye</cbc:Name>

</cac:Country>

</cac:PostalAddress>

cac:PartyTaxScheme cac:TaxScheme

cbc:TaxTypeCodeVAT</cbc:TaxTypeCode>

</cac:TaxScheme>

</cac:PartyTaxScheme>

cac:PartyLegalEntity cbc:RegistrationNameTEST CARI UNVAN</cbc:RegistrationName>

cbc:CompanyID2222226512121</cbc:CompanyID>

cac:CorporateRegistrationScheme

<cbc:ID />

<cbc:Name /> </cac:CorporateRegistrationScheme>

</cac:PartyLegalEntity>

</cac:Party>

</cac:BuyerCustomerParty>

Sayfa 81 / 86

cac:TaxTotal <cbc:TaxAmount currencyID="TRY">0</cbc:TaxAmount>

cac:TaxSubtotal

<cbc:TaxableAmount currencyID="TRY">720</cbc:TaxableAmount>

<cbc:TaxAmount currencyID="TRY">0</cbc:TaxAmount>

cbc:Percent0</cbc:Percent> cac:TaxCategory

cbc:TaxExemptionReasonCode301</cbc:TaxExemptionReasonCode>

cbc:TaxExemptionReason11/1-a, Mal İhracatı

11/1-a, Mal İhracatı

</cbc:TaxExemptionReason> cac:TaxScheme

cbc:NameKDV</cbc:Name>

cbc:TaxTypeCode0015</cbc:TaxTypeCode>

</cac:TaxScheme>

</cac:TaxCategory> </cac:TaxSubtotal>

</cac:TaxTotal>

cac:LegalMonetaryTotal

<cbc:LineExtensionAmount currencyID="TRY">1200.00</cbc:LineExtensionAmount> <cbc:TaxExclusiveAmount currencyID="TRY">720</cbc:TaxExclusiveAmount>

<cbc:TaxInclusiveAmount currencyID="TRY">720.00</cbc:TaxInclusiveAmount>

<cbc:AllowanceTotalAmount currencyID="TRY">480</cbc:AllowanceTotalAmount>

<cbc:PayableRoundingAmount currencyID="TRY">0.00</cbc:PayableRoundingAmount>

<cbc:PayableAmount currencyID="TRY">720</cbc:PayableAmount> </cac:LegalMonetaryTotal>

cac:InvoiceLine

cbc:ID1</cbc:ID>

<cbc:InvoicedQuantity unitCode="PR">12</cbc:InvoicedQuantity>

<cbc:LineExtensionAmount currencyID="TRY">1200</cbc:LineExtensionAmount> cac:Delivery

cac:DeliveryAddress

<cbc:ID />

cbc:CitySubdivisionNameSarıyer</cbc:CitySubdivisionName>

cbc:CityNameİstanbul</cbc:CityName> cac:Country

cbc:NameTürkiye</cbc:Name>

</cac:Country>

</cac:DeliveryAddress>

cac:DeliveryTerms <cbc:ID schemeID="INCOTERMS">DAP</cbc:ID>

</cac:DeliveryTerms>

cac:Shipment

<cbc:ID /> cac:GoodsItem

cbc:RequiredCustomsID020622000000</cbc:RequiredCustomsID>

</cac:GoodsItem>

cac:ShipmentStage

cbc:TransportModeCode4</cbc:TransportModeCode> </cac:ShipmentStage>

</cac:Shipment>

</cac:Delivery>

cac:TaxTotal

<cbc:TaxAmount currencyID="TRY">0</cbc:TaxAmount> cac:TaxSubtotal

<cbc:TaxAmount currencyID="TRY">0</cbc:TaxAmount>

cbc:CalculationSequenceNumeric1</cbc:CalculationSequenceNumeric>

cbc:Percent0</cbc:Percent>

Sayfa 82 / 86

cac:TaxCategory cbc:TaxExemptionReasonCode301</cbc:TaxExemptionReasonCode>

cbc:TaxExemptionReason11/1-a, Mal İhracatı

11/1-a, Mal İhracatı

</cbc:TaxExemptionReason>

cac:TaxScheme cbc:NameKDV</cbc:Name>

cbc:TaxTypeCode0015</cbc:TaxTypeCode>

</cac:TaxScheme>

</cac:TaxCategory>

</cac:TaxSubtotal> </cac:TaxTotal>

cac:Item

cbc:NameMAMUL</cbc:Name>

</cac:Item>

cac:Price <cbc:PriceAmount currencyID="TRY">100.00</cbc:PriceAmount>

</cac:Price>

</cac:InvoiceLine>

36.2. YOLCUBERABER E-FATURA UBL ÖRNEĞİ

Örnek XML deseni aşağıdaki gibidir. Bu desen sadece bir fikir vermek için sağlanmıştır. cbc:UBLVersionID2.1</cbc:UBLVersionID>

cbc:CustomizationIDTR1.2</cbc:CustomizationID>

cbc:ProfileIDYOLCUBERABERFATURA</cbc:ProfileID>

cbc:IDPRK2017000000053</cbc:ID>

cbc:CopyIndicatorfalse</cbc:CopyIndicator> cbc:UUID54555b14-dfe2-42f2-aa82-f58b352d5e6f</cbc:UUID>

cbc:IssueDate2017- 09 - 14 </cbc:IssueDate>

cbc:IssueTime14:20:58.0000000+03:00</cbc:IssueTime>

cbc:InvoiceTypeCodeISTISNA</cbc:InvoiceTypeCode>

<cbc:Note /> cbc:NoteYALNIZ ÜÇYÜZ 'DİR</cbc:Note>

cbc:NoteVELİ</cbc:Note>

<cbc:Note />

cbc:DocumentCurrencyCodeTRY</cbc:DocumentCurrencyCode>

cbc:LineCountNumeric1</cbc:LineCountNumeric> cac:AdditionalDocumentReference

cbc:IDPRK2017000000053</cbc:ID>

cbc:IssueDate2017- 09 - 14 </cbc:IssueDate>

cbc:DocumentTypeXSLT</cbc:DocumentType>

cac:Attachment <cbc:EmbeddedDocumentBinaryObject mimeCode="application/xml" encodingCode="Base64"

characterSetCode="UTF-8" filename="PRK2017000000053.xslt"> </cbc: EmbeddedDocumentBinaryObject>

</cac:Attachment>

</cac:AdditionalDocumentReference>

cac:Signature <cbc:ID schemeID="VKN_TCKN"> 7210452742 </cbc:ID>

cac:SignatoryParty

cac:PartyIdentification

<cbc:ID schemeID="VKN"> 7210452742 </cbc:ID>

</cac:PartyIdentification> cac:PostalAddress

cbc:RoomKapı No</cbc:Room>

cbc:StreetNameSokak</cbc:StreetName>

<cbc:BuildingName />

Sayfa 83 / 86

<cbc:BuildingNumber /> cbc:CitySubdivisionNameŞişli</cbc:CitySubdivisionName>

cbc:CityNameİSTANBUL</cbc:CityName>

cbc:PostalZone340000</cbc:PostalZone>

cbc:RegionŞişli</cbc:Region>

cac:Country cbc:NameTürkiye</cbc:Name>

</cac:Country>

</cac:PostalAddress>

</cac:SignatoryParty>

cac:DigitalSignatureAttachment cac:ExternalReference

cbc:URI#Signature-Id-d81246a2-e60e- 4610 - 9b8e-1109d921b3e9</cbc:URI>

</cac:ExternalReference>

</cac:DigitalSignatureAttachment>

</cac:Signature> cac:AccountingSupplierParty

cac:Party

cbc:WebsiteURI1111111387</cbc:WebsiteURI>

cac:PartyIdentification <cbc:ID schemeID="VKN"> 7210452742 </cbc:ID>

</cac:PartyIdentification>

cac:PartyIdentification

<cbc:ID schemeID="MERSISNO">9698765</cbc:ID>

</cac:PartyIdentification> cac:PartyIdentification

<cbc:ID schemeID="TICARETSICILNO"> 145 23456</cbc:ID>

</cac:PartyIdentification>

cac:PartyName

cbc:NamePARK ENTEGRASYON E DÖNÜŞÜM VE BİLİŞİM HİZMETLERİ A.Ş.</cbc:Name> </cac:PartyName>

cac:PostalAddress

cbc:StreetNameCumhuriyet Mahallesi Arabayolu Caddesi Dönence

Sokak</cbc:StreetName>

cbc:CitySubdivisionNameSarıyer</cbc:CitySubdivisionName> cbc:CityNameİstanbul</cbc:CityName>

cbc:PostalZone34457</cbc:PostalZone>

cac:Country

cbc:NameTürkiye</cbc:Name>

</cac:Country> </cac:PostalAddress>

cac:PartyTaxScheme

cac:TaxScheme

cbc:NameSarıyer</cbc:Name> </cac:TaxScheme>

</cac:PartyTaxScheme>

cac:Contact

cbc:Telephone2122744635</cbc:Telephone>

<cbc:Telefax /> cbc:ElectronicMail6543210104</cbc:ElectronicMail>

</cac:Contact>

</cac:Party>

</cac:AccountingSupplierParty>

cac:AccountingCustomerParty cac:Party

<cbc:WebsiteURI />

cac:PartyIdentification

<cbc:ID schemeID="VKN"> 7210452742 </cbc:ID>

Sayfa 84 / 86

</cac:PartyIdentification> cac:PartyName

cbc:NameGümrük ve Ticaret Bakanlığı</cbc:Name>

</cac:PartyName>

cac:PostalAddress

<cbc:Room /> cbc:StreetNameÜniversiteler Mahallesi Dumlupınar

Bulvarı</cbc:StreetName>

<cbc:BuildingName />

cbc:BuildingNumber151</cbc:BuildingNumber>

cbc:CitySubdivisionNameÇankaya</cbc:CitySubdivisionName> cbc:CityNameAnkara</cbc:CityName>

<cbc:PostalZone />

<cbc:Region />

cac:Country

cbc:NameTürkiye</cbc:Name> </cac:Country>

</cac:PostalAddress>

cac:PartyTaxScheme

cac:TaxScheme cbc:NameUlus</cbc:Name>

</cac:TaxScheme>

</cac:PartyTaxScheme>

</cac:Party>

</cac:AccountingCustomerParty> cac:BuyerCustomerParty

cac:Party

cac:PartyIdentification

<cbc:ID schemeID="PARTYTYPE">TAXFREE</cbc:ID>

</cac:PartyIdentification> cac:PostalAddress

<cbc:CitySubdivisionName />

cbc:CityNameAdıyaman</cbc:CityName>

cac:Country

cbc:NameTürkiye</cbc:Name> </cac:Country>

</cac:PostalAddress>

cac:PartyTaxScheme

<cac:TaxScheme />

</cac:PartyTaxScheme> cac:Person

<cbc:FirstName />

<cbc:FamilyName />

cbc:NationalityIDTR</cbc:NationalityID> cac:IdentityDocumentReference

cbc:IDu12345678</cbc:ID>

cbc:IssueDate2005- 01 - 03</cbc:IssueDate>

</cac:IdentityDocumentReference>

</cac:Person> </cac:Party>

</cac:BuyerCustomerParty>

cac:TaxRepresentativeParty

cac:PartyIdentification

<cbc:ID schemeID="ARACIKURUMVKN"> 7210452742 </cbc:ID> </cac:PartyIdentification>

cac:PartyIdentification

<cbc:ID schemeID="ARACIKURUMETIKET">urn:mail:[email protected]</cbc:ID>

</cac:PartyIdentification>

Sayfa 85 / 86

cac:PartyName cbc:Nameurn:mail:[email protected]</cbc:Name>

</cac:PartyName>

cac:PostalAddress

<cbc:ID />

cbc:CitySubdivisionNameSDFDSF</cbc:CitySubdivisionName> cbc:CityNameSFDSF</cbc:CityName>

cac:Country

cbc:NameSDFDSF</cbc:Name>

</cac:Country>

</cac:PostalAddress> cac:Contact

<cbc:Telephone />

</cac:Contact>

</cac:TaxRepresentativeParty>

cac:TaxTotal <cbc:TaxAmount currencyID="TRY">22.22</cbc:TaxAmount>

cac:TaxSubtotal

<cbc:TaxableAmount currencyID="TRY">277.75</cbc:TaxableAmount>

<cbc:TaxAmount currencyID="TRY">22.22</cbc:TaxAmount> cbc:Percent8</cbc:Percent>

cac:TaxCategory

cac:TaxScheme

cbc:NameKDV</cbc:Name>

cbc:TaxTypeCode0015</cbc:TaxTypeCode> </cac:TaxScheme>

</cac:TaxCategory>

</cac:TaxSubtotal>

</cac:TaxTotal>

cac:LegalMonetaryTotal <cbc:LineExtensionAmount currencyID="TRY">277.78</cbc:LineExtensionAmount>

<cbc:TaxExclusiveAmount currencyID="TRY">277.78</cbc:TaxExclusiveAmount>

<cbc:TaxInclusiveAmount currencyID="TRY">300</cbc:TaxInclusiveAmount>

<cbc:AllowanceTotalAmount currencyID="TRY">0</cbc:AllowanceTotalAmount>

<cbc:PayableAmount currencyID="TRY">300</cbc:PayableAmount> </cac:LegalMonetaryTotal>

cac:InvoiceLine

cbc:ID1</cbc:ID>

<cbc:InvoicedQuantity unitCode="PR">1</cbc:InvoicedQuantity>

<cbc:LineExtensionAmount currencyID="TRY">277.777777777778</cbc:LineExtensionAmount> cac:TaxTotal

<cbc:TaxAmount currencyID="TRY">22.2222222222222</cbc:TaxAmount>

cac:TaxSubtotal

<cbc:TaxAmount currencyID="TRY">22.2222222222222</cbc:TaxAmount> cbc:CalculationSequenceNumeric1</cbc:CalculationSequenceNumeric>

cbc:Percent8</cbc:Percent>

cac:TaxCategory

cbc:TaxExemptionReasonCode235</cbc:TaxExemptionReasonCode>

cbc:TaxExemptionReason16/1-c Transit ve Gümrük Antrepo Rejimleri İle Geçici Depolama ve Serbest Bölge Hükümlerinin Uygulandığiı Malların

Teslimi</cbc:TaxExemptionReason>

cac:TaxScheme

cbc:NameKDV</cbc:Name>

cbc:TaxTypeCode0015</cbc:TaxTypeCode> </cac:TaxScheme>

</cac:TaxCategory>

</cac:TaxSubtotal>

</cac:TaxTotal>

Sayfa 86 / 86

cac:Item cbc:NameMAMUL</cbc:Name>

</cac:Item>

cac:Price

<cbc:PriceAmount currencyID="TRY">277.777778</cbc:PriceAmount>

</cac:Price> </cac:InvoiceLine>

earsiv-efatura's People

Contributors

salihdemircan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.