Açık defter · MIT lisanslı · 159 test

Fatura Merkezi metodolojisi

Bir fatura aracının en tehlikeli özelliği, yanlış olduğunda hata vermemesidir. Tutar yanlış hesaplanır, belge yine basılır; arşiv sessizce bozulur, sayfa yine açılır. Bu sayfa, o sessiz hataları engellemek için ne yapıldığını anlatıyor — iddia olarak değil, kod ve test olarak.

Neden sunucu yok?

Bu araç bir hesap açtırmaz, veri toplamaz ve hiçbir şeyi sunucuya göndermez. Bu bir eksiklik değil, bilinçli bir takas. Faturalarınız müşteri ünvanlarını, vergi numaralarını, fiyatlarınızı ve kâr marjınızı içerir; bu bilgiler kimsenin sunucusunda durmak zorunda değil.

Takasın bedeli de açık olmalı. Sunucusuz olmanın maliyeti şudur:

  • Cihazlar arasında otomatik eşitleme yoktur. Taşıma, yedek dosyasıyla yapılır.
  • Tarayıcı verisini silerseniz arşiv de silinir. Bu yüzden yedek alma araçta ikincil bir düğme değil, ısrarla hatırlatılan bir adımdır.
  • Ekip çalışması yoktur; çalışma alanı tek kişiye aittir.
  • Ödeme tahsilatı yapılmaz. Yalnızca "ödendi" olarak işaretlenir. Gerçek tahsilat sunucu, lisans ve kart altyapısı gerektirir; sınır burasıdır.

Buna karşılık kazandığınız şey şudur: internet olmadan da çalışır, kapanma riski olan bir servise bağımlı değilsiniz ve verinizin nerede olduğunu bilirsiniz — cihazınızda.

Tutar nasıl hesaplanıyor?

Kuruş, kayan nokta değil

Aritmetiğin tamamı tam sayı kuruş üzerinde yürür. Kayan noktalı sayılarla 3,5 saat × 1.250,50 TL çarpımı 4.376,749999… gibi bir değer üretebilir; bordroda görmezden gelinebilecek bu kayma, faturada kalem toplamı ile belge toplamının tutmaması demektir. Tutarlar yalnızca ekrana yazılırken liraya çevrilir.

Genel iskonto satırlara dağıtılır

En kritik karar burada. Genel iskontoyu fatura toplamından düşmek kolaydır ve KDV oranı tek olduğunda sonucu değiştirmez. Oranlar karıştığında yanlış sonuç verir. Biri %20, biri %1 KDV'li iki kalemden oluşan 2.000 TL'lik faturaya %10 iskonto uygulayalım:

Doğru: (900 × %20) + (900 × %1) = 180 + 9 = 189 TL KDV

İskontoyu toplamdan düşüp KDV'yi eski matrahtan hesaplayan bir araç 210 TL bulur; iskontonun tamamını %20'lik kalemden düşen bir araç 190 TL bulur. Üçü de "çalışıyor" görünür. Bu araç iskontoyu satırların ara toplamına orantılı dağıtır.

Dağıtımda en büyük artık yöntemi kullanılır: bölünemeyen kuruşlar buharlaşmaz, en büyük ondalık artığa sahip satırlara birer birer eklenir. 1 kuruşluk bir iskonto üç satıra bölündüğünde bile kalemlerin toplamı belge toplamına eşit kalır.

KDV tevkifatı

Kısmi tevkifatta hesaplanan KDV'nin bir kısmını satıcı tahsil etmez; alıcı doğrudan vergi dairesine öder. Belge toplamı değişmez, tahsil edilecek tutar değişir. 100.000 TL matrah ve %20 KDV'de 5/10 tevkifatla:

  • Hesaplanan KDV: 20.000 TL
  • Tevkif edilen (5/10): 10.000 TL — alıcı beyan eder
  • Tahsil edilecek KDV: 10.000 TL
  • Genel toplam 120.000 TL · Ödenecek 110.000 TL

Tutar yazıyla

Türkçenin kuralları burada kolayca ıskalanır ve otomatik üretilen yazıyla tutarların çoğu şu üçünden en az birinde takılır: "1.000 TL" bir bin lira değil bin lira; "100 TL" bir yüz lira değil yüz lira; ama "1.000.000 TL" gerçekten bir milyon lira. Üçü de ayrı ayrı test edilir.

VKN, TCKN ve IBAN doğrulaması

Bu üç numaranın hepsi kendi içinde sağlama hanesi taşır. Araç bu sağlamayı hesaplar; tek haneli yazım hatalarının tamamı yakalanır. Yanlış yazılmış bir vergi numarası, faturanın en sık ve en sessiz hatasıdır: belge basılır, gönderilir, gider yazılamadığında fark edilir. IBAN için ISO 7064 mod-97 sağlaması uygulanır.

