Netle Yazılım San. Tic. Ve A.Ş.
e-Defter Şematron Raporu
Ver 2.0.1.8.3
Açıklama
Yasal e-defter dosyaları hazırlandıktan ve imzalandıktan sonra mutlaka XML şema ve Şematron denetimleri ile kontrol edilmelidir. Bu kontrol süreci sonrasında ortaya en az bir hata çıkması durumunda GİB tarafından e-defter dosyaları geçersiz sayılabilir.
Bu kontrollerin çok geniş ve uzun sürebilmesi nedeniyle kontrol süreçlerinde e-defter uyumlu yazılımlar kullanılmaktadır.
Netle Yazılım tarafından geliştirilen "Netle-Defter" uygulaması bu kontrolleri fiş girişinde, döneme ilişkin parçalı ya da bütün defter oluşturmada ve GİB'e gönderim öncesinden yapmaktadır. Olası bir sorunda kullanıcı iş akış sistemi ile bilgilendirilerek hatanın giderilmesi beklenmektedir.
Şematron denetimleri XML içine bütünleşik şekilde yazılmış ve bunların tam bir liste şeklinde dokümanı yoktu. Bu faydalı bilgileri liste haline getirdik ve 2018 / 3 dönemini esas olarak aşağıdaki açıklamaların yer aldığı tabloları hazırladık.
Yazılımdan bağımsız, şematron içinde nelerin kontrol edildiğini öğrenmek isteyenler aşağıdaki bilgileri inceleyebilir.
Berat Şematronu
The following table lists the namespaces and typical prefixes.
prefix
|
Namespace
IRI
|
gl-plt
|
http://www.xbrl.org/int/gl/plt/2010-04-16
|
gl-cor
|
http://www.xbrl.org/int/gl/cor/2006-10-25
|
gl-bus
|
http://www.xbrl.org/int/gl/bus/2006-10-25
|
gl-muc
|
http://www.xbrl.org/int/gl/muc/2006-10-25
|
xbrli
|
http://www.xbrl.org/2003/instance
|
ds
|
http://www.w3.org/2000/09/xmldsig#
|
xades
|
http://uri.etsi.org/01903/v1.3.2#
|
edefter
|
http://www.edefter.gov.tr
|
defterek
|
http://www.edefter.gov.tr/ek
|
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Belge içerisindeki 'decimals'
nitelikleri 'INF' değerini almalıdır.
- Berat dokümanı edefter:berat
ana elemanı ile başlamalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- xbrli:segment/gl-bus:numberOfEntries
elemanı sadece yevmiye beratında bulunabilir.
- Yevmiye beratında
xbrli:segment/gl-bus:numberOfEntries zorunlu bir elemandır.
- xbrli:segment/gl-cor:uniqueID
zorunlu bir elemandır.
- xbrli:segment/gl-cor:uniqueID
elemanı UUID formatında olmalıdır.
- Dosya adına yazılan vkn/tckn
ile xbrli:identifier elemanına yazılan vkn/tckn aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- ds:SignatureValue zorunlu bir
elemandır.
- defterek:binaryObject elemanı
sadece yevmiye defterinde bulunabilir.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- ds:SignatureValue elemanı Id
niteliğine sahip olmalıdır.
- ds:SignedInfo/ds:Reference/ds:Transforms
elemanı zorunlu bir elemandır.
- ds:KeyInfo elemanı zorunlu bir
elemandır.
- ds:KeyInfo elemanı içerisindeki
ds:X509Data elemanı zorunlu bir elemandır.
- ds:Object elemanı zorunlu bir
elemandır.
- xades:SigningTime elemanı
zorunlu bir elemandır.
- xades:SigningCertificate
elemanı zorunlu bir elemandır
- ds:SignedInfo elamanı
içerisinde URI niteliği boşluğa("") eşit olan sadece bir tane
ds:Reference elemanının bulunmaldır.
- İmzalama işleminde kullanılacak
özet(hash) algoritması sha1 olmamalıdır.
- ds:X509Data elemanı
içerisindeki ds:X509Certificate elemanı zorunlu bir elemandır.
- ds:X509SubjectName elemanının
değeri boşluk olmamalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- xbrli:context zorunlu bir
elemandır.
- xbrli:unit zorunlu bir
elemandır.
- gl-cor:accountingEntries
zorunlu bir elemandır.
- xbrli:measure zorunlu bir
elemandır.
- xbrli:identifier elemanına 10
haneli vergi kimlik numarası ve ya 11 haneli TC kimlik numarası
yazılmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Gecersiz currency degeri: '$currency'.
- id'si iso4217 multicurrency kodlarından
birisi olan en fazla 1 xbrli:unit elemanı olabilir.
- xbrli:measure değeri (.) hatalıdır. xbrli:unit id'nin değeri parent::node()/@id olduğu için xbrli:measure
değeri concat('iso4217:',parent::node()/@id) olmalıdır.
- gl-muc:defaultCurrency değeri (/edefter:berat/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency) hatalıdır.
gl-muc:defaultCurrency elemanı varsa değeri xbrli:measure(.) ile aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:documentInfo zorunlu bir
elemandır.
- gl-cor:entityInformation
zorunlu bir elemandır.
- Vergi detayını temsil edecek
gl-cor:entryHeader elemanı sayısı 1 olmalıdır.
- Vergi detaysız beratlarda
gl-cor:entryHeader elemanı bulunmamalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:qualifierEntry zorunlu
bir elemandır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:entryHeader elemanının
ilk gl-cor:entryDetail elemanının gl-cor:lineNumber değeri 1 olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Dönem içi değişiklikleri temsil
eden gl-cor:entryHeader elemanının gl-cor:qualifierEntry değeri standard
olmalıdır.
- Dönem içi değişiklikleri temsil
eden gl-cor:entryDetail elemanı sayısı 10 olmalıdır.
- gl-cor:account/gl-cor:accountMainID=391,
gl-cor:debitCreditCode=D olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=391,
gl-cor:debitCreditCode=C olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=191,
gl-cor:debitCreditCode=D olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=191,
gl-cor:debitCreditCode=C olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=600,
gl-cor:debitCreditCode=D olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=600,
gl-cor:debitCreditCode=C olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=601,
gl-cor:debitCreditCode=D olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=601,
gl-cor:debitCreditCode=C olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=602,
gl-cor:debitCreditCode=D olan 1 gl-cor:entryDetail elemanı olmalıdır.
- gl-cor:account/gl-cor:accountMainID=602,
gl-cor:debitCreditCode=C olan 1 gl-cor:entryDetail elemanı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Dönem içi değişiklikleri temsil
eden gl-cor:entryDetail elemanlarının gl-cor:xbrlInfo/gl-cor:xbrlInclude
değeri period_change olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:lineNumber zorunlu bir
elemandır.
- gl-cor:lineNumber müteselsil
bir değere sahip olmalıdır.
- gl-cor:account zorunlu bir
elemandır.
- gl-cor:account elemanı
içerisinde gl-cor:accountMainID zorunlu bir elemandır ve en az 3 karakter
olmalıdır.
- gl-cor:account elemanı
içerisinde gl-cor:accountMainDescription zorunlu bir elemandır.
- gl-cor:amount zorunlu bir
elemandır.
- gl-cor:debitCreditCode zorunlu
bir elemandır.
- gl-cor:xbrlInfo/gl-cor:xbrlInclude
elemanı zorunlu bir elemandır.
- Vergi detayında hiçbir tutar
0'dan küçük olamaz.
- gl-cor:amount (gl-cor:amount) virgülden sonra 2 haneden
fazla olamaz.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:entriesType zorunlu bir
elemandır.
- gl-cor:entriesType elemanı
yevmiye defteri beratı için 'journal' değerini almalıdır.
- gl-cor:entriesType elemanı
kebir defteri beratı için 'ledger' değerini almalıdır.
- gl-cor:uniqueID zorunlu bir
elemandır.
- gl-cor:uniqueID elemanı yevmiye
defteri için 'YEV' değeri ile başlamalıdır.
- gl-cor:uniqueID elemanı yevmiye
defteri için 'KEB' değeri ile başlamalıdır.
- gl-cor:uniqueID elemanı 15
karakterden oluşmalıdır.
- gl-cor:creationDate zorunlu bir
elemandır.
- gl-cor:periodCoveredStart
zorunlu bir elemandır.
- gl-cor:periodCoveredEnd zorunlu
bir elemandır.
- gl-cor:periodCoveredEnd elemanı
gl-cor:periodCoveredStart elemanından büyük veya eşit olmalıdır.
- gl-cor:creationDate elemanı
gl-cor:periodCoveredEnd elemanından büyük ve ya eşit olmalıdır.
- gl-bus:sourceApplication zorunlu
bir elemandır ve değeri boşluk olmamalıdır.
- Dosya adındaki dönem ile
periodCoveredStart'daki dönem bilgisi aynı olmalıdır.
- gl-cor:periodCoveredStart
elemanındaki yıl bilgisi ile periodCoveredEnd elemanındaki yıl bilgisi
aynı olmalıdır.
- gl-cor:periodCoveredStart
elemanındaki ay bilgisi ile periodCoveredEnd elemanındaki ay bilgisi aynı
olmalıdır.
- gl-cor:uniqueID elemanındaki
dönem bilgisi ile gl-cor:periodCoveredStart elemanındaki dönem bilgisi
aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-bus:entityPhoneNumber
zorunlu bir elemandır.
- gl-bus:entityEmailAddressStructure
zorunlu bir elemandır.
- gl-bus:organizationIdentifiers
zorunlu bir elemandır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' olan bir tane gl-bus:organizationIdentifiers elemanı
bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Adı Soyadı' olan bir tane gl-bus:organizationIdentifiers elemanı
bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' veya 'Adı Soyadı' olan yalnızca bir tane
gl-bus:organizationIdentifiers elemanı bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' olan gl-bus:organizationIdentifiers elemanının
gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.
- gl-bus:organizationDescription
değeri 'Adı Soyadı' olan gl-bus:organizationIdentifiers elemanının
gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.
- Şube no ve şube adı birlikte
bulunmalıdır.
- Şube no veya şube adı birden
fazla olamaz.
- Şube no 4 haneli sayısal bir
değer olmalıdır.
- Şube adı değeri en az iki
karakter olmalıdır.
- gl-bus:organizationAddress
zorunlu bir elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationBuildingNumber zorunlu bir
elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressStreet zorunlu bir
elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressCity zorunlu bir elemandır.
- gl-bus:organizationAddress'
elemanı içerisindeki 'gl-bus:organizationAddressZipOrPostalCode zorunlu
bir elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressCountry zorunlu bir
elemandır.
- gl-bus:entityWebSite zorunlu
bir elemandır.
- gl-bus:businessDescription
zorunlu bir elemandır ve değeri boşluk olmamalıdır.
- gl-bus:fiscalYearStart zorunlu
bir elemandır.
- gl-bus:fiscalYearEnd zorunlu
bir elemandır.
- gl-bus:fiscalYearEnd elemanı
gl-bus:fiscalYearStart elemanından büyük olmalıdır.
- gl-bus:accountantInformation
zorunlu bir elemandır.
- gl-bus:accountantInformation
elemanı içerisindeki gl-bus:accountantName zorunlu bir elemandır ve değeri
boşluk olmamalıdır.
- gl-bus:accountantInformation
elemanı içerisindeki gl-bus:accountantEngagementTypeDescription zorunlu
bir elemandır ve değeri boşluk olmamalıdır.
- gl-bus:phoneNumber zorunlu bir
elemandır ve değeri boşluk olmamalıdır.
- gl-bus:entityEmailAddressStructure
elemanı içerisinde gl-bus:entityEmailAddress zorunlu bir elemandır ve ve
değeri boşluk olmamalıdır.
- gl-bus:entityWebSite elemanı
içerisindeki gl-bus:webSiteURL zorunlu bir elemandır.
Kebir Şematronu
The following table lists the namespaces and typical prefixes.
prefix
|
Namespace
IRI
|
gl-plt
|
http://www.xbrl.org/int/gl/plt/2010-04-16
|
gl-cor
|
http://www.xbrl.org/int/gl/cor/2006-10-25
|
gl-bus
|
http://www.xbrl.org/int/gl/bus/2006-10-25
|
gl-muc
|
http://www.xbrl.org/int/gl/muc/2006-10-25
|
xbrli
|
http://www.xbrl.org/2003/instance
|
ds
|
http://www.w3.org/2000/09/xmldsig#
|
xades
|
http://uri.etsi.org/01903/v1.3.2#
|
edefter
|
http://www.edefter.gov.tr
|
fct
|
localFunctions
|
defterek
|
http://www.edefter.gov.tr/ek
|
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Belge içerisindeki 'decimals'
nitelikleri 'INF' değerini almalıdır.
- Büyük defter dokümanı
edefter:defter ana elemanı ile başlamalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- xbrli:segment/gl-bus:numberOfEntries
sadece yevmiye beratında bulunabilir.
- xbrli:segment/gl-cor:uniqueID
sadece beratlarda bulunabilir.
- Dosya adına yazılan vkn/tckn
ile xbrli:identifier elemanına yazılan vkn/tckn aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- ds:Signature zorunlu bir
elemandır.
- defterek:binaryObject elemanı
sadece yevmiye defterinde bulunabilir.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- ds:SignedInfo/ds:Reference/ds:Transforms
elemanı zorunlu bir elemandır.
- ds:KeyInfo elemanı zorunlu bir
elemandır.
- ds:KeyInfo elemanı içerisindeki
ds:X509Data elemanı zorunlu bir elemandır.
- ds:Object elemanı zorunlu bir
elemandır.
- xades:SigningTime elemanı
zorunlu bir elemandır.
- xades:SigningCertificate
elemanı zorunlu bir elemandır
- ds:SignedInfo elamanı
içerisinde URI niteliği boşluğa("") eşit olan sadece bir tane
ds:Reference elemanının bulunmaldır.
- İmzalama işleminde kullanılacak
özet(hash) algoritması sha1 olmamalıdır.
- ds:X509Data elemanı
içerisindeki ds:X509Certificate elemanı zorunlu bir elemandır.
- ds:X509SubjectName elemanının
değeri boşluk olmamalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- xbrli:context zorunlu bir
elemandır.
- xbrli:unit zorunlu bir
elemandır.
- gl-cor:accountingEntries
zorunlu bir elemandır.
- xbrli:measure zorunlu bir
elemandır.
- xbrli:identifier elemanına 10
haneli vergi kimlik numarası ve ya 11 haneli TC kimlik numarası
yazılmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Gecersiz currency degeri: '$currency'.
- id'si iso4217 multicurrency
kodlarından birisi olan en fazla 1 xbrli:unit elemanı olabilir.
- xbrli:measure değeri (.) hatalıdır. xbrli:unit id'nin değeri parent::node()/@id olduğu için xbrli:measure
değeri concat('iso4217:',parent::node()/@id) olmalıdır.
- gl-muc:defaultCurrency değeri (/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency) hatalıdır. gl-muc:defaultCurrency
elemanı varsa değeri xbrli:measure(.) ile aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:documentInfo zorunlu bir
elemandır.
- gl-cor:entityInformation
zorunlu bir elemandır.
- Büyük defterde hesaplar, ana
hesap numarası bazında sıralı olmalıdır.
- Alt hesabı olmayan aynı
hesaplar aynı gl-cor:entryHeader elemanı içerisinde bulunmalıdır.
- Aynı alt hesaplar aynı
gl-cor:entryHeader elemanı içerisinde bulunmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:entriesType zorunlu bir
elemandır.
- gl-cor:entriesType elemanı
büyük defter için 'ledger' değerini almalıdır.
- gl-cor:uniqueID zorunlu bir
elemandır.
- gl-cor:uniqueID elemanı büyük
defter için 'KEB' değeri ile başlamalıdır.
- gl-cor:uniqueID elemanı 15 karakterden
oluşmalıdır.
- gl-cor:creationDate zorunlu bir
elemandır.
- gl-cor:periodCoveredStart
zorunlu bir elemandır.
- gl-cor:periodCoveredEnd zorunlu
bir elemandır.
- gl-cor:periodCoveredEnd elemanı
gl-cor:periodCoveredStart elemanından büyük ve ya eşit olmalıdır.
- gl-cor:creationDate elemanı
gl-cor:periodCoveredEnd elemanından büyük veya eşit olmalıdır.
- gl-bus:sourceApplication
zorunlu bir elemandır ve değeri boşluk olmamalıdır.
- Dosya adındaki dönem ile
periodCoveredStart'daki dönem bilgisi aynı olmalıdır.
- gl-cor:periodCoveredStart
elemanındaki yıl bilgisi ile periodCoveredEnd elemanındaki yıl bilgisi
aynı olmalıdır.
- gl-cor:periodCoveredStart
elemanındaki ay bilgisi ile periodCoveredEnd elemanındaki ay bilgisi aynı
olmalıdır.
- gl-cor:uniqueID elemanındaki
dönem bilgisi ile gl-cor:periodCoveredStart elemanındaki dönem bilgisi
aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-bus:entityPhoneNumber
zorunlu bir elemandır.
- gl-bus:entityEmailAddressStructure
zorunlu bir elemandır.
- gl-bus:organizationIdentifiers
zorunlu bir elemandır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' olan bir tane gl-bus:organizationIdentifiers elemanı
bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Adı Soyadı' olan bir tane gl-bus:organizationIdentifiers elemanı
bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' veya 'Adı Soyadı' olan yalnızca bir tane
gl-bus:organizationIdentifiers elemanı bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' olan gl-bus:organizationIdentifiers elemanının
gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.
- gl-bus:organizationDescription
değeri 'Adı Soyadı' olan gl-bus:organizationIdentifiers elemanının
gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.
- Şube no ve şube adı birlikte
bulunmalıdır.
- Şube no veya şube adı birden
fazla olamaz.
- Şube no 4 haneli sayısal bir
değer olmalıdır.
- Şube adı değeri en az iki
karakter olmalıdır.
- gl-bus:organizationAddress
zorunlu bir elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationBuildingNumber zorunlu bir
elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressStreet zorunlu bir
elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressCity zorunlu bir elemandır.
- gl-bus:organizationAddress'
elemanı içerisindeki 'gl-bus:organizationAddressZipOrPostalCode zorunlu
bir elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressCountry zorunlu bir
elemandır.
- gl-bus:entityWebSite zorunlu
bir elemandır.
- gl-bus:businessDescription
zorunlu bir elemandır ve değeri boşluk olmamalıdır.
- gl-bus:fiscalYearStart zorunlu
bir elemandır.
- gl-bus:fiscalYearEnd zorunlu
bir elemandır.
- gl-bus:fiscalYearEnd elemanı
gl-bus:fiscalYearStart elemanından büyük olmalıdır.
- gl-bus:accountantInformation
zorunlu bir elemandır.
- gl-bus:accountantInformation
elemanı içerisindeki gl-bus:accountantName zorunlu bir elemandır ve değeri
boşluk olmamalıdır.
- gl-bus:accountantInformation
elemanı içerisindeki gl-bus:accountantEngagementTypeDescription zorunlu
bir elemandır ve değeri boşluk olmamalıdır.
- gl-bus:phoneNumber zorunlu bir
elemandır ve değeri boşluk olmamalıdır.
- gl-bus:entityEmailAddressStructure
elemanı içerisinde gl-bus:entityEmailAddress zorunlu bir elemandır ve ve
değeri boşluk olmamalıdır.
- gl-bus:entityWebSite elemanı
içerisindeki gl-bus:webSiteURL zorunlu bir elemandır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-bus:totalDebit zorunlu bir
elemandır.
- gl-bus:totalCredit zorunlu bir
elemandır.
- gl-cor:entryHeader elemanı en
az bir gl-cor:entryDetail elemanı içermelidir.
- gl-bus:totalDebit değeri 0 ve
ya daha büyük bir değere eşit olmalıdır.
- gl-bus:totalCredit değeri 0 ve
ya daha büyük bir değere eşit olmalıdır.
- gl-bus:totalDebit ve
gl-bus:totalCredit değerlerinden en az biri 0 olmalıdır.
- gl-bus:totalDebit ile
gl-bus:totalCredit değerlerinin farkı, gl-cor:entryDetail elemanı
içerisindeki gl-cor:debitCreditCode değeri 'D' ve ya 'debit' olan
gl-cor:amount değerlerinin toplamı ile gl-cor:debitCreditCode değeri 'C'
ve ya 'credit' olan gl-cor:amount değerlerinin toplamının farkına eşit
olmalıdır.
- Buyuk defter için
gl-cor:entryDetail elemanı içersindeki gl-cor:accountMainID değerleri
birbirine eşit olmalıdır.
- Buyuk defter için
gl-cor:entryDetail elemanı içersindeki gl-cor:accountSubID değerleri
birbirine eşit olmalıdır.
- gl-bus:totalDebit (gl-bus:totalDebit) virgülden sonra 2 haneden
fazla olamaz.
- gl-bus:totalCredit (gl-bus:totalCredit) virgülden sonra 2 haneden
fazla olamaz.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:lineNumber zorunlu bir
elemandır.
- gl-cor:lineNumberCounter
zorunlu bir elemandır.
- gl-cor:entryDetail elemanı
içersindeki gl-cor:lineNumberCounter değeri bir önceki gl-cor:entryDetail
elemanları içerisindeki gl-cor:lineNumberCounter değerinden büyük ve ya
eşit olmalıdır.
- gl-cor:account zorunlu bir
elemandır.
- gl-cor:account elemanı
içerisinde gl-cor:accountMainID zorunlu bir elemandır ve en az 3 karakter
olmalıdır.
- gl-cor:account elemanı
içerisinde gl-cor:accountMainDescription zorunlu bir elemandır.
- gl-cor:accountSub elemanı
içerisinde gl-cor:accountSubID zorunlu bir elemandır.
- gl-cor:accountSub elemanı
içerisinde gl-cor:accountSubDescription zorunlu bir elemandır.
- gl-cor:accountSubID(alt hesap
numarası) elemanı gl-cor:accountMainID(ana hesap numarası) değeri ile
başlamalıdır.
- gl-cor:amount zorunlu bir
elemandır.
- gl-cor:amount elemanı 0'dan
büyük bir değer almalıdır.
- gl-muc:amountCurrency olması
durumunda gl-muc:defaultCurrency elemanı da bulunmalıdır
- gl-muc:amountOriginalAmount
elemanı olması durumunda gl-muc:amountOriginalExchangeRateDate elemanı da
bulunmalıdır.
- gl-muc:amountOriginalAmount
elemanı olması durumunda gl-muc:amountOriginalCurrency elemanı da
bulunmalıdır.
- gl-muc:amountOriginalCurrency
elemanı olması durumunda gl-muc:amountOriginalExchangeRate elemanı da
bulunmalıdır.
- gl-cor:debitCreditCode zorunlu
bir elemandır.
- gl-cor:postingDate zorunlu bir
elemandır.
- gl-cor:postingDate elemanın
değeri $periodCoveredStart ile $periodCoveredEnd değerleri arasında
olmalıdır.
- gl-cor:documentType eleman
değerinin 'other' olması durumunda gl-cor:documentTypeDescription zorunlu
bir elemandır ve değeri boşluk olmamalıdır.
- gl-cor:documentType elemanının
değeri 'other' olması durumunda gl-cor:documentNumber ve gl-cor:documentDate
elemanları da olmalıdır.
- gl-cor:documentType elemanının
değeri 'invoice' (fatura) olması durumunda gl-cor:documentNumber ve
gl-cor:documentDate elemanlarıda olmalıdır.
- gl-cor:documentType elemanının
değeri 'check' (çek) olması durumunda gl-cor:documentNumber ve
gl-cor:documentDate elemanlarıda olmalıdır.
- gl-cor:documentNumber elemanı
olması durumunda gl-cor:documentType elemanı bulunmalıdır.
- gl-cor:documentDate elemanı
olması durumunda gl-cor:documentType elemanı bulunmalıdır.
- En fazla 1 adet
gl-bus:measurable elemanı olabilir.
- gl-cor:amount (gl-cor:amount) virgülden sonra 2 haneden
fazla olamaz.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-bus:measurableCode elemanı
zorunludur.
- gl-bus:measurableCodeDescription
elemanı zorunludur.
- gl-bus:measurableQuantity
elemanı zorunludur.
- gl-bus:measurableQualifier
elemanı zorunludur.
- gl-bus:measurableUnitOfMeasure
elemanı zorunludur.
- gl-bus:measurableCostPerUnit
elemanı zorunludur.
- gl-bus:measurableCode
elemanının değeri "NT" olmalıdır.
- gl-bus:measurableCodeDescription
elemanının değeri "Maddi Olmayan Kalemler" olmalıdır.
- gl-bus:measurableQualifier
elemanının değeri "Fon" olmalıdır.
- gl-bus:measurableUnitOfMeasure
elemanının değeri "Adet" olmalıdır.
- gl-bus:measurableCostPerUnit *
gl-bus:measurableQuantity = gl-cor:amount olmalıdır.
Yevmiye Şematronu
The following table lists the namespaces and typical prefixes.
prefix
|
Namespace
IRI
|
gl-plt
|
http://www.xbrl.org/int/gl/plt/2010-04-16
|
gl-cor
|
http://www.xbrl.org/int/gl/cor/2006-10-25
|
gl-bus
|
http://www.xbrl.org/int/gl/bus/2006-10-25
|
gl-muc
|
http://www.xbrl.org/int/gl/muc/2006-10-25
|
xbrli
|
http://www.xbrl.org/2003/instance
|
ds
|
http://www.w3.org/2000/09/xmldsig#
|
xades
|
http://uri.etsi.org/01903/v1.3.2#
|
edefter
|
http://www.edefter.gov.tr
|
defterek
|
http://www.edefter.gov.tr/ek
|
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Belge içerisindeki 'decimals'
nitelikleri 'INF' değerini almalıdır.
- Yevmiye defteri dokumanı
edefter:defter ana elemanı ile başlamalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- xbrli:segment/gl-bus:numberOfEntries
elemanı sadece yevmiye beratında bulunabilir.
- xbrli:segment/gl-cor:uniqueID
elemanı sadece beratlarda bulunabilir.
- Dosya adına yazılan vkn/tckn
ile xbrli:identifier elemanına yazılan vkn/tckn aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- ds:Signature zorunlu bir
elemandır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- ds:SignedInfo/ds:Reference/ds:Transforms
elemanı zorunlu bir elemandır.
- ds:KeyInfo elemanı zorunlu bir
elemandır.
- ds:KeyInfo elemanı içerisindeki
ds:X509Data elemanı zorunlu bir elemandır.
- ds:Object elemanı zorunlu bir
elemandır.
- xades:SigningTime elemanı
zorunlu bir elemandır.
- xades:SigningCertificate
elemanı zorunlu bir elemandır
- ds:SignedInfo elamanı
içerisinde URI niteliği boşluğa("") eşit olan sadece bir tane
ds:Reference elemanının bulunmaldır.
- İmzalama işleminde kullanılacak
özet(hash) algoritması sha1 olmamalıdır.
- ds:X509Data elemanı
içerisindeki ds:X509Certificate elemanı zorunlu bir elemandır.
- ds:X509SubjectName elemanının
değeri boşluk olmamalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- xbrli:context zorunlu bir
elemandır.
- xbrli:unit zorunlu bir
elemandır.
- gl-cor:accountingEntries
zorunlu bir elemandır.
- xbrli:measure zorunlu bir
elemandır.
- iso4217 kod listesindeki
değerlerden birini içeren en az 1 measure değeri bulunmalıdır.
- xbrli:identifier elemanına 10
haneli vergi kimlik numarası ve ya 11 haneli TC kimlik numarası
yazılmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- Gecersiz currency degeri: '$currency'.
- id'si iso4217 multicurrency
kodlarından birisi olan en fazla 1 xbrli:unit elemanı olabilir.
- xbrli:measure değeri (.) hatalıdır. xbrli:unit id'nin değeri parent::node()/@id olduğu için xbrli:measure
değeri concat('iso4217:',parent::node()/@id) olmalıdır.
- gl-muc:defaultCurrency değeri (/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency) hatalıdır.
gl-muc:defaultCurrency elemanı varsa değeri xbrli:measure(.) ile aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:documentInfo zorunlu bir
elemandır.
- gl-cor:entityInformation
zorunlu bir elemandır.
- Tüm ayı kapsayan bir defterde
en az 1 gl-cor:entryHeader elemanı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:entriesType zorunlu bir
elemandır.
- gl-cor:entriesType elemanı
yevmiye defteri için 'journal' değerini almalıdır.
- gl-cor:uniqueID zorunlu bir
elemandır.
- gl-cor:uniqueID elemanı yevmiye
defteri için 'YEV' değeri ile başlamalıdır.
- gl-cor:uniqueID elemanı 15
karakterden oluşmalıdır.
- gl-cor:creationDate zorunlu bir
elemandır.
- gl-cor:periodCoveredStart
zorunlu bir elemandır.
- gl-cor:periodCoveredEnd zorunlu
bir elemandır.
- gl-cor:periodCoveredEnd elemanı
gl-cor:periodCoveredStart elemanından büyük ve ya eşit olmalıdır.
- gl-cor:creationDate elemanı
gl-cor:periodCoveredEnd elemanından büyük veya eşit olmalıdır.
- gl-bus:sourceApplication
zorunlu bir elemandır ve değeri boşluk olmamalıdır.
- Dosya adındaki dönem ile
periodCoveredStart'daki dönem bilgisi aynı olmalıdır.
- gl-cor:periodCoveredStart
elemanındaki yıl bilgisi ile periodCoveredEnd elemanındaki yıl bilgisi
aynı olmalıdır.
- gl-cor:periodCoveredStart
elemanındaki ay bilgisi ile periodCoveredEnd elemanındaki ay bilgisi aynı
olmalıdır.
- gl-cor:uniqueID elemanındaki
dönem bilgisi ile gl-cor:periodCoveredStart elemanındaki dönem bilgisi
aynı olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-bus:entityPhoneNumber
zorunlu bir elemandır.
- gl-bus:entityEmailAddressStructure
zorunlu bir elemandır.
- gl-bus:organizationIdentifiers
zorunlu bir elemandır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' olan bir tane gl-bus:organizationIdentifiers elemanı
bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Adı Soyadı' olan bir tane gl-bus:organizationIdentifiers elemanı
bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' veya 'Adı Soyadı' olan yalnızca bir tane gl-bus:organizationIdentifiers
elemanı bulunmalıdır.
- gl-bus:organizationDescription
değeri 'Kurum Unvanı' olan gl-bus:organizationIdentifiers elemanının
gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.
- gl-bus:organizationDescription
değeri 'Adı Soyadı' olan gl-bus:organizationIdentifiers elemanının
gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.
- Şube no ve şube adı birlikte
bulunmalıdır.
- Şube no veya şube adı birden
fazla olamaz.
- Şube no 4 haneli sayısal bir değer
olmalıdır.
- Şube adı değeri en az iki
karakter olmalıdır.
- gl-bus:organizationAddress
zorunlu bir elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationBuildingNumber zorunlu bir
elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressStreet zorunlu bir
elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressCity zorunlu bir elemandır.
- gl-bus:organizationAddress'
elemanı içerisindeki 'gl-bus:organizationAddressZipOrPostalCode zorunlu
bir elemandır.
- gl-bus:organizationAddress
elemanı içerisindeki gl-bus:organizationAddressCountry zorunlu bir
elemandır.
- gl-bus:entityWebSite zorunlu
bir elemandır.
- gl-bus:businessDescription
zorunlu bir elemandır ve değeri boşluk olmamalıdır.
- gl-bus:fiscalYearStart zorunlu
bir elemandır.
- gl-bus:fiscalYearEnd zorunlu
bir elemandır.
- gl-bus:fiscalYearEnd elemanı
gl-bus:fiscalYearStart elemanından büyük olmalıdır.
- gl-bus:accountantInformation
zorunlu bir elemandır.
- gl-bus:accountantInformation
elemanı içerisindeki gl-bus:accountantName zorunlu bir elemandır ve değeri
boşluk olmamalıdır.
- gl-bus:accountantInformation
elemanı içerisindeki gl-bus:accountantEngagementTypeDescription zorunlu
bir elemandır ve değeri boşluk olmamalıdır.
- gl-bus:phoneNumber zorunlu bir
elemandır ve değeri boşluk olmamalıdır.
- gl-bus:entityEmailAddressStructure
elemanı içerisinde gl-bus:entityEmailAddress zorunlu bir elemandır ve ve
değeri boşluk olmamalıdır.
- gl-bus:entityWebSite elemanı
içerisindeki gl-bus:webSiteURL zorunlu bir elemandır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:entryNumberCounter
müteselsil bir değere sahip olmalıdır.
- Yevmiye defteri tarihe göre
sıralı olmalıdır.
- gl-cor:enteredBy zorunlu bir
elemandır.
- gl-cor:enteredBy elemanı en az
iki karakter olmamalıdır.
- gl-cor:enteredDate zorunlu bir
elemandır.
- gl-cor:enteredDate elemanın
değeri $periodCoveredStart ile $periodCoveredEnd değerleri arasında
olmalıdır.
- gl-bus:totalDebit zorunlu bir
elemandır.
- gl-bus:totalCredit zorunlu bir
elemandır.
- gl-cor:entryNumberCounter
zorunlu bir elemandır.
- gl-cor:entryHeader elemanı en
az iki gl-cor:entryDetail elemanı içermelidir.
- gl-bus:totalDebit elemanının
değeri gl-bus:totalCredit elemanının değerine eşit olmalıdır.
- gl-bus:totalDebit değeri,
gl-cor:entryDetail elemanı içerisindeki gl-cor:debitCreditCode değeri 'D'
ve ya 'debit' olan gl-cor:amount değelerinin toplamına eşit olmalıdır.
- gl-bus:totalCredit değeri,
gl-cor:entryDetail elemanı içerisindeki gl-cor:debitCreditCode değeri 'C'
ve ya 'credit' olan gl-cor:amount değerlerinin toplamına eşit olmalıdır.
- gl-bus:totalDebit (gl-bus:totalDebit ) virgülden sonra 2
haneden fazla olamaz.
- gl-bus:totalCredit (gl-bus:totalCredit ) virgülden sonra 2
haneden fazla olamaz.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-cor:lineNumber zorunlu bir
elemandır.
- gl-cor:lineNumber müteselsil
bir değere sahip olmalıdır.
- gl-cor:lineNumberCounter
zorunlu bir elemandır.
- gl-cor:lineNumberCounter
elemanının değeri bir üst düzeydeki gl-cor:entryNumberCounter elemanının
değerine eşit olmalıdır.
- gl-cor:account zorunlu bir
elemandır.
- gl-cor:account elemanı
içerisinde gl-cor:accountMainID zorunlu bir elemandır ve en az 3 karakter
olmalıdır.
- gl-cor:account elemanı
içerisinde gl-cor:accountMainDescription zorunlu bir elemandır.
- gl-cor:accountSub elemanı
içerisinde gl-cor:accountSubID zorunlu bir elemandır.
- gl-cor:accountSub elemanı
içerisinde gl-cor:accountSubDescription zorunlu bir elemandır.
- gl-cor:accountSubID(alt hesap
numarası) elemanı gl-cor:accountMainID(ana hesap numarası) değeri ile
başlamalıdır.
- gl-cor:amount zorunlu bir
elemandır.
- gl-cor:amount elemanı 0'dan
büyük bir değer almalıdır.
- gl-muc:amountCurrency olması
durumunda gl-muc:defaultCurrency elemanı da bulunmalıdır
- gl-muc:amountOriginalAmount
elemanı olması durumunda gl-muc:amountOriginalExchangeRateDate elemanı da
bulunmalıdır.
- gl-muc:amountOriginalAmount
elemanı olması durumunda gl-muc:amountOriginalCurrency elemanı da
bulunmalıdır.
- gl-muc:amountOriginalCurrency
elemanı olması durumunda gl-muc:amountOriginalExchangeRate elemanı da
bulunmalıdır.
- gl-cor:debitCreditCode zorunlu
bir elemandır.
- gl-cor:postingDate zorunlu bir
elemandır.
- gl-cor:postingDate elemanının
değeri bir üst düzeydeki gl-cor:enteredDate elemanının değerine eşit olmalıdır.
- gl-cor:documentType eleman
değerinin 'other' olması durumunda gl-cor:documentTypeDescription zorunlu
bir elemandır ve bu elemanın değeri boşluk olmamalıdır.
- gl-cor:documentType elemanının
değeri 'other' olması durumunda gl-cor:documentNumber ve gl-cor:documentDate
elemanları da olmalıdır.
- gl-cor:documentType elemanının
değeri 'invoice' (fatura) olması durumunda gl-cor:documentNumber ve
gl-cor:documentDate elemanları da olmalıdır.
- gl-cor:documentType elemanının
değeri 'check' (çek) olması durumunda gl-cor:documentNumber ve
gl-cor:documentDate elemanları da olmalıdır.
- gl-cor:documentNumber elemanı
olması durumunda gl-cor:documentType elemanı bulunmalıdır.
- gl-cor:documentDate elemanı
olması durumunda gl-cor:documentType elemanı bulunmalıdır.
- gl-cor:documentReference
elemanının değeri bir üst düzeydeki gl-cor:entryNumber elemanının değerine
eşit olmalıdır.
- gl-bus:paymentMethod elemanı
var ise değeri boşluk olmamalıdır.
- En fazla 1 adet
gl-bus:measurable elemanı olabilir.
- gl-cor:amount (gl-cor:amount) virgülden sonra 2 haneden
fazla olamaz.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- gl-bus:measurableCode elemanı
zorunludur.
- gl-bus:measurableCodeDescription
elemanı zorunludur.
- gl-bus:measurableQuantity
elemanı zorunludur.
- gl-bus:measurableQualifier
elemanı zorunludur.
- gl-bus:measurableUnitOfMeasure
elemanı zorunludur.
- gl-bus:measurableCostPerUnit
elemanı zorunludur.
- gl-bus:measurableCode
elemanının değeri "NT" olmalıdır.
- gl-bus:measurableCodeDescription
elemanının değeri "Maddi Olmayan Kalemler" olmalıdır.
- gl-bus:measurableQualifier
elemanının değeri "Fon" olmalıdır.
- gl-bus:measurableUnitOfMeasure
elemanının değeri "Adet" olmalıdır.
- gl-bus:measurableCostPerUnit *
gl-bus:measurableQuantity = gl-cor:amount olmalıdır.
İlgili belge aşağıdaki kurallara uygun olmalıdır:
- defterek:binaryObject
elemanının mimeCode niteliği 'application/pdf' olmalıdır.
- defterek:binaryObject
elemanının filename niteliğinin son 4 karakteri '.pdf' olmalıdır.
- defterek:binaryObject
elemanının değeri boşluk olamaz.