araç köşesi

XML'den Excel'e (XLSX)

XML kayıtlarını Excel'in doğrudan açtığı XLSX dosyasına çevirin; e-Fatura satırları da tabloya dökülür

Verileriniz sizde kalır. Dönüşüm tarayıcının içinde yapılır, hiçbir şey sunucuya gitmez.

Nasıl çalışır?

En sık durum e-Fatura ya da e-Arşiv dosyasıdır: muhasebeci ya da portal size .xml uzantılı bir fatura verir, siz kalemleri Excel'de görmek istersiniz. Dosyayı Not Defteri ile açın (sağ tık → Birlikte aç → Not Defteri), tümünü seçip kopyalayın ve sol panele yapıştırın. Araç tekrarlanan etiketi satır sayar; örnekteki gibi iki kalemli bir faturada her cac:InvoiceLine bir satır, miktar, tutar ve ürün adı birer sütun olur, unitCode ve currencyID gibi öznitelikler @ işaretli ayrı sütunlara düşer. Fatura notları kalemlerden çoksa araç notları seçebilir; sonuç satırında seçilen etiketi görürsünüz, yanlışsa kutuya InvoiceLine yazın. İndir düğmesi gerçek bir .xlsx verir: tencere setinin 2500.00 tutarı varsayılan olarak metin kalır, "Noktalı ondalıklar sayı olsun" seçerseniz sayı olur ve Excel'de toplanabilir. 0532 ile başlayan telefon ya da 00123 gibi bir stok kodu her iki ayarda da metin kalır, Excel baştaki sıfırı atamaz. Sağ paneldeki tablo aynı veriyi sekmeli metin olarak gösterir; kopyalayıp açık bir Excel sayfasına da yapıştırabilirsiniz.

Bu araç xml to excel, xml to xlsx aramalarıyla da biliniyor.

XLSX nedir?

XLSX, Excel'in 2007'den beri kullandığı çalışma kitabı biçimidir: içinde sayfaların XML dosyaları bulunan sıkıştırılmış bir pakettir. CSV'den farkı, her hücrenin türünü (metin mi sayı mı) ve sütun genişliği gibi ayarları taşımasıdır; bu yüzden 0532 metin olarak saklanır ve dosya hangi bölge ayarında açılırsa açılsın sütunlar kaymaz. LibreOffice, Google E-Tablolar ve Numbers da bu biçimi açar.

e-Fatura XML (UBL-TR) nedir?

Türkiye'de e-Fatura ve e-Arşiv faturaları UBL-TR adlı XML biçiminde üretilir; tarayıcıda gördüğünüz logolu fatura, bu XML'in içine gömülü bir dönüşüm dosyasıyla çizilen görüntüdür. Veri etiketlerdedir: fatura numarası cbc:ID, tarih cbc:IssueDate, her kalem cac:InvoiceLine, kalem tutarı cbc:LineExtensionAmount. cbc: ve cac: önekleri ad alanını gösterir; bu araç onları sütun adında korur.

XML ile Excel (XLSX) arasındaki fark nedir?

XML veriyi iç içe etiketlerle anlatır ve bir programın okuması için tasarlanmıştır; aynı faturada bir kalemin üç alt bilgisi, başka bir kalemin beş alt bilgisi olabilir. Excel ise her şeyi satır ve sütuna koyar, insanın süzmesi, sıralaması ve toplaması içindir. XML'den XLSX'e geçerken ağaç düzleştirilir: iç içe bilgi cac:Item.cbc:Name gibi uzun bir sütun adı alır, eksik alan boş hücre kalır. Veriyi incelemek ve hesap yapmak için XLSX, bir sisteme geri yüklemek için XML gerekir.

Sayılar ne zaman sayı, ne zaman metin olur

