Bir mal ya da hizmet satın aldınız, karşı taraf faturayı e-posta ile gönderdi. Ekte .xml uzantılı bir dosya var. Çift tıklıyorsunuz: ya hiçbir şey olmuyor ya tarayıcı bir etiket yığını gösteriyor. Telefonda ise dosya hiç açılmıyor.
Bu yazı üç şeyi anlatıyor: faturanın aslının neden XML olduğunu, devletin verdiği görüntüleyicinin neden çalışmadığını, ve Kasım 2026'da bu işin neden daha da zorlaşacağını. Anlatılanların çoğu tahmin değil: e-Fatura görüntüleyiciyi yazarken gerçek UBL-TR dosyaları açıldı ve rakip araçların kaynak kodu okundu.
Faturanın aslı XML'dir, PDF değil
Kağıt faturanın yerini alan şey bir görüntü değil, veri. e-Fatura ve e-Arşiv belgeleri UBL-TR denen uluslararası bir biçimin Türkiye uyarlamasıyla üretiliyor: satıcı, alıcı, her kalem, her vergi ayrı ayrı etiketlenmiş hâlde duruyor.
Bunun pratik sonucu şu: hukuken geçerli olan XML'in kendisidir. Size gönderilen ya da portaldan indirdiğiniz PDF, o XML'in bir çıktısıdır, okumak için üretilmiş bir görünüm. Muhasebe kaydında ve saklamada esas olan XML olduğu için, arşivinizde PDF değil XML durmalı.
XML'i insan gözüne uygun hâle getiren şey ise faturanın içinde taşınıyor: çoğu fatura kendi görsel şablonunu (XSLT) base64 kodlu olarak gövdesinde barındırıyor. Yani dosya hem veriyi hem de "bu veri nasıl görünmeli" bilgisini birlikte taşıyor.
GİB'in görüntüleyicisi neden açılmıyor?
Gelir İdaresi Başkanlığı bu dosyaları açmak için bir program yayımlıyor ve o program Java ile yazılmış bir masaüstü uygulaması. İnsanların aradığı şeyler bunu olduğu gibi anlatıyor; aşağıdakiler gerçek arama tamamlamaları:
- "e fatura görüntüleyici java ayarları"
- "e fatura görüntüleyici application blocked by java security"
- "e fatura görüntüleyici jnlp"
- "e arşiv fatura telefonda açılmıyor"
- "e fatura görüntüleyici online"
Sorun kullanıcıda değil: tarayıcılar Java eklentisi desteğini yıllar önce kaldırdı, işletim sistemleri imzasız Java uygulamalarını engelliyor ve telefonda Java masaüstü uygulaması diye bir şey zaten yok. Fatura elinizde duruyor ama onu açacak araç çalışmıyor.
Kasım 2026: tarayıcılar XSLT'yi kaldırıyor
Şimdi işin az bilinen kısmı. Faturayı okunur hâle getiren şablonun teknolojisi XSLT ve tarayıcılar bu desteği kaldırıyor:
- Chromium 158. XSLT tamamen kaldırılıyor, 17 Kasım 2026. Uyarılar 143. sürümde başladı.
- Firefox ve WebKit (Safari) de aynı yönde niyet açıkladı.
Gerekçe güvenlik: XSLT motorları eski, karmaşık ve uzun süredir güvenlik açığı kaynağı. Ama sonucu şu: faturanın kendi şablonuna dayanarak onu ekrana basan her araç o tarihte çalışmayı bırakacak. Bugün bulacağınız çevrimiçi görüntüleyicilerin çoğu tam olarak bunu yapıyor, kaynak kodlarında tarayıcının yerleşik XSLT işlemcisi çağrılıyor.
Bunun bir yolu var: şablona hiç dokunmamak. Faturanın alanlarını (satıcı, alıcı, kalemler, vergiler, toplamlar) doğrudan okuyup dökümü kendiniz üretirseniz, tarayıcının XSLT desteği olsa da olmasa da sonuç değişmiyor. Bizim araç bu yolu seçti; bedeli, görünümün faturanın orijinal tasarımı olmaması.
Dosyayı bir siteye yüklemenin bedeli
Faturayı açmanın en kolay yolu bir çevrimiçi görüntüleyiciye yüklemek gibi görünüyor. Ama fatura ticari sırdır: kime sattığınız, ne sattığınız, kaça sattığınız, vergi numaranız ve çoğu zaman alıcının adresi yazılıdır. Bir dosya yükleme kutusuna bıraktığınızda bu bilgilerin nereye gittiğini ve ne kadar durduğunu bilemezsiniz.
İşin sinsi tarafı, "tarayıcıda çalışır" diyen araçların bir kısmının bile çalışmak için üçüncü taraf sunuculardan kod indirmesi. Belgeniz gitmiyor olabilir ama sayfa her açılışta başka bir şirketin sunucusuna istek atıyor. Bu sitede bu bilinçli olarak yapılmıyor: kullanılan her parça kendi sunucumuzdan geliyor ve e-Fatura görüntüleyici açıldıktan sonra internet bağlantınızı kesip dosyayı bırakabilirsiniz, çalışmaya devam eder.
Elinizdeki dosyayı bugün nasıl açarsınız?
Faturayı e-postadan ya da portaldan indirin ve görüntüleyiciye bırakın. Dosya bir zarf (.zip) içindeyse açmanız gerekmiyor; içinde imza ve şablon da bulunsa fatura dosyası içeriğine bakılarak seçiliyor.
Ekranda satıcı, alıcı, kalemler, vergiler ve ödenecek tutar tablo hâlinde geliyor. İki noktaya dikkat edin:
- Tutarlar yeniden hesaplanmıyor. Ekrandaki her rakam belgede yazan rakam. Bu bilinçli: geçerli faturalarda kuruş düzeyinde yuvarlama farkları olabiliyor ve "toplam tutmuyor" uyarısı yanlış alarm üretirdi.
- Ham XML sekmesi her zaman açık. Şüphelendiğiniz bir rakamı kaynağında görebilirsiniz.
Fatura üzerindeki KDV ya da tevkifat paylarını ayrıca hesaplamanız gerekiyorsa KDV ve tevkifat hesaplayıcısı aynı mantıkla çalışıyor: sayı üretiyor, iddia etmiyor.
Açılmayan dosyalar
Her .xml fatura değil. e-İrsaliye, e-Müstahsil makbuzu ve özellikle e-Defter berat dosyaları farklı biçimlerdir, sonuncusu XBRL GL denen bambaşka bir yapıyı kullanır. Görüntüleyici bunları tanıyıp "desteklenmiyor" diyor. Yarım bir tablo üretip sizi yanıltmaktansa açıkça reddetmek, bu sitedeki her araçta izlenen kural.
Adliye tarafında benzer bir dert UYAP'ın .udf dosyalarında yaşanıyor; onun için ayrı bir yazı var: UDF dosyası nedir, programsız nasıl açılır.