VAT numarası, bir işletmenin katma değer vergisi bakımından kayıtlı olduğu numaradır ve sınır ötesi fatura kesen her ekibin karşısına çıkar. Bu yazıda numaranın yapısının neden ülkeden ülkeye değiştiğini, biçim kontrolü ile kayıt kontrolünün neden iki ayrı iş olduğunu ve bu ayrımın fatura akışlarında ne anlama geldiğini bulacaksınız.
VAT numarası ne işe yarar?
VAT numarası, bir işletmenin vergi dairesi nezdinde katma değer vergisi mükellefi olarak tanımlandığı numaradır. Kayıt numarasından farkı, işletmenin ticaret sicilindeki yerini değil, vergi düzenindeki yerini göstermesidir. Bir işletmenin kayıt numarası olup VAT numarası olmayabilir; çünkü vergi mükellefiyeti belirli bir ciro veya faaliyet eşiğine bağlı olabilir.
Numaranın pratikte kullanıldığı yerler bellidir:
- Yurt dışına fatura kesildiğinde, alıcının numarası faturada yer alır.
- Bir hizmetin vergi muamelesi belirlenirken tarafların hangi ülkede kayıtlı olduğuna bakılır.
- İade ve mahsup süreçlerinde ise numara, işlemin hangi vergi dairesinin kaydına bağlanacağını belirler.
Bu yüzden numara, fatura akışında teknik bir alan olmaktan çıkar; işlemin vergi tarafını belirleyen bir anahtar hâline gelir. Faturaya yazılan yanlış bir numara, yalnızca bir yazım hatası değil, işlemin hangi düzenin kapsamına girdiğini belirsizleştiren bir sorundur.
Numaranın yapısını ne belirler?
VAT numarasının yapısını belirleyen şey uluslararası bir standart değil, numarayı veren ülkenin vergi kurumunun kendi kararıdır. Bu yüzden tek bir dünya düzeni yoktur; karakter kümesi, uzunluk ve ayraç kullanımı ülkeden ülkeye değişir.
Yaygın görülen kalıp şudur: numara iki harflik bir ülke koduyla başlar, ardından o ülkenin belirlediği düzende rakamlar ve bazen birkaç harf gelir. Ancak bu yalnızca bir eğilimdir, kural değildir. Bazı ülkeler ülke kodunu numaranın parçası saymaz; bazılarında ise numaranın kendi içinde harf blokları bulunur. Numaranın kaç karakter taşıdığı da ülkeye göre değişir.
Bu çeşitliliğin tek pratik sonucu vardır: “VAT numarası kaç hanelidir” diye sorup tek bir sayı beklemek yanıltıcıdır. Doğru soru, “bu numarayı hangi ülkenin kurumu verir ve nasıl yazar” sorusudur. Bu sorunun cevabı ilgili vergi kurumunun kendi yayınlarında bulunur.
Biçim doğru olması numaranın kayıtlı olduğunu gösterir mi?
Hayır, göstermez. Bu, konunun en çok karıştırılan noktasıdır. Bir numaranın biçimsel kurallara uyması, onun gerçekten verilmiş olduğu anlamına gelmez: kurallara uyan ama hiç tahsis edilmemiş bir numara pekâlâ yazılabilir.
İkisi arasındaki farkı bir örnekle düşünmek kolaydır. Bir numaranın biçimi, bir kimlik kartının boyutu ve baskı düzenine benzer; numaranın kayıtlı olması ise o kartın gerçekten bir kurum tarafından düzenlenmiş olmasına benzer. Kartın ölçülerini doğru yapmak, onu geçerli bir belge yapmaz.
Bu ayrım, fatura akışında iki ayrı kontrolün gerekmesine yol açar. Birinci kontrol, kullanıcının yazdığı numaranın şeklen kabul edilebilir olup olmadığıdır; bu hızlı bir kontroldür ve alanın boş kalmasını ya da bariz yazım hatasını hemen yakalar. İkinci kontrol, numaranın gerçekten o ülkenin kayıtlarında bulunup bulunmadığıdır; bu kontrol yerel kodda çözülemez, çünkü gerekli bilgi yalnızca ilgili kurumun kendi kaydındadır.
Numarayı nereden sorgulayabilirim?
Avrupa Birliği ülkeleri için Avrupa Komisyonu, katma değer vergisi numaralarının kayıtlı olup olmadığını kontrol etmeye yarayan kamuya açık bir sorgulama hizmeti sunar. Bu hizmet, biçim ile kayıt arasındaki farkı göstermenin en somut yoludur: biçimi doğru bir numara sorguda bulunamayabilir, biçimi alışılmadık görünen bir numara ise kayıtlı çıkabilir. Hizmete Avrupa Komisyonu’nun resmî sorgulama sayfasından ulaşabilirsiniz.
Bu tür bir sorgu kullanılırken üç noktaya dikkat edilir. Birincisi, sorgu anlık bir durumun fotoğrafıdır; kayıt sonradan değişebilir. İkincisi, sorgu bir yetki veya güven beyanı üretmez; yalnızca numaranın kayıtlı olup olmadığını söyler. Üçüncüsü, hizmet zaman zaman yanıt vermeyebilir; bu durumda sonucun “kayıtlı değil” sayılması yanlış olur, çünkü ortada bir cevap yoktur.
Farklı ülkeler için benzer sorgulama imkânları o ülkelerin vergi kurumlarında bulunur. Hangi ülke için hangi hizmetin kullanılacağını ise yalnızca ilgili kurumun kendi açıklamasından öğrenmek doğru olur.
Gerçek bir VAT numarasını deneme verisine kopyalamak neden sakıncalıdır?
Deneme ortamında gerçek bir müşterinin numarasının dolaşması iki sorun üretir. Birincisi, o numara işletmeye ait bir bilgi parçasıdır; kopyalandığı anda ikinci bir nüsha oluşur ve bu nüshanın geçici dosyalarda, log kayıtlarında ve dışa aktarmalarda bıraktığı izleri takip etmek gerekir.
İkinci sorun daha az konuşulur ama daha sık yaşanır: gerçek numara testin kendisini bozar. Deneme verisinde gerçek bir numara bulunduğunda, ekibin bir kısmı onu doğrulanmış bir kayıt sayar; hangi kaydın kurgu, hangisinin kopya olduğu zamanla belirsizleşir. Bu belirsizlik, verinin üretim ortamına yanlışlıkla taşınmasının en yaygın nedenidir.
Bu yüzden deneme kayıtlarındaki numaralar sentetik olmalı, kaydın kurgusal olduğu ise unvandan ve adresten ilk bakışta anlaşılmalıdır. Sınırı ayrıntılı biçimde sanal şirket verisinin sınırları yazısında ele alıyoruz; kurumsal bir hesabın açılış adımlarını denemek isteyenler için ise KYB deneme listesi daha uygun bir başlangıçtır.
Geliştiriciler için: iki katmanlı doğrulama ve sorgu davranışı
VAT alanını tasarlarken ilk karar, doğrulamanın kaç katmana ayrılacağıdır. Yerel katman yalnızca şekle bakar: alanın boş olup olmadığı, karakter kümesinin kabul edilebilir olup olmadığı ve uzunluğun makul aralıkta kalıp kalmadığı. Bu katmanın amacı kullanıcıyı hızlıca uyarmaktır; amacı numaranın gerçekliğini kanıtlamak değildir.
İkinci katman, kayıt kontrolüdür ve yalnızca yetkili sorgu hizmeti üzerinden yapılır. Bu katmanın en kritik özelliği, üç farklı sonucu birbirinden ayırmasıdır: numara kayıtlı, numara kayıtlı değil, ve cevap alınamadı. Üçüncü sonucu ikincisiyle aynı kutuya koymak, teknik bir arızayı kullanıcının hatası gibi göstermek demektir. Sorgu zaman aşımına uğradığında ya da hizmet geçici olarak yanıt vermediğinde form bunu açıkça belirtmeli ve kullanıcıyı yeniden denemeye yönlendirmelidir.
Üçüncü karar, ülkeye özgü biçim kurallarının nerede duracağıdır. Bu kuralları koda serpiştirmek yerine tek bir yerde toplamak ve her birinin hangi kaynağa dayandığını yanına yazmak gerekir. Böylece bir kural değiştiğinde nereye bakacağınızı bilirsiniz. Kuralları hiç uygulamamak da bir seçenektir: şekil kontrolünü tamamen bırakıp her şeyi kayıt sorgusuna devretmek, yanlış pozitif riskini sıfıra indirir ama kullanıcıya yavaş geri bildirim verir. İkisinin arasında, yalnızca çok geniş bir şekil kontrolü uygulamak çoğu akış için dengeli bir tercihtir.
Dördüncü karar, sorgu sonuçlarının önbelleğe alınmasıdır. Aynı numara aynı oturumda birkaç kez soruluyorsa sonucu kısa süreliğine saklamak makuldür; ancak önbelleğin ömrü uzadıkça kaydın güncelliği kaybolur. Bu yüzden önbellek süresi kısa tutulmalı ve önbellekten gelen cevap, canlı sorgudan gelen cevaptan ayırt edilebilmelidir.
Son olarak, numarayı saklarken gösterim biçimini değil normalleştirilmiş hâlini saklayın. Boşluk, nokta ve tire gibi ayraçlar kullanıcıdan kullanıcıya değişir; ayraçları saklarsanız aynı numara iki farklı kayıt gibi görünür ve tekrar kontrolü yanlış sonuç verir.
Sonraki adımlar
İlk adım, formunuzda biçim kontrolü ile kayıt kontrolünün aynı hata mesajına düşüp düşmediğine bakmaktır; ikisi ayrılmadığı sürece kullanıcıya yanlış bilgi verirsiniz. İkinci adım, sorgu hizmeti yanıt vermediğinde formun ne yaptığını denemektir; bu senaryo neredeyse hiç yazılmaz ama en sık yaşanan durumdur.
Kendi test kümenizi kurmak için test şirket verisi üreticisinde ülke seçip kayıt üretebilir, üretilen numaraları sınayabilirsiniz. Numaranın yanındaki kayıt numarası alanı için ülkeye göre kayıt numaraları yazısı tamamlayıcıdır.
Bu metin yalnızca mühendislik ve test perspektifiyle yazılmıştır; vergi danışmanlığı ya da hukuki görüş değildir. Vergiye ilişkin bağlayıcı bilgi için yetkili kurumlara ve uzmanlara başvurulmalıdır.