- 01 Aug 2024
- 5 Minutes to read
- DarkLight
UyumSoft e-Fatura Entegrasyonu
- Updated on 01 Aug 2024
- 5 Minutes to read
- DarkLight
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. |
Parametreler | invoiceId: 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. |
Parametreler | invoiceId: 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. |
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.