XML'de sayı türü yoktur; <Tutar>2500.00</Tutar> içindeki değer yalnızca bir metindir. Excel ise bir hücrenin sayı mı metin mi olduğuna bakar: sayı hücresi toplanır ama baştaki sıfırı atar ve 15 haneden uzun rakam dizisinin sonunu sıfırlar. Bu yüzden varsayılan "Metin kalsın"dır; vergi numarası, telefon ve ürün kodu hiç bozulmaz.

"Noktalı ondalıklar sayı olsun" seçilirse yalnız XML'in kendi sayı yazımı sayıya çevrilir: 2500.00, 273, -15.5 gibi, binlik ayracı olmayan ve ondalığı noktayla yazılmış değerler. e-Fatura (UBL) tutarları bu yazımı kullanır, yani kalem tutarları toplanabilir hâle gelir. 12,5 gibi virgüllü değerler belirsizdir (ondalık mı, binlik mi) ve metin kalır; başı sıfırlı ya da 15 haneden uzun değerler de metin kalır. Kaç hücrenin sayı yazıldığı sonuç satırında görünür.

e-Fatura, e-Arşiv ve e-Defter dosyalarında ipuçları

e-Fatura ve e-Arşiv faturaları UBL-TR biçimindedir: kalemler cac:InvoiceLine, fatura notları cbc:Note, ekler cac:AdditionalDocumentReference etiketindedir. Kalemleri tablo yapmak için "Satır sayılacak etiket" kutusuna InvoiceLine yazın; cac: önekini yazmanız gerekmez. Faturanın içine gömülü görüntüleme dosyası (base64 XSLT) çok uzun bir metindir; Excel bir hücrede en fazla 32.767 karakter tutabildiği için böyle değerler kesilir ve sonuç satırında sayılır.

e-Defter dosyaları XBRL-GL biçimindedir: yevmiye maddeleri gl-cor:entryHeader, maddenin borç ve alacak satırları gl-cor:entryDetail etiketindedir. Madde başına bir satır için entryHeader, hesap hareketi başına bir satır için entryDetail yazın. İkinci durumda madde başlığındaki tarih satırlara taşınmaz; bu bir sınırdır, gerekirse iki tabloyu Excel'de yan yana koyun. Birden çok faturayı tek tabloya almak için her birini ayrı dönüştürüp satırları Excel'de alt alta yapıştırın.

Sık sorulanlar

XML fatura Excel'e nasıl çevrilir?

Fatura dosyasını (.xml) Not Defteri ile açın, tümünü seçip kopyalayın ve bu sayfadaki sol panele yapıştırın. "Satır sayılacak etiket" kutusuna InvoiceLine yazın; her fatura kalemi bir satır olur. İndir düğmesine bastığınızda .xlsx dosyası İndirilenler klasörünüze iner ve Excel'de çift tıklamayla açılır.

Excel'de tutarları neden toplayamıyorum?

Varsayılan ayarda değerler metin olarak yazılır ki kodlar ve telefonlar bozulmasın. Tutarları toplamak için "Sayı görünümlü değerler" ayarını "Noktalı ondalıklar sayı olsun" yapın ve dosyayı yeniden indirin; 2500.00 gibi noktayla yazılmış tutarlar sayı olur. Sonuç satırı kaç hücrenin sayıya çevrildiğini yazar.

Birden çok XML dosyasını tek Excel'de birleştirebilir miyim?

Bu araç tek seferde bir XML alır. Dosyaları sırayla dönüştürün; ilk dosyayı Excel'de açıp diğerlerinin satırlarını başlık satırı hariç alta yapıştırın. Aynı türden dosyalarda (örneğin aynı sistemden gelen faturalar) sütunlar aynı sırada çıkar.

Fatura bilgilerim bir yere gönderiliyor mu?

Hayır. XML'in okunması ve Excel dosyasının üretilmesi tamamen tarayıcınızın içinde yapılır; fatura, vergi numarası ya da tutarlar bu sayfadan çıkmaz ve hiçbir yere kaydedilmez. Sayfa açıldıktan sonra internet kesilse bile dönüşüm çalışır.