UyumSoft e-Fatura Entegrasyonu
    • 01 Aug 2024
    • 5 Minutes to read
    • Dark
      Light

    UyumSoft e-Fatura Entegrasyonu

    • Dark
      Light

    Article summary

    UyumSoft e-Fatura Entegrasyonu


    Web Servise aşağıdaki adreslerden erişilebilmektedir: 

    Canlı Sistem: https://efatura.uyumsoft.com.tr/services/Integration 

    Test Sistemi: https://efatura-test.uyumsoft.com.tr/services/Integration 

    (Test sistemi için Kullanıcı Adı: Uyumsoft, Şifre:Uyumsoft)


    Geliştirme süreci boyunca kullanıcı arayüzü olarak Uyumsoft Test Portali kullanılabilmektedir. 

    Test Portal Adresimiz: http://portal-test.uyumsoft.com.tr/ 

    (Test portali için Kullanıcı Adı: Uyumsoft, Şifre:Uyumsoft

    e-Fatura Servisi Gelen Fatura

    Senaryoda EARSIVFATURA olanlar çekilmek isteniyor ise, GetOutboxInvoiceList metodunda;

    <tem:Scenario>eArchive</tem:Scenario>

    <tem:Status>Approved</tem:Status> 

    parametreler ile listeleme sağlanabilir, aynı faturaları tekrar çekmemek için şu yöntem kullanılabilir; Çekilen faturalar ChangeInvoiceArchiveStatus portaldeki arşiv kutusuna atılırsa giden kutusunda gözükmeyerek çekilmeyen faturalar GetOutboxInvoiceList metodunda gelecektir. Ekte ilgili metotlar için örnek requestler ve response değerleri mevcuttur.

    GetInboxInvoiceList

    Gelen e-Faturaları çekmek için flag değeri ile filtrelenerek aynı faturayı ikinci kez almamak için kullanılacak fonksiyondur.

    Metod Signature

    Response<InboxInvoiceListResponse> 

    GetInboxInvoiceList(InboxInvoiceListQueryModel) 

    Açıklama
    Vereceğiniz sorgu modeli(InboxInvoiceListQueryModel) ile gelen faturaların bazı temel bilgilerini içeren bir liste olarak döndürülmesini sağlar.  
    Parametreler

    InboxInvoiceListQueryModel nesnesi çeşitli fatura listesi getirme sorguları için esneklik sağlamak amacıyla oluşturulmuş bir nesnedir.

    Özellikleri aşağıda listelenmiştir:

    PageSize(int): Kaç adet faturanın tek seferde döneceğini belirtmeye yarayan property’dir.

    PageIndex(int): Metodu çağırdığınızda hangi sayfadaki faturaların getirilmesi gerektiği ile ilgili değerin girileceği property’dir.

    InvoceIds(List<String>): List şeklinde fatura UUID alanlarının string dizisi şeklinde gönderilerek ilgili faturaların getirilebileceği property.

    OnlyNewestInvoices(true\false): Sadece yeni gelmiş(yeni işareti kaldırılmamış) faturaları getirmek için kullanılabilecek property.

    ExecutionStartDate(DateTime): Faturanın tarihine göre bu tarihten sonra oluşturulmuş faturaların getirilmesine yarar.

    ExecutionEndDate(DateTime): Faturanın tarihine göre bu tarihten önce oluşturulmuş faturaların döndürülmesimi sağlar.

    CreateStartDate(DateTime): Faturanın oluşturulma tarihine göre bu tarihten sonra oluşturulmuş faturaların getirilmesine yarar.

    CreateEndDate(DateTime): Faturanın oluşturulma tarihine göre bu tarihten önce oluşturulmuş faturaların döndürülmesimi sağlar.

    Return Değeri 
    Return tipi Response< InboxInvoiceListResponse > olan metod’a vermiş olduğunuz parametrelere göre gelen fatura bilgileri Response.Value değerindeki Items değeri içerisindeki InboxInvoiceListItem alanında dönmektedir. Ayrıca Value içerisindeki TotalCount Gelen Toplam fatura sayısını;  TotalPage ise toplam kaç sayfa fatura bilgisi olduğunu döndürür.  

    GetInboxInvoice

    Çekilen her bir faturanın bilgilerine ulaşılır.

    Metod Signature

    Response<InvoiceInfo> 

    GetInboxInvoice(String InvoiceId) 

    Açıklama
    Verilen unique fatura id sini kullanarak müşteriye gelmiş olan faturayı gonderir.
    ParametrelerinvoiceId: Faturanın E-Fatura sisteminde ki tekil Id’sidir. UBL-TR Fatura formatında ki UUID alanına denk gelen bilgidir.
    Return Değeri 

    Return tipi Response<InvoiceInfo> olan method da Response’un Value alanı bir fatura içeren InvoiceInfo türünde olacaktır.

    Sorgulanan fatura Response.Value.Invoice alanında InvoiceType (UBL-TR Fatura nesnesi) olarak dönecektir.

    SetInvoiceTaken

    Çekilen her bir faturanın tekrar tekrar içeriye alınmaması için ilgili faturaya flag atacağımız fonksiyondur.

    Metod Signature

    Response<bool> 

    SetInvoicesTaken(String InvoiceId) 

    Açıklama
    Müşteri tarafından herhangi bir fatura sorgulama yöntemi kullanılarak alınmış olan faturaların sistem tarafında yeni işaretini kaldırmak amacı ile sistemi faturanın ulaştığına dair bilgilendirmek amacı ile kullanılır. Bu metodla işaretlenen faturalar yeni faturaların çağırıldığı durumlarda gönderilmezler.
    Parametreler
    invoiceIds: Bir yada daha fazla fatura id’si bu alanda geçilir. Fatura Id’si faturanın E-Fatura sistemindeki tekil id sidir. UBL-TR Fatura formatındaki UUID alanına denk gelir. SetInvoicesTaken metodu vermiş olduğunuz guid listesindeki tüm faturaların tamamının yeni işareti kaldırır.
    Return Değeri 

    Return tipi Response<bool> olan method da Response’un Value alanı true/false olabilir. 

    İşlem başarı ile gerçekleştirilmişse Response.Value alanı true aksi halde false olacaktır.

    e-Fatura Servisi Giden Fatura

    GetOutboxInvoiceList

    Giden e-Faturaları çekmek için flag değeri ile filtrelenerek aynı faturayı ikinci kez almamak için kullanılacak fonksiyondur.

    Metod Signature

    Response<OutboxInvoiceListResponse>

    GetOutboxInvoiceList(OutboxInvoiceListQueryModel)

    Açıklama
    Vereceğiniz sorgu modeli(OutboxInvoiceListQueryModel) ile giden faturaların bazı temel bilgilerini içeren bir liste olarak döndürülmesini sağlar.
    Parametreler

    OutboxInvoiceListQueryModel nesnesi çeşitli fatura listesi getirme sorguları için esneklik sağlamak amacıyla oluşturulmuş bir nesnedir.

    Özellikleri aşağıda listelenmiştir.  

    PageSize(int): Kaç adet faturanın tek seferde döneceğini belirtmeye yarayan property’dir.

    PageIndex(int): Metodu çağırdığınızda hangi sayfadaki faturaların getirilmesi gerektiği ile ilgili değerin girileceği property’dir.

    InvoceIds(List<String>): List şeklinde fatura UUID alanlarının string dizisi şeklinde gönderilerek ilgili faturaların getirilebileceği property.

    ExecutionStartDate(DateTime): Faturanın tarihine göre bu tarihten sonra oluşturulmuş faturaların getirilmesine yarar.

    ExecutionEndDate(DateTime): Faturanın tarihine göre bu tarihten önce oluşturulmuş faturaların döndürülmesimi sağlar.

    CreateStartDate(DateTime): Faturanın oluşturulma tarihine göre bu tarihten sonra oluşturulmuş faturaların getirilmesine yarar.

    CreateEndDate(DateTime): Faturanın oluşturulma tarihine göre bu tarihten önce oluşturulmuş faturaların döndürülmesimi sağlar. 

    Return Değeri 
    Return tipi Response< InboxInvoiceListResponse > olan metod’a vermiş olduğunuz parametrelere göre gelen fatura bilgileri Response.Value değerindeki Items değeri içerisindeki InboxInvoiceListItem alanında dönmektedir. Ayrıca Value içerisindeki TotalCount Gelen Toplam fatura sayısını;  TotalPage ise toplam kaç sayfa fatura bilgisi olduğunu döndürür.  

    GetInboxInvoice

    Çekilen her bir faturanın bilgilerine ulaşılır.

    Metod Signature

    Response<InvoiceInfo> 

    GetOutboxInvoice(String InvoiceId) 

    Açıklama
    Verilen unique fatura id bilgisini kullanarak müşteri tarafından gönderilmiş olan faturayı gönderir.
    ParametrelerinvoiceId: Faturanın E-Fatura sisteminde ki tekil Id’sidir. UBL-TR Fatura formatında ki UUID alanına denk gelen bilgidir. 
    Return Değeri 

    Return tipi Response<InvoiceInfo> olan method da Response’un Value alanı bir fatura olan InvoiceType türünde olacaktır. Sorgulanan fatura Response.Value alanında InvoiceInfo nesnesinin içerisinde Invoice alanında (UBL-TR Fatura nesnesi) dönecektir. 

    SetInvoiceTaken

    Çekilen her bir faturanın tekrar tekrar içeriye alınmaması için ilgili faturaya flag atacağımız fonksiyondur.

    Metod Signature

    Response<bool> 

    SetInvoicesTaken(String InvoiceId) 

    Açıklama
    Müşteri tarafından herhangi bir fatura sorgulama yöntemi kullanılarak alınmış olan faturaların sistem tarafında yeni işaretini kaldırmak amacı ile sistemi faturanın ulaştığına dair bilgilendirmek amacı ile kullanılır. Bu metodla işaretlenen faturalar yeni faturaların çağırıldığı durumlarda gönderilmezler.
    Parametreler
    invoiceIds: Bir yada daha fazla fatura id’si bu alanda geçilir. Fatura Id’si faturanın E-Fatura sistemindeki tekil id sidir. UBL-TR Fatura formatındaki UUID alanına denk gelir. SetInvoicesTaken metodu vermiş olduğunuz guid listesindeki tüm faturaların tamamının yeni işareti kaldırır.
    Return Değeri 

    Return tipi Response<bool> olan method da Response’un Value alanı true/false olabilir. 

    İşlem başarı ile gerçekleştirilmişse Response.Value alanı true aksi halde false olacaktır.

    E-Arşiv Servisi

    Giden e arşiv faturaları çekmek için kullanılacak fonksiyondur. Senaryo değeri “EARSIVFATURA”.

    Metod Signature

    Response<OutboxInvoiceListResponse>

    GetOutboxInvoiceList(OutboxInvoiceListQueryModel) 

    Açıklama
    Vereceğiniz sorgu modeli(OutboxInvoiceListQueryModel) ile giden faturaların bazı temel bilgilerini içeren bir liste olarak döndürülmesini sağlar.  
    Parametreler

    OutboxInvoiceListQueryModel nesnesi çeşitli fatura listesi getirme sorguları için esneklik sağlamak amacıyla oluşturulmuş bir nesnedir.

    Özellikleri aşağıda listelenmiştir:

    PageSize(int): Kaç adet faturanın tek seferde döneceğini belirtmeye yarayan property’dir.

    PageIndex(int): Metodu çağırdığınızda hangi sayfadaki faturaların getirilmesi gerektiği ile ilgili değerin girileceği property’dir.

    InvoceIds(List<String>): List şeklinde fatura UUID alanlarının string dizisi şeklinde gönderilerek ilgili faturaların getirilebileceği property.

    ExecutionStartDate(DateTime) : Faturanın tarihine göre bu tarihten sonra oluşturulmuş faturaların getirilmesine yarar.

    ExecutionEndDate(DateTime) : Faturanın tarihine göre bu tarihten önce oluşturulmuş faturaların döndürülmesimi sağlar.

    CreateStartDate(DateTime) : Faturanın oluşturulma tarihine göre bu tarihten sonra oluşturulmuş faturaların getirilmesine yarar.

    CreateEndDate(DateTime) : Faturanın oluşturulma tarihine göre bu tarihten önce oluşturulmuş faturaların döndürülmesimi sağlar. 


    Ek Bilgilendirme

    Fatura gönderiminin haricinde aylık olarak Gelir İdaresi Başkanlığına gönderilmesi gereken rapor paketinin göndermi ile ilgili aylık periyod seçeneği kullanıcı tarafından e-Arşiv Hesap aktivasyonu sırasında bildirilecektir. (Her ayın 10. Günü, 15. Günü vb.) 

    Verilen bu periyodda e-Arşiv paketleri otomatik olarak Uyumsoft sistemi tarafından Gelir İdaresi Başkanlığına gönderilir.    

    Gönderilen paketler Uyumsoft Portalinden indirilebilmekte, görüntülenebilmekte ve paketlerin durumu Portal ekranlarından takip edilebilmektedir.  

    e-Arşiv sisteminde faturaların seri numarası(UBL-TR’de ID alanı) e-faturadakinden farklı bir seriden olmalıdır. Ayrıca Elektronik Ticaret yapılarak oluşturulmuş e-arşiv faturalarının da diğer e-arşiv faturalarından farklı bir seriden oluşturulmuş olması gerekmektedir. Uyumsoft sistemi e-Fatura, eArşiv ve e-Arşiv e-Ticaret fatura serisi olmak üzere 3 farklı seriyi otomatik olarak takip edebilmektedir. Fatura serisini kendi takip etmek isteyen ya da farklı tiplerden 1’den fazla seri takibi yürütmek isteyen firmaların fatura gönderiminden önce faturanın tipine göre ayrıştırmayı sağladıktan sonra fatura numarasını kendileri oluşturup sonra Uyumsoft sistemine göndermeleri gerekmektedir.