Kaynak: https://oguzerol.com/abonelik-yenileme-gider-takip-uygulamasi/

[![Örnek senaryo: bulut depolama aboneliğinin iptal son günü yaklaşır, sözleşme kayda bağlanır ve karar sorumlu kişinin işaretlemesini bekler.](https://oguzerol.com/gorseller/senaryo/abonelik-yenileme-gider-takip-uygulamasi-senaryo-tr.webp)

Görseli büyüt](https://oguzerol.com/gorseller/senaryo/abonelik-yenileme-gider-takip-uygulamasi-senaryo-tr.webp)

# Abonelik ve Lisans Takip Uygulaması: İptal Penceresi ve Boş Lisans

[Oğuz Erol](https://oguzerol.com/hakkimda/)  |  19 dk okuma

Abonelik ve lisans takip uygulaması, şirketinizin ödediği her yazılım ve hizmet aboneliğini tek envanterde tutar. Her aboneliği bir sahibe bağlar, otomatik yenilemeden önce iptal son gününü hesaplar ve kararı o güne kadar ister. Kullanılmayan ya da işten ayrılan çalışana ait lisansı gösterir. Dövizli fiyat artışını kur etkisinden ayırır. Uygulamayı şirketinize özel geliştiriyorum. Uygulama sağlayıcının hesabında abonelik iptal etmez, ödeme yapmaz. Kararı hazırlar ve kaydını tutar.

Bu işte asıl tuzak, kullanılmayan lisansı bulmak değil, onu ne zaman kesebileceğinizi bilmemek. Çoğu yıllık sözleşmede boş koltuğu bulduğunuz gün azaltamazsınız. Sözleşmenin izin verdiği pencereyi beklersiniz. O pencere kaçarsa genellikle bir yıl daha ödersiniz. Aşağıdaki kurgusal çeyrekte 190 kişilik bir üreticinin 64 aboneliği var. 60 gündür kimsenin girmediği 71 koltuğun 32’si için o çeyrekte karar verilebiliyor, 39’u yenileme gününü bekliyor.

## Uygulama hangi soruları cevaplar?

Uygulama her gün üç soruyu güncel tutar: bu aboneliğin sahibi kim, en geç ne zaman vazgeçebilirim, ödediğimiz koltukları kim kullanıyor. Cevapların hepsi kayıtta durur; tarih yaklaşınca soru ilgili kişiye görev olarak düşer.

Üç kavramı sayfa boyunca aynı adla kullanıyorum. **Yenileme günü**, aboneliğin otomatik olarak yeni döneme geçtiği ve ücretin kesildiği gün. **Bildirim süresi**, sözleşmenin iptal ya da koltuk azaltma için yenilemeden önce istediği süre. **İptal son günü**, yenileme gününden bildirim süresi çıkarılınca kalan tarih. Bu tarihten sonra verilen karar ancak bir sonraki yenilemede geçerli olur.

Türkiye’de bu tarihler şirket aboneliğinde tüketici aboneliğinden daha önemli. 6502 sayılı Tüketicinin Korunması Hakkında Kanun’un 52. maddesinin 3. fıkrası, belirli süreli abonelik sözleşmesine sözleşmenin belirlenen süre kadar uzayacağına ilişkin hüküm konulamayacağını söylüyor. Aynı kanunun 3. maddesi ise tüketiciyi “ticari veya mesleki olmayan amaçlarla hareket eden” kişi diye tanımlıyor ([kanun metni](https://www.mevzuat.gov.tr/mevzuatmetin/1.5.6502.pdf); mevzuat.gov.tr’deki metni 15 Ekim 2026’da okudum, 52. madde için değişiklik dipnotu yok). Şirketinizin iş için aldığı yazılım bu korumanın dışında: bu yasak uygulanmaz ve sözleşmenin kendi yenileme ve bildirim süresi esas alınır. Bu, sözleşmedeki her koşulun her durumda geçerli olduğu anlamına gelmiyor; Türk Borçlar Kanunu’nun genel işlem koşullarına ilişkin hükümleri (md. 20–25), özellikle sağlayıcının çok sayıda müşteriye aynı biçimde sunduğu standart koşullar için, ticari sözleşmelerde de gündeme gelebilir. Hukuki görüş vermiyorum. Uygulamada her kaydın yanında sözleşmenin ilgili maddesi durur, geçerliliğini hukuk danışmanınıza sorarsınız.

## Örnek çeyrek: 190 kişilik bir üreticinin 64 aboneliği

Aşağıdaki şirket, tutarlar, kurlar ve sözleşme koşulları kurgusaldır, yöntemi göstermek için hazırladım. Çeyreğin 1. günü Pazartesi. Günleri çeyreğin başından sayıyorum, hiçbir tarih hafta sonuna düşmüyor. Dövizli tutarları sağlayıcının fiyatladığı gibi ABD doları olarak yazıyorum. Bütçe kuru 45,00 TL, bu da kurgusal.

### İlk üç hafta: envanter

Başlangıçta BT müdürünün listesinde 41 abonelik vardı. Uygulama üç kaynağı birleştirdi: dört kurumsal kredi kartının son 12 aylık ekstresi, muhasebenin yurt içi ve yurt dışı fatura listesi, BT’nin listesi. Sonuç 64 abonelikti: 38’i dövizli, 26’sı TL fiyatlı. Dövizli olanların yenilemelerden önceki yıllık toplamı 182.000 USD.

BT listesinde olmayan 23 aboneliğin 14’ü ekstre açıklamasından hemen tanındı. Bunlar departmanların kendi kartlarıyla açtığı araçlardı. 9’u tanınamadı. Açıklamada yalnız bir ödeme aracısının adı ve bir kod yazıyordu. Envanter bittiğinde 15 abonelik sahipsizdi: tanınamayan 9 ve kayıtlı sahibi şirketten ayrılmış 6.

Uygulama 19. gün, Cuma canlıya alındı. Sahipsiz 15 kayıt için 10 iş günü süre başladı.

### Sahipsiz 15 abonelik

İki hafta sonra, 33. gün, Cuma, sahipsiz kayıt kalmamıştı:

- Sahibi ayrılmış 6 aboneliğe departman müdürleri yeni sahip atadı.
- Tanınamayan 9 satırın 5’i, satıcının fatura e-postasından tanındı ve sahibine bağlandı.
- 3’ü iptal edildi: ayrılmış çalışanların açtığı, kurumsal kartta unutulmuş aylık 29, 49 ve 15 USD’lik üç araç. Toplam aylık 93 USD, yıllık 1.116 USD.
- 1’i mükerrerdi: aynı ekran kaydı aracı için iki departman ayrı ekip planı ödüyordu. Planlar birleşti, aylık 40 USD, yıllık 480 USD düştü.

Çeyrek sonunda 64 − 3 − 1 = 60 aktif abonelik kaldı, hepsinin sahibi ve yedeği var.

### Boş koltuklar

64 aboneliğin 18’i kullanıcı başına lisanslı. Bunların 11’inin yönetici panelinden son giriş tarihli kullanıcı listesi dışa aktarılabildi. 7’sinde bu veri yoktu. Kullanımı izlenebilen 642 koltuğun 71’inde son 60 günde hiç giriş yoktu:

| boş koltuk, örnek veri | adet | o çeyrekte ne yapılabildi |
| --- | --- | --- |
| Ofis paketi ve e-posta, aylık ve taahhütsüz | 19 | Hepsi işten ayrılmış çalışanlara aitti. 7’si çeyrekte işe başlayan 7 kişiye verildi, 12’si hemen azaltıldı. |
| Teknik çizim (CAD) yazılımı, yıllık | 7 | Yenileme çeyreğin içindeydi. 6’sı azaltıldı, 1’i uzun izindeki çalışan için tutuldu. |
| Proje yönetim aracı, aylık | 6 | 60 koltuğun 6’sı boştu, aktif kullanıcı 51–54 arasında kalıyordu. Aşağıda anlatılan yıllığa geçişte 54 koltuğa inildi. |
| Diğer 8 yıllık abonelik | 39 | İşaretlendi. Bu sözleşmelerde koltuk ancak yenilemede azaltılabiliyor, yenileme günlerine kadar ödenmeye devam ediyor. |

Ofis paketindeki 19 boş koltuğun sebebi basitti: İK’nın işten çıkış listesi ile lisans listesi hiç karşılaştırılmamıştı. 12 koltuk × 12 USD × 12 ay = yıllık 1.728 USD. 7 yeni çalışan için koltuk satın alınmadı, yıllık 1.008 USD’lik bir alım da önlendi.

Bekleyen 39 koltuk için yenilemeyi beklerken yapılabilecek iki şey var: aynı üründe gelen yeni koltuk isteğini önce bu boş koltuklara yönlendirmek ve sözleşmede dönem içinde koltuğu başka kullanıcıya devretme hakkı olup olmadığına bakmak. Ofis paketinde 7 koltuğun yeni çalışanlara verilmesi aynı mantıktı; orada aylık plan olduğu için beklemek gerekmedi.

### CAD yenilemesi: 24 koltuktan 18’e

CAD yazılımı 24 koltuk, koltuk başı aylık 210 USD, yıllık peşin: 60.480 USD. Yenileme günü 73. gün, Çarşamba. Örnek sözleşmede bildirim süresi 30 gün, yani iptal son günü 43. gün, Pazartesi. Sağlayıcı yenilemede koltuk fiyatının yüzde 8 artacağını duyurmuştu: 226,80 USD.

Kural, karar görevini iptal son gününden 45 gün önce açmayı istiyor. Bu durumda görev çeyrek başlamadan, uygulama yokken açılmalıydı. Uygulama görevi 19. gün, canlıya alındığı gün “geç açıldı” işaretiyle açtı, iptal son gününe 24 gün kalmıştı. Sahibi olan üretim mühendisliği müdürü 31. gün, Çarşamba kararını verdi: kullanım verisinde 17 aktif kullanıcı vardı, uzun izindeki bir çalışan dönecekti, karar 18 koltuk. Azaltma bildirimi 32. gün, Perşembe sağlayıcıya gitti, iptal son gününden 11 gün önce.

| CAD, örnek veri | koltuk | koltuk başı aylık | yıllık |
| --- | --- | --- | --- |
| Geçen yıl | 24 | 210,00 USD | 60.480,00 USD |
| Hiçbir şey yapılmasaydı | 24 | 226,80 USD | 65.318,40 USD |
| Karar | 18 | 226,80 USD | 48.988,80 USD |

Fiyat zammına rağmen yıllık maliyet geçen yıla göre 11.491,20 USD düştü. Karar verilmeseydi ödenecek tutara göre fark 16.329,60 USD.

### Proje aracı: aylıktan yıllığa

Proje yönetim aracı aylık faturalıydı: 60 koltuk, koltuk başı 11 USD, yıllık 7.920 USD. Son altı ayda aktif kullanıcı 51 ile 54 arasında kaldı. Örnek sağlayıcı yıllık planda koltuk başı 9 USD istiyordu, ama yıllık planda koltuk dönem içinde azaltılamıyordu. Kullanım altı ay boyunca dar bir aralıkta kaldığı için yıllığa 54 koltukla geçildi: 54 × 9 × 12 = 5.832 USD, yıllık 2.088 USD daha az. Bunun 792 USD’si (6 boş koltuk × 11 × 12) aylık planda da kesilebilirdi. Yıllık planın kendi katkısı 54 × 2 × 12 = 1.296 USD. Kullanım dalgalı olsaydı aylıkta kalmayı önerirdim: yıllık indirim, boş koltuğu bir yıl ödemeyi göze almanın karşılığı.

Kullanım verisi olmayan 7 abonelikten birinin yenilemesi de bu çeyreğe düştü: 12 koltuklu bir tasarım aracı. Kural gereği yenileme onaya gitti. Sahibi kullanan 11 kişinin adını yazdı, BT müdürü gerekçeyle onayladı. Kayda “bir sonraki yenilemede kullanım beyanı yeniden istenecek” notu eklendi.

### Kur uyarısı ve çeyreğin sonucu

CAD faturası yenileme günü 47,50 TL kurla ödendi. Bu kur bütçe kurundan yüzde 5,6 yukarıda, örnek şirketin yüzde 5 eşiğini aşıyor, uygulama finans müdürüne kur uyarısı gönderdi. Bütçe (2.721.600 TL) ile gerçekleşen (2.326.968 TL) arasındaki 394.632 TL’lik düşüşün üç parçası var:

- **Miktar etkisi:** 6 koltuk az × 210 USD × 12 × 45,00 = −680.400 TL. Sahibin kararı.
- **Fiyat etkisi:** 18 koltuk × 16,80 USD zam × 12 × 45,00 = +163.296 TL. Sağlayıcının kararı. Pazarlığın konusu bu.
- **Kur etkisi:** 48.988,80 USD × 2,50 TL = +122.472 TL. Kimsenin kararı değil, finansın raporuna gider.

Miktar ve kur ayrımını [bütçe ve gerçekleşen gider panelinde](https://oguzerol.com/butce-ve-gerceklesen-gider-paneli/) anlattım. Abonelikte buna sağlayıcının fiyat zammı eklenir.

Çeyreğin kararları yıllık olarak şöyle toplandı: ofis paketi 1.728 USD, CAD 16.329,60 USD, proje aracı 2.088 USD, iptal ve birleştirme 1.596 USD. Bu toplam iki ayrı ölçüyle okunur:

| ölçü | tutar | ne demek |
| --- | --- | --- |
| Kaçınılan maliyet | 21.741,60 USD | Zamlı fiyatla “hiçbir şey yapılmasaydı” ödenecek tutardan fark. Henüz ödenmemiş bir tutarın ödenmemesi. |
| Zam payı (CAD, yüzde 8) | −4.838,40 USD | 24 koltuk × 16,80 USD × 12. Karar verilmese de gelecekti; harcamayı düşürmüyor, yalnız artışı önlüyor. |
| Gerçek düşüş | 16.903,20 USD | Geçen yıl yıllık ödenen tutara göre azalma. Dövizli harcamanın yaklaşık yüzde 9’u. |

İkisi de yıllıklandırılmış rakamdır: yıllık sözleşmeler yenileme gününde ödendiği için çeyrekte kasadan bu kadar para çıkmadı, düşüş yenileme günleri geldikçe nakit tablosuna yansır. Kaçınılan maliyetin dörtte üçü (16.329,60 USD) tek sözleşmeden, CAD’den geldi; sizde oran büyük sözleşmelerinizin yenileme gününün hangi çeyreğe düştüğüne bağlı. 7 yeni çalışan için önlenen 1.008 USD’lik alım iki rakama da girmedi, çünkü yeni bir harcamanın önlenmesi mevcut harcamanın düşmesi değil. Bekleyen 39 boş koltuk da dahil değil, onlar yenileme günlerinde karar listesine gelecek.

Çeyreğin asıl kararı rakamdan çok kuraldan çıktı: işten ayrılma kaydı lisans kontrolünü başlatmalıydı. Finans müdürü İK’nın çıkış kaydının, o kişiye ait bütün koltukları sahiplerinin listesine düşürmesini zorunlu yaptı.

## Kurallar: önerim, sizin kararınız

Aşağıdaki gün sayıları ve eşikler başlangıç önerimdir. Ölçülmüş bir doğru değil, ilk çeyreğin verisiyle değiştirilir.

| konu | önerim |
| --- | --- |
| Sahip zorunlu | Sahibi ve yedeği olmayan abonelik kaydedilmez. Sahip işten ayrılınca kayıt sahipsiz kuyruğuna düşer, departman müdürü yeni sahip atar. 10 iş günü içinde atanmazsa BT müdürü iptal önerisi açar. |
| İptal penceresi | Yıllık abonelikte karar görevi iptal son gününden 45 gün önce açılır, 10 iş günü önce ikinci hatırlatma gider, son gün sabah karar verilmemişse BT müdürüne ve finans müdürüne tırmanır. Aylık abonelikte iptal son gününden 5 iş günü önce hatırlatma yeter. |
| Karar verilmezse | Kayıt kendiliğinden “yenilenir” sayılmaz, “karar verilmeden yenilendi” diye işaretlenir ve çeyreklik raporda ayrı satırda görünür. |
| Kullanım verisi yoksa | Yenileme sahibinin onayıyla geçmez, onaya düşer. Sahip kullananları ya da gerekçeyi yazar, BT müdürü onaylar. Belirlediğiniz tutar eşiğinin üstünde finans müdürü de onaylar. |
| Boş koltuk | Son 60 günde girişi olmayan koltuk işaretlenir. Aylık planda sahibine hemen, yıllık planda karar göreviyle birlikte gösterilir. |
| İşten ayrılma | İK’nın çıkış kaydı, o kişiye atanmış bütün koltukları ilgili aboneliğin sahibine görev olarak düşürür. Koltuk geri alınır ya da gerekçesiyle tutulur. Yeni işe girişte önce boşa çıkan koltuk önerilir. |
| Kur farkı | Dövizli abonelikte ödeme günü kuru bütçe kurundan yüzde 5’ten fazla saparsa finans müdürüne uyarı gider. Uyarı sahibine değil finansa gider, çünkü kur sahibin kararı değil. |
| Fiyat artışı | Sağlayıcının duyurduğu yeni fiyat, eski fiyat silinmeden yeni dönem için kayda girer ve karar görevinde iki fiyat yan yana durur. Zam duyurusu iptal son gününden sonra gelirse kayıt “zam penceresi dışında” diye işaretlenir, sahibine sözleşmedeki fiyat artışı maddesine bakma görevi düşer. |
| Yeni abonelik | Kartla açılan yeni araç, ekstrede ikinci kez göründüğünde sahipsiz kuyruğuna düşer. Bir ay deneme ücretli olabilir, iki ay tekrarlayan ödemedir. |

Ekstre ayda bir yüklenir; bu yüzden kartla açılan bir araç en geç ikinci ekstrede yakalanır. Ekstrenin bankadan nasıl alınacağı bankanıza göre değişir. İşten ayrılma bilgisi İK kaydı yerine şirketin kullanıcı dizininden de gelebilir; bunun mümkün olup olmadığı kullandığınız dizine bağlı, ilk adımda bakarım.

Ekstrede tekrarlayan ödemeyi tanımak için başlangıç önerim şu: aynı açıklama, sağlayıcının kendi para birimindeki tutarda yüzde 10’a kadar fark ve 28–31 ya da 360–370 gün aralık. Ekstrenin orijinal döviz tutarını gösterip göstermediği bankanıza göre değişir. Göstermiyorsa TL tutardaki kur oynaması toleransı genişletir, eşleşme puanı düşer ve satır kuyruğa daha sık düşer.

Vergi, çek ya da tedarikçi vadesi gibi “ödeyelim mi” diye sorulmayan ödemeler bu uygulamanın konusu değil. Onların hatırlatma kuralları [ödeme tarihi hatırlatma uygulamasında](https://oguzerol.com/odeme-tarihi-hatirlatma-uygulamasi/) duruyor.

## Kart ekstresinde tanınmayan abonelik ve yurt dışı faturası

Tanınmayan tekrarlayan satır bir eşleştirme hatası değil, sahipsiz bir harcamadır; uygulama onu silmez, kurallardaki sahipsiz kuyruğuna koyar. İptal sağlayıcının hesabında, sahibi ya da BT tarafından yapılır. Uygulama iptal onay e-postasını kanıt olarak kayda bağlar ve sonraki ekstrede aynı satırın gelmediğini kontrol eder.

Kart harcamasının fişi ve faturasıyla eşleştirilmesi ayrı bir iş. Onu [gider fişi ve belge takibi uygulamasında](https://oguzerol.com/gider-fisi-ve-belge-takibi/) anlattım. Abonelik uygulaması yalnız “bu tekrarlayan ödemenin sahibi ve sözleşmesi var mı” sorusunu sorar.

Yurt dışından alınan hizmetlerde sorumlu sıfatıyla KDV (2 No.lu KDV beyannamesi) söz konusu olabilir. Gelir İdaresi’nin bir özelgesi, bir şirketin Almanya’daki ortağından aldığı video konferans yazılımı için ödenen bedel üzerinden hesaplanan KDV’nin, şirket tarafından sorumlu sıfatıyla 2 No.lu KDV beyannamesiyle beyan edilip ödenmesi gerektiğini söylüyor ([İstanbul Vergi Dairesi Başkanlığı özelgesi](https://cdn.gib.gov.tr/api/gibportal-file/file/getFileResources?objectKey=arsiv%2Fmevzuat%2Fuluslararasi_mevzuat%2FOZEL_2018_342400.html), 06.04.2018, sayı 62030549-125\[30-2015/229\]-342400). Özelge genel bir kural değil, yalnız soran mükellefi bağlar. Sizin aboneliğinizin durumunu muhasebecinizle doğrulayın. Uygulamada her kayıtta sağlayıcının ülkesi tutulur ve yurt dışı sağlayıcıların o ayki ödemeleri muhasebeye ayrı liste olarak gider. Kartta unutulmuş bir araç, gözden kaçmış bir beyan satırı da olabilir.

## Kim ne yapar, iz kaydı nasıl tutulur?

Rol ayrımının bu uygulamadaki karşılığı şu: aboneliğin sahibi kendi aboneliğinin yenilemesini, kullanım verisi yokken tek başına onaylayamaz. Kur ve tutar eşiklerini de değiştiremez. Örnek bir dağılım:

| işlem | abonelik sahibi | departman müdürü | BT müdürü | İK | muhasebe | finans müdürü | denetçi |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Abonelikleri görür | kendi | kendi departmanı | hepsi | — | hepsi (tutar) | hepsi | hepsi |
| Kullanım verisini yükler | ✓ | — | ✓ | — | — | — | — |
| Yenile, küçült, iptal et kararı | ✓ | — | — | — | — | — | — |
| Sahipsiz kayda sahip atar | — | ✓ | — | — | — | — | — |
| Kullanım verisi yokken yenilemeyi onaylar | — | — | ✓ | — | — | eşik üstünde | — |
| Çıkış kaydını girer, lisans görevini başlatır | — | — | — | ✓ | — | — | — |
| Ekstre yükler, yurt dışı listesini alır | — | — | — | — | ✓ | — | — |
| Eşikleri ve kuralları değiştirir | — | — | — | — | — | ✓ | — |
| İz kaydını dışa aktarır | — | — | — | — | — | ✓ | ✓ (değiştiremez) |

İK yalnız kişi ve çıkış tarihini görür, aboneliklerin tutarını görmez.

İz kaydı her değişikliğin silinemeyen bir satırını tutar: kim, ne zaman, hangi kayıt, eski ve yeni değer, gerekçe. Fiyat değişikliğinde eski fiyat korunur, geçmiş dönemlerin maliyeti yeni fiyatla yeniden hesaplanmaz. İptal edilen abonelik silinmez, sözleşmesi ve faturalarıyla arşive geçer. Saklama süresini Vergi Usul Kanunu’nun 253. maddesindeki beş yıla değil, Türk Ticaret Kanunu’nun 82. maddesindeki on yıla göre kurarım, çünkü şirket için uzun olan süre geçerli.

## Yapay zekâ ne yapar, nerede durur?

Yapay zekâ bu uygulamada kayıt önerir. Hiçbir aboneliği kendisi tanımlamaz, hiçbir tarihi kesinleştirmez, hiçbir kararı vermez. İki yerde işe yarar:

1. **Ekstre açıklamasından abonelik tanıma önerisi.** “Bu satır büyük olasılıkla şu sağlayıcının ekip planı” diye öneri yapar ve dayanağını yazar: açıklamadaki kod, tutar, tekrar aralığı. Açıklamada yalnız bir ödeme aracısının adı varsa tahmin etmez, “tanınamadı” der ve satır sahipsiz kuyruğuna gider. Örnek çeyrekteki 9 satır böyle kaldı. Doğru cevap satıcının fatura e-postasından geldi.
2. **Sözleşmeden ve faturadan tarih çıkarma.** Sipariş formu, sözleşme ya da faturadan yenileme günü, bildirim süresi, otomatik yenileme maddesi ve fiyat artışı maddesini okur. Her birinin yanında belgenin hangi sayfasından ve hangi cümlesinden aldığını gösterir. Bildirim süresini bulamazsa alanı boş bırakır, varsayılan bir sayı yazmaz. Boş alan, sahibine “sözleşmeye bak” görevi olarak gider. Kayıt, bir insan alanları onaylayınca kesinleşir.

Modele hiçbir satır yetki filtresinden geçmeden gitmez. Model önerisi yalnız o kullanıcının görebildiği abonelikleri anar. Lisans kullanıcı listesi çalışan adları ve e-posta adresleri taşır, bunlar kişisel veridir. Ekstre satırlarındaki kart sahibi adı da kişisel veridir; önerim, modele gitmeden önce maskelenmesi. Bu verileri yurt dışında çalışan bir yapay zekâ servisine göndermek, 6698 sayılı KVKK’nın 9. maddesindeki aktarım kurallarına girer. Bu madde [7499 sayılı Kanun](https://www.resmigazete.gov.tr/eskiler/2024/03/20240312-1.htm) (Resmî Gazete 12.03.2024, sayı 32487, md. 34) ile 1 Haziran 2024’ten itibaren yeniden düzenlendi. Önerim, kullanım hesabının modele hiç gitmemesi: son giriş tarihlerini uygulama kendisi sayar, modele yalnız koltuk sayıları gider. Hukuki görüş vermiyorum. Tasarımda hangi verinin nereye gittiğini yazarım, seçimi hukuk danışmanınızla yaparsınız.

## Kullanım verisi nereden gelir?

Kullanım verisi, her yazılımın kendi yönetici panelinin verdiği kadardır. Ürün son giriş tarihli kullanıcı listesini dışa aktarıyorsa uygulama o dosyayı okur; bir bağlantı (API) sunuyor ve paketiniz izin veriyorsa düzenli çekmek mümkün olabilir. Bunu ürünün sunduğu dışa aktarıma ya da bağlantıya göre kurarım, görmeden söz vermem.

Verisi olmayan abonelikte yol, kuraldaki onay adımı. Sahibin yazdığı liste bir ölçüm değil beyandır, uygulama da onu “beyan” diye işaretler. “Son 60 günde giriş yok” da tek başına “gereksiz” demek değildir. Yılda bir kullanılan bir raporlama aracı bu eşiğe takılır. Karar sahibindir, uygulama yalnız soruyu zamanında sorar.

## Excel tam olarak nerede kırılıyor?

Excel ya da Google Sheets’te kalacaksanız önerdiğim düzen şu: her abonelik bir satır, sütunlar A Hizmet, B Sahip, C Ödeme dönemi (aylık/yıllık), D Para birimi, E Dönem tutarı, F Bir sonraki yenileme günü, G Bildirim süresi (gün), H İptal son günü, I Karar günü (yıllık) / hatırlatma günü (aylık), J Aylık karşılık, K İkinci hatırlatma (yıllık). Resmî tatilleri ayrı bir sayfaya yazıp `Tatiller` adını verin. İkinci satır için:

- H2: `=F2-G2`
- I2: `=EĞER(C2="yıllık";H2-45;İŞGÜNÜ(H2;-5;Tatiller))`
- J2: `=EĞER(C2="yıllık";E2/12;E2)`
- K2: `=İŞGÜNÜ(H2;-10;Tatiller)`

Yıllık satırda I, karar görevinin açılacağı gündür (iptal son gününden 45 takvim günü önce; hafta sonuna düşerse bir önceki iş gününü kullanın). Aylık satırda I, hatırlatma günüdür (5 iş günü önce). K, yıllık satırda kurallar tablosundaki 10 iş günü önceki ikinci hatırlatmadır. İngilizce Excel’de İŞGÜNÜ yerine WORKDAY, EĞER yerine IF yazılır ve ayraç virgüldür. Bu formüllerin mantığını iki örnek satırla, araya bir resmî tatil koyarak betikle sınadım; betik hesabı Python’da yeniden yaptı, formülleri Excel’e yapıştırıp kendi tatil listenizle bir kez deneyin.

Abonelik ve kişi sayısı arttıkça bu düzen şu noktalarda kırılıyor:

- **Liste yalnız bilineni tutar.** Kartla açılan araç, biri satır ekleyene kadar yoktur. Örnek çeyrekte 64 aboneliğin 23’ü listede yoktu.
- **Yenileme günü elle ilerler.** Aylık aboneliğin F sütunu her ay elle güncellenmezse hatırlatma geçmiş bir tarihe bakar ve hiç düşmez.
- **Sahip bir isimdir, rol değil.** Sahip işten ayrıldığında hücre o adı taşımaya devam eder. Örnekte 6 abonelik böyleydi.
- **İşten ayrılma lisansa bağlı değildir.** İK’nın listesi ile lisans listesi ancak biri iki dosyayı yan yana koyarsa karşılaşır.
- **Fiyat değişince geçmiş kaybolur.** E sütununa yeni tutar yazılır, zammın kendisi görünmez olur.
- **Hatırlatma bir hücredir, görev değil.** Takvime elle taşınırsa o kişinin takviminde kalır.

Uygulamada fark şu: tanımlanan iş kuralı, biri listeye baktığında değil, ekstre yüklenirken, çıkış kaydı girilirken ve iptal son günü yaklaşırken uygulanır.

## SaaS yönetim aracı ya da kart platformu yetiyorsa

Şu durumlarda size özel uygulama yaptırmanızı önermem:

- 20–30 aboneliğiniz var ve hepsini BT’de aynı kişi takip ediyor. Yukarıdaki Excel düzeni yeter. Bir de üç ayda bir kart ekstresine bakın.
- Hazır bir SaaS yönetim aracı, kullandığınız yazılımların çoğuna bağlanabiliyorsa ve fiyatı abonelik harcamanızla orantılıysa, önce onu deneyin. Bu araçların güçlü yanı çok sayıda ürünle hazır bağlantı. Size özel bir uygulama bu bağlantıları tek tek kurar, onların hepsini kopyalamaya çalışmam.
- Şirket kartlarınızı harcama yönetimi sunan bir kart platformundan kullanıyorsanız, sanal kartı tek aboneliğe bağlamak ve limitlemek o platformda zaten olabilir. Kart başına abonelik, tanınmayan satır sorununu baştan çözer.

Size özel uygulama şu noktada anlam kazanıyor: aboneliklerin sahibi departmanlara dağılmışsa, İK’nın çıkış kaydı, muhasebenin fatura listesi ve kart ekstreleri ayrı yerlerde duruyorsa, karar onayları sizin onay zincirinizle işlemeliyse ve verinin şirket dışındaki bir platformda durmasını istemiyorsanız.

## Nasıl başlanır, veri ve kod kimin, kullanıcılar nasıl girer?

İlk adım yazılım değil, envanterdir: son 12 ayın kart ekstreleri, muhasebenin fatura listesi ve BT’nin abonelik listesi. Bu adımın çıktısı yazılıdır:

- abonelik envanteri: hangileri listede yoktu, hangileri sahipsiz,
- kurallar tablosu, sizin gün sayılarınız ve eşiklerinizle,
- rol listesi ve ilk sürümün kapsamı.

Otomasyon projelerinde en sık gördüğüm hata, ilk otomasyonu en karmaşık süreçten seçmek. Burada sırayı şöyle kurarım:

1. Envanter, sahip ve yedek, iptal son günü, karar görevi ve iz kaydı.
2. Kart ekstresi yükleme, sahipsiz kuyruğu, İK çıkış kaydıyla lisans görevi.
3. Kullanım verisi dışa aktarımları, boş koltuk işareti, kur ve fiyat ayrımı.
4. Yapay zekâ önerileri, kurallar sorunsuz çalıştıktan sonra.

**Hatırlatma nereden gider?** Uygulamanın içinde her kullanıcının “bana düşen kararlar” listesi olur. Hatırlatma kanalını ilk adımda birlikte seçeriz.

**Veri nerede durur?** Uygulama bir sunucuda (VPS) çalışır, kayıtlar oradaki veritabanında durur. Sunucu, anahtarlar ve hesaplar şirketiniz adına açılabilir. Veri sizindir, tamamını istediğiniz zaman Excel ya da CSV olarak alabilirsiniz. Kullanıcı başına lisans yok, maliyet sunucunun aylık ücreti ve bakımdan oluşur. Küçük ve orta ölçekli bir ekipte kullanıcı eklemek bu maliyeti değiştirmez. Yapay zekâ önerileri eklenirse model kullanım maliyeti ayrıca konuşulur; bu maliyet işlenen satır ve belge sayısıyla orantılıdır.

**Kullanıcılar nasıl girer?** Herkes kendi hesabıyla girer. Giriş yöntemini ve kullanıcı yönetimini ilk adımın çıktısında yazılı veririm.

**Kod kimin?** Kaynak kodun tamamı sizin erişiminizdeki bir depoda durur. Yanında çalıştırma talimatı, bağımlılık listesi ve uygulamanın neyi yapmadığını yazan bilinen sınırlar listesi olur. Uygulama kart harcaması ve çalışan bilgisi işlediği için erişim, güvenlik, barındırma ve bakım gereksinimlerini başlangıçta ayrıca değerlendiririm.

**Bankanız ya da bir yazılımın dışa aktarım biçimi değişirse?** Abonelikler ve geçmiş sizdeki veritabanında kalır, yalnız o içe aktarımın yeni biçime göre yeniden kurulması gerekir. Kapsamını önceden yazılı paylaşırım. İlk sürümün kapsamını ve teslim takvimini de mevcut düzeninizi gördükten sonra yazılı paylaşırım.

Mevcut abonelik listenizi ve bir kurumsal kartın son üç aylık ekstresini, kişi adlarını maskeleyerek [iletişim sayfasından](https://oguzerol.com/iletisim/) gönderin. İlk görüşmede listenizde olmayan tekrarlayan ödemelere ve önümüzdeki 90 günün iptal son günlerine birlikte bakarız.

## Sıkça Sorulan Sorular

### 60 gün giriş yok diye servis hesabı ya da ortak giriş koltuğu da “boş” sayılır mı?

Eşik her koltuğa aynı uygulanır, bu yüzden bir otomasyonun ya da ortak kullanılan girişin koltuğu da işaretlenir. Önerim, sahibin koltuğu “servis hesabı” ya da “ortak giriş” diye etiketleyebilmesi: etiketli koltuk boş sayılmaz, ama yenilemede gerekçesi yeniden sorulur. Böylece ödenen ama kimsenin kullanmadığı koltukla, kimsenin girmediği ama bir sistemin çalıştığı koltuk karışmaz.

### Aylık ve yıllık abonelikler aynı listede nasıl karşılaştırılır?

Gerçek ödeme dönemi ve tutarı ayrı tutulur, karşılaştırma için aylık karşılık ayrıca hesaplanır. Yıllık abonelik yenileme ayında nakit tablosunda tek seferde görünür, aylık karşılığı bütçe ve karşılaştırma ekranlarında kullanılır. Böylece “aylık maliyet” ile “bu ay ödenecek tutar” karışmaz.

### Yıllık sözleşmenin ortasında koltuk eklemek gerekirse ne olur?

Eklenen koltuğun dönem ortasında nasıl faturalandığı sözleşmenize göre değişir; kimi sağlayıcı kalan süreye orantılı bedel keser. Uygulama eklenen koltuğu kendi başlangıç tarihi ve tutarıyla ayrı bir satır olarak tutar. Yenileme gününde toplam koltuk sayısı karar görevine tek rakam olarak girer, eklenenler dahil.

### Çalışanların kendi kartıyla ödeyip masraf olarak bildirdiği abonelikler ne olur?

Masraf beyanında aynı araç her ay tekrar ediyorsa kayıt sahipsiz kuyruğuna düşer, kurumsal karttaki tanınmayan satır gibi. Sahibi atanınca envantere girer. Ödemeyi kurumsal karta taşımak ayrı bir karardır; masraf beyanının onayı masraf sürecinin konusu.

[Başa dön ↑](https://oguzerol.com/abonelik-yenileme-gider-takip-uygulamasi/#icerik)

## Bunları da okumak ister misiniz?

[Bütçe ve Gerçekleşen Gider Paneli: Departman Bütçesi, Taahhüt ve Sapma UyarısıDepartman bütçesini gerçekleşen ve sipariş verilmiş giderle karşılaştıran, sapmada doğru kişiyi uyaran web uygulaması. Kurgusal çeyrek örneğiyle inceleyin.](https://oguzerol.com/butce-ve-gerceklesen-gider-paneli/)[Personel Masraf Onay Akışı: Yöneticiden Finansa Onay Zinciri, Limitler ve Geri GöndermeMasraf talebini yöneticiden finansa taşıyan onay akışı: tutar limiti, vekâlet, kısmi onay, geri gönderme ve iz kaydı. Örnek bir ayla kuralları inceleyin.](https://oguzerol.com/personel-masraf-onay-akisi/)[Her Projenin Giderini Ayrı İzleyin, Toplam İçinde KaybetmeyinExcel ve Google Sheets giderlerini projelere bağlayan özel takip ekranı. Malzeme, ulaşım, ortak gider dağılımı ve bütçe karşılaştırması birlikte görülsün.](https://oguzerol.com/proje-bazli-gider-takip-uygulamasi/)

[Tüm yazılara göz atın →](https://oguzerol.com/yazilarim/)

NE İSTEYEBİLİRSİNİZ

## Nasıl çalışıyorum?
Çalışma saati paketleri

WhatsApp’tan ya da telefonda işinizden ve ihtiyacınızdan bahsedin; **5 ile 40 saat arasında bir çalışma paketinde** anlaşalım, ben gerekenleri yapmaya başlayayım. Aldığınız şey bir takvim aralığı değil, doğrudan sizin işinize harcanacak net mesai. 40 saati üç gün aralıksız çalışarak da kullanabiliriz, bilerek zamana yayıp bir yılda da bitirebiliriz — işin gerektirdiği neyse o. İşin ne kadar süreceğini tahmin etmeye değil, işi yapmaya vakit harcarım; harcadığım her saatin işinizde kalıcı bir karşılığı olur. Faydalı olduğunu düşündüğünüz sürece bu şekilde devam ederiz.

ÇALIŞMA BLOKLARI

## Neden aylık değil?
40 saat 1 hafta mı oluyor?

Aylık sabit ücrette iki taraf da yanlış yere bakar: siz sabit gidere, karşı taraf kaç tane daha böyle sözleşme bağlayabileceğine. Saat üzerinden çalışınca ikimizin de baktığı yer aynı olur — yapılan işin gerçek değeri. "Toplamda ne kadar tutar?" sorusunun peşinen net bir cevabı olmaması bu modelin doğal maliyeti, farkındayım. Ama sonuç üretmeyen bir yapıya aylarca sabit ücret ödemek yerine yalnızca işinize ayrılan nitelikli zamanı ödersiniz, o zamanın nereye gittiğini de baştan sona görürsünüz. Müşterilerimin benimle tekrar tekrar çalışmasının sebebi bu.

5saat10.000₺ + KDVsaat başı 2.000₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%205%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)

10saat15.000₺ + KDVsaat başı 1.500₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2010%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)

20saat24.000₺ + KDVsaat başı 1.200₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2020%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)

40saat40.000₺ + KDVsaat başı 1.000₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2040%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)
