Bir işletme müşterisini neden tanımak zorunda, bunu kâğıtla yapmak nerede tıkanıyor ve AifaUyum bu işi nasıl yapıyor? Her adım neden → sonuç → yazılımda karşılığı sırasıyla anlatılır.
Yazılım: AifaUyum 2.17.1Tarih: 28 Eylül 2026Okuyucu: müşteri personeli ve AifaSoft ekibiÖn bilgi: gerekmez
Bu belge nasıl okunur
Belge on kısımdan oluşur ve baştan sona okunmak için yazıldı; ama her kısım kendi başına da ayakta durur. Metin boyunca dört tür kutu göreceksiniz:
NEDEN? bir kuralın ya da tasarım kararının sebebini açıklar;
BÖYLE OLMASAYDI o karar alınmasa ne olacağını gösterir;
EKİP İÇİN teknik ayrıntı içerir, müşteri personeli bu kutuları atlayabilir;
DİKKAT sahada sık yapılan hataları işaretler.
Her kısmın sonunda "Kendini sına" soruları ve cevapları vardır.
1Sorun: bir işletme müşterisini neden tanımak zorunda?
Bir kuyumcu düşünün. Kapıdan bir müşteri giriyor, 300 gram altın alıyor, nakit ödüyor, çıkıyor. Kuyumcu için bu güzel bir satış. Peki o nakit nereden geldi? Kuyumcu bunu bilmek zorunda mı? Yıllar önce cevap "hayır, benim işim altın satmak" olurdu. Bugün cevap "evet, bilmek zorundasınız ve bunu belgelemeniz gerekiyor". Bu belge o "evet"in nereden çıktığını ve bir yazılımın bunu nasıl kolaylaştırdığını anlatıyor.
1.1 Kara para nedir?
Bir suçtan — uyuşturucu ticareti, rüşvet, dolandırıcılık, vergi kaçırma — elde edilen para "kirli"dir: sahibi onu bankaya yatıramaz, ev alamaz, şirket kuramaz; çünkü her adımda "bu para nereden geldi?" sorusu sorulur. Suçlu bu parayı, kaynağı sorulmayan bir paraya çevirmek ister. Buna kara para aklama denir: kirli parayı, temiz para gibi görünen bir hâle sokmak.
Benzetme
Çamurlu bir suyu birkaç filtreden geçirince berrak görünür ama içindeki zehir yerinde durur. Kara para aklama da böyledir: para birkaç işlemden geçer, sonunda "temiz" görünür ama kaynağı hâlâ suçtur. Filtrelerin her biri bir işletmedir: bir döviz bürosu, bir kuyumcu, bir galeri, bir emlakçı.
Aklamanın klasik üç adımı vardır ve üçü de bir işletmenin kapısından geçer:
Adım
Ne yapılır
Kimin kapısından geçer
Yerleştirme
Nakit para sisteme sokulur: altın alınır, döviz bozdurulur, küçük parçalara bölünüp hesaplara yatırılır.
Kuyumcu, döviz bürosu, banka şubesi
Ayrıştırma
Para birçok işlemle dolaştırılır ki iz kaybolsun: alınan altın satılır, döviz başka dövize çevrilir, hesaplar arası transferler yapılır.
Aynı işletmeler, defalarca
Bütünleştirme
Artık "temiz" görünen para bir ev, bir araba, bir şirket hissesi olarak geri gelir.
Emlakçı, noter, şirket
Dikkat edin: suçlu hiçbir adımda "ben suçluyum" demez. Sıradan bir müşteri gibi görünür. Bu yüzden devlet, işletmeye şunu söyler: sen benim gözümsün; kapından geçen kişiyi tanı, kaydet, sakla; şüphelenirsen bana bildir.
1.2 Devlet neden "kim olduğunu bil" diyor?
Devletin kendi başına her kuyumcunun, her döviz bürosunun tezgâhında durması imkânsızdır. Ama işletme zaten oradadır; müşteriyi görür, parayı görür, davranışı görür. O yüzden yasa, belli sektörlerdeki işletmeleri yükümlü ilan eder: yükümlü, müşterisini tanımak ve kayıt tutmakla görevli işletmedir.
Neden?
Kimliği belirsiz para, izlenemeyen paradır. İzlenemeyen para hem suçu besler hem de dürüst işletmeyi riske sokar: yarın o para bir soruşturmada ortaya çıkarsa "bu adamı hiç tanımıyordum" demek işletmeyi kurtarmaz. Kimlik tespiti, işletmenin kendi kalkanıdır.
Türkiye'de bu düzenin temeli 5549 sayılı Suç Gelirlerinin Aklanmasının Önlenmesi Hakkında Kanun'dur. Kanun, yükümlülere üç ana görev yükler:
Kimlik tespiti: Belirli işlemlerde müşterinin ve müşteri adına hareket edenin kim olduğunu belgeyle tespit et.
Kayıt ve saklama: Tespit ettiğin bilgiyi ve belgeleri yıllarca sakla, istendiğinde göster.
Şüpheli işlem bildirimi: Bir işlem "normal" görünmüyorsa (kaynağı açıklanamayan büyük nakit, alışılmadık sıklık, yanıltıcı bilgi) bunu ilgili kuruma bildir.
Üç görevin ortak noktası şudur: hepsi belgeye dayanır. "Ben onu tanıyorum, iyi adamdır" bir belge değildir. Kimlik kartının kopyası, imzalı bir form, tarihli bir kayıt belgedir.
1.3 MASAK kimdir?
MASAK, Mali Suçları Araştırma Kurulu'nun kısaltmasıdır; Hazine ve Maliye Bakanlığı'na bağlıdır. Görevi, yükümlülerden gelen bildirimleri toplamak, incelemek ve kara para aklamayla mücadele kurallarını (tebliğler, rehberler) yayımlamaktır. Bu belgede "MASAK kuralı" dendiğinde kastedilen budur: yükümlülerin uymak zorunda olduğu, MASAK'ın yayımladığı ve denetlediği kurallar.
MASAK'ın kuralları zamanla değişir. Örneğin 27 Haziran 2026'da yürürlüğe giren 32 Sıra No'lu Genel Tebliğ, yabancı uyruklu kişilerin pasaportla uzaktan kimlik tespitine, adres teyidine ve kimlik tespiti sırasında IP adresi, cihaz kimliği ve konum gibi teknik verilerin saklanmasına dair yeni hükümler getirdi. Bunun yazılıma etkisini 8. kısımda göreceğiz. Şimdilik aklınızda şu kalsın: kurallar sabit değildir; yazılımın kurallara göre ayarlanabilir olması bir tercih değil, zorunluluktur.
1.4 Uymazsanız ne olur?
Kimlik tespiti yapılmamış tek bir işlem, işletmeye idari para cezası getirebilir. Üstelik ceza işlem başına kesilir ve tutarlar her yıl yeniden değerlenir. 2026 için ikincil kaynaklarda anılan büyüklükler, kimlik tespiti ihlalinde işlem başına yüz binlerce lira, şüpheli işlem bildirimi ihlalinde bunun yaklaşık iki katı düzeyindedir.
Dikkat — bu belge hukuki görüş değildir
Yukarıdaki tutarlar ürün tasarımı için toplanmış notlardan alınmıştır ve her yıl değişir. Hangi işlemde hangi eşiğin geçerli olduğunu, hangi belgenin ne kadar saklanacağını sizin için uyum görevliniz ya da mali müşaviriniz söyler. Bu belge "neden böyle bir sistem var" sorusunu cevaplar, "sizin için hangi kural geçerli" sorusunu değil.
Böyle olmasaydı
Kimlik tespiti zorunluluğu olmasa, suçlu için en kolay yol küçük işletmelerden geçerdi: bugün kuyumcuda 200 gram, yarın karşı köşedeki döviz bürosunda 10 bin dolar. Kimse kayıt tutmadığı için hiçbir işlem diğerine bağlanamaz, iz asla sürülemez. Kural, dürüst işletmeyi "en zayıf halka" olmaktan çıkarmak için var.
Bir de yasal olmayan sonuç var: itibar. Bir soruşturmada adı geçen, "kayıtlarınızı gösterin" dendiğinde gösteremeyen işletme, müşterisini de bankasını da kaybeder. Sistem kurmanın maliyeti, tek bir cezanın ya da tek bir itibar kaybının maliyetinin çok altındadır. Ürünün değeri tam olarak burada: bir eksik kimlik tespiti, yazılımın yıllık bedelinin kat kat üstündedir.
Kendini sına — 1. kısım
Kara para aklamanın üç adımı nedir ve neden her adım bir işletmeden geçer?
Devlet kimlik tespiti görevini neden kendisi yapmak yerine işletmeye yüklüyor?
MASAK kuralları neden sabit kabul edilemez? Bunun yazılım için sonucu nedir?
Cevaplar
Yerleştirme (nakdi sisteme sokma), ayrıştırma (izi kaybettirmek için dolaştırma), bütünleştirme (temiz görünen mal olarak geri alma). Her adımda para bir işletmenin elinden geçmek zorundadır; suçlu tek başına parayı "temizleyemez".
Sayılmaz. Kimlik tespiti belgeye dayanır: kimlik belgesinin görüntüsü, imzalı form, tarihli kayıt. Kişisel kanaat belge değildir ve denetimde gösterilemez.
Devlet her tezgâhta duramaz; işletme zaten oradadır ve müşteriyi görür. Bu yüzden belli sektörlerdeki işletmeler "yükümlü" ilan edilir.
Tebliğler, eşikler ve ceza tutarları düzenli olarak değişir (örnek: Haziran 2026'daki 32 Sıra No'lu Tebliğ). Yazılımda kurallar ve eşikler sabit kodlanamaz; ayarlanabilir olmalıdır.
2Kavramlar: KYC, uyum, risk, gerçek faydalanıcı
Bu kısımda belgenin geri kalanında sürekli kullanacağımız on kadar kavramı tanıyacağız. Her birini önce günlük hayattan bir benzetmeyle, sonra tam anlamıyla vereceğiz.
2.1 KYC — "Müşterini Tanı"
KYC, İngilizce Know Your Customer sözünün kısaltmasıdır: "müşterini tanı". Kimlik tespitinden daha geniş bir kavramdır. Kimlik tespiti "bu kişi kim?" sorusunu cevaplar; KYC buna "bu kişi ne iş yapar, parası nereden gelir, benimle neden çalışmak istiyor, ne kadar riskli?" sorularını ekler.
Benzetme
Evinize bir kiracı alacaksınız. Kimliğine bakmak kimlik tespitidir. İşini, gelirini, önceki ev sahibini sormak, kefil istemek, sözleşmeyi imzalatmak ve bütün bunları bir dosyada saklamak KYC'dir. Dosya, kiracı sorun çıkarırsa sizin kanıtınızdır; sorun çıkarmazsa hiç açılmaz — ama orada durması gerekir.
KYC bir dosyadır. Her müşterinin bir dosyası olur; dosyada belgeler, bir tanıma formu, bir risk değerlendirmesi ve bir karar bulunur. Yazılımın asıl işi bu dosyayı tutmak, eksiklerini göstermek ve süresi dolanları haber vermektir.
2.2 Uyum (compliance)
Uyum, işletmenin kurallara uyduğunu gösterebilmesidir. "Uyduğunu" değil, "uyduğunu gösterebilmesi" — fark önemli. Denetçi geldiğinde "biz her müşteriye bakıyoruz" demek yetmez; "işte 457 müşteri, işte 38'inin tamamlanmış dosyası, işte her kararın kim tarafından ne zaman verildiği" demek gerekir. Uyum, kanıt üretme disiplinidir.
Bu yüzden uyum sistemi yalnız belge toplamaz; iz tutar: kim yükledi, kim onayladı, kim reddetti, ne gerekçeyle, ne zaman. İzsiz bir belge, kaynağı belirsiz bir belgedir.
2.3 Gerçek kişi, tüzel kişi
Hukukta iki tür "kişi" vardır. Gerçek kişi etten kemikten bir insandır: Ayşe Yılmaz. Tüzel kişi kâğıt üstünde kurulmuş bir varlıktır: Mert Lojistik Ltd. Şirketin kendisi kimlik kartı gösteremez; onun yerine ticaret sicil gazetesi, vergi levhası, imza sirküleri gibi belgeler vardır. Ama şirketin arkasında yine insanlar vardır ve asıl tanınması gerekenler onlardır.
Neden bu ayrım yazılımın ilk sorusu?
Hangi belgelerin isteneceği, müşterinin gerçek mi tüzel mi olduğuna bağlıdır. Gerçek kişiden kimlik kartı ve ikametgâh istenir; tüzel kişiden sicil gazetesi, vergi levhası, imza sirküleri ve arkasındaki her insan için ayrıca kimlik istenir. Kişi tipi seçilmeden hiçbir kural uygulanamaz. AifaUyum bu yüzden kişi tipi seçilmemiş hesabı "eksiksiz" değil "kişi tipi yok" diye gösterir — bu ayrımın önemini 3. kısımda göreceğiz.
2.4 Gerçek faydalanıcı ve ilgili kişi
Bir şirketin sahibi kâğıtta A kişisi görünebilir ama parayı asıl yönlendiren, kârı asıl alan B kişisi olabilir. Yasa "kâğıttaki isim"le yetinmez; gerçek faydalanıcıyı — şirketi fiilen kontrol eden, gelirinden fiilen yararlanan insanı — ister. AifaUyum bu insanları ilgili kişi olarak tutar: ortak, yetkili, temsilci gibi rolleri ve varsa pay oranları vardır.
Böyle olmasaydı
Yalnız şirketin belgeleri istense, suçlu bir "paravan şirket" kurar, başına kimliği temiz birini koyar ve arkada kendini gizlerdi. Her ilgili kişiden kimlik istemek, paravanın arkasını görmek içindir.
2.5 Risk seviyesi ve PEP
Her müşteri aynı derecede riskli değildir. Yıllardır tanıdığınız, düzenli küçük alışveriş yapan bir esnaf ile ilk kez gelen, nakit ödemek isteyen, adresi başka şehirde bir kişi aynı değildir. Uyum sistemi müşterileri düşük, orta, yüksek risk olarak sınıflandırır ve riske göre farklı davranır: yüksek riskli dosya daha sık gözden geçirilir, daha çok belge istenir.
PEP (Politically Exposed Person, siyasi nüfuz sahibi kişi) özel bir risk sınıfıdır: üst düzey kamu görevlileri, siyasetçiler ve yakınları. Yolsuzluk riski daha yüksek kabul edildiği için bu kişiler otomatik olarak daha dikkatli incelenir. AifaUyum'da her dosyada bir "PEP" işareti vardır.
2.6 Belge geçerliliği
Bir ikametgâh belgesi bugün doğru olabilir, altı ay sonra kişi taşınmış olabilir. Vergi levhası her yıl yenilenir. İmza sirkülerinin süresi belgenin üstünde yazar. Yani belgelerin bir son kullanma tarihi vardır ve süresi dolmuş belge, hiç olmayan belge kadar sorundur.
Benzetme
Buzdolabındaki yoğurt: kutu orada durduğu için "yoğurdum var" diyebilirsiniz ama tarihi geçmişse yoktur. Uyum sisteminin en sinsi hatası, kutuya bakıp "var" demektir. Tarihe bakmak gerekir — ve tarihe her açılışta yeniden bakmak gerekir, çünkü dün geçerli olan bugün geçmiş olabilir.
2.7 Onay, ret, askı — kararlar
Belge yüklenmiş olmak yetmez; birinin ona bakıp "bu belge okunuyor, doğru kişiye ait, geçerli" demesi gerekir. Buna belge kararı denir: onay ya da ret. Ret her zaman bir sebep ister; "reddedildi" tek başına müşteriye ne yapacağını söylemez, "reddedildi: görüntü okunmuyor" söyler.
Bunun bir üstünde dosya kararı (KYC kararı) vardır: dosyanın bütününe bakıp "bu müşteriyle çalışıyoruz" (onaylandı), "şimdilik durduruyoruz" (askıda) ya da "çalışmıyoruz" (reddedildi) demek. Bu bir insan kararıdır; yazılım hesaplamaz, kaydeder ve izini tutar.
2.8 Gözden geçirme
Onaylanmış bir dosya sonsuza kadar onaylı kalmaz. Riske göre belli aralıklarla — yüksek riskte daha sık — dosya yeniden açılır, belgelerin hâlâ geçerli olup olmadığına, müşterinin durumunun değişip değişmediğine bakılır. Buna periyodik gözden geçirme denir. Yazılım "bir sonraki gözden geçirme tarihi"ni hesaplar ve yaklaşınca haber verir.
2.9 Şüpheli işlem bildirimi (ŞİB)
Kimlik tespiti tamam olsa bile bir işlem "normal" görünmeyebilir: müşterinin geliriyle uyumsuz büyüklükte alım, parçalara bölünmüş nakit, açıklanamayan acele. Yükümlü bunu MASAK'a bildirmekle yükümlüdür; müşteriye bildirimi söylemesi ise yasaktır. AifaUyum bugün ŞİB üretmez; bunu 8. kısımda "sistemin bugün yapamadıkları" arasında dürüstçe sayacağız.
2.10 KVKK
Kimlik tespiti kişisel veri toplamak demektir: ad, TCKN, doğum tarihi, adres, yüz fotoğrafı, imza. Bunlar 6698 sayılı Kişisel Verilerin Korunması Kanunu kapsamındadır. Veriyi toplamak için kişiyi aydınlatmak (neden topluyoruz, ne kadar saklayacağız), yalnız amaç için kullanmak ve süre dolunca imha etmek gerekir. Uyum sistemi bu yüzden iki kanuna birden hizmet eder: MASAK "topla ve sakla" der, KVKK "gereksiz toplama, süresi dolunca sil" der. İkisi çelişmez; birlikte "gerekeni topla, gerektiği kadar sakla, sonra sil" anlamına gelir.
Düşük / orta / yüksek; gözden geçirme sıklığını belirler
Karar sekmesi
Süre takibi
Süresi dolan ve dolacak belgeler
Süre takibi sekmesi
Portal
Müşterinin kendi belgesini kendisinin yüklediği kapı
Portal erişimi sekmesi; müşteri tarafı ayrı ekran
Kendini sına — 2. kısım
Kimlik tespiti ile KYC arasındaki fark nedir?
Bir şirketten neden şirketin kendi belgeleri yetmez, ilgili kişilerin de kimliği istenir?
"Süresi dolmuş belge, olmayan belge kadar sorundur" — neden?
Belge kararı ile KYC (dosya) kararı arasındaki fark nedir? Hangisi insan kararıdır?
MASAK ve KVKK'nın istekleri çelişir mi? Tek cümleyle birleştirin.
Cevaplar
Kimlik tespiti "bu kişi kim" sorusunu belgeyle cevaplar. KYC buna kişinin işini, gelir kaynağını, riskini ve bütün bunların saklandığı bir dosyayı ekler.
Şirket bir paravan olabilir; parayı fiilen yönlendiren kişi (gerçek faydalanıcı) kâğıttaki isimden farklı olabilir. Her ilgili kişiden kimlik istemek paravanın arkasını görmek içindir.
Belge, tespit anındaki gerçeği gösterir; tarih geçince o gerçek değişmiş olabilir (taşınma, yenilenmeyen vergi levhası). Denetimde süresi dolmuş belge geçerli kabul edilmez.
Belge kararı tek bir belge hakkındadır (onay/ret + sebep). KYC kararı dosyanın bütünü hakkındadır (inceleniyor/onaylandı/askıda/reddedildi). İkisi de insan kararıdır; yazılım kaydeder ve izini tutar, hesaplamaz.
Çelişmez: "Gerekeni topla, gerektiği kadar sakla, süresi dolunca sil."
3Kâğıttan yazılıma: dosya dolabı nerede patlıyor?
Kimlik tespiti yasası yeni değil; işletmeler yıllardır kâğıtla yapıyor. Fotokopi, klasör, dolap. Peki neden bir yazılım gerekti? Çünkü kâğıt sistem küçükken çalışır, büyüyünce sessizce bozulur. "Sessizce" kelimesi bu belgenin en önemli kelimesidir: kâğıt dolabı hata verdiğinde kimse fark etmez; hata, denetim günü ortaya çıkar.
3.1 Beş sessiz hata
Hata 1 — "Dosya tam" ama değil
Klasörün üstüne "TAM" yazılmış. Ama üç ay önce ikametgâh belgesinin süresi dolmuş ve kimse klasörü açıp bakmamış. Üstündeki yazı doğru yazıldığı gün doğruydu; bugün yanlış. Kâğıt sistemde durum, bir kez yazılıp unutulan bir etikettir.
Hata 2 — Kural değişti, dolap değişmedi
Muhasebeci "artık tüzel kişilerden imza sirküleri de isteyeceğiz" dedi. Yeni müşteriler için tamam; ama dolaptaki 400 eski klasörün her biri artık eksik ve hiçbirinin üstünde "eksik" yazmıyor. Kural değişince eski etiketlerin hepsi bir anda yalan olur.
Hata 3 — Kayıp fotokopi, belirsiz kaynak
Klasörde bir kimlik fotokopisi var. Kim aldı, ne zaman aldı, belge o gün geçerli miydi, aslını gören oldu mu? Fotokopinin üstünde bunlar yazmıyor. Denetçi "bu belgeyi kim aldı?" diye sorduğunda cevap "herhalde Ahmet Bey"dir.
Hata 4 — "Kaç eksiğimiz var?" sorusuna cevap yok
Patron sorar: "Kaç müşterimizin dosyası eksik?" Cevap için 457 klasörü tek tek açmak gerekir. Kimse açmaz; tahmin söylenir. Tahmin yanlıştır.
Hata 5 — Karar geçmişi yok
Bir dosya geçen yıl onaylanmış, sonra askıya alınmış, sonra yine onaylanmış. Klasörün üstünde son durum yazar: "onaylı". Arada ne olduğu, neden askıya alındığı, kimin geri onayladığı yok. Denetimde sorulan tam da bu zincirdir.
Ortak sebep
Beş hatanın kökü aynı: kâğıt, türetilmiş bilgiyi (tam mı, kaç eksik, süresi doldu mu) bir kez yazıp saklar. Türetilmiş bilgi, dayandığı şey değişince değişmesi gereken bilgidir; kâğıt üstünde değişmez. Yazılımın çözümü tek cümledir: türetilmiş bilgiyi asla saklama, her sorulduğunda yeniden hesapla.
3.2 Tasarım kararları ve gerekçeleri
AifaUyum'un mimarisi, yukarıdaki beş hatayı imkânsız kılacak bir dizi kararla kurulmuştur. Bu kararlar kodun içinde yorum olarak yazılıdır; burada sade dille veriyoruz. Her kararın bir "neden"i ve bir "böyle olmasaydı"sı var.
Karar A — Sayaç saklanmaz, hep hesaplanır
"Bu dosya tam mı?", "kaç belge eksik?", "süresi doldu mu?" gibi bilgiler veritabanında hiçbir yere yazılmaz. Ekran her açıldığında, o andaki kurallara ve o andaki belgelere bakılarak yeniden hesaplanır.
Neden?
Kodun içindeki gerekçe aynen şöyle: "Saklanan sayaç, kural değişince ya da belge silinince sessizce yanlışa döner ve kimse fark etmez." Hesaplamak her seferinde biraz daha iş demektir; ama yanlış cevap vermenin bedeli o işten çok daha büyüktür.
Ekip için
Bu karar veritabanında görünümler (view) olarak yaşar: Kyc.vEksikler, Kyc.vSureTakibi, Kyc.vYaklasanSureler, Kyc.vOnayKuyrugu ve diğerleri (toplam 18 görünüm). Hiçbir tabloda "eksik sayısı" ya da "tam mı" sütunu yoktur. Tek bilinçli istisna Kyc.KararIzleri.ZorunluEksik'tir: burada saklanan bugünkü durum değil, kararın verildiği andaki eksik sayısıdır; o an sonradan bir daha hesaplanamaz, bu yüzden saklanır. "Beş eksikle onaylandı" ile "tam dosyayla onaylandı" arasındaki fark, kararın kendisi kadar önemlidir.
Karar B — ERP'ye tek bağlantı noktası, ERP'ye yazma yok
AifaUyum, müşterinin zaten kullandığı ERP'nin (ERPGOLD) yanına kurulur, içine değil. ERP'nin cari hesap kartlarını okur ama ERP'nin hiçbir tablosuna yazmaz. KYC verisi ayrı bir bölmede (Kyc şeması) durur ve ERP'ye tek bir iple bağlıdır: her KYC dosyası bir cari hesabın numarasını taşır.
Neden?
ERP, işletmenin kalbidir; faturalar, stoklar, kasa oradadır. Yeni bir modülün orayı bozma ihtimali sıfır olmalıdır. Tek yönlü bağ (KYC okur, yazmaz) bunu garanti eder: AifaUyum'u tamamen kaldırsanız ERP'de tek bir sayı değişmez. Ayrıca veri göçü gerekmez; modül mevcut kuruluma hemen girer.
Ekip için
Bağlantı: Kyc.Firmalar.HesapId → Cari.Hesaplar.Id, bire bir. Hesaplar ekranındaki boş liste mesajı bunu açıkça söyler: "Hesaplar ERP'nin kendi kartlarından okunuyor; bu modül onlara yazmaz." Saha gerçeği: 457 cari hesabın 456'sında vergi numarası boş bulundu. Bu yüzden kişi tipi tahmin edilmez, operatöre seçtirilir — yanlış tahmin, yanlış kural, yanlış eksik listesi demektir.
Karar C — Belgeler sürümlüdür, hiçbir şey silinmez
Müşteri bir belgeyi yüklüyor, reddediliyor, düzeltip yeniden yüklüyor. Eski belge silinmez; yeni belge "2. gönderim" olarak eklenir. Her belgenin bir parmak izi (SHA-256 özeti) hesaplanır: dosya sonradan bir bayt bile değişse fark edilir.
Böyle olmasaydı
Eski belge silinse, "ilk gönderilen belge neden reddedildi?" sorusunun cevabı da silinirdi. Denetçi "bu müşteri üç kez okunmayan belge gönderdi" bilgisini göremezdi. Silmek, izi silmektir.
Karar D — Karar geri alınabilir ama iz kalır
Yanlış onay verilmişse geri alınabilir. Ama geri alma, kaydı silmek değil, üstüne yeni bir kayıt eklemektir: "onaylandı → askıya alındı, gerekçe: belge reddedildi, kim: sistem". Karar geçmişi bir zincirdir; her halkasında eski durum, yeni durum, gerekçe, kim ve ne zaman vardır.
Ekip içinKyc.KararIzleri tablosu. Kaynak alanı iki değer alır: Elle (bir insan karar verdi) ve Sistem (ürün bir olay yüzünden onayı geri aldı — müşteri yeni belge yükledi ya da onaylı dosyada bir belge reddedildi). Kodun gerekçesi: "Makine bir insan kararını eziyor; bunun izini kaynağıyla bırakmazsak yarın 'bunu kim askıya aldı?' sorusunun cevabı olmaz."
Karar E — Bayat onay saklanmaz, hesaplanır
"Bu onay hâlâ dosyayı karşılıyor mu?" sorusu da türetilmiş bir bilgidir. Onayı bayatlatan olayların çoğunun bir tetikleyicisi yoktur: belgenin süresi dolar ve o an kimse hiçbir şey yapmaz, sadece tarih geçer. Bu yüzden "bayat onay" bir bayrak olarak saklanmaz; görünümde hesaplanır ve süre dolmasını, belge reddini, kural değişikliğini aynı anda yakalar. Hesaplar ekranındaki "Bayat onaylar" süzgeci tam olarak budur.
Karar F — Portal varsayılan olarak kapalıdır
Müşterinin kendi belgesini internetten yüklediği portal, her firma için kapalı gelir; açmak bilinçli bir işlemdir. Güncelleme alan hiçbir firma, haberi olmadan internete açılmaz.
Karar G — Betikler eklemelidir, veri değiştirmez
Veritabanı kurulum betikleri tekrar tekrar çalıştırılabilir; var olan veriye dokunmaz, yalnız eksik olanı ekler. Güncelleme "her şeyi sil, yeniden kur" değildir; "eksik olanı tamamla"dır.
Ekip için
Betikler SQL Server 2008 uyumluluğunda yazılır (ERP'nin uyumluluk düzeyiyle aynı): STRING_AGG, IIF, CONCAT, TRIM, TRY_CONVERT, DROP IF EXISTS kullanılmaz. web.config pakete konmaz — bir kez çalışan yapılandırmayı ezmesin diye. Şemada gerçek yabancı anahtarlar ve CHECK kısıtları vardır; örneğin bir belge satırı ya dosya içeriği ya tanı formu bağı taşımak zorundadır (CK_Kyc_Dokumanlar_Icerik): ikisi de boşsa "belge var" diye sayılan boş bir satır olurdu — sessiz yanlış.
Karar H — Ölçmeden değiştirme
Bu bir yazılım kuralı değil, geliştirme kuralıdır ama ürünün her yerinde izi vardır: bir hata bildirildiğinde önce laboratuvarda aynen üretilir, ölçülür, sonra düzeltilir; ve her düzeltmeye "düzeltme geri alınırsa bu test düşmeli" diye bir karşı-kontrol eklenir. 2.17.1'deki klavye hatası da böyle bulundu: "123 tuşu çalışmıyor" denmişti; ölçüm, tuşun aslında iki kez çalıştığını gösterdi.
Kendini sına — 3. kısım
"Sessiz hata" ne demektir? Kâğıt dolabındaki beş sessiz hatadan ikisini sayın.
"Türetilmiş bilgi" nedir? AifaUyum türetilmiş bilgiyi neden saklamaz?
Karar anındaki eksik sayısı neden bu kuralın istisnasıdır?
AifaUyum ERP'ye neden yazmaz? Bunun kurulum ve kaldırma açısından sonucu nedir?
Reddedilen belge neden silinmez?
Bir onayı "bayatlatan" olayın çoğu zaman tetikleyicisi olmaması, tasarımı nasıl etkiledi?
Cevaplar
Oluştuğu anda kimsenin fark etmediği, denetim günü ortaya çıkan hata. Örnek: klasördeki "TAM" etiketinin süresi dolan belgeyle yalan olması; kural değişince eski dosyaların hepsinin sessizce eksik kalması.
Başka bilgilere bakılarak hesaplanan bilgi ("tam mı", "kaç eksik", "süresi doldu mu"). Saklanırsa dayandığı şey değişince güncellenmez ve sessizce yanlış olur; bu yüzden her sorulduğunda görünümle yeniden hesaplanır.
Çünkü orada saklanan bugünkü durum değil, kararın verildiği andaki durumdur; o an sonradan bir daha hesaplanamaz. "Beş eksikle onaylandı" bilgisi kararın kendisi kadar önemlidir.
ERP işletmenin kalbidir; yeni modülün onu bozma riski sıfır olmalı. Tek yönlü bağ sayesinde veri göçü gerekmez, modül hemen kurulur, kaldırılınca ERP'de hiçbir şey değişmez.
Silmek izi silmektir. "İlk belge neden reddedildi", "müşteri kaç kez okunmayan belge gönderdi" bilgisi kaybolurdu. Yeni belge yeni sürüm olarak eklenir.
Bayat onay bir bayrak olarak saklanmaz; görünümde hesaplanır. Böylece süre dolması (tetikleyicisi olmayan olay), belge reddi ve kural değişikliği aynı anda ve her açılışta yakalanır.
4Yazılımın haritası
Artık "neden"i biliyoruz; şimdi "ne"ye bakalım. AifaUyum küçük parçalardan oluşur ve her parçanın tek bir görevi vardır. Bu kısmın sonunda haritayı gözünüzün önüne getirebilmelisiniz: hangi kutu nerede durur, kim hangi kapıdan girer, veri nerede yatar.
4.1 Parçalar
Parçaları tek tek tanıyalım:
Parça
Ne yapar
Neden ayrı bir parça
index.html (tek sayfa)
Bütün ekranlar tek bir dosyadadır: personel konsolu, kiosk sihirbazı, müşteri portalı. Kamera, belge okuma, PDF üretme tarayıcının içinde çalışır.
Kurulum bir dosya kopyalamaktan ibarettir. Tabletteki uygulama da aynı dosyayı gösterir; iki ayrı ürün bakımı yoktur.
Personel yetkileri geniştir; bu servisler personel oturumu ister.
uyumclient.asmx
Müşteri portalının servisleri: davet linkiyle giriş, belge yükleme, kendi dosyasını görme.
Müşteri yetkileri dardır. Ayrı bir servis, müşterinin personel servislerine yanlışlıkla bile erişememesi demektir.
Android uygulaması (APK)
Tableti kiosk yapar: tam ekran, kamera yönü (döndür/aynala), yazılım yakınlaştırma, uygulama içi Türkçe klavye, boş yatak çekmeme.
Tarayıcı bazı şeyleri yapamaz (tam ekranı kilitlemek, kamerayı ayarlamak). Ama içinde gösterdiği sayfa yine aynı index.html'dir.
Yönetim programı
AifaSoft'un kendi Windows programı: firma tanımlama, lisans, kullanıcı ekleme, erişim kaydı.
Müşteri tarafında değil, AifaSoft'ta çalışır. Kiracıları (firmaları) yöneten kişiyle firmanın personelini ayırır.
4.2 İki veritabanı — neden iki?
AifaUyum verisini iki yerde tutar ve bu, sistemin en önemli mimari kararlarından biridir.
Merkez veritabanı (AifaGlobalScan), AifaSoft'ta durur. İçinde firmalar (AifaUyum kullanan her müşteri işletme), o firmaların personel kullanıcıları, oturumlar, portal davetleri, firmalar arası bağlar ve erişim kaydı vardır. Merkez, "bu firma kim, lisansı geçerli mi, veritabanı nerede" sorularını cevaplar.
Müşterinin kendi ERP veritabanı ise her işletmenin kendi sunucusundadır. AifaUyum oraya Kyc adında ayrı bir bölme ekler: dosyalar, belgeler (içerikleriyle birlikte), kurallar, kararlar, tanı formları. Müşterinin kimlik belgeleri müşterinin kendi sunucusundan hiç çıkmaz.
Neden belgeler merkezde değil?
Üç sebep. Hukuk: kişisel veri, işlemi yapan işletmenin sorumluluğundadır; başkasının sunucusunda durması sorumluluğu bulanıklaştırır. Güvenlik: merkez ele geçse bile yüz binlerce kimlik belgesi tek yerde bulunmaz. Bağlılık: ERP zaten oradadır; KYC dosyası cari hesabın yanında durunca "bu hesabın dosyası" sorusu tek sorguyla cevaplanır.
Ekip için
Merkez tablolar: Companies (firma kodu benzersiz, vergi no, PortalGuid, PortalAktif, BaglantiKodu, lisans başlangıç/bitiş ve o firmanın SQL bağlantı bilgileri), CompanyUsers (PBKDF2 parola özeti, rol, kilitleme), Sessions (personel oturumu, kip: kiosk/firma), PortalSessions (müşteri oturumu, kapsam: Tam/Yükleme), PortalDavetleri, FirmaBaglari, AccessLog. Müşteri tarafı Kyc şeması: Firmalar (PK = HesapId), IlgiliKisiler, BelgeTurleri, BelgeKurallari, Dokumanlar (sürümlü, Sha256, içerik varbinary(max)), MusteriTani, KararIzleri, PortalIzleri, GozdenAyar; 18 görünüm. Bilinen risk: merkezde her müşterinin SQL parolası tutulur (Companies.SqlPassword); merkez ele geçerse müşteri veritabanlarına erişim açılır — 7. kısımda tekrar ele alınıyor.
4.3 Dört kapı, üç kullanıcı
Tek sayfa, ama sayfaya hangi adresle geldiğiniz kim olduğunuzu belirler. Aynı bina, dört ayrı kapı; her kapı farklı bir koridora açılır.
Adres
Kim girer
Ne görür, ne yapabilir
Neden ayrı kapı
index.html (parametresiz)
Firmanın personeli
Giriş ekranı; Kiosk ya da Firma kipi seçilir. Firma kipinde tam yetkili konsol.
Personel oturumu 30 gün cihazda kalır; ekran tam yetkili olduğundan yalnız personel parolası açar.
?d=<davet>
Müşteri, geçici
Yalnız belge yükleme; indirme yok, parola yok. 7 gün geçerli.
Müşteriye WhatsApp'la bir link göndermek en kolay yoldur; ama link ele geçebilir. Bu yüzden kısa ömürlü ve yalnız yükleme.
?f=<portal kimliği>
Müşteri, kalıcı
Kullanıcı adı + parola; dosyasını görür, belgelerini indirir, yükler.
Sürekli çalışılan müşteri için kalıcı hesap; parola olduğu için indirme de açılır.
?mod=musteri
Linki kaybeden müşteri
Firma kodu + kullanıcı + parola ile aynı portal.
Link olmadan da giriş yolu olmalı; ama üç bilgi birden istenir.
Giriş ekranı. Üstte üç kip: Kiosk (tarama terminali; girişten sonra doğrudan belge çekimine geçilir), Firma (personel konsolu) ve Müşteri (portal). Altta yazan "Oturum bu cihazda 30 gün açık kalır" personel içindir; müşteri davetleri 7 günlüktür.
Neden Kiosk ve Firma ayrı kip?
Kiosk, müşterinin karşısına konan tablettir: tek ekranda tek soru, büyük düğmeler, hiçbir liste ya da karar ekranı yok. Firma kipi ise personelin masasıdır: listeler, süzgeçler, kararlar. İkisi aynı ekranda olsa müşteri, başka müşterilerin dosyalarını görebilirdi. Kip, girişte seçilir ve yalnız personel seçebilir; müşteri hiçbir zaman kip seçmez.
4.4 Personel konsoluna ilk bakış
Gösterge paneli (Firma kipi, ilk ekran). Üstte sekmeler: Gösterge paneli, Hesaplar, Onay kuyruğu, Süre takibi, Tarama, Tanı formu, Kurallar, Portal erişimi, Bizden istenenler. Kartlar: 457 cari hesabın 38'inde KYC açılmış, 14'ünde zorunlu belge eksik, 5 belge onay bekliyor, 3 belgenin süresi dolmuş ya da dolmak üzere, 24 hesap eksiksiz. Sarı şerit: 2 hesapta kişi tipi seçilmemiş — bu hesaplar "eksiksiz" görünür ama hiçbir kural uygulanmamıştır.
Sekmelerin her biri bir soruya cevap verir:
Sekme
Cevapladığı soru
Gösterge paneli
Bugün ne durumdayız? Neye önce bakmalıyım?
Hesaplar
Hangi müşterinin dosyası ne durumda? (ızgara + hesap çekmecesi)
Onay kuyruğu
Hangi belgeler bir insanın bakmasını bekliyor?
Süre takibi
Hangi belgelerin süresi doldu ya da dolmak üzere?
Tarama
Operatör masasında bir belgeyi çekip hesabın dosyasına nasıl koyar?
Tanı formu
Operatör, müşteri yanındayken tanı formunu nasıl doldurur?
Kurallar
Kimden hangi belgeyi istiyoruz? Belge türleri, gözden geçirme periyodu, KVKK saklama ve imha.
Portal erişimi
Hangi müşteri portala girebiliyor, kim hiç girmemiş, kim kilitli?
Bizden istenenler
Başka firmalar bizden hangi belgeleri istiyor?
Ekip için — sayacı olmayan sekme
"Bizden istenenler" sekmesinde bilerek sayaç yoktur. Diğer sekmelerin sayacı tek sorguyla (KycOzet) gelir; "bizden kaç belge isteniyor" sorusunun cevabı ise bağlı her firmanın veritabanına ayrı ayrı bakmayı gerektirir. Sekmeye girilmeden dolmayan bir rozet "0" gösterirdi; kodun gerekçesi: "olmayan bir sayıyı doğruymuş gibi göstermek, hiç göstermemekten kötü."
4.5 Yönetim programı
AifaSoft'ta çalışan küçük bir Windows programıdır (VB.NET, WinForms); doğrudan merkez veritabanına bağlanır, arada servis yoktur. Üç sekmesi vardır:
Firmalar: yeni firma, düzenleme, lisans tarihi, aktif/pasif, açık oturumları iptal. Süresi dolmuş firmalar kırmızı, pasif olanlar gri görünür. "Bağlantıyı test et" düğmesi gerçekten müşterinin SQL sunucusuna bağlanır ve Kyc tablolarının var olup olmadığını söyler; kurduğu bağlantı sunucunun kuracağıyla aynı kurallardadır — burada çalışan bağlantı sahada da çalışır.
Kullanıcılar: firma seçip kullanıcı ekleme, parola değiştirme, aktif/pasif, hatalı deneme kilidini kaldırma.
Erişim kaydı: kim ne zaman ne yaptı. Kişisel veri içermez; yalnız form numarası ve sonuç.
Neden süresi dolmuş lisansta giriş yapılabiliyor?
Lisans mantığı: süresi dolmuş ya da pasif firmada giriş yapılabilir, yeni kayıt yapılamaz. Kiosk ortasında, müşteri karşıdayken uygulamanın kilitlenmesi felaket olurdu. Kullanıcı durumu ekranda görür; kayıt reddedilir ama ekran kapanmaz. Lisans uzatma da "bugünden ya da mevcut bitişten, hangisi ileriyse ondan" başlar; süresi geçmiş bir lisansa "+1 yıl" demek geçmişte tarih üretmez.
Ekip için — parola özeti dosyası
Yönetim programındaki Guvenlik.vb, sunucudaki App_Code/Guvenlik.vb ile bayt bayt aynı olmak zorundadır. Biri değişip diğeri unutulursa yönetimden eklenen kullanıcı sunucuda giriş yapamaz ve hata "parola hatalı" diye görünür — sebebi bulunması zor bir arıza. vtest/verify_yonetim.py bu iki dosyayı her sürümde karşılaştırır.
Kendini sına — 4. kısım
Personel servisleri ile müşteri servisleri neden iki ayrı dosyadadır?
Müşterinin kimlik belgeleri hangi veritabanında durur? Neden merkezde değil?
Aynı index.html dosyası nasıl hem personel konsolu hem müşteri portalı olabiliyor?
Davet linki neden 7 günlük ve neden yalnız yükleme?
Süresi dolmuş lisansta neden giriş yapılabiliyor ama kayıt yapılamıyor?
"Bizden istenenler" sekmesinde neden sayaç yok?
Cevaplar
Yetkileri farklıdır. Müşteri servisleri (uyumclient.asmx) dar yetkilidir; ayrı dosya, müşterinin personel servislerine yanlışlıkla bile ulaşamaması demektir.
Müşterinin kendi ERP veritabanındaki Kyc şemasında. Hukuki sorumluluk işletmededir, merkez ele geçse bile belgeler tek yerde toplanmaz, ve dosya cari hesabın yanında durunca sorgular basitleşir.
Sayfaya gelinen adres (parametre) kim olduğunuzu belirler: parametresiz = personel girişi, ?d = geçici müşteri, ?f = kalıcı müşteri, ?mod=musteri = linkini kaybeden müşteri. Sayfa buna göre farklı ekranı açar.
Link mesajla gönderilir ve ele geçebilir; kısa ömür ve yalnız yükleme yetkisi, ele geçen linkle yapılabilecek zararı sınırlar (kimse belge indiremez).
Kiosk ortasında, müşteri karşıdayken uygulamanın kilitlenmesi kabul edilemez. Kullanıcı durumu görür; yalnız yeni kayıt reddedilir.
Doğru sayı, bağlı her firmanın veritabanına ayrı ayrı bakmayı gerektirir; sekme şeridi bunu her açılışta yapamaz. Yanlış (0) göstermektense hiç göstermemek tercih edildi.
5Bir müşterinin yolculuğu, adım adım
Şimdi her şeyi birleştirelim. "Mert Lojistik Ltd." adında bir şirket, kuyumcumuzla çalışmaya başlamak istiyor. Bu şirketin dosyası nasıl açılır, hangi belgeler istenir, belgeler nasıl gelir, kim bakar, dosya nasıl onaylanır ve sonra ne olur? Yolculuğu baştan sona izleyeceğiz; her durakta önce "neden bu durak var", sonra "ekranda ne görünür".
5.1 Cari hesaptan KYC dosyasına
Yolculuk ERP'de başlar. Mert Lojistik, kuyumcunun ERP'sinde zaten bir cari hesaptır (#118): faturalar ona kesilir, tahsilat ondan yapılır. AifaUyum bu hesabı ERP'den okur ve Hesaplar ızgarasında gösterir. İlk durumda hesabın yanında "KYC yok" yazar.
Hesaplar ızgarası. Üstte iki kapsam: "ERP hesapları 457" ve "KYC dosyası olanlar 38". Sağda "419 hesapta KYC kaydı hiç açılmamış". Her satırda durum rozeti farklı bir gerçeği söyler: KYC yok (dosya hiç açılmamış), Kişi tipi yok (dosya var ama kural uygulanamıyor), 5 eksik, Tam. Vergi numarasının yanındaki H/K harfi değerin kaynağını söyler: H = ERP hesap kartından, K = KYC dosyasından. "çakışma" rozeti ikisinin farklı olduğunu gösterir.
Neden "KYC yok" ile "Tam" ayrı rozet?
İkisinde de eksik sayısı sıfırdır. Ama birinde kural hiç uygulanmamıştır, diğerinde uygulanmış ve karşılanmıştır. Aynı rozet verilseydi ekran 419 hesap için "her şey tamam" derdi — bu projede en çok avlanan hata sınıfı budur: sıfırın iki anlamı. Aynı sebeple "KYC yok" satırında eksik sütununda "0" değil "kural yok" yazar, KYC kararı sütununda "Başlamadı" değil "—" yazar: kaydı olmayan hesapta "Başlamadı" yazmak, "birisi baktı ve başlatmadı" gibi okunurdu.
Operatör "KYC başlat" düğmesine basar. Düğme dosyayı sessizce açmaz; sağdan bir çekmece açılır ve ilk soruyu sorar: bu müşteri gerçek kişi mi, tüzel kişi mi?
Neden yazılım kişi tipini tahmin etmiyor?
Tahmin edebilirdi: "unvanında Ltd. geçiyorsa tüzeldir" gibi. Ama sahada ölçüldü: 457 hesabın 456'sında ayırt edici alanların hepsi boş. Tahmin çoğu zaman tutmaz; tutmayan tahmin yanlış kural, yanlış kural yanlış eksik listesi, yanlış eksik listesi müşteriye giden yanlış istek demektir. Yazılım bu yüzden bir öneri gösterir ama seçimi insana bırakır ve seçimin kaynağını ("Elle" / "Otomatik") kaydeder.
5.2 Kişi tipi ve kurallar: eksikler nereden çıkıyor?
Kişi tipi seçildiği anda dosya "canlanır": yazılım, o kişi tipi için tanımlı belge kurallarına bakar ve eksik listesini hesaplar. Bu liste bir yere yazılmaz; her açılışta yeniden hesaplanır (3. kısımdaki Karar A).
Kurallar sekmesi. Her satır bir kuraldır: hangi belge (ya da seçenek grubu), hangi kapsam (gerçek/tüzel, hesap düzeyi / her kişi için), kaç seçenek, zorunlu mu, etkin mi. "Pasaport / T.C. Kimlik Kartı / Sürücü Belgesi" tek satırdır çünkü üçünden biri yeterlidir (seçenek grubu). Alt sekmelerde belge türleri, gözden geçirme periyodu ve KVKK saklama/imha ayarları vardır.
Fabrika ayarlarıyla gelen belge türleri ve kurallar şunlardır (firma bunları değiştirebilir):
Belge türü
Geçerlilik
Gerçek kişi
Tüzel kişi
Müşteri Tanı Formu (MTF)
—
Zorunlu
Zorunlu (hesap düzeyi)
T.C. Kimlik Kartı / Pasaport / Sürücü Belgesi
Belgenin üstündeki tarih
Zorunlu, üçünden biri
Zorunlu, her ilgili kişi için, üçünden biri
Yerleşim Yeri (İkametgâh) Belgesi
Yükleme tarihinden 3 ay
Zorunlu
Zorunlu, her ilgili kişi için
Ticaret Sicil Gazetesi
—
—
Zorunlu
Vergi Levhası
Yükleme tarihinden 12 ay
—
Zorunlu
İmza Sirküleri
Belgenin üstündeki tarih
—
Zorunlu
Tabloda iki kavram var ki ikisi de gerçek hayattan gelir:
Seçenek grubu: "Kimlik kartı VEYA pasaport VEYA ehliyet". Üç ayrı kural olsaydı, kimlik kartı gösteren müşteri pasaport ve ehliyet için de "eksik" görünürdü. Grup, üçünü tek gereksinim yapar.
Her kişi için: Tüzel kişide kimlik belgesi şirketten değil, şirketin arkasındaki her ilgili kişiden (ortak, yetkili) istenir. Mert Lojistik'in iki ortağı varsa iki kimlik gerekir. Gerçek kişide bu kural anlamsızdır; yazılım gerçek kişiye "her kişi için" kuralı kaydetmeyi reddeder.
Neden geçerlilik iki türlü hesaplanıyor?
Bazı belgelerin son kullanma tarihi üstünde yazar (kimlik kartı, imza sirküleri): geçerlilik belgeden alınır. Bazılarının yazmaz ama "tazelik" beklenir (ikametgâh 3 ay, vergi levhası 12 ay): geçerlilik yükleme tarihinden hesaplanır. Belge türünün "tarih belgeden mi" ayarı tam olarak bu ayrımı tutar.
Dikkat — kural eklemeden önce etkisini görün
Yeni bir kural, o anda dosyası olan bütün hesapları etkiler. Yazılım kuralı kaydetmeden önce "bu kural kaç hesabı, kaç kişiyi etkileyecek, kaç yeni eksik satırı üretecek" bilgisini gösterir. Sebep: müşteriye giden yanlış eksik listesi geri alınamaz; kural "kaydet ve gör" değil "gör ve kaydet" olmalıdır.
Hesap çekmecesi → Eksikler. Eksikler önce hesap düzeyinde (İmza Sirküleri, Faaliyet Belgesi), sonra kişi başına (Ahmet Yılmaz — Ortak: kimlik grubu) gruplanır. Her kartta "Yükle" düğmesi vardır; opsiyonel eksik ayrıca işaretlenir ("hesabı eksikli yapmaz"). Üst şeritteki "2 eksik" yalnız zorunlu eksikleri sayar.
5.3 Belgeler nasıl gelir? Üç yol
Eksik listesi hazır. Şimdi belgelerin dosyaya girmesi lazım. Üç yol var ve üçü de aynı dosyaya yazar:
Tablette, müşterinin karşısında (kiosk sihirbazı): Müşteri tabletin karşısına oturur, kimliğini yatağa koyar, adım adım ilerler. Sonuç: kimlik görüntüsü + Müşteri Tanı Formu. (5.4)
Operatörün masasında (Tarama ve Tanı formu sekmeleri): Operatör, elindeki kâğıt belgeyi kamerayla çekip kırpar, türünü seçer, hesabın dosyasına yükler; ya da müşteriyle birlikte tanı formunu doldurur. (5.5)
Müşteri kendi telefonundan (portal): Firma bir davet linki gönderir; müşteri eksik belgelerin fotoğrafını çekip yükler. (6. kısım)
5.4 Tablette kimlik tarama: kiosk sihirbazı
Sihirbaz, müşteriye dönük ekrandır; bu yüzden tasarımı personel konsolundan tamamen farklıdır: tek ekranda tek soru, büyük yazı, büyük düğmeler, üstte ilerleme çubuğu. Tek yüzlü belgede 10, iki yüzlü belgede 11 adım vardır.
Belge seçimi Müşteri belgeyi yatağa koyar; T.C. kimlik kartı, sürücü belgesi ya da pasaport seçer. Seçim, sonraki adımda hangi okuma motorunun çalışacağını belirler.
Ön yüz çekimi Kamera açılır, belge kadraja oturunca yazılım kenarları bulur ve otomatik çeker. Boş yatak çekilmez.
(Arka yüz çekimi) Yalnız iki yüzlü belgelerde.
Belge okunuyor Görüntü, tarayıcının içinde çalışan bir metin okuma motoruyla (OCR) okunur; kimlik kartı ve pasaportta MRZ satırları, ehliyette alanlar. Görüntü sunucuya gönderilmez.
Bilgilerin kontrolü Okunan alanlar ekrana gelir; her alanın yanında kaynağı yazar: belgeden okundu / elle girildi. Müşteri ya da görevli düzeltebilir; düzeltilen alan "elle girildi" olur.
İletişim bilgileri Telefon zorunludur (eksik girilirse ilerlenemez), e-posta isteğe bağlı.
İmza Parmakla ekrana imza atılır. Boş imzayla ilerlenemez.
Son kontrol Bütün bilgiler tek tabloda gösterilir; "Onayla ve kaydet".
Tamamlandı Form numarası (MTF-2026-000001), karekod, PDF kaydet / yazdır.
Adım 1 — Belge seçimi. Üç büyük kart. Yatağa konan belge kameradan canlı görünür.Adım 2 — Ön yüz çekimi. Yazılım kenarları bulur ve belge oturunca kendisi çeker. (Görüntü bu belgede bulanıklaştırıldı.)Adım 3 — Belge okunuyor. Yeşil kutu: "Belge okundu" ve okunan özet. Sağda çekilen görüntü ve boyutu. "Tekrar çek ve oku" her zaman elde.Adım 4 — Bilgilerin kontrolü. Her alanın başlığında kaynağı: "belgeden okundu". Üstteki sarı şerit tek yüz çekildiğini ve bilgilerin elle kontrol edilmesi gerektiğini söyler. (Değerler örnektir.)Adım 8 — Aydınlatma metni. Firma kendi metnini Ayarlar'dan girer; onay kutusu işaretlenmeden "Devam" çalışmaz.Adım 9 — İmza. Tek bir imza tuvali vardır; boş tuvalle ilerlenemez.Adım 10 — Son kontrol. Kaydedilecek her şey tek tabloda. "Onayla ve kaydet" düğmesi diğerlerinden daha büyüktür.Tamamlandı. Form numarası, tarih, belge türü, KVKK sürümü ve karekod. PDF olarak kaydet / Yazdır / Bitir ve kapat.
Neden her alanın yanında "belgeden okundu / elle girildi" yazıyor?
Çünkü iki değerin güveni farklıdır. Belgeden okunan TCKN, belgenin kontrol hanesiyle doğrulanmıştır; elle girilen TCKN bir yazım hatası olabilir. Denetimde "bu numarayı belgeden mi okudunuz, yoksa biri mi yazdı?" sorusunun cevabı formun kendisinde durur. Üçüncü bir etiket de vardır: kontrol hanesi tutmadı — okunan numara matematiksel olarak geçersizse yazılım bunu saklamaz, üstüne yazar.
Neden görüntü sunucuya gönderilmiyor?
Kimlik görüntüsü en hassas veridir. Okuma tabletin içinde yapılınca görüntü ağda dolaşmaz; sunucuya yalnız kayıt anında, müşterinin kendi veritabanına yazılmak üzere gider. Bunun bedeli, tabletin biraz daha güçlü olması gerekmesidir; kazancı, görüntünün AifaSoft sunucusunda hiçbir zaman bulunmamasıdır.
Neden imza ve KVKK onayı olmadan ilerlenemiyor?
Kimlik tespiti belgesinin imzasız hâli, "müşteri bunu gördü ve doğruladı" kanıtından yoksundur. KVKK onayı olmadan toplanan kişisel veri ise hukuka aykırı toplanmış sayılır. İkisi de sonradan tamamlanamaz; bu yüzden zorunlu adımdır. Aynı sebeple onaylanan aydınlatma metninin sürümü (v1, v2…) forma yazılır: metin sonradan değişirse hangi metnin onaylandığı bilinir.
Ekip için — kamera ve dokunma
Kenar bulma ve perspektif düzeltme tarayıcı içinde çalışır; hangi kırpma yönteminin kullanıldığı (perspektif / kutu / kılavuz) ekranda yazar. OCR: Tesseract.js, mrz.traineddata + tur.traineddata. Android kabuğu kamera yönünü (180° döndürme / aynalama) ve 1×–3× yazılım yakınlaştırmayı ham kareden kırparak sağlar. 2.17.0'da merkezî bir dokunma katmanı eklendi: tarayıcı, parmak inişle kalkış arasında ~15 px kayarsa click üretmiyordu (ölçüldü); artık 24 px'e kadar kayma dokunuş sayılır, görsel geri bildirim basma anında, iş parmak kalkınca yapılır; yıkıcı işler (kaydet/sil/reddet) basma anında asla çalışmaz. Kamera ayarları → "Dokunmatik tanı" ekranı sahadaki dokunuşları ölçmek içindir.
5.5 Müşteri Tanı Formu (MTF)
Sihirbazın çıktısı bir belgedir: Müşteri Tanı Formu. Bu form, kimlik görüntüsünü, okunan alanları (kaynak etiketleriyle), iletişim bilgilerini, KVKK onayını (sürümüyle), imzayı ve cihaz bilgisini tek bir kayıtta toplar. Form numarası MTF-<yıl>-<6 haneli sıra> biçimindedir ve müşteriye karekodla verilir; kare kod okutulduğunda formun kopyası görülür.
Neden MTF de bir "belge türü"?
Kurallar tablosunda MTF, her müşteriden istenen zorunlu bir belgedir. Sihirbaz tamamlandığında form otomatik olarak dosyaya "Müşteri Tanı Formu" belgesi olarak girer ve o eksik kapanır. Böylece "formu doldurduk mu?" sorusu da diğer belgelerle aynı mekanizmayla, aynı ekranda cevaplanır; ayrı bir "form listesi" yoktur.
Ekip için
Form Kyc.MusteriTani tablosuna yazılır; Kyc.Dokumanlar'da içeriği boş, MusteriTaniId dolu bir satır açılır (belge ya dosya içeriği ya form bağı taşır; ikisi birden boş olamaz — CHECK kısıtı). Tablette bağlantı yoksa kayıt kuyruğa alınır ve bağlantı gelince gönderilir; bitiş ekranı bunu açıkça söyler ("numara geçici"). Kayıt sırasında saklanan cihaz bilgisi vardır; IP ve konum bugün saklanmaz (8. kısım).
5.6 Operatörün masası: Tarama ve Tanı formu sekmeleri
Her belge müşterinin karşısında tabletle alınmaz. Müşteri vergi levhasının fotokopisini bırakmış olabilir; ya da operatör müşteriyle telefondayken formu doldurmak isteyebilir. Bunun için personel konsolunda iki sekme vardır:
Tarama. Aynı kamera motoru, ama operatörün ekranında ve operatörün işini yapıyor: çek, kırp, türünü seç, hesabın dosyasına yükle. Çok sayfalı belge tek PDF olur. (Laboratuvarda gerçek kamera yerine sahte bir görüntü kaynağı kullanıldığı için önizleme yeşil görünür.)Tanı formu. Sihirbazın adım adım sorduğu alanlar burada tek formdadır; operatör doldurur, imza aynı tuvalden alınır. (Kamera önizlemesi laboratuvar kaynağından dolayı yeşildir.)
Neden "Tarayıcı" düğmesi personeli kiosk sihirbazına götürmüyor?
2.5.1'e kadar götürüyordu: personel, müşteri için tasarlanmış 11 adımlı sihirbaza düşüyor ve KYC ekranına dönüş yolu bulamıyordu. 2.7.0'da firma modülünün içine kendi tarama modülü kondu. Aynı motor, farklı iş: kiosk müşteriye soru sorar; tarama sekmesi operatöre araç verir.
5.7 Belge kararı: birinin bakması gerekir
Belge yüklenince durumu Bekliyor olur. Yüklenmiş olmak "kabul edilmiş" demek değildir; bir insanın belgeyi görüp "bu okunuyor, doğru kişiye ait, geçerli" demesi gerekir. Onay kuyruğu tam olarak bu insanın listesidir.
Onay kuyruğu. En eski bekleyen en üstte. Her satırda hesap, belge türü, kim yükledi (müşteri / operatör / portal), kaç gündür bekliyor. Karar düğmeleri burada değil, görüntüleyicidedir.Görüntüleyici. Solda belgenin kendisi (laboratuvar örneğinde boş; sahada PDF ya da görüntü burada görünür), sağda künye: hesap, kişi, belge türü, sürüm, kaynak, yükleme zamanı, dosya adı, boyut, son geçerlilik ve SHA-256 özeti. Altta Onayla / Reddet…; not: "Red sebebi zorunlu — müşteri neyi düzelteceğini görmeli." "Erişim izi" kutusu bu belgeyi açmanın merkezî kayda yazıldığını söyler.
Neden karar düğmeleri yalnız görüntüleyicide?
Önceki tasarımda operatör listeden onaylayabiliyordu — yani görmediği belgeyi. "Görülmemiş belgeyle verilen karar, belgeyi hiç okumamış olmakla aynı şey." Düğmeler görüntüleyiciye taşındı; belge gösterilemiyorsa boş çerçeve yerine sebep yazılır, çünkü boş çerçeve hata mesajından beterdir: kullanıcı belgeyi bozuk sanır.
Neden ret sebebi zorunlu?
"Reddedildi" tek başına müşteriye ne yapacağını söylemez. "Reddedildi: okunmuyor" söyler. Sebep, müşteri portalında reddedilen belgenin altında aynen görünür ve müşteri "Yeniden gönder" der; yeni dosya 2. gönderim olarak kaydedilir, eskisi dosyada kalır.
Hesap çekmecesi → Belgeler. Üç belge, üç durum: Vergi Levhası Onaylı (son geçerlilik 01.01.2027), Ticaret Sicil Gazetesi Bekliyor ve S2 rozeti (2. sürüm), Yerleşim Yeri Belgesi Reddedildi — "Red: Okunmuyor". Her belgede kaynak (firma / portal) ve tarih yazar.
5.8 Dosya kararı ve risk
Belgeler onaylandı; şimdi dosyanın bütünü hakkında karar zamanı. Bu karar yazılım tarafından hesaplanmaz; bir insan verir. Yazılımın yaptığı, kararın önündeki engelleri göstermek ve kararı geri dönülebilir ama izli biçimde kaydetmektir.
Hesap çekmecesi → Karar. Üstte kişi tipi ve kaynağı ("Gerçek kişi (Elle)"). "Kararın önündeki engeller": 2 zorunlu belge eksik, 1 belge karar bekliyor, kimlik çakışması (ERP'deki vergi no ile KYC dosyasındaki farklı). Altta dört karar: İnceleniyor / Onaylandı / Askıda / Reddedildi; her birinin altında ne anlama geldiği yazar. Risk seviyesi (Düşük/Orta/Yüksek) ve risk nedeni.
Neden eksik varken onay verilebiliyor?
Engeller listesinde "2 zorunlu belge eksik" satırının açıklaması şöyle: "Onaya engel değil ama gerekçe zorunlu; karar geçmişine eksik sayısıyla birlikte yazılır." Gerçek hayatta bazen belgesi bir hafta sonra gelecek bir müşteriyle çalışmaya başlanır. Yazılım bunu yasaklamaz; görünür kılar: "5 eksikle onaylandı, gerekçe: …" bilgisi karar geçmişinde sonsuza kadar durur. Buna karşılık "1 belge karar bekliyor" satırı daha serttir: "Görülmemiş belgeyle verilen dosya kararı, belgeyi hiç okumamış olmakla aynı şey."
Neden yazılım kendi başına onayı askıya alabiliyor?
Onaylı bir dosyada müşteri yeni belge yükledi ya da bir belge reddedildi: dosya artık onaylandığı hâlde değildir. Yazılım bu durumda onayı "Sistem" kaynağıyla askıya alır. Makine bir insan kararını eziyor — bu yüzden kaynak alanı "Sistem" olarak yazılır ve gerekçe otomatik doldurulur. Kimse "bunu kim askıya aldı?" diye sormak zorunda kalmaz.
5.9 Süre takibi ve gözden geçirme: dosya yaşamaya devam eder
Onay son değildir. Belgelerin süresi dolar, riske göre dosyanın periyodik olarak yeniden açılması gerekir. Yazılım iki şey hesaplar: her belgenin son geçerlilik tarihi ve her dosyanın bir sonraki gözden geçirme tarihi.
Süre takibi. Her satırda belge, kişi, son geçerlilik, kalan gün (eksi değer = geçmiş), durum (Dolmuş / Uyarıda) ve son bildirim tarihi. "Bildirim yapıldı" damgası mesaj göndermez; ekranda "yapılmamış" yazması, gönderilmemiş mesajın gönderilmiş sanılmaması içindir.
Neden "uyarıda" durumu var?
Belge süresi dolduğu gün müşteriye "belgeniz doldu" demek geç kalmaktır; yeni ikametgâh almak birkaç gün sürer. Her belge türünün bir uyarı günü vardır: son tarihe o kadar gün kala belge "uyarıda" görünür ve portalda "Süresi yaklaşanlar — eksik değil, isterseniz şimdi yenileyin" bölümüne düşer.
Ekip için — gözden geçirme periyoduKyc.GozdenAyar tek satırlık bir tablodur: yüksek / orta / düşük risk için ay cinsinden aralık (fabrika değeri 1/1/1, izin verilen aralık 1–120). Dosya onaylandığında risk seviyesine göre SonrakiGozdenGecirme hesaplanır ve ızgarada gösterilir. Süresi dolan belge, dosyanın onayını "bayat" yapar (bayrak değil, görünümde hesaplanır — 3. kısım, Karar E).
Kendini sına — 5. kısım
"KYC yok" satırında eksik sütununda neden "0" değil "kural yok" yazar?
Seçenek grubu olmasaydı kimlik kartı gösteren müşteri ızgarada nasıl görünürdü?
İkametgâh belgesinin geçerliliği neden yükleme tarihinden, kimlik kartınınki neden belgeden hesaplanır?
Sihirbazda bir alanın yanında "elle girildi" yazması ne anlama gelir? Bu bilgi neden saklanır?
Belge onay/ret düğmeleri neden listede değil, yalnız görüntüleyicide?
Zorunlu eksik varken dosya onaylanabilir mi? Yazılım bu durumda ne yapar?
Karar geçmişinde "Kaynak: Sistem" ne demektir? Böyle bir kayıt ne zaman oluşur?
"Uyarıda" durumu neden "dolmuş"tan ayrı tutulur?
Cevaplar
Çünkü kural hiç uygulanmamıştır; "0" yazmak "hiç eksiği yok" gibi okunur ve ekran yalan söyler. Sıfırın iki anlamı vardır: "ölçtüm, sıfır" ve "hiç ölçmedim".
Pasaport ve ehliyet satırları için ayrı ayrı "eksik" görünürdü. Grup, üçünü tek bir gereksinim yapar: "üçünden biri yeterli".
Kimlik kartının son kullanma tarihi üstünde yazar (belgeden). İkametgâhın yazmaz ama tazelik beklenir; bu yüzden yükleme tarihinden 3 ay olarak hesaplanır. Belge türündeki "tarih belgeden mi" ayarı bu ayrımı tutar.
Değer belgeden okunmamış, biri yazmış demektir; güveni daha düşüktür (yazım hatası olabilir). Denetimde "bu numarayı nereden aldınız?" sorusunun cevabı formda durur.
Listeden onaylamak, görmediği belgeyi onaylamaktır. Karar, belgeyi göstermeden verilemez. Belge gösterilemiyorsa boş çerçeve değil sebep gösterilir.
Onaylanabilir; ama gerekçe zorunludur ve karar geçmişine o anki eksik sayısıyla birlikte yazılır ("5 eksikle onaylandı"). Karar bekleyen belge ise daha serttir: görülmemiş belgeyle dosya kararı verilmemelidir.
Kararı bir insan değil, ürün bir olay yüzünden vermiştir: onaylı dosyada yeni belge yüklendi ya da bir belge reddedildi → onay askıya alındı. Kaynak "Sistem" yazılır ki "bunu kim askıya aldı?" sorusu cevapsız kalmasın.
Süre dolduğu gün haber vermek geç kalmaktır; yeni belge almak zaman alır. Uyarı günü kadar önce "uyarıda" görünür, portalda "eksik değil, isterseniz yenileyin" diye listelenir.
6Müşteri portalı ve firmalar arası bağ
Buraya kadar belgeleri hep firma topladı: tablette, masada. Ama en pratik yol çoğu zaman müşterinin belgeyi kendisinin göndermesidir: "Vergi levhanızın fotoğrafını şuraya yükleyin." Portal bunun için var. Bu kısımda portalın neden bu kadar kısıtlı tasarlandığını, sonra bir firmanın başka bir firmadan belge istemesinin nasıl çalıştığını göreceğiz.
6.1 Portal nedir, kimin için?
Portal, müşterinin kendi telefonundan ya da bilgisayarından girdiği, yalnız kendi dosyasını gördüğü ekrandır. Personel konsolunun hiçbir parçası orada yoktur: liste yok, başka müşteri yok, karar yok. Müşteri üç şey görür: sizden istenenler (eksikler), süresi yaklaşanlar, dosyanızdaki belgeler.
Müşteri portalı (masaüstü). Üstte firma adı, VKN, hesap numarası ve "Belgeleri isteyen: AIFASOFT A.Ş.". Solda ilerleme çubuğu ("7 belgeden 3'ü dosyanızda"), sonra Sizden istenenler: her kartta belge adı, kim için (Ahmet Yılmaz — Ortak), zorunlu mu, durum rozeti ve "Belge gönder" düğmesi; reddedilen belgede red sebebi ve "Yeniden gönder" ("yeni dosya 2. gönderim olarak kaydedilir; eskisi dosyada kalır"). Altta Süresi yaklaşanlar: "Eksik değil. İsterseniz şimdi yenileyin." Sağda Dosyanızdaki belgeler: durumlarıyla, ve "Tümünü indir".
Portal girişi (telefon). Kalıcı hesapta kullanıcı adı + parola. Altta: "Belgeleri isteyen firmadan yeni bir belge bağlantısı isteyin."Belge gönder (telefon). Seçenek grubunda önce hangi belge olduğu sorulur ("Pasaport mu, kimlik kartı mı?"), sonra dosya seçilir ya da kamerayla çekilir.
6.2 İki tür erişim: davet ve hesap
Portala iki türlü girilir ve ikisinin yetkisi farklıdır. Bu ayrım, "kolaylık" ile "güvenlik" arasındaki dengenin kendisidir.
Davet bağlantısı (?d=)
Kalıcı hesap (?f= / ?mod=musteri)
Nasıl verilir
Personel "Evrak iste" der; link müşterinin GSM'ine gider
Personel kullanıcı adı + parola üretir, müşteriye iletir
Parola
Yok — link tek başına yeter
Var
Süre
7 gün; yeni davet üretilince eskisi geçersiz
Kapatılana kadar
Yükleme
Evet
Evet
İndirme
Hayır
Evet
Kime uygun
Tek seferlik eksik tamamlama
Sürekli çalışılan müşteri
Neden davet linkinde indirme yok?
Link WhatsApp'la gider; telefon kaybolabilir, mesaj yanlış kişiye iletilebilir. Linki ele geçiren biri en fazla belge yükleyebilir — ki o belge de onay kuyruğuna düşer, bir insan bakar. Ama hiçbir belgeyi indiremez. Kimlik belgesi sızdırmanın yolu kapalıdır. Parola varsa güven daha yüksektir; indirme o zaman açılır.
Neden yeni davet eskisini geçersiz kılıyor?
İki canlı link, iki kapı demektir. Personel "yanlış numaraya gitti" diye yeni link ürettiğinde eski linkin ölmesi gerekir; yoksa yanlış numaradaki kişi hâlâ girebilir. Yaşayan bağlantı personel ekranında görünür ve tek tuşla iptal edilebilir.
Hesap çekmecesi → Portal. İletişim bilgileri (GSM zorunlu: evrak isteme ve davet bağlantısı bu numaraya gider). "Parolayı yenile": yeni parola üretilir, eskisi geçersiz olur, müşterinin açık oturumları da düşer — çünkü yenilemenin sebebi genellikle "yanlış kişide"dir. Parola yalnız o an görünür; veritabanında geri okunamayan özeti saklanır.
Neden parola yenilenince açık oturumlar düşüyor?
Ekrandaki cümle gerekçeyi kendisi söylüyor: "Yenilemenin sebebi genellikle 'yanlış kişide' olmasıdır; eski oturum yaşasaydı yenileme hiçbir şeyi kapatmazdı." Parola değiştirmek kapının kilidini değiştirmektir; içeride kalan kişiyi dışarı çıkarmıyorsa kilit değiştirmenin anlamı yoktur.
Portal erişimi sekmesi. Bütün hesapların portal durumu tek listede: açık / kapalı / kilitli / hiç girmemiş / kapalı ama eksikli. "Portal aktif ama parolası yok" satırı "Açık" gösterilmez; giriş yapılamayan hesap açık sanılmasın diye.
Dikkat — portal varsayılan kapalıdır
Yeni kurulan ya da güncellenen hiçbir firmada portal kendiliğinden açılmaz. "Müşterim linke tıklıyor, giremiyor" şikâyetinin ilk kontrolü: o firma için portal açık mı, o hesap için erişim açık mı, parola üretilmiş mi?
6.3 Portalda müşteri neyi görmez?
Müşteri kendi belgelerinin durumunu, red sebeplerini ve son geçerlilik tarihlerini görür. Ama şunları görmez: risk seviyesi, risk nedeni, firmanın iç notları, karar geçmişi, diğer müşteriler. Bunlar firmanın kendi değerlendirmesidir; müşteriye açıklanması hem gereksiz hem bazı durumlarda sakıncalıdır (şüpheli işlem değerlendirmesi müşteriye söylenmez).
6.4 Firmalar arası bağ: "Bizden istenenler"
Bu üründe her firma aynı zamanda bir müşteridir. Kuyumcu A, toptancı B'den altın alır; B'nin uyum sistemi A'dan kimlik ve belge ister. A da AifaUyum kullanıyorsa, B'nin A'dan istediği belgeler A'nın kendi ekranında "Bizden istenenler" sekmesinde görünür ve oradan gönderilir. Aynı belgeyi beş ayrı toptancıya beş kez WhatsApp'la göndermek yerine, tek yerden.
Bizden istenenler. Üstte "Dosyamızın bulunduğu firmalar" (bağlı firmalar ve onların bizden istedikleri). "Firma ekle" iki yol sunar. Altta "Sizi eklemek isteyen firmalar için": vergi numaramız + bağlantı kodumuz — karşı firma bu iki bilgiyle izin ister; kod tek başına erişim vermez.
Bağ kurmanın iki yolu vardır:
Portal kullanıcı adı ve parolasıyla (anında): B, A'ya zaten portal hesabı vermişse A bu bilgileri girer; bağ hemen kurulur. Parola saklanmaz, yalnız doğrulanır.
Vergi numarası + bağlantı koduyla (onaylı): A, B'nin vergi numarasını ve bağlantı kodunu girer; B'nin ekranına bir istek düşer; B hesabı seçip onaylar. Kod tek başına erişim vermez — B'nin onayı şarttır.
Neden karşı taraf risk seviyesini görmez?
B, A'yı "yüksek riskli" olarak işaretlemiş olabilir. Bu B'nin iç değerlendirmesidir; A'ya gösterilmesi hem B'nin değerlendirme özgürlüğünü zedeler hem de A'ya "hakkımda ne düşünüyorlar" bilgisini verir. Bağ üzerinden yalnız istenen belgeler ve durumları akar; risk seviyesi, risk nedeni ve iç not asla akmaz.
Ekip için
Bağlar merkezde FirmaBaglari tablosundadır: durum 0–3, yol ∈ {Onay, Kimlik}, kopma sebebi kayıtlı. CHECK kısıtları: firma kendine bağlanamaz (CK_FirmaBaglari_Kendi), onaylı bağda hesap zorunlu (CK_FirmaBaglari_Hesap). "Bizden istenenler"in verisi, bağlı her firmanın kendi veritabanından ayrı ayrı okunur — bu yüzden sekmede sayaç yoktur (4. kısım).
Kendini sına — 6. kısım
Davet bağlantısıyla giren müşteri neden belge indiremez ama yükleyebilir?
Personel yeni davet ürettiğinde eski davet neden geçersiz olur?
Portal parolası yenilenince müşterinin açık oturumları neden düşer?
Müşteri portalda hangi bilgileri görmez, neden?
Firma bağı kurmanın iki yolu nedir ve "bağlantı kodu tek başına erişim vermez" ne demektir?
"Müşterim linke tıklıyor, giremiyor" şikâyetinde ilk üç kontrol nedir?
Cevaplar
Link parolasızdır ve mesajla gider; ele geçebilir. Yükleme zararsızdır (onay kuyruğuna düşer, insan bakar); indirme kimlik belgesi sızdırırdı. Parola varsa indirme açılır.
İki canlı link iki kapıdır. Yeni link genellikle "yanlış numaraya gitti" diye üretilir; eskisi yaşasaydı yanlış kişi hâlâ girebilirdi.
Yenilemenin sebebi genellikle parolanın yanlış kişide olmasıdır; eski oturum yaşasaydı kilit değiştirmek içerideki kişiyi çıkarmazdı.
Risk seviyesi, risk nedeni, iç notlar, karar geçmişi, diğer müşteriler. Bunlar firmanın iç değerlendirmesidir; bazıları (şüpheli işlem değerlendirmesi) müşteriye açıklanamaz.
(a) Karşı firmanın verdiği portal kullanıcı adı + parolayla anında; (b) vergi numarası + bağlantı koduyla istek gönderip karşı firmanın onaylamasıyla. Kod yalnız istek göndermeyi sağlar; erişim karşı tarafın onayıyla açılır.
Firma için portal açık mı (varsayılan kapalı)? O hesap için portal erişimi açık mı? Parola üretilmiş mi / davet süresi geçmiş mi?
7Veri nerede, nasıl korunuyor?
Bir uyum sistemi, doğası gereği en hassas veriyi toplar: kimlik belgeleri, yüz fotoğrafları, imzalar, adresler. Bu kısım "veri nerede yatıyor, kim erişebiliyor, ele geçerse ne olur" sorularını cevaplar. Teknik kutular burada biraz daha yoğun; müşteri personeli ana metni okuyup kutuları atlayabilir.
7.1 Tablolar, sade dille
Müşteri tarafındaki Kyc bölmesi dokuz tablodan oluşur. Her birini bir dosya dolabındaki karşılığıyla düşünün:
Tablo
Dolaptaki karşılığı
Neyi tutar
Firmalar
Klasörün kapağı
Hesap başına bir satır: kişi tipi, sicil/MERSİS/NACE, risk seviyesi ve nedeni, PEP işareti, KYC kararı, gözden geçirme tarihleri, portal kullanıcı bilgisi
IlgiliKisiler
Klasörün "kişiler" sayfası
Ortak, yetkili, temsilci: rol, pay oranı, kimlik numarası, kişinin kendi cari hesabı varsa bağı
BelgeTurleri
Firmanın "hangi belgeler var" listesi
Kod, ad, geçerlilik ayı, tarih belgeden mi, uyarı günü
BelgeKurallari
"Kimden ne isteriz" yönergesi
Kişi tipi, rol, her kişi için mi, seçenek grubu, zorunlu mu
Dokumanlar
Klasördeki belgelerin kendisi
İçerik, sürüm, SHA-256 özeti, durum (bekliyor/onaylandı/reddedildi), red nedeni, kim yükledi, nereden
MusteriTani
Doldurulmuş tanı formu
MRZ satırları, ön/arka yüz görüntüsü, imza, KVKK onayı ve sürümü, cihaz bilgisi
KararIzleri
Klasörün arkasındaki "kim ne zaman ne dedi" defteri
Eski/yeni durum, eski/yeni risk, gerekçe, kaynak (Elle/Sistem), o anki eksik sayısı
PortalIzleri
Portalın ziyaretçi defteri
Giriş, başarısız giriş, yükleme; IP adresiyle
GozdenAyar
Duvardaki "ne sıklıkla bakarız" notu
Yüksek/orta/düşük risk için gözden geçirme aralığı (ay)
Merkezdeki AifaGlobalScan ise firmaların, personelin ve oturumların kaydıdır; içinde kimlik belgesi yoktur.
7.2 Parolalar neden düz metin değil?
Personel parolaları da müşteri portal parolaları da veritabanında okunamayan bir özet olarak saklanır. Parola "K7m-4Qx-9Rt" ise veritabanında bu yazmaz; ondan türetilmiş, geri çevrilemeyen uzun bir sayı yazar. Giriş yapılırken girilen parola aynı yöntemle özetlenir ve iki özet karşılaştırılır.
Benzetme
Bir belgenin fotokopisini alıp aslını yakın, sonra fotokopiyi kâğıt öğütücüden geçirin. Öğütülmüş şeritlerden belgeyi geri yazamazsınız; ama aynı belgeyi yeniden öğütürseniz aynı şeritler çıkar. Parola özeti böyle bir şeydir: geri dönüşü yok, karşılaştırması var.
Neden?
Veritabanı çalınırsa parolalar da çalınmış olmaz. Aynı zamanda kimse — AifaSoft personeli dahil — müşterinin parolasını göremez; ekrandaki "bu parola yalnız şimdi görünüyor" uyarısının sebebi budur. Kaybolan parola geri verilmez, yenilenir.
Ekip için
PBKDF2, varsayılan 120.000 tur, 16 baytlık tuz; CompanyUsers.PasswordHash/Salt/Iter. Hatalı deneme sayacı ve LockedUntil ile kilitleme vardır; kilit yönetim programından kaldırılır. Özet üreten dosya (Guvenlik.vb) sunucu ve yönetim programında birebir aynıdır.
Belge içeriği müşterinin kendi ERP veritabanında, Dokumanlar tablosunun içinde durur; dosya sisteminde ya da bulutta değil. Bu, yedekleme ve erişim denetiminin ERP'ninkiyle aynı olması demektir: ERP yedekleniyorsa belgeler de yedekleniyor.
Her belge yüklenirken SHA-256 özeti hesaplanır ve künyede gösterilir. Belge sonradan tek bir bayt bile değişse özet tutmaz. "Bu belge yüklendiği günkü belge mi?" sorusunun cevabı budur.
Ekip için — kapasite notuDokumanlar.Icerik varbinary(max): belgeler veritabanının içinde. Belge hacmi büyüdükçe yedek boyutu ve geri dönüş süresi doğrudan etkilenir (ERPGOLDV2 örneğinde veritabanı zaten 7,7 GB). Uzun vadede belgelerin dosya deposuna taşınıp veritabanında yalnız özet + yol tutulması değerlendirilmelidir. Bu bir tasarım borcu olarak kayıtlıdır.
7.4 İzler: kim, ne zaman, ne yaptı
Sistem üç ayrı iz defteri tutar ve üçünün amacı farklıdır:
Defter
Nerede
Ne yazar
Ne yazmaz
Karar izleri
Müşteri DB, KararIzleri
Dosya kararlarının zinciri: kim, ne zaman, neden, hangi durumdan hangisine, o anki eksik sayısı
Belge içeriği
Portal izleri
Müşteri DB, PortalIzleri
Müşterinin portal hareketleri: giriş, başarısız giriş, yükleme; IP
Parola, belge içeriği
Erişim kaydı
Merkez, AccessLog
Personelin işlemleri: hangi form, sonuç, IP, cihaz; bir belgeyi açmak da yazılır
Kişisel veri — yalnız form numarası ve sonuç
Neden bir belgeyi açmak bile kaydediliyor?
Görüntüleyicideki "Erişim izi" kutusu bunu söyler. Kimlik belgesi görmek, kişisel veriye erişmektir; KVKK "kim erişti" sorusunun cevaplanabilmesini ister. Denetimde "bu belgeyi son altı ayda kim açtı?" sorusu, "kim onayladı?" kadar meşrudur.
7.5 KVKK: toplama, saklama, imha
MASAK "sakla" der, KVKK "gereksiz yere saklama" der. AifaUyum ikisini şöyle uzlaştırır:
Toplarken aydınlat: sihirbazda aydınlatma metni ve onay zorunludur; onaylanan metnin sürümü forma yazılır. Firma kendi metnini Ayarlar'dan girer; fabrika metni "örnektir" diye açıkça işaretlidir.
Amaçla sınırla: belge yalnız KYC dosyasında durur; portaldaki müşteri yalnız kendi belgesini görür; bağlı firma yalnız istediği belgeyi görür.
Süresi dolunca imha et: Kurallar → "KVKK saklama ve imha" sekmesi, saklama süresi dolan kayıtların imhasını yönetir. İmha da bir karardır; iz bırakır.
Kendini sına — 7. kısım
Parola veritabanında nasıl saklanır? "Kaybolan parola geri verilmez, yenilenir" cümlesinin sebebi nedir?
SHA-256 özeti hangi soruya cevap verir?
Üç iz defteri nedir; erişim kaydında neden kişisel veri yoktur?
Bir belgeyi yalnızca açmak neden kayda geçer?
Merkez veritabanı neden en kritik korunması gereken yerdir, oysa içinde kimlik belgesi yokken?
Cevaplar
Geri çevrilemeyen bir özet (PBKDF2) olarak; parolanın kendisi hiçbir yerde yazmaz. Bu yüzden kimse okuyup geri veremez; tek yol yeni parola üretmektir.
"Bu belge yüklendiği günkü belgeyle aynı mı?" Tek bayt değişse özet tutmaz.
Karar izleri (dosya kararlarının zinciri), portal izleri (müşterinin hareketleri), erişim kaydı (personelin işlemleri, merkezde). Erişim kaydı merkezde durduğu için kişisel veri taşımaz; yalnız form numarası ve sonuç yazar.
Kimlik belgesi görmek kişisel veriye erişmektir; KVKK "kim erişti" sorusunun cevaplanabilmesini ister.
Çünkü her müşterinin SQL bağlantı bilgisi orada durur; merkez ele geçerse bütün müşteri veritabanlarına yol açılır.
8Yasal çerçeve, sınırlar ve ileri konular
Son teknik kısım. Burada yasanın ürüne nasıl şekil verdiğini, ürünün bugün yapamadıklarını ve önümüzdeki işleri göreceğiz. Bir eğitim belgesinin en değerli sayfası çoğu zaman "sistem bunu yapmaz" sayfasıdır: sahada yanlış beklenti, yanlış kullanımdan daha çok soruna yol açar.
Dikkat
Bu kısım hukuki görüş değildir. Ürün tasarımına girdi olarak toplanmış notlardır; kesin yorum için uyum görevlisi ya da mali müşavir teyidi şarttır. Tutarlar ve eşikler yıllık değişir.
8.1 Kısa mevzuat haritası
Düzenleme
Ne der
Üründe karşılığı
5549 sayılı Kanun
Yükümlüler kimlik tespiti yapar, kayıt saklar, şüpheli işlem bildirir
KYC dosyası, belge kararı, karar izleri; ŞİB yok (aşağıda)
MASAK tebliğ ve rehberleri
Hangi işlemde hangi eşik, hangi belge, ne kadar saklama
Kurallar ekranı (firma ayarlar); eşik yok (aşağıda)
32 Sıra No'lu Genel Tebliğ (27 Haziran 2026)
Yabancılar için pasaportla uzaktan kimlik tespiti (ICAO 9303, NFC), adres teyidi, IP + cihaz + konum saklama, bir aylık bildirim, üç aylık istatistik
Aydınlatma adımı, sürümlü onay, imha sekmesi, erişim kaydı
8.2 Eşikler neden yazılımda sabit değil?
"Kaç liranın üstünde kimlik tespiti zorunlu?" sorusunun tek bir cevabı yoktur. İki ayrı rejim vardır: yetkili müesseseler (döviz büroları) için Hazine'nin yıllık rehberindeki USD eşiği; MASAK'ın kimlik tespiti eşiği (kuyumcular için TL cinsinden anılan tutar). İkisi farklı düzenlemelerden gelir, farklı müşteri tiplerine uygulanır ve her yıl güncellenir. Yazılımın içine bir sayı gömülse, bir yıl sonra o sayı yanlış olur ve kimse fark etmez — 3. kısımdaki "sessiz hata"nın ta kendisi. Bu yüzden eşik, kural gibi, firma tarafından girilen ve tarihle birlikte saklanan bir ayar olmalıdır.
8.3 Sistemin bugün yapamadıkları
AifaUyum bugün bir dosya ve belge takip sistemidir. Aşağıdakiler ürünün kapsamı dışındadır ya da henüz yapılmamıştır; sahada vaat edilmemelidir:
Eksik
Ne demek
Neden önemli
İşlem ↔ kimlik bağı
KYC şeması ERP'nin işlem (fiş) tablolarını hiç tanımaz; bağ yalnız cari hesap üzerinden. Sistem bugün "bu işlem eşiği aştı, bu hesabın kimlik tespiti eksik, fiş kapanmamalı" diyemez.
Yasanın asıl istediği, işlem anında durdurmaktır. Bu, sıradaki büyük iştir: eşik tanımı + işlem anında eksik sorgusu + fiş kapanışına bağlama.
NFC pasaport okuma
Bugünkü okuma optiktir (kamera + OCR). Tebliğ 32'nin işaret ettiği ICAO 9303 çip okuması tarayıcı içinde yapılamaz; yerel Android NFC gerekir.
Yabancı uyruklu müşteride uzaktan kimlik tespiti için şart. Mobil mimariyi belirleyen en kritik bulgu.
IP + cihaz + konum
Tanı formunda yalnız cihaz bilgisi var; IP ve konum yok (portal izlerinde IP var ama kimlik tespiti kaydında yok).
Tebliğ 32 üçünü de kimlik tespitinde istiyor.
Bildirim ve istatistik
Bir aylık tedbir bildirimi ve üç aylık istatistik üretimi yok.
Tebliğ 32 yükümlülüğü.
Şüpheli işlem bildirimi (ŞİB)
ŞİB kaydı, formu ya da gönderimi yok.
Yükümlülüğün üçüncü ayağı; bugün tamamen manuel.
Otomatik mesaj gönderimi
"Bildirim yapıldı" damgası mesaj göndermez; davet linki personelin kendi kanalıyla iletilir.
Neden bunları bir eğitim belgesine yazıyoruz?
Çünkü sınırını bilmeyen kullanıcı, yazılımın yaptığını sandığı işi kendisi yapmaz. "Sistem şüpheli işlemi bildirir" sanan uyum görevlisi bildirmez; "SMS gitti" sanan operatör müşteriyi aramaz. Ürünün en tehlikeli hatası, yapmadığı bir işi yapıyor sanılmasıdır.
8.4 Yol haritası (bugünkü bilgiyle)
İşlem anında uyum denetimi: yapılandırılabilir eşik (müşteri tipine ve yıla göre), işlem anında Kyc.vEksikler sorgusu, sonucun fiş kapanışına bağlanması. ERP tarafında bugün "EVRAK DURUMU · KYC" alanı yer tutucudur; entegrasyon bu adımda gelir.
Tebliğ 32 uyumu: kimlik tespiti kaydına IP + cihaz + konum; NFC pasaport okuma için yerel Android bileşeni; bildirim ve istatistik üretimi.
Bir yazılımın "yapmadığı işi yapıyor sanılması" neden en tehlikeli hatadır?
Cevaplar
Eşikler iki ayrı rejimden gelir, müşteri tipine göre değişir ve her yıl güncellenir. Sabit sayı bir yıl sonra sessizce yanlış olur. Eşik, tarihiyle saklanan bir ayar olmalıdır.
Sistem bir satış fişi kesilirken "bu hesabın kimlik tespiti eksik, durdur" diyemez; yalnız dosya düzeyinde eksik gösterir. İşlem anında denetim, sıradaki büyük iştir.
Optik okuma kamerayla görüntüyü okur (OCR); NFC, pasaportun çipindeki imzalı veriyi okur. Tarayıcı (WebView) NFC donanımına erişemez; yerel Android bileşeni gerekir.
Hayır. Yalnız "bildirim yapıldı" tarihini damgalar; mesajı personel kendi kanalıyla gönderir. Ekran bunu açıkça söyler.
Çünkü kullanıcı o işi kendisi yapmayı bırakır: ŞİB bildirilmez, müşteri aranmaz. Yanlış beklenti, yanlış kullanımdan daha çok zarar verir.
9Sıkça sorulan sorular
Bu kısım, sahadan ve ekipten gelen soruları konuya göre toplar. Her cevap kısa tutuldu; ayrıntı için ilgili kısma bağlantı verildi. Cevapların çoğu bir ilkeye dayanır: yazılım yanlış bir sayı göstermektense hiç göstermez, sessizce karar vermektense insana sorar.
9.1 Genel ve kavramlar
KYC ile kimlik tespiti aynı şey mi?
Hayır. Kimlik tespiti "bu kişi kim" sorusunu belgeyle cevaplar; KYC buna işi, gelir kaynağını, riski ve bütün bunların saklandığı dosyayı ekler. Kimlik tespiti KYC'nin ilk adımıdır. → 2. kısım
Müşterimi yıllardır tanıyorum; yine de dosya açmak zorunda mıyım?
Evet. Kişisel tanışıklık belge değildir; denetimde gösterilemez. Dosya, "tanıyorum" cümlesinin belgeye dönüşmüş hâlidir. Tanıdığınız müşteride bu iş daha kolay ve daha hızlıdır, ama atlanamaz. → 1. kısım
Bir şirketten şirketin belgeleri yetmiyor mu, neden ortakların da kimliğini istiyoruz?
Şirket bir paravan olabilir; parayı fiilen yönlendiren kişi kâğıttaki isimden farklı olabilir. Yasa gerçek faydalanıcıyı ister. Tüzel kişide kimlik belgesi "her ilgili kişi için" kuralıyla istenir. → 2.4
Risk seviyesini kim belirliyor, yazılım mı?
İnsan. Yazılım hesaplamaz; seçilen seviyeyi ve nedenini kaydeder, gözden geçirme tarihini ona göre hesaplar ve karar geçmişine yazar. → 5.8
Bu yazılım şüpheli işlem bildirimi (ŞİB) yapıyor mu?
Hayır. ŞİB kaydı, formu ve gönderimi üründe yoktur; bu iş bugün tamamen uyum görevlisinin elindedir. Yol haritasında vardır. → 8.3
Sistem hangi tutarın üstünde kimlik tespiti gerektiğini söylüyor mu?
Hayır; eşik yazılıma gömülü değildir, çünkü müşteri tipine göre değişir ve her yıl güncellenir. Hangi eşiğin sizin için geçerli olduğunu uyum görevliniz söyler. İşlem anında denetim, sıradaki büyük iştir. → 8.2
9.2 Giriş, kurulum, lisans
Kiosk, Firma, Müşteri — hangisini seçmeliyim?
Kiosk: tablet müşterinin karşısında duracaksa; girişten sonra doğrudan belge çekimine geçilir. Firma: personel konsolu (listeler, kararlar, kurallar). Müşteri: yalnız müşterinin kendisi, kendi dosyası için. Müşteri hiçbir zaman Kiosk ya da Firma seçmez. → 4.3
Her gün parola girmek zorunda mıyım?
Hayır. Personel oturumu aynı cihazda 30 gün açık kalır. Cihaz değişirse ya da çıkış yapılırsa yeniden giriş gerekir.
Lisans süresi doldu; kiosk kilitlenir mi?
Hayır. Giriş yapılır, ekran çalışır; yalnız yeni kayıt reddedilir ve durum ekranda yazar. Müşteri karşıdayken uygulamanın kilitlenmemesi için bilerek böyledir. Lisans yönetim programından uzatılır; uzatma bugünden ya da mevcut bitişten, hangisi ileriyse ondan başlar. → 4.5
Yönetim programından eklediğim kullanıcı sunucuda "parola hatalı" diyor.
Yönetim programındaki parola özeti dosyası (Guvenlik.vb) sunucudakiyle birebir aynı olmak zorundadır; biri güncellenip diğeri unutulduysa tam bu hata görülür. verify_yonetim.py ile karşılaştırın. → 4.5
Güncelleme yaparken hangi dosyalar değişir?
Genellikle index.html ve iki servis dosyası (uyum.asmx, uyumclient.asmx); tablet için APK. web.config pakete konmaz. Veritabanı betikleri eklemelidir, var olan veriye dokunmaz; her sürümün notu hangi betiğin gerektiğini yazar. Sürüm rozeti giriş ekranında ve konsolda görünür; Ctrl+F5 sonrası yeni sürümü göstermelidir. → 3.2 Karar G
9.3 Hesaplar ve kurallar
Hesap "Tam" görünüyor ama belgesi eksik.
Önce kişi tipi seçilmiş mi bakın: seçilmemişse rozet "Kişi tipi yok" olmalıdır. Rozet gerçekten "Tam" ise ilgili kural pasif ya da opsiyonel olabilir; Kurallar sekmesinde durum ve zorunluluk süzgeçlerine bakın. Opsiyonel eksik hesabı eksikli yapmaz. → 5.1–5.2
"KYC yok" ile "Kişi tipi yok" arasındaki fark ne?
"KYC yok": dosya hiç açılmamış. "Kişi tipi yok": dosya açılmış ama gerçek/tüzel seçilmemiş, bu yüzden hiçbir kural uygulanamıyor. İkisinde de eksik sayısı sıfırdır ama ikisi de "tamam" demek değildir. → 5.1
Yazılım kişi tipini neden kendisi seçmiyor?
Sahada 457 hesabın 456'sında ayırt edici alanlar boştu; tahmin çoğu zaman tutmaz ve tutmayan tahmin müşteriye giden yanlış eksik listesi demektir. Yazılım öneri gösterir, seçimi insana bırakır ve seçimin kaynağını kaydeder. → 5.1
Vergi numarası ERP'de farklı, KYC'de farklı; hangisi doğru?
Yazılım karar vermez, "çakışma" rozeti gösterir. Değerin yanındaki harf kaynağını söyler: H = ERP hesap kartı, K = KYC dosyası. Belgeye bakıp doğru olanı seçin. ERP'deki değer KYC'ye sessizce kopyalanmaz. → 5.1
Yeni bir kural ekledim; eski müşterilerin hepsi eksikli oldu. Normal mi?
Evet ve doğrudur: eksikler saklanmaz, her açılışta o anki kurallara göre hesaplanır. Bu yüzden kural kaydedilmeden önce "kaç hesabı, kaç kişiyi etkileyecek" bilgisi gösterilir; kaydetmeden önce bakın. → 5.2
Kimlik kartı gösteren müşteri neden pasaport için de "eksik" görünmüyor?
Kimlik kartı / pasaport / ehliyet bir seçenek grubudur: üçünden biri yeterlidir, ızgarada tek satır olarak görünür. → 5.2
İkametgâh belgesi üç ayda bir mi yenilenmeli?
Fabrika ayarında ikametgâhın geçerliliği yükleme tarihinden 3 aydır; vergi levhası 12 ay; kimlik ve imza sirkülerinin tarihi belgenin üstünden alınır. Bunlar Kurallar → Belge türleri'nden firmanın ihtiyacına göre değiştirilebilir. → 5.2
9.4 Belgeler ve kararlar
Belgeyi listeden onaylayamıyorum.
Bilerek. Görüntüle'ye basın; karar düğmeleri yalnız görüntüleyicidedir, çünkü görülmemiş belgeyle karar verilmemelidir. → 5.7
Reddet düğmesi çalışmıyor.
Red sebebi boştur; sebep zorunludur. Sebep, müşterinin portalında reddedilen belgenin altında aynen görünür ve müşteri neyi düzelteceğini oradan anlar. → 5.7
Müşteri yanlış belge yükledi; silebilir miyim?
Silinmez, reddedilir. Müşteri yeniden gönderince yeni dosya 2. sürüm (S2) olarak eklenir; eski sürüm dosyada kalır. "İlk belge neden reddedildi" bilgisi böylece kaybolmaz. → 3.2 Karar C
Onayladığım dosya kendiliğinden "Askıda" oldu.
Karar geçmişine bakın: Kaynak "Sistem" yazıyorsa müşteri yeni belge yüklemiş ya da onaylı dosyada bir belge reddedilmiştir. Yazılım onayı askıya alır ve bunu kaynağıyla yazar. Yeniden bakıp onaylayın. → 5.8
Zorunlu belge eksikken dosyayı onaylayabilir miyim?
Evet, ama gerekçe zorunludur ve karar geçmişine o anki eksik sayısıyla birlikte yazılır ("2 zorunlu eksikle onaylandı"). Karar bekleyen belge varken onaylamak ise tavsiye edilmez: görülmemiş belgeyle dosya kararı, belgeyi hiç okumamış olmakla aynıdır. → 5.8
"Bayat onay" ne demek?
Verildiği gün doğru olan ama sonradan (süresi dolan belge, reddedilen belge, değişen kural) dosyayı karşılamayan onay. Saklanmaz, her açılışta hesaplanır; Hesaplar ızgarasındaki "Bayat onaylar" süzgeciyle görülür. → 3.2 Karar E
Süre takibinde "Bildirim yapıldı" dedim; müşteriye mesaj gitti mi?
Hayır. Damga yalnız tarihi kaydeder; mesajı siz kendi kanalınızdan gönderirsiniz. Ekran bunu açıkça yazar. Otomatik SMS/e-posta üründe yoktur. → 5.9
2.17.1'e güncelleyin; giriş ekranındaki sürüm rozetini kontrol edin. Devam ederse Kamera ayarları → Dokunmatik tanı ekranında 20-30 kez dokunup "Ölçümü kopyala" çıktısını iletin; ölçüm kişisel veri içermez. → 5.4
Sihirbazda imza ekranı boş açılıyor.
2.16.1'de düzeltildi; sürümü kontrol edin.
Belge okunmadı, "elle kontrol edilmeli" diyor. Ne yapmalıyım?
"Tekrar çek ve oku" ile yeniden deneyin (ışık, yansıma, kadraj). Yine olmazsa alanları elle doldurun; o alanlar "elle girildi" etiketiyle kaydedilir. Bu bir hata değil, kaynağın dürüstçe yazılmasıdır. → 5.4
Müşteri KVKK metnini onaylamak istemiyor.
Onay olmadan sihirbaz ilerlemez ve kayıt oluşmaz; çünkü onaysız toplanan kişisel veri hukuka aykırı toplanmış sayılır. Aydınlatma metnini firma kendi metniyle değiştirebilir (Ayarlar); fabrika metni örnektir. → 5.4
Tablette internet yokken kayıt ne olur?
Form üretilir, kayıt kuyruğa alınır ve bağlantı gelince gönderilir. Bitiş ekranı bunu açıkça söyler ve form numarasının geçici olduğunu belirtir. → 5.5
Kimlik görüntüsü AifaSoft'a gidiyor mu?
Hayır. Okuma tabletin içinde yapılır; görüntü yalnız kayıt anında, müşterinin kendi veritabanına yazılmak üzere sunucudan geçer ve AifaSoft sunucusunda saklanmaz. → 7.3
9.6 Portal ve firma bağı
Müşterim linke tıklıyor, giremiyor.
Sırasıyla: (1) firma için portal açık mı — varsayılan kapalıdır; (2) o hesap için portal erişimi açık mı; (3) davet 7 günü geçmiş mi ya da yeni davet üretilip eskisi ölmüş mü; (4) kalıcı hesapsa parola üretilmiş mi, hesap kilitli mi. → 6.2
Davet linkiyle giren müşteri belge indiremiyor; arıza mı?
Hayır, tasarım. Link parolasızdır ve mesajla gider; ele geçse bile kimse belge indirememelidir. İndirme yalnız parolalı kalıcı hesapta açıktır. → 6.2
Hayır; parola geri okunamayan özet olarak saklanır, kimse göremez. Hesap çekmecesi → Portal'dan yenileyin; yeni parola yalnız o an görünür. Yenileme müşterinin açık oturumlarını da kapatır. → 7.2
Müşteri portalda risk seviyesini görüyor mu?
Hayır. Risk seviyesi, risk nedeni, iç notlar ve karar geçmişi portalda gösterilmez; bunlar firmanın iç değerlendirmesidir. Bağlı firmalar da görmez. → 6.3
Bize belge göndermesi gereken firma da AifaUyum kullanıyor; her belgeyi WhatsApp'la mı isteyeceğiz?
Hayır. Karşı firma "Bizden istenenler" sekmesinden bağ kurar (portal kullanıcı/parolasıyla anında, ya da vergi numaranız + bağlantı kodunuzla sizin onayınızla) ve istenen belgeleri kendi ekranından gönderir. → 6.4
Bağlantı kodumuzu birine verdim; artık dosyamıza erişebilir mi?
Hayır. Kod tek başına erişim vermez; yalnız istek göndermeyi sağlar. Erişim, siz isteği görüp hesabı seçerek onaylayınca açılır. → 6.4
9.7 Veri ve güvenlik
Belgeler nerede saklanıyor?
Müşterinin kendi ERP veritabanında, Kyc bölmesinde; AifaSoft merkezinde kimlik belgesi yoktur. ERP yedekleniyorsa belgeler de yedeklenir. → 4.2, 7.3
Bir belgenin sonradan değiştirilmediğini nasıl bilirim?
Her belgenin SHA-256 özeti künyede yazar; tek bayt değişse özet tutmaz. → 7.3
Bir belgeyi kimin açtığını görebilir miyim?
Evet; belgeyi görüntülemek merkezî erişim kaydına yazılır (kişisel veri içermez, yalnız form numarası ve sonuç). Yönetim programının Erişim kaydı sekmesinden bakılır. → 7.4
KVKK gereği eski kayıtları silmem gerekiyor; sistem kendisi siliyor mu?
Hayır, otomatik imha yoktur: silme bir karardır, düğmeye basılır, sebep yazılır ve iz kalır. Kurallar → "KVKK saklama ve imha" sekmesi saklama süresini ve imha adaylarını gösterir. → 7.5
AifaUyum'u kaldırırsak ERP'de bir şey bozulur mu?
Hayır. Modül ERP'nin hiçbir tablosuna yazmaz; tek bağ cari hesap numarasıdır. Kaldırılınca ERP'de tek bir sayı değişmez. → 3.2 Karar B
9.8 Mevzuat
Belgeleri kaç yıl saklamalıyım?
Mevzuatta rejime göre 5 ila 8 yıla varan süreler anılır; sizin için geçerli süreyi uyum görevliniz ya da mali müşaviriniz söyler. Yazılımda saklama süresi ayarlanabilir; sabit değildir. → 8.1
Yabancı uyruklu müşterinin pasaportunu okutunca kimlik tespiti tamam mı?
Optik okuma (kamera + OCR) yapılır ve MRZ doğrulanır. 32 Sıra No'lu Tebliğ'in yabancılar için işaret ettiği NFC çip okuması bugün üründe yoktur; uzaktan kimlik tespiti gereksinimi için uyum görevlinizle konuşun. → 8.3
Tebliğ 32'nin istediği IP ve konum bilgisi kaydediliyor mu?
Kimlik tespiti kaydında bugün yalnız cihaz bilgisi var; IP ve konum yok. Portal izlerinde IP vardır. Yol haritasındadır. → 8.3
10Sözlük ve kapanış
10.1 Sözlük
Aydınlatma metni
KVKK gereği, kişisel veri toplanmadan önce kişiye okutulan "neden topluyoruz, ne kadar saklayacağız, haklarınız neler" metni. Sihirbazda zorunlu adım; onaylanan metnin sürümü forma yazılır.
Bağlantı kodu
Bir firmanın, başka bir firmanın kendisinden belge istemesine izin vermek için verdiği kod. Vergi numarasıyla birlikte kullanılır; tek başına erişim vermez.
Bayat onay
Verildiği anda doğru olan ama sonradan (süresi dolan belge, reddedilen belge, değişen kural) dosyayı karşılamayan onay. Saklanmaz, görünümde hesaplanır.
Belge kararı
Tek bir belge hakkında onay ya da ret (sebeple). Yalnız görüntüleyicide verilir.
Belge kuralı
"Hangi kişi tipinden hangi belge istenir" tanımı. Kapsam (hesap düzeyi / her kişi için), seçenek grubu, zorunluluk taşır.
Cari hesap
ERP'deki müşteri kartı. KYC dosyası bu kartın üstüne oturur; ERP'ye yazmaz.
Davet bağlantısı
Müşteriye gönderilen 7 günlük, parolasız, yalnız yükleme yetkili portal linki.
Erişim kaydı
Merkezde tutulan personel işlem defteri; kişisel veri içermez.
Gerçek faydalanıcı
Bir şirketi fiilen kontrol eden, gelirinden fiilen yararlanan insan. Üründe "ilgili kişi".
Gerçek kişi / tüzel kişi
İnsan / kâğıt üstünde kurulmuş varlık (şirket). Kişi tipi, hangi kuralların uygulanacağını belirler.
Gözden geçirme
Onaylı dosyanın riske göre belirli aralıklarla yeniden incelenmesi. Aralık ay cinsinden ayarlanır.
Görünüm (view)
Veritabanında saklanan değil, her sorulduğunda hesaplanan tablo. "Kaç eksik", "süresi doldu mu" gibi bilgiler görünümden gelir.
İlgili kişi
Tüzel kişinin arkasındaki ortak, yetkili, temsilci. Her biri için ayrı kimlik istenir.
Kara para aklama
Suçtan gelen parayı, kaynağı sorulmayan paraya çevirme. Üç adım: yerleştirme, ayrıştırma, bütünleştirme.
Karar izi
Dosya kararlarının zinciri: eski/yeni durum ve risk, gerekçe, kaynak (Elle/Sistem), kim, ne zaman, o anki eksik sayısı.
Kimlik tespiti
Belgeyle "bu kişi kim" sorusunu cevaplamak ve bunu kaydetmek.
Kiosk
Müşterinin karşısına konan tablet kipi: tek ekranda tek soru, sihirbaz.
Dosyanın bütünü hakkında insan kararı: Başlamadı / İnceleniyor / Onaylandı / Askıda / Reddedildi.
MASAK
Mali Suçları Araştırma Kurulu. Kara para aklamayla mücadele kurallarını yayımlar ve denetler.
MRZ
Kimlik kartı ve pasaportun altındaki makinece okunabilir satırlar. Kontrol haneleri sayesinde okunan değer doğrulanabilir.
MTF (Müşteri Tanı Formu)
Sihirbazın ya da operatörün ürettiği, kimlik görüntüsü + okunan alanlar + KVKK onayı + imza içeren form. Numarası MTF-yıl-sıra. Aynı zamanda bir belge türüdür.
OCR
Görüntüden metin okuma. AifaUyum'da tarayıcı içinde çalışır; görüntü sunucuya gitmez.
Onay kuyruğu
Bir insanın bakmasını bekleyen belgelerin listesi; en eski önce.
PEP
Politically Exposed Person — siyasi nüfuz sahibi kişi. Özel risk sınıfı.
Portal
Müşterinin kendi dosyasını gördüğü ve belge yüklediği ekran. Firma bazında varsayılan kapalı.
Risk seviyesi
Düşük / Orta / Yüksek. Gözden geçirme sıklığını belirler. Müşteriye ve bağlı firmaya gösterilmez.
Seçenek grubu
"Şu VEYA bu belge" kuralı: kimlik kartı / pasaport / ehliyet üçünden biri yeterli.
Sessiz hata
Oluştuğu anda kimsenin fark etmediği, denetim günü ortaya çıkan hata. Ürünün tasarım kararlarının çoğu bunu önlemek içindir.
SHA-256
Bir dosyanın parmak izi. Dosya değişirse özet tutmaz.
Sürüm (belge)
Aynı belgenin yeniden gönderimi. Eski sürüm silinmez; S1, S2… olarak kalır.
Süre takibi
Son geçerlilik tarihine göre "dolmuş" ve "uyarıda" belgelerin listesi.
ŞİB
Şüpheli işlem bildirimi. Üründe bugün yok.
Tebliğ 32
27 Haziran 2026'da yürürlüğe giren MASAK Genel Tebliği; uzaktan kimlik tespiti, NFC pasaport, IP/cihaz/konum saklama, bildirim ve istatistik yükümlülükleri.
Türetilmiş bilgi
Başka bilgilerden hesaplanan bilgi ("tam mı", "kaç eksik"). AifaUyum'da saklanmaz, hesaplanır.
Yasa gereği müşterisini tanımak ve kayıt tutmakla görevli işletme.
10.2 Bir sayfada bütün sistem
Bu belgeyi tek paragrafa sığdırmak gerekirse: Devlet, kara paranın izini sürebilmek için belli işletmelere "müşterini tanı, belgele, sakla" der; buna uymamanın bedeli ağırdır. Kâğıtla yapılan tanıma, büyüdükçe sessizce bozulur: etiketler yalan söyler, kurallar değişir, izler kaybolur. AifaUyum bu bozulmayı şu kararlarla imkânsız kılar: türetilmiş hiçbir bilgiyi saklamaz, her seferinde hesaplar; ERP'ye tek iple bağlanır ve ona yazmaz; belgeleri sürümler, hiçbir şeyi silmez; her kararı gerekçesi, kaynağı ve zamanıyla zincire yazar; müşteriye dar, personele geniş kapı açar; belgeleri müşterinin kendi veritabanında tutar, kimlik görüntüsünü sunucuya göndermez. Sistemin bugün yapmadıkları da yazılıdır: işlem anında durdurma, NFC, IP/konum, bildirim, ŞİB. Bunlar sıradaki işlerdir.
10.3 Bu belgenin kaynakları
AifaUyum 2.17.1 kaynak kodu ve kod içi tasarım yorumları (özellikle Kyc.Sema.sql, Kyc.Firma.Karar.sql, 1200-sihirbaz.js, 2210-kyc-sekme.js); OKUBENI-KURULUM.txt ve sürüm notları 1.1.0–2.17.1; yönetim programı OKUBENI.txt; proje notları "AifaUyum KYC/Uyum Modülü", "KYC Veri Modeli", "MASAK Mevzuat Notları" (10 Eylül 2026). Ekran görüntüleri 28 Eylül 2026'da laboratuvarda, 2.17.1 sürümüyle, örnek veriyle alınmıştır; kimlik görüntüleri bulanıklaştırılmış, kişi bilgileri örnek değerlerle değiştirilmiştir. Mevzuat bilgisi ikincil kaynaklardan derlenmiştir ve hukuki görüş değildir.
AIFASOFT · AifaUyum 2.17.1 · Eğitim belgesi · 28 Eylül 2026