Gelen e- Fatura Aktarım Uygulaması (SESS003)
GELEN E – FATURA AKTARIM UYGULAMASI (SESS003)
Bu modül, firmaya kesilen e-faturaların Dinamo sistemine aktarıldıktan sonra ilgili faturaların otomatik olarak oluşturulmasını sağlamaktadır.
1.Adım
1.1.
Satınalma faturası sorgulama oturumu(SESS003) ekranında satınalma faturaları sorgulanıp modüle aktar işlemi yapılır (UBLINV2).
1.2.
Satırlardan satınalma faturası uygulamalarına aktarılacak olan faturanın bulunduğu satıra tıklanır ve F4 tuşuna yada ekranın üstünde bulunan detay tuşuna basılır.
1.3.
Karşımıza gelen ilk ekran Tedarikçi seçim ekranıdır. Bu ekranda yazılım otomatik olarak tedarikçiye ait cari hesap kartını aramaya başlayacaktır. Bu arama işlemlerinde bazı ayarlamalar yapılabilmektedir.(Ayarlamaların nasıl yapıldığı 2. Maddede gösterilmiştir.)
Tedarikçi sekmesinde yapılabilecekler;
Bu ekran ilk açıldığında otomatik olarak cari hesabı seçip ekrana getirecektir.
1.3.1.
Eğer tedarikçi kodunu yanlış seçiyor ise manuel değiştirebilirsiniz. Bu işlemi yaptıktan sonra fatura detaylarını “Yeniden Analiz Et” butonu ile hesaplatmanız gerekmektedir. (ilgili buton Satınalma faturası oluşturma tabında bulunmaktadır.)
1.3.2.
Eğer yeni bir tedarikçi kodu açacak iseniz;
1.3.2.1
“Faturadan Cari Hesap Alanlarını Getir” butonu ile cari Hesap’ın unvanı adresi gibi cariye ait bilgileri gelen fatura üzerinden hızlıca ekrana getirebiliriz.
1.3.2.2
“Cari Hesap Kodu” alanından cari hesap’a yeni bir kod vererek “Yeni Cari Hesap Kodu Oluştur” Butonu ile cari hesap kartları içerisinde ilgili tedarikçimizi açabiliriz.
1.3.2.3
“Cari Hesap Kodu” alanından cari hesap’a yeni bir kod vererek “Yeni Cari Hesap Kodu Oluştur” Butonu ile cari hesap kartları içerisinde ilgili tedarikçimizi açabiliriz.
1.4.
İkinci sekmemiz ise “Satınalma Faturası Oluşturma” yani e-Faturaları fatura uygulamalarına aktardığımız ekrandır.
Ekran hakkında bilgiler;
1.4.1.
(1) ile işaretlenmiş kare Satınalma Faturası uygulamalarına ait belge bilgilerinin girildiği yerdir. İlk açılışta otomatik hesaplanır. Eğer değiştirmek istediğiniz bir değer olur ise manuel değiştirebilirsiniz.
Bu alandan gelen e-Faturanın iade, gider, satınalma vb. Uygulamalardan hangisine aktarılacağını da belirtmiş oluyoruz.
Ayrıca bu kısımda Satınalma faturaları arasında gezmemizi sağlayan ileri, geri butonlarıda yer almaktadır.
Belge bilgileri alanında değişiklikler yapıyor isek Yeniden analiz et butonu ile tekrardan hesaplatma yapmamız gerekmektedir.
Bunun nedeni ise örneğin yazılım ilk hesapta STOK74GF’ye (gider Faturası ) aktarılacak olarak seçtiyse irsaliye hesabına girmemektedir. Fakat siz STOK74 (Satınalma Faturası) olarak uygulamayı değiştirirseniz gelen irsaliyelerinde otomatik hesaplanması gerekecektir.
1.4.2.
(2) ile işaretlenen alan faturanın satırlarına ait bilgi alanıdır. Gelen e-Fatura içerisinde “Müşteri-Tedarikçi Stok Kodu” alanı dolu ise bu kod üzerinden sizin sisteminizde eşleştirme yapmaya çalışacaktır. Bulamaz ise NONSTOK olarak otomatik seçer. Fakat sonrasında siz ilgili stok kalemlerini manuel seçebilirsiniz.
Harici olarak satınalma faturası satırlarında girdiğiniz farklı değerleri de yine bu uygulamadan girerek faturanızı oluşturabilirsiniz.
Bu alanda yeşille işaretlenen alanlar e-Fatura’nın gelen değerleridir. Sağ tarafa doğru gittiğimizde renksiz olarak görünen alanlar ise satınalma faturalarına aktarılacak bilgileri içerir.
1.4.3.
(3) ile işaretlenmiş alan ise satınalma irsaliyeleri eşleştirildiği kısımdır. Bu kısımdan otomatik sıralı kapatma mantığında ya da manuel irsaliye kalemlerini faturanız ile satır satır eşleştirebilirsiniz.
Sol tarafta bulunan “Açık İrsaliyeler” tablosu henüz faturalanmamış faturalanmayı bekleyen irsaliyeleri temsil eder.
Sol taraftaki “Bağlanan İrsaliyeler” bölümü de faturanızın satırına bağlanmış irsaliyeleri temsil eder.
Otomatik olarak bağlanan irsaliyelerde iki tablonun arasındaki oklarla bağlantısını iptal ederek manuel istediğiniz sırada eşleştirebilirsiniz.
1.4.4.
(4) ile işaretlenen alanda ise işlemleri yapabildiğimiz butonlar mevcuttur.
1.4.4.1.
Karşımıza ilk çıkan buton “Yazdır” butonudur. Bu buton alt bir ekran açarak e-Fatura görselini görmemiz sağlar.
1.4.4.2.
Diğer butonumuz ise aktar butonudur. Tüm hesaplama işlemlerimiz tamamlandıktan sonra e-Fatura uygulamasına belge olarak kayıt ettiğimiz butondur. Bu işlem sonucunda faturamız sisteme kayıt edilir.
Kayıt işlemi yapıldıktan sonra ilgili uygulama üzerinden ya da aktarımın yapıldığı hesaplama ekranından faturaya hızlıca ulaşarak analizlerimizi yapabiliriz.
1.4.4.3.
Yanıtla butonu ile gelen e-Faturaya yanıt vererek entegratöre iletebilirsiniz
1.4.4.4.
Son butonumuz ise hesaplamalarda kullanılacak ayarların tanımlandığı ekrana ulaşmamızı sağlar.
Bu tanımlama ekranında tüm hesaplamaların nasıl yapılacağı belirlenir.
Hiçbir tanım yapılmadığı durumda yazılım kendi standardında çalışacaktır.
2.Adım
Aktarım tanımlamalarını yapılması
2.1.
Ayalar ekranı açılır. Ekran ile ilgili bilgiler şöyledir;
2.2.
(1) ile işaretlenmiş alandan daha önce yapılmış ayarlar üzerinde işlem yapabilir ya da yeni bir ayar dosyası kayıt edebiliriz
2.3.
(2) ile işaretlenen alandan aktarım ayarlarımızı tanımlıyoruz.
2.3.1.
“Referans alanlar faturaya aktarılsın mı?” alanı ile fatura satırında bulunan referans alanların da fatura satırına aktarılacağını tanımlayabiliriz.
2.3.2.
Cari hesap kartı hesaplama yöntemi kısmından hangi önceliklerle hesaplanacağını tanımlayabiliriz. Yazılım varsayılanda C0 yöntemi ile yani VKN/TCKN üzerinden ilk bulduğu cari Hesap’a göre hesaplama yapar.
Sizler bu kısımdan hesaplama yönteminizi seçebilirsiniz.
Tüm bu hesaplama yöntemleri sizin ihtiyacınızı karşılamıyor ise özelleştirmeler yaparak Cari Hesap’ı makro ile hesaplayabilirsiniz.
(Bu konu ile ilgili bilgi 3. Maddede verilecektir)
2.3.3.
Fatura satırları yazılım tarafından hesaplandıktan sonra bir makro çalıştırarak bu hesaplamalara müdahale etmek isterseniz “Fatura Satırlarının Hesaplanmasından Sonra Çalıştırılacak Makro” alanlarını doldurabilirsiniz. Parametre kullanımlarını 3. Madde detayında açıklayacağız.
2.3.4.
Hesaplamaların tamamlanarak sizlerin aktar butonu ile satınalma faturasını oluşturması işleminden sonra fatura üzerinde manuel değişiklikler ya da kontroller yapmak istiyorsanız “Fatura Aktarım Sonrası Çalıştırılacak Makro” alanından özelleştirmelerinizi yapabilirsiniz. Parametre kullanımlarını 3. Madde detayında açıklayacağız.
2.3.5.
Son olarak ise irsaliye bağlantılarının nasıl yapılacağı tanımlanmaktadır.
2.3.5.1.
(1). Seçenek irsaliyeler e-Fatura içerisinde belirtilen numaralara göre eşleştirilerek bağlanmaya çalışır.
2.3.5.2.
(2).Seçenek irsaliyeleri sıralı olarak kapatmaya çalışır
2.3.5.3.
(3). Seçenekte ise irsaliyeler hesaplanmaz. Tamamen sizin manuel yönetiminize bırakılır.
3.Adım
3.1.
Her makro alanında Makro kodu, Prosedure/Function, ve 5 adet parametre gönderimi yapabileceğimiz alanlar bulunur.
3.2.
Makro kodu alanından ilgili aşamada çalıştırılacak makro kodu seçilir
3.3.
Fonksiyon procedur alanından ilgili makro içindeki hangi function tetiklenmek isteniyor ise yazılır. Boş bırakılır ise Makro1 varsayılır
3.4.
Function’a parametre göndermek istiyorsanız 5 adet parametre gönderimi yapabileceğiniz alanlar mevcuttur.
Dikkat edilmesi gereken nokta kullandığınız parametre kadar function’unuz parametre almalıdır. Aksi taktirde hata alırısınız.
Peki parametre olarak neler gönderilebilir.
3.4.1.
Herhangi bir tablo gönderimi yapılmayacak ise düz metin yazılabilir.
3.4.2.
Uygulama içerisindeki tablolardan birini parametre olarak göndermek isteyebilirim. Örneğin hesaplamada kullanılan ve fatura satırı bilgilerinin tutulduğu “UBLINV2T_ROWS” tablosunu parametre olarak gönderebilirim. Bu işlem için [UBLINV2T_ROWS] gibi [TABLOADI] şeklinde yazılmalıdır.
3.4.3.
Herhangi bir tabloda yazan değeri parametre olarak da gönderebiliriz.
Bu işlem için de aynı yöntemi kullanacağız. [TABLOADI.ALANADI] şeklinde ilgili alanın değerleri yazılır. Örneğin [UBLINV2T_ROWS.KOD]
3.5.
Makro kodu tarafında işlemler nasıl olmalı. Kendi örneğim üzerinden Fatura satırı hesaplaması sonra çalışacak makromu yorumlayalım.
3.5.1.
Makro Kodu : CALC_SESS3
Function/Procudure : CalcKDV
1.Parametre : SESS003T1 tablosu
2.Parametre : UBLINV2T_ROWS tablosu
Örneğimizi de incelediğimizde 2 adet parametre aldığını ve bu parametrelerin ikisine de tablo olduğunu görebiliriz. İsterseniz sabit değer gönderimi de yapabilirsiniz. Bu örneğimde faturanın kdv alanlarının yazılım tarafından hesaplanandan farklı olması için özelleştirme yaptığımı görebilirsiniz. Gelen faturadaki tedarikçi koduna göre satınalma faturası notları üzerinden tekrardan kdv hesaplıyorum ve faturaya yazıyorum.
Sub CalcKDV(Sess003t1,rsROWS)
if TRIM(Sess003t1.TARGET_SWM_ACCNO) = "320 018" Then
Call ReCalcOrFiyatAndKDV(rsROWS)
Doc.Msgbox("Migros Faturalarında Dip Toplam Aktarım Sonrası Kontrol Edilmeli")
End If
if rsROWS.GetRecCount() > 0 Then rsROWS.SetCurrentRow 1
End Sub
Sub ReCalcOrFiyatAndKDV(rsROWS)
rsROWS.SafePack()
if rsROWS.GetRecCount() > 0 Then
Dim i
For i = 1 To rsROWS.GetRecCount()
rsROWS.SetCurrentRow i
if rsROWS.KDV_ORANI = 0 Then
Dim KDV
KDV=0
KDV=CalcMigrosKDV(rsROWS.UBLINV2T_IL_NOTE)
if KDV>0 Then
rsROWS.OR_TUTAR = Doc.Round(rsROWS.OR_TUTAR / ((KDV / 100)+1) ,6)
rsROWS.KDV_ORANI = KDV
End If
End If
Next
End If
End Sub