E-fatura XML görüntüleme, UBL-TR biçimindeki fatura dosyasını okunabilir bir fatura görüntüsüne dönüştürmek ya da içindeki etiketleri doğrudan okumak anlamına gelir. XML dosyasını tarayıcıda veya not defterinde açtığınızda ham veri görürsünüz; faturayı alışık olduğunuz düzende görmek için dosyanın içine gömülü XSLT şablonunu uygulayan bir görüntüleyici, entegratör paneli ya da e-belge destekli bir ön muhasebe yazılımı gerekir. Bu yazıda XML dosyasının yapısını, hangi etiketin neyi gösterdiğini ve dosya açılmadığında nelere bakmanız gerektiğini anlatıyoruz.
Hangi programla açılacağına odaklanan kısa bir karşılaştırma arıyorsanız e-fatura görüntüleyici rehberimize göz atabilirsiniz; bu yazı ise dosyanın içine bakmayı ve onu doğru yorumlamayı ele alıyor.
E-fatura XML dosyası nedir, neden kod gibi görünür?
Türkiye'de e-fatura, uluslararası UBL (Universal Business Language) standardının Türkiye'ye uyarlanmış hâli olan UBL-TR biçiminde düzenlenir. Bu biçimde fatura bir kâğıt görüntüsü değil, yapılandırılmış bir veri dosyasıdır. Satıcı, alıcı, tarih, mal ve hizmet satırları, vergiler ve toplamlar ayrı ayrı etiketlerin içinde tutulur.
Bu yapının amacı, faturanın insan gözünden önce yazılımlar tarafından okunabilmesidir. Alıcının sistemi XML'i aldığında satırları, KDV tutarını ve ödenecek toplamı elle girmeden işleyebilir. Bedeli şudur: dosyayı herhangi bir metin aracıyla açtığınızda karşınıza açılı parantezlerle dolu, uzun bir metin çıkar.
E-fatura XML dosyasında genellikle üç katman bulunur:
- Fatura verisi: Numara, tarih, taraflar, satırlar, vergiler ve toplamlar.
- Görsel şablon (XSLT): Faturanın ekranda ve çıktıda nasıl görüneceğini tanımlayan, dosyanın içine kodlanmış biçimde eklenmiş şablon.
- Elektronik imza: Belgeyi düzenleyenin mali mührü ya da elektronik imzasıyla oluşturulan, belgenin değiştirilmediğini doğrulamaya yarayan imza bloğu.
Okunabilir bir fatura görmek için veri ile şablonun birleştirilmesi gerekir. Görüntüleme araçlarının yaptığı iş temelde budur.
E-fatura XML görüntüleme yöntemleri
XML dosyasını açmanın birden fazla yolu vardır ve her birinin size gösterdiği şey farklıdır. Aşağıdaki tablo, sık kullanılan yöntemleri ne işe yaradıklarına göre karşılaştırır.
| Yöntem | Ne görürsünüz? | Ne zaman işe yarar? | Sınırı |
|---|---|---|---|
| Web tarayıcısı | Etiketlerin ağaç görünümü | Dosyanın bozuk olup olmadığını hızlıca anlamak | Fatura görünümü oluşmaz; gömülü şablon uygulanmaz |
| Metin editörü | Ham XML metni | Belirli bir etiketi aramak (ör. ETTN, tutar) | Uzun dosyalarda okumak zordur |
| E-fatura görüntüleme programı | Şablon uygulanmış fatura görüntüsü | Tek tek gelen dosyaları okumak, yazdırmak | Kayıt, yanıt ve muhasebe aktarımı yapmaz |
| Özel entegratör paneli | Gelen ve giden faturaların listesi ve görüntüsü | Faturayı kaynağında görmek, yanıt vermek | Hesabınızın olduğu entegratörle sınırlıdır |
| E-belge destekli ön muhasebe yazılımı | Fatura görüntüsü ve kayda dönüştürülmüş veri | Görüntüleme, kontrol ve gider kaydını tek yerde yapmak | Yazılımın e-belge entegrasyonu gerekir |
Tarayıcıda açılan XML'in neden fatura gibi görünmediği sık sorulur. Tarayıcılar yalnızca dosyanın başında bağlantı olarak belirtilmiş bir stil şablonunu uygulayabilir. E-faturada ise şablon dışarıdan bağlanmaz; dosyanın içine Base64 ile kodlanmış olarak gömülür. Tarayıcı bu gömülü şablonu çözmediği için size yalnızca veri ağacını gösterir.
XML'i elle okumak: Hangi etiket neyi gösterir?
Bir görüntüleyiciniz olmasa bile XML'i metin editöründe açıp temel bilgileri kendiniz bulabilirsiniz. UBL-TR'de etiketler çoğunlukla iki ön ekle başlar: cbc: tek bir değer taşıyan temel bileşenleri, cac: ise içinde başka etiketler barındıran toplu bileşenleri ifade eder.
| Etiket | Ne anlatır? | Kontrol ipucu |
|---|---|---|
cbc:ProfileID |
Fatura senaryosu (ör. TEMELFATURA, TICARIFATURA, EARSIVFATURA, IHRACAT) | Size gelen senaryo, aranızdaki ticari ilişkiye uygun mu? |
cbc:ID |
Fatura numarası | Genellikle 3 karakterlik ön ek, 4 haneli yıl ve 9 haneli sıra numarasından oluşan 16 karakter |
cbc:UUID |
ETTN (Evrensel Tekil Tanımlama Numarası) | Sorgulamada ve itirazda bu numara kullanılır |
cbc:IssueDate / cbc:IssueTime |
Düzenleme tarihi ve saati | Teslim ya da sevk tarihiyle tutarlılığına bakın |
cbc:InvoiceTypeCode |
Fatura tipi (ör. SATIS, IADE, TEVKIFAT, ISTISNA) | Tip, satırlardaki vergi uygulamasıyla uyumlu olmalı |
cbc:DocumentCurrencyCode |
Belge para birimi | Dövizli faturada kur bilgisi ayrıca yer alır |
cac:AccountingSupplierParty |
Satıcı bilgileri | İçindeki VKN veya TCKN değeri tedarikçinizle eşleşmeli |
cac:AccountingCustomerParty |
Alıcı bilgileri | Unvan ve vergi numaranızın doğru yazıldığını kontrol edin |
cac:InvoiceLine |
Her bir mal veya hizmet satırı | Miktar, birim, birim fiyat ve satır tutarı |
cac:TaxTotal |
Vergi toplamları ve oranları | Her oran için ayrı alt toplam bulunur |
cac:WithholdingTaxTotal |
Tevkifat bilgisi | Tevkifatlı faturalarda görülür |
cac:LegalMonetaryTotal |
Mal hizmet toplamı, vergiler hariç ve dâhil tutar, ödenecek tutar | cbc:PayableAmount ödenecek nihai tutardır |
cbc:Note |
Serbest açıklamalar | Yazıyla tutar, ödeme notu gibi bilgiler burada olabilir |
Bunların yanında cac:OrderReference sipariş numarasını, cac:DespatchDocumentReference ise faturaya bağlanan irsaliyeyi gösterir. Malın sevkiyatını e-irsaliye ile takip ediyorsanız bu alan, fatura ile irsaliyeyi eşleştirmenin en hızlı yoludur.
Metin editöründe hızlı arama
Uzun bir XML dosyasında aradığınız bilgiyi bulmak için editörün arama özelliğini kullanmak yeterlidir. ETTN için UUID, ödenecek tutar için PayableAmount, satıcının vergi numarası için schemeID="VKN" ya da schemeID="TCKN" ifadesini aratabilirsiniz. Bu yöntem, görüntüde gördüğünüz bir değerin veride de aynı olup olmadığını teyit etmek için özellikle kullanışlıdır.
Gömülü XSLT şablonu ve görsel farklılıklar
Aynı tedarikçiden gelen iki faturanın farklı görünmesi ya da iki farklı programda aynı faturanın farklı düzende açılması kafa karıştırabilir. Bunun nedeni görsel düzenin tamamen XSLT şablonuna bağlı olmasıdır.
Şablon genellikle cac:AdditionalDocumentReference etiketinin altında, cbc:EmbeddedDocumentBinaryObject içinde kodlanmış metin olarak bulunur. Düzenleyen firma logosunu, renklerini ve alanların yerleşimini bu şablonla belirler. Görüntüleme programı şablonu çözer, veriye uygular ve size fatura görüntüsünü sunar.
Burada bilinmesi gereken önemli bir ayrım var:
- Görünüm şablona bağlıdır, veri değildir. Şablon hatalı hazırlanmışsa bir alan görüntüde eksik ya da yanlış yerde çıkabilir; ancak veri katmanında doğru değer bulunabilir.
- Şablon yoksa varsayılan görünüm kullanılır. Bazı programlar gömülü şablon bulamadığında kendi standart şablonunu uygular. Bu durumda fatura sade ama okunabilir görünür.
- Tutarsızlıkta esas alınan veridir. Görüntüdeki bir tutar ile XML içindeki değer farklıysa, durumu düzenleyen firmayla ve gerekirse mali müşavirinizle değerlendirmeniz gerekir.
Kısacası, görüntü kontrol için pratik bir araçtır; ama şüpheli bir durumda etiketlerin içine bakmak daha güvenilir sonuç verir.
E-arşiv fatura XML görüntüleme ve PDF ile farkı
E-arşiv fatura da UBL-TR biçiminde, XML olarak oluşturulur. Farkı, alıcıya iletilme biçimindedir. E-fatura, iki kayıtlı kullanıcı arasında sistem üzerinden XML olarak ulaşır; e-arşiv fatura ise e-fatura sistemine kayıtlı olmayan alıcılara çoğunlukla e-posta ile PDF ya da HTML görüntüsü olarak gönderilir veya bir bağlantıyla paylaşılır.
Bu nedenle gelen e-arşiv fatura PDF görüntüleme için ek bir programa ihtiyaç duymazsınız; standart bir PDF okuyucu yeterlidir. Ancak PDF, belgenin yalnızca görsel temsilidir. İçindeki satır ve vergi verisini bir yazılıma otomatik aktarmak istiyorsanız XML dosyasına ihtiyaç duyarsınız. Bazı düzenleyiciler e-postaya XML'i de ekler; eklemeyenlerden talep edebilirsiniz.
E-arşiv fatura XML görüntüleme süreci e-faturayla aynıdır: Dosyadaki cbc:ProfileID değeri EARSIVFATURA olur, geri kalan etiket yapısı büyük ölçüde benzerdir. Aynı görüntüleyici veya yazılım her iki türü de açabilir.
| Biçim | Ne içerir? | Ne için uygun? |
|---|---|---|
| XML | Yapılandırılmış veri, gömülü şablon ve imza | Yazılıma aktarma, doğrulama, saklama |
| PDF / HTML | Faturanın görsel çıktısı | Okuma, yazdırma, hızlı paylaşım |
XML dosyası açılmıyorsa: Sık karşılaşılan sorunlar
Dosyanın hiç açılmaması ya da hata vermesi genellikle birkaç tipik nedenden kaynaklanır. Aşağıdaki sırayla kontrol etmek çoğu sorunu çözer:
- Dosya sıkıştırılmış olabilir. Entegratörlerden indirilen faturalar çoğu zaman ZIP içinde gelir. Önce arşivi açın, içindeki
.xmluzantılı dosyayla çalışın. - Uzantı değişmiş olabilir. E-posta ya da indirme sırasında dosya adı bozulduysa uzantıyı kontrol edin. İçeriği
<?xmlile başlayan bir dosya XML'dir. - Karakter kodlaması sorunu. Türkçe karakterler bozuk görünüyorsa dosya UTF-8 dışında bir kodlamayla açılmış olabilir. Metin editöründe kodlamayı UTF-8 seçerek yeniden açın.
- Dosya eksik indirilmiş olabilir. Tarayıcı dosyanın sonunda kapanmamış bir etiket hatası veriyorsa indirme yarıda kesilmiştir. Faturayı kaynağından tekrar indirin.
- Şablon çözülemiyor olabilir. Program veriyi okuyup görüntü oluşturamıyorsa gömülü şablonda sorun vardır. Varsayılan görünümle açmayı deneyin ya da düzenleyenden yeni görüntü isteyin.
- Dosya üzerinde değişiklik yapılmış olabilir. XML'i editörde açıp kaydetmek bile, bir karakter değişmişse imza doğrulamasını bozabilir. Orijinal dosyayı her zaman değiştirmeden saklayın, inceleme için kopyasıyla çalışın.
Belgenin gerçekten sistemde kayıtlı olup olmadığından şüpheleniyorsanız ETTN ile sorgulama yapmak en doğru adımdır. Resmî bilgilendirmeler ve e-belge uygulamalarının güncel durumu için Gelir İdaresi Başkanlığı ve e-Belge sayfalarını kontrol edebilirsiniz; araçlar ve yöntemler zaman içinde değişebilir.
Görüntülemenin ötesi: Kontrol, yanıt ve kayıt
XML'i açıp okumak işin yalnızca ilk adımıdır. Gelen bir faturada asıl sorulması gerekenler şunlardır: Satıcı ve alıcı bilgileri doğru mu, senaryo ve tip uygun mu, satırlar siparişle örtüşüyor mu, vergi hesapları tutarlı mı? Bu kontrolleri sistemli biçimde yapmak için e-fatura kontrol rehberimizdeki adımları izleyebilirsiniz.
Her faturayı ayrı ayrı indirip bir programda açmak, işlem sayısı arttıkça zaman kaybına ve gözden kaçan hatalara yol açar. Tedarikçilerinizden gelen faturaları dosya indirmeden görmek için gelen e-faturalar modülümüz faturayı panelde görüntülemenize, ticari faturalarda kabul ya da ret yanıtı vermenize ve onayladığınız faturayı gider kaydına aktarmanıza imkân tanır. Böylece XML'deki satır ve vergi verileri sizin yeniden yazmanıza gerek kalmadan kayda dönüşür; kaydı siz kontrol edip onaylarsınız.
Hangi paketin e-belge özelliklerini kapsadığını ve güncel ücretleri paketler ve fiyatlar sayfasında görebilirsiniz.
Saklama tarafında genel kabul, elektronik belgenin aslının XML dosyası olduğu, PDF'in ise bunun bir görüntüsü olduğudur. Saklama yükümlülüğünün ayrıntıları ve süreleri işletmenizin durumuna göre değerlendirilmelidir; bu konuda mali müşavirinizden destek almanız önerilir.
Sonuç
E-fatura XML dosyası; veri, gömülü görsel şablon ve imzadan oluşan bir pakettir. Tarayıcı ve metin editörü ham veriyi gösterir, görüntüleyiciler şablonu uygulayarak fatura görünümü üretir, e-belge destekli yazılımlar ise görüntülemeyi kontrol ve kayıtla birleştirir. Şüpheli bir durumda görüntüye değil etiketlere bakmak, orijinal dosyayı değiştirmeden saklamak ve kişisel durumunuz için mali müşavirinize danışmak en sağlıklı yoldur. Gelen faturalarınızı tek panelde görüntüleyip kayda dönüştürmek için gelen e-faturalar sayfamızı inceleyebilirsiniz.