Dövizli belgeler

USD, EUR ve GBP seçilebilir. Yurt içi işlemlerde döviz üzerinden düzenlenen belgelerde Türk Lirası karşılığının da gösterilmesi gerekir; girdiğiniz kur üzerinden TL karşılığı belgeye yazılır. Özet ekranında farklı para birimindeki belgeler TL karşılığıyla toplanır — aksi halde çıkan sayı anlamsız olurdu.

Veri nerede duruyor?

Her şey tek bir anahtar altında, tarayıcınızın yerel deposunda tutulur: fatura:calisma. İçinde firma bilgileriniz, belge arşiviniz, müşteri defteriniz, ürün kataloğunuz, numara sayaçlarınız ve şablon tercihiniz bulunur.

Önceden beş ayrı anahtar vardı. Tek anahtara geçilmesinin sebebi bütünlük: belgeler, müşteriler ve sayaç birbirine bağlı olduğu için, biri yazılıp diğeri yazılamadığında (depolama kotası dolduğunda) arşiv tutarsız kalıyordu.

Belge kendi kopyasını taşır

Bir belge kesildikten sonra firma adresiniz değişirse, eski belge eski bilgiyle kalmalıdır. Bu yüzden her belge, firma ve müşteri bilgisinin o andaki kopyasını içinde tutar; referans tutmaz. Muhasebede belge geriye dönük değişmez.

Teklif faturaya çevrilince ne oluyor?

Teklif silinmez ve değişmez. Yeni fatura kaynağına bağlanır ve belgede "hangi tekliften geldiği" görünür. Sebebi kayıt bütünlüğü: müşteriye gönderilmiş bir teklifi sonradan faturaya çevirip yok etmek, neyin teklif edilip neyin faturalandığını karşılaştırılamaz hale getirir.

Numaralar

Sayaç türe ve yıla göre ayrıdır: teklifler (TKF) ve faturalar (FTR) aynı diziyi paylaşmaz. Sayaç bozulsa bile arşivdeki en büyük numara esas alınır — iki belgenin aynı numarayı alması muhasebede kabul edilemez.

Bozuk veri

Dışarıdan gelen her şey (yüklenen yedek, eski sürüm depo) bir normalleştirmeden geçer: eksik alanlar tamamlanır, tipi yanlış olanlar düzeltilir, çakışan kimlikler yenilenir. Bozuk bir dosya yüzünden aracın hiç açılmaması, kullanıcının bütün arşivini kaybetmesinden daha iyi değildir; kurtarılabilen kurtarılır.

Testler ve denetim

Hesap ve arşiv katmanları arayüzden ayrı yazılmıştır; ikisi de tarayıcısız çalıştırılabilir.

  • 78 test — tutar hesabı: KDV, iskonto dağıtımı, tevkifat, yazıyla tutar, VKN/TCKN, sınır durumları.
  • 81 test — çalışma alanı: numara çakışması, dönüşüm bütünlüğü, durum akışı, özet sayıları, bozuk veri kurtarma, yedek gidiş-dönüşü.
  • Ayrıca 200 rastgele fatura üretilip her birinde "kalemlerin toplamı = belge toplamı" değişmezi doğrulanır.

İkisi de her değişiklikte otomatik çalışır. Test kırıldığında yayın durur. Bu sayfadaki her iddia, çalıştırılabilir bir testin karşılığıdır.

Yasal konum

Bu araç yasal e-Fatura veya e-Arşiv Fatura düzenlemez. Türkiye'de fatura ya anlaşmalı matbaada bastırılmış matbu belgeyle ya da GİB sistemi üzerinden düzenlenir; bir PDF'i kendiniz üretmek fatura düzenlemek anlamına gelmez.

Üretilen belgeler proforma fatura, teklif, ön bilgilendirme ve fatura taslağı niteliğindedir. Vergi mükellefiyseniz asıl faturayı mali müşavirinizin veya e-belge entegratörünüzün sistemi üzerinden kesin.

Dayanaklar

Bilgilendirme amaçlıdır; mali müşavirlik hizmeti yerine geçmez. Bir bilgi güncelliğini yitirdiyse bana bildirin.

Koray Öner

Bu aracı kim yaptı, nasıl hesaplıyor?

Bu aracı geliştirdi ve sürdürüyor. Kullanılan oran ve tutarların dayandığı mevzuat ile resmî kaynaklar bu sayfadaki Dayanaklar bölümünde tek tek belirtilir. Ücret ve bordro hesaplarında kullanılan ortak çekirdek olan Bordro Motoru ise metodolojisi, parametreleri ve değişiklik günlüğüyle birlikte açık yayımlanır.

Geliştiren
Yöntem
Sayfadaki Dayanaklar bölümü
Kaynak kod
GitHub