- Devreden borç: elle girilen ya da dönem başından önceki son ay sonu ölçümü - Borçlu ay: harcanabilir = gelir × oran (vars. %45), kalan borca, artan birikime - Birikim hedefi ve Kakeibo devri borçlu ayda uygulanmaz; kapanış devir üretmez - Plan düzenleme ve sihirbazda devreden borç alanı + oran; canlı önizleme - Plan'daki eski borç bölümü ve taksit önerisi kaldırıldı (veri yerinde) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 KiB
Kakeibo panel istekleri (güncel: 14 Kasım 2026, 2. tur)
VS Code'daki Claude'a verilecek prompt
Aşağıdaki metni olduğu gibi kopyalayıp yapıştırın:
docs/KAKEIBO_PANEL_ISTEKLERI.md dosyasını baştan sona oku. Bu dosya, docs/BORC_TAKIBI.md'deki
"Borç sayfası" yaklaşımının yerine geçiyor; borç artık ayrı sayfada değil, aylık planın ve panelin
içinde "Devreden borç" olarak takip edilecek.
Kurallar:
1. Kod yazmadan önce: ilgili dosyaları bul (Planlama, Defter, Ay sonu değerlendirmesi, Panel,
Borç sayfası, nav menüsü) ve bana dosya listesiyle birlikte adım adım bir plan göster.
Onayımı bekle.
2. Mevcut verilere dokunma: veritabanı yedeği al, yalnızca alan ekle, eski kayıtları toplu
değiştirme, koleksiyon silme. Borç sayfasını kaldırırken verisini silme.
3. Bölüm sırasıyla ilerle (A → H). Her bölümden sonra test et, kısa özet ver.
4. Hesapları dosyadaki "Kontrol" rakamlarıyla birim testine dönüştür.
5. Türkçe büyük harf için toLocaleUpperCase("tr-TR") kullan; CSS text-transform kullanma.
6. Bitince npm run lint, typecheck ve testler geçsin; CHANGELOG "Yayınlanmamış" altına yaz.
Not (Claude, sohbetten): Bu bilgisayardaki çalışma kopyasında (dal
faz/17-ice-aktarma, sürüm 1.2.0, 9 Kasım) Planlama, Defter, Ay sonu ve Borç ekranları yok. Bu ekranların bulunduğu güncel sürüm üzerinde çalışılmalı. Dosyalar bulunamazsa Claude tahminle yeni ekran yazmasın, sorsun.
A · Devreden borç: planın parçası olsun
A1 · Planlama sayfasında yeni kutu
- "Birikim hedefi" kutusunun üzerine aynı görünümde "Devreden borç" kutusu eklenir.
- Aylık plana alanlar eklenir (eski alanlar değişmez, varsayılan
null):carriedDebtMinor: devreden borç (pozitif sayı)carriedDebtSource:"auto"ya da"manual"debtPaymentMinor: bu ay borca giden tutar (hesaplanır)spendableRateBp: borçlu ayda harcanabilir oranı (varsayılan 4500 = %45)
A2 · İlk dönem: elle giriş
- Önceki tanımlı dönem yoksa "Devreden borç" boş ve düzenlenebilir gelir. Kullanıcı elle girer (
source = "manual"). - Yardım metni: "Maaş hesabının eksi bakiyesi + kartın tüm borcu (ekstre + dönem içi harcama) + kalan taksitler − hesaptaki artı bakiye."
A3 · Sonraki dönemler: otomatik
- Yeni dönem planı oluşturulurken devreden borç, önceki dönemin ay sonu borcundan otomatik dolar (
source = "auto"). Ay sonu borcunun tanımı için bkz. C. - Kullanıcı isterse elle düzeltebilir. Düzeltince
source = "manual"olur ve kutuda "elle düzeltildi" rozeti görünür.
A4 · Borç varsa birikim yok, borç odaklı plan
carriedDebtMinor > 0iken birikim hedefi plana dahil edilmez (0 sayılır).- Planlama sayfasında "Birikim hedefi" kutusu yerine "Devreden borç" ve altında "Bu ay borca giden" gösterilir. Birikim kutusu gizlenir ya da soluk "Borç bitince açılır" yazısıyla durur.
- Panelde de aynı kutu "Devreden borç" yazar (bkz. D).
A5 · Harcanabilir hesabı (borçlu ay)
Devreden borcun tamamını tek ayda düşmek harcanabiliri eksiye sokar. Bu yüzden:
Harcanabilir = Toplam gelir × %45 (spendableRateBp ile ayarlanabilir)
Bu ay borca giden = Toplam gelir − Sabit giderler − Harcanabilir
Kenar durumları:
Bu ay borca gidendevreden borçtan büyükse: borca yalnızca devreden borç kadar gider, kalan tutar birikime yazılır (borç bu ay biter).Gelir − Sabit < Gelir × %45ise (sabitler çok yüksek): Harcanabilir = Gelir − Sabit, borca giden 0, kırmızı uyarı: "Sabit giderler çok yüksek, bu ay borç azalmıyor."- Ekranda formül açıkça yazılsın:
Gelir − Sabit − Bu ay borca giden = Harcanabilir. Altında küçük satır: "Devreden borç 57.100 · ay sonu hedef 36.376,60."
Kontrol (Aralık 2026 rakamlarıyla):
- Gelir 79.509,64 · Sabit 23.006,90 · Devreden borç 57.100
- Harcanabilir = 79.509,64 × 0,45 = 35.779,34
- Bu ay borca giden = 79.509,64 − 23.006,90 − 35.779,34 = 20.723,40
- Ay sonu hedef borç = 57.100 − 20.723,40 = 36.376,60
- Kenar durumu testi: devreden borç 10.000 → borca giden 10.000, birikime 10.723,40.
A6 · Borç bitince
- Devreden borç 0 olduğunda (otomatik ya da elle) plan normal Kakeibo düzenine döner:
Gelir − Sabit − Birikim hedefi = Harcanabilir. Birikim kutusu tekrar görünür, %45 kuralı devre dışı kalır.
B · Borçlar sayfası kaldırılsın
- Borç sayfası rotası (
/borcya da benzeri), menü bağlantısı ve sayfaya özel bileşenler kaldırılır. - Veri silinmez:
debtSnapshots/installmentPlanskoleksiyonları ve modelleri yerinde kalır. Kullanılmayan servis kodu silinebilir, migration ile koleksiyon düşürülmez. - Taksit yükü bilgisi gerekiyorsa Planlama → Sabit giderler → "Taksitler" satırında öneri olarak kalabilir.
docs/BORC_TAKIBI.mddosyasının en üstüne "Bu yaklaşım KAKEIBO_PANEL_ISTEKLERI.md ile değiştirildi" notu eklenir.
C · Ay sonu: "Ne kadar biriktirdim?" → "Ne kadar borç devretti?"
Tanım (tek doğru kaynak)
Ay sonu borcu = banka hesaplarının eksi bakiyeleri (KMH)
+ kredi kartı tüm borcu (ekstre + dönem içi + provizyon)
+ kalan taksitler
− hesaplardaki artı bakiyeler (nakit, banka, yemek kartı, toplu taşıma)
(sonuç eksiyse borç 0, aradaki fark birikimdir)
Hesap, dönem bitiş tarihindeki hesap bakiyelerinden yapılır. Transferler (kart ödemesi, ATM, kendi hesapları arası havale) borcu değiştirmez.
Ekran
- Borç varken başlık: "4 · Ne kadar borç devretti?"
- Ana rakam: ay sonu borcu (bir sonraki dönemin devreden borcu olur).
- Altında: "Ay başı 78.530,48 → ay sonu X" ve fark. Azaldıysa yeşil "borç Y TL azaldı", arttıysa kırmızı "borç Y TL arttı".
- Plan karşılaştırması: "Hedef: Z TL borca gidecekti, gerçekleşen: Y TL".
- Borç yokken başlık: "4 · Ne kadar biriktirdim?". Değer = ay sonu net artı − ay başı net artı. Eksiyse birikim yazılmaz, "Bu ay birikim yok" denir.
- Plan hedefi asla gerçekleşen olarak gösterilmez.
Mevcut hatanın kontrolü
Kullanıcı hiç birikim girmedi, hesap sürekli ekside, ama ekranda birikim çıkıyor. Şu dört olasılığı kontrol et:
- Plan hedefi (C) gerçekleşen yerine yazılıyor olabilir.
- Hesap yalnızca
gelir − giderolarak yapılıp sabit giderler, kart borcu ya da KMH faizi düşülmüyor olabilir. - Kart ödemesi veya hesaplar arası havale birikim sayılıyor olabilir.
- Eksi sonuç
Math.max(0, …)ile sıfıra çekiliyor ya da işareti kayboluyor olabilir.
Kontrol (bankayla doğrulanmış): 31 Ekim ay sonu borcu 78.530,48, 13 Kasım 79.078,85 → "borç 548,37 TL arttı". Birikim gösterilmez.
D · Panel (dashboard)
D1 · Plan satırı
[ Toplam gelir ] − [ Sabit giderler ] − [ Devreden borç ] − [ Toplam birikim ] = [ Harcanabilir ]
- "Devreden borç" kutusunun ana rakamı bu ay borca giden tutardır. Küçük satırda devreden borcun tamamı yazar: "toplam 57.100". Formül böylece eksiye düşmez.
- Borç varken birikim kutusu 0 ve soluk ("borç bitince"). Borç yokken devreden borç kutusu soluk/gizli.
D2 · Ödeme türleri satırı (anlık bakiye)
[ Nakit ] [ Kredi kartı ] [ Banka kartı + Havale/EFT ] [ Yemek kartı ] [ Toplu taşıma kartı ]
| Kutu | Kaynak (hesap türü) | Ana rakam | Alt satır |
|---|---|---|---|
| Nakit | cash |
bakiye | bu ay nakit harcama (minibüs, taksi dahil) |
| Kredi kartı | credit_card |
dönem içi borç (ör. −29.713,54) | toplam borç (taksit dahil) · son ödeme · kalan limit |
| Banka kartı + Havale/EFT | bank |
bakiye (ör. −39.264,44, kırmızı) | KMH kullanılan / limit · bu ay çıkış |
| Yemek kartı | meal_card |
bakiye | bu ay harcanan |
| Toplu taşıma kartı | yeni transit_card |
bakiye | bu ay yükleme / harcama |
Kurallar:
- Ödeme türü = işlemin hesabının türü. Defter kodları: N
cash, KKcredit_card, BKbank, YKmeal_card, TTtransit_card. - Havale/EFT banka hesabından çıktığı için "Banka kartı" kutusunda gider sayılır. Kendi hesapları arası havale (maaş → Enpara, kızın ek hesabı) transferdir.
- Kart ödemesi ve ATM çekimi transferdir, hiçbir kutuda gider değildir.
- İstanbulkart: yükleme, banka/nakit hesabından
transit_cardhesabına transfer. Binişler ulaşım gideri (ya da ay sonunda tek düzeltme kaydı). İçe aktarmada "İSTANBULKART YUKLEME" yeni aktarmalarda bu hesaba transfer olarak eşlensin; eski kayıtlar değişmesin. transit_cardiçin:shared/accounts.ts→ACCOUNT_TYPES, hesap formu,tr.ts("Toplu taşıma kartı" / "Toplu taşıma kartları"), ikon. Enum genişlediği için migration gerekmez.- Her kutuda son içe aktarma / mutabakat tarihi küçük yazılsın. Bankayla farklıysa mevcut mutabakat akışına bağlantı.
- Kontrol (13 Kasım): Banka kartı −39.264,44, Kredi kartı −29.713,54. 235 TL provizyon "onay bekleyen" olarak ayrı.
D3 · Yerleşim
- Orta alan çok dar. Ana kapsayıcının dar
max-w-*sınırı kaldırılsın ya da genişletilsin (ör.max-w-screen-2xl, yanlardapx-4 lg:px-8). - Kutu satırları ekran genişliğine yayılsın:
- Plan satırı: mobilde 2, tablette 3, masaüstünde 5 sütun.
- Ödeme türleri: mobilde 2, masaüstünde 5 sütun.
- Altındaki kartlar iki sütun (
lg:grid-cols-2).
- Kutular arasındaki "−" ve "=" işaretleri masaüstünde görünsün, mobilde gizlensin.
E · Defter: Açıklama varsayılan büyük harf
- İşlem formu (
transaction-form.tsx,name="description") ve defter satırlarındaki açıklama alanları. toLocaleUpperCase("tr-TR"): hem yazarken (onChange) hem sunucuda (zod.transform).- Mevcut kayıtlar toplu değiştirilmez.
F · Planlama: Sabit gelirler / Sabit giderler kutuları büyük harf
- Bu iki bölümdeki metin kutuları (kalem adı) aynı kuralla.
- Ortak yardımcı:
shared/format.ts→upperTr(s). Birim testi:"elma market"→"ELMA MARKET","istanbul"→"İSTANBUL","ılık"→"ILIK".
G · Metin değişiklikleri (tr.ts)
- "Birikim hedefi" → borçlu ayda "Devreden borç" / "Bu ay borca giden".
- Ay sonu: "Ne kadar biriktirdim?" → borçlu ayda "Ne kadar borç devretti?".
- Panel kutusu: "Devreden borç".
H · Kabul kriterleri
- Planlamada "Devreden borç" kutusu birikim hedefinin üstünde. İlk dönemde elle, sonraki dönemlerde otomatik dolar, elle düzeltilebilir.
- Borç varken birikim hedefi plana girmez. Harcanabilir = gelir × %45. A5 kontrol rakamları testte birebir.
- Borç 0 olunca plan birikim düzenine döner.
- Borçlar sayfası ve menü bağlantısı yok. Verisi duruyor.
- Ay sonu "Ne kadar borç devretti?" gösteriyor. Test: 78.530,48 → 79.078,85 = "borç 548,37 TL arttı".
- Panelde plan satırı
Gelir − Sabit − Devreden borç − Birikim = Harcanabilirve ödeme türleri satırı var. 13 Kasım: −39.264,44 ve −29.713,54. - Kart ödemesi, ATM ve kendi hesaplar arası havale hiçbir kutuda gider değil.
- Panel orta alanı geniş ekranda yayılıyor, mobilde taşma yok.
- Açıklama ve sabit gelir/gider adları Türkçe büyük harfle kaydediliyor. Eski kayıtlar değişmedi.
- Lint, typecheck ve testler geçiyor. CHANGELOG güncel.
Kakeibo uyarlaması ve kararlar (kullanıcı, 14 Kasım 2026)
Belge butcem için yazıldı; Kakeibo karşılıkları ve kullanıcı kararları:
- Panel bakiyeleri (D2): son ay sonu ölçümünden (
debt_snapshots) gelir; canlı banka eşleşmesi yok. Önceki aydan devreden yoksa planlamada elle yazılır. - Borçlu aylarda Kakeibo'nun kendi aşım devri (
carryovers) üretilmez (çifte sayım olmasın). - Taksit planları için ayrı ekran yok. Taksitler sabit giderlere elle eklenir; taksit önerileri kaldırılır,
installment_plansverisi yerinde kalır. - %45 kuralı varsayılan: açık dönem dahil, borç > 0 olan her dönemde.
- Mevcut veriye dokunulmaz: yalnızca alan eklenir (
periods.spendable_rate_bp,payment_methods.type), eski kayıtlar toplu değiştirilmez;periods.opening_debt(B1'den) devreden borcun elle değeridir.