Files
kakeibo/docs/BORC_TAKIBI.md
T

3.9 KiB
Raw Blame History

Borç takibi (Kakeibo uyarlaması)

Kaynak: butcem/docs/BORC_TAKIBI.md (kullanıcının özellik tanımı). Kişisel rakamlar (seed) bu repoya girmez; canlıya "İçe aktar (JSON)" ile yüklenir (dosya repoda tutulmaz).

Amaç

Gerçek banka borcu (KMH + kredi kartı + ekstreye gelmemiş taksitler) Panel'in en üstünde görünsün ve her ay küçülmesi izlensin. Hedef: toplam borcu yol haritasındaki son aya kadar sıfırlamak.

Kararlar (kullanıcı, 2026-11-14)

  • Ayrı "Borç" modülü. Kakeibo'daki "devreden borç" (bütçe aşımının devri, carryovers) ile karıştırılmaz; banka borcu harcanabilir tutarı düşürmez (aylara yayılarak birikimle ödenir). Borç sıfırlanana kadar dönemin birikim hedefi (C) "Borç ödemesi" olarak etiketlenir.
  • Başlangıç verisi canlıya içe aktarma dosyasıyla (önizleme → onay).

Formüller (tutarlar kuruş, i64)

toplam borç       = KMH eksi bakiyesi + kart borcu (provizyon dahil) + kalan taksitler − maaş hesabı artı bakiyesi
devreden borç     = toplam borç − kalan taksitler                    (aylık planda gösterilen)
taksit yükü(ay)   = Σ aylık tutar  (ilk taksit ayı ≤ ay ≤ son taksit ayı)
kalan taksit(ay)  = Σ aylık tutar × (ay'dan SONRAKİ taksit sayısı)   (ölçümün ayına göre önerilir)
ay sonu hedefi    = ay başı toplam borç − birikim (C) − o ayın taksit yükü
aylık başarı      = ay başı toplam − ay sonu toplam ≥ C + o ayın taksit yükü
  • Toplam saklanmaz, her okumada hesaplanır.
  • Taksit planı "ödenen taksit sayısı" yerine ilk taksit ayı (first_month) ile saklanır; ödenen / kalan sayılar her ay kendiliğinden hesaplanır. İçe aktarmada asOf ayı + paidCount → first_month = asOf − paidCount + 1.
  • Ay başı borç: dönemin başlangıcından önceki (≤ başlangıç günü) son ölçüm; dönemde elle düzeltilebilir.

Veri modeli (MongoDB, ortak alanlar: _id UUID v7, household_id, zaman damgaları, deleted_at, version)

  • debt_snapshots: date, kmh, positive_balance, card_balance, remaining_installments, note, source (manual | import)
  • installment_plans: merchant, total_amount, monthly_amount, total_count, first_month (YYYY-MM)
  • debt_targets: month (YYYY-MM), closing_target (yol haritası, toplam borç cinsinden)
  • periods.opening_debt (isteğe bağlı elle ay başı toplam borç)

Güvenlik: IBAN, kart ve müşteri numarası saklanmaz; açıklama/işyeri alanlarında 12+ haneli sayı dizisi reddedilir.

Ekranlar

  1. Panel en üstü: güncel toplam borç, geçen aya göre değişim, başlangıç → 0 ilerleme, tahmini bitiş, KMH · Kart · Kalan taksit dökümü.
  2. /borc: gerçek (ölçümler) + hedef (yol haritası, kesikli) çizgi grafik, ölçüm tablosu, "Yeni ölçüm" (toplam canlı hesaplanır, kalan taksit önerilir), hedefleri düzenleme, içe aktarma.
  3. Aylık plan: ay başı borç (otomatik, düzenlenebilir), devreden borç, "Borç ödemesi" (C), taksit yükü, hedef ay sonu borç (salt okunur); taksit yükü Sabit giderlere "Taksitler" olarak önerilir.
  4. /taksitler: açık planlar, önümüzdeki 6 ayın taksit yükü (çubuk); yeni taksitte uyarı "Borç sıfırlanana kadar yeni taksit planı yok."

Kabul ölçütleri (kaynak belgeyle aynı)

  • Ölçüm toplamları kaynak belgedeki iki ölçümle birebir (78.530,48 ve 79.078,85).
  • Kasım planında devreden borç 64.352,79.
  • Taksit yükü: Kasım ve Aralık 4.311,82 · Ocak 3.724,44 · Şubat 887,38 · Mart 760,21 · Nisan 182,02.
  • Gerçek ve hedef aynı grafikte; hiçbir yerde IBAN / kart numarası yok.

Adımlar

  • B1 backend (modeller, hesaplar, uç noktalar, içe aktarma, testler)
  • B2 arayüz: Panel kartı, /borc, /taksitler
  • B3 aylık plan entegrasyonu + içe aktarma dosyasının hazırlanması (kullanıcıya, repo dışı)