Logo, e-Devlet modülü kullanan ve e-Fatura mükellefi olan firmaların elektronik belgelerini gönderip almaları ve bu işlemin Gelir İdaresi Başkanlığı’nın belirlediği şematrona uygun bir şekilde yapılabilmesi için Logo Connect programını kullanmaktadır. Bu programa tanımlanan e-Fatura ve e-Arşiv görsel tasarımları üzerinden, faturalar karşı tarafa gönderilir. Bu tasarımlar .xslt uzantılıdır ve özelleştirmeye açıktır. Standart olarak belirli alanların kullanılabildiği bu .xslt tasarımlara isteğe bağlı olarak yeni özellikler eklenebilir. Bu yazıda, e-fatura ve e-arşiv xslt tasarımlarına cari hesap bakiyesi nasıl eklenir bunu anlatacağım.
Cari Bakiye Kuralının Hazırlanması
Logo Connect programına giriş yapıldıktan sonra üst menüden Araçlar –> Kural Tanımları seçilir. Açılan pencerenin en altından Script Kural seçeneği seçilir ve boş bir alanda sağ tuş –> Ekle seçeneği ile Kural Tanımlama penceresi açılır.
Açılan penceredeki kod alanına aşağıdaki kod yapıştırılır.
sub ProcessEvent(App)
ST_ClRef = App.Doc.FieldAsInteger("ARP_LOGICALREF")
ST_CHRRef = CStr(ST_ClRef)
BAKIYE = App.UQUERY_GETFLD(60,"SUM(DEBIT)-SUM(CREDIT)",24,6,FALSE, "CARDREF ="+ST_CHRRef+" AND TOTTYP = 1" )
App.Doc.WriteStartElement "ADDITIONALDOCUMENTS/ADDITIONALDOCUMENT"
App.Doc.WriteElementString "ID",Replace(cstr(BAKIYE),",",".")
App.Doc.WriteElementString "ISSUEDATE", Year(Date) & "-" & Right("0" & Month(Date),2) & "-" & Right("0" & Day(Date), 2)
App.Doc.WriteElementString "DOCUMENTTYPE", "BAKIYE"
App.Doc.WriteEndElement
App.Doc.SaveData
end sub
Kural No, Kural Açıklaması girildikten sonra Doküman kısmında, bu kural hangi işlemde çalışacaksa ona göre seçim yapılır. Statü “Aktif” olarak seçilir ve istenirse kural için şifre oluşturulabilir. Sonra olarak “Kaydet” diyerek kural kaydedilir.
Buraya kadar olan kısımda, script kural içerisinde;
- BAKIYE diye bir değişken oluşturduk ve bu değişkene Fatura içerisindeki cari hesabın bakiyesini aktardık.
- Kuralı e-Faturalarda Onaylanmadan Önce çalışacak şekilde ekledik.
Kuralı hazırladık. Artık tüm e-Faturalar, “Onayla” dedikten sonra yani Paketlenecek kısmına düştüğünde bu kural çalışacak. Ancak henüz fatura tasarımına kuraldan gelen bilgiyi yazacak alanı oluşturmadık. Bu sebeple kural başarılı çalışsa da bakiye bilgisini göremeyeceğiz.
Fatura Tasarımına Alan Eklenmesi
Faturanın .xslt dosyası bulunur ve bir düzenleyicide(not defteri, notepad++ gibi) açılır. Bakiye bilgisi, faturanın neresinde gösterilmek isteniyorsa o alan bulunur ve aşağıdaki kod eklenir. Biz bu örnekte fatura açıklamasının altına ekleyeceğiz.
<xsl:for-each select="//n1:Invoice/cac:AdditionalDocumentReference">
<xsl:if test ="cbc:DocumentType = 'BAKIYE'">
<b>Cari Hesap Bakiyesi : </b>
<b>
<xsl:value-of select="cbc:ID"/>
</b>
<b> TL </b>
</xsl:if>
</xsl:for-each>
Alan xslt dosyasına eklendikten sonra dosya kaydedilir. Logo Connect –> Seçenekler –> Cari Hesap Parametreleri –> e-Fatura kısmından tasarım tekrar kaydedilir. e-Fatura Gönder ekranındaki fatura seçilerek “Onayla” butonuna basılır. Onaylanan ve Paketlenecek aşamasına geçen fatura üzerinde sağ tuş –> incele dedikten sonra ilgili alanın tasarıma geldiği görülür.
NOTLAR:
- Tüm alanlar için script kural yazmak gerekmez. Bazı alanlar basit kural ile de getirilebilir.
- Yukarıdaki işlemleri yaptığınız halde eklenen alanı göremiyorsanız, Logo Connect –> Seçenekler –> Genel Parametreler –> Kural Kullan seçeneğini aktif edebilirsiniz. Yine logo connect üzerinde fatura onaylandıktan sonra sağ tuş –> uygulanan kurallar dediğinizde tanımladığınız kuralı görmeniz gerekir.
- Yukarıdaki işlemler e-fatura için anlatılmıştır. Aynı işlemleri e-arşiv için de yapabilirsiniz. Kural tanımlarındaki Doküman kısmını e-arşiv yapmayı unutmayın.
- Kural kodunu ilgili alana yapıştırdıktan sonra üst menüden “Compile” demenizde fayda vardır. Burada hata alırsanız kural çalışmayacaktır.
Firmanıza özel fatura tasarımı yaptırmak için İletişim sayfasından bana ulaşabilir, fiyat alabilirsiniz.