Tedarikçinizden gelen e-Fatura'yı indirdiniz, elinizde .xml uzantılı bir dosya var. Çift tıkladığınızda ya tarayıcıda okunması imkânsız bir kod yığını açılıyor ya da Windows “bu dosyayı nasıl açmak istiyorsunuz?” diye soruyor. Bu rehber XML faturayı okumanın ve özellikle yüzlercesini tek Excel tablosuna çevirmenin yolunu adım adım anlatır.
Kısa cevap
- Tek faturayı görmek için: faturayla birlikte gelen PDF'i açın; PDF yoksa düzenleyenden isteyin ya da XML'i Excel'e çevirip okuyun.
- Çok sayıda faturayı tabloya dökmek için: e-Fatura XML → Excel aracına XML veya ZIP dosyalarını sürükleyin, Excel Olarak İndir deyin. Dosyalar bilgisayarınızdan çıkmaz.
XML neden PDF gibi açılmıyor?
e-Fatura ve e-Arşiv'in asıl hâli GİB'in belirlediği UBL-TR standardındaki XML'dir; PDF yalnızca bu verinin görüntüsüdür. XML'de her bilgi (satıcı VKN'si, matrah, KDV, kalemler) etiketli ayrı bir alanda durur — makineler için mükemmel, insanlar için okunaksız. Bazı XML'lerin içinde görüntüyü üreten bir şablon (XSLT) gömülüdür, ama tarayıcılar güvenlik nedeniyle yerel dosyada bu şablonu çalıştırmaz. Sonuç: düz kod görürsünüz.
XML'in içinde neyi nerede bulursunuz?
| Bilgi | XML'deki alan (etiket) |
|---|---|
| Fatura numarası | cbc:ID (belgenin en üstünde) |
| ETTN | cbc:UUID |
| Tarih | cbc:IssueDate |
| Satıcı / alıcı | cac:AccountingSupplierParty / cac:AccountingCustomerParty |
| Matrah, KDV | cac:TaxTotal içindeki cbc:TaxableAmount, cbc:TaxAmount |
| Tevkifat | cac:WithholdingTaxTotal |
| Ödenecek tutar | cbc:PayableAmount |
Önekler (cbc, cac) bazı üreticilerde farklı (n1, ns0) olabilir; alan adları aynıdır.
Çok sayıda XML'i Excel'e çevirme — adım adım
- Dosyaları toplayın. e-Fatura kutunuzdan, entegratör panelinizden veya e-postalardan XML'leri tek klasöre indirin. ZIP olarak inen paketleri açmanıza gerek yok; ZIP'i olduğu gibi yükleyebilirsiniz (iç içe bir seviye ZIP dahil).
- e-Fatura XML → Excel sayfasını açın.
- Dosyaları XML veya ZIP dosyalarınızı buraya sürükleyin alanına sürükleyin (veya tıklayıp seçin). Yüzlerce dosyayı aynı anda verebilirsiniz.
- Araç her faturayı okur ve önizlemede listeler:
- Aynı ETTN iki kez yüklendiyse tekrarı otomatik ayıklar ve kaç tane atlandığını yazar.
- Her faturanın aritmetiğini kontrol eder (mal/hizmet − iskonto = matrah; matrah + vergiler = vergiler dahil; vergiler dahil − tevkifat = ödenecek). Tutmayan faturalar sarı işaretlenir.
- Excel Olarak İndir düğmesine basın.
Excel dosyasında ne var?
- Faturalar sayfası: fatura başına bir satır — numara, tarih, ETTN, satıcı/alıcı ve VKN'leri, matrah, KDV, tevkifat, ödenecek tutar. Her KDV oranı ayrı sütundur (Matrah %x, KDV %x) — KDV beyanı kontrolünde doğrudan kullanılır.
- Kalemler sayfası: her faturanın satır satır ürün/hizmet dökümü.
- Özet sayfası: toplamlar ve kontrol sonuçları.
Tutarlar gerçek sayı, tarihler gerçek tarih olarak yazılır: Excel'de TOPLA, filtre ve pivot doğrudan çalışır.
Muhasebe programına aktarım
Luca, Zirve, Logo, Mikro gibi programların çoğu XML faturayı kendi e-Fatura içeri alma ekranından doğrudan okuyabilir; Excel ise kontrol ve raporlama içindir. Programınız Excel şablonu istiyorsa, sütunları şablonun sırasına göre düzenleyip ilk seferde birkaç faturayla deneme aktarımı yapın — sürüme göre ekranlar değişir.
Sorun çıkarsa
“Okunamadı” diye işaretlenen dosyalar var.
Dosya XML değil (ör. HTML veya bozuk indirme) ya da UBL-TR fatura değil (irsaliye, uygulama yanıtı). Dosyayı bir metin düzenleyicide açıp ilk satırlarında Invoice geçtiğini kontrol edin.
Bazı faturalar sarı (tutarsız) çıktı.
Faturanın kendi içindeki toplamlar birbirini tutmuyor demektir — çoğunlukla yuvarlama farkı ya da faturada ayrıca gösterilen başka bir vergidir (ÖİV, konaklama vergisi vb.). Farkı Kalemler sayfasında inceleyin; büyükse düzenleyene bildirin.
Türkçe karakterler bozuk.
Excel dosyası UTF-8 üretilir ve doğrudan açıldığında Türkçe karakterler doğru görünür. Bozukluk kaynak XML'deyse düzenleyen tarafın yazılımından kaynaklanır.
Aynı fatura iki kez görünüyor.
ETTN'leri farklıysa iki ayrı belgedir (ör. iptal edilip yeniden kesilmiş). Hangisinin geçerli olduğunu düzenleyene sorun ya da sorgulayın.