add_expense
ChatGPTTek harcama kaydı inbox'a gönderir (kullanıcı onaylar). Satıcı önce list_vendors, kategori list_categories. 4 AYRI kavram: account=ödeme yöntemi/KART · mali_hesap=KLASÖR (Bireysel/Ticari, default Bireysel) · tags=ETİKET · cashback=iade/puan (ana tutar TAM kalır, iade AYRI gelir). ⚠️ TAKSİT: "N taksitle" duyunca installments=N + amount=TOPLAM tutar (tek kalem gönderme). Fiş≠karttan-çekilen farkı = cashback_amount. Detay: wallek://rules.
add_income
ChatGPTTEK SEFERLİK gelir (kira, freelance, satış, harçlık, ikramiye). ⚠️ MAAŞ İÇİN KULLANMA — düzenli maaş=create_salary (ikisini yaparsan ÇİFT sayılır).
add_ledger_entries
ChatGPTHesap Kitap çalışmasına TEK çağrıda ÇOK kalem (toplu). Analiz satırlarını 30 ayrı add_ledger_entry YERİNE BUNU kullan. create_if_missing:true → çalışma yoksa oluşturulur.
add_ledger_entry
ChatGPTHesap Kitap çalışmasına TEK gelir/gider kalemi (çok kalem=add_ledger_entries). Önce list_ledgers.
attach_document
ChatGPTMEVCUT bir kayda PDF/belge ekler. entity_type + entity_id (ilgili list_* ile bul): tx(harcama)/recurring(düzenli-fatura)/loan(kredi)/statement(kart ekstresi: entity_id=kart adı/son4 + period_key=YYYY-MM → Kartlar→Ekstreler PDF)/bes(TR/KKTC, entity_id gerekmez)/salary(period_key veya salary_id)/investment(MEVCUT yatırım alım-satımı: entity_id = yatırım id'si VEYA varlık kodu [THF/GRAM/BTC] + aynı koddan birden çok alım varsa date ile ayır → Belgeler > Yatırımlar). ⛔ YENİ harcamanın fişi için BUNU KULLANMA → add_expense.attachment (tek dosya) veya add_expense.attachments[] (birden fazla, en fazla 6 — hepsi TEK onay kartında). YENİ yatırımın dekontu için de BUNU KULLANMA → create_investment.attachment / attachments[] (aynı sebep). Ekstre PDF → import_statement.attachment. Sebep: yeni harcamada ayrı attach_document çağırmak kullanıcıya AYNI alışveriş için İKİ onay kartı çıkarır. Dosya büyüklüğü araç değiştirme sebebi DEĞİL: ~25KB üstünde upload_file_part ile parçala, dönen upload_ref'i AYNI add_expense çağrısına koy. content_base64 (≤25KB) veya upload_ref (büyük). Burada HER dosya AYRI çağrıdır (mevcut kayıtlar için), ~5MB üstü reddedilir. Detay: wallek://rules.
calculate_loan
ChatGPTKREDİ HESAPLA (taksit/toplam ödeme/maliyet/ödeme planı). "1 milyon 12 ay %3,89 kredi ne kadar taksit" gibi sorularda BUNU çağır — kendi başına hesaplama yapma, rakam UYDURMA. Uygulamanın Kredi Hesaplama ekranıyla AYNI formül (BSMV+KKDF faiz üstüne, anüite). ⚠️ Bu bir SENARYODUR, gerçek kredi kaydı DEĞİL (gerçekler list_loans, kayıtlı senaryolar list_loan_calcs).
create_account
ChatGPTYeni finansal hesap/kart (kullanıcı onayı): kredi kartı, ön ödemeli kart veya banka hesabı (vadesiz/vadeli/döviz/altın/yatırım/kredili mevduat...). ÖNCE list_accounts — aynı hesap varsa YENİDEN OLUŞTURMA. ⚠️ Kart no/CVV ASLA isteme (son4 yeter). Ekstre dönem bilgisi için bunu DEĞİL import_statement.
create_bes_policy
ChatGPTBireysel Emeklilik (BES) poliçesi — SADECE TR/KKTC. HARCAMA DEĞİL, yatırım katkısı (harcama toplamına yansımaz). provider ZORUNLU. ÖNCE list_recurring — SADECE dupe için değil, provider DEĞERİNİ ALMAK İÇİN: kullanıcının mevcut BES kaydında bes.provider varsa (ör. "Allianz TR") o değeri AYNEN gönder. Şirketin tam ticari unvanını yazmak ("Allianz Yaşam ve Emeklilik") YENİ BİR SATICI yaratır ve kayıt BES olarak değil HARCAMA olarak düşer — S861'de canlı yaşandı: iki adet "Diğer" kategorili işlem oluştu, BES kaydı oluşmadı. Mevcut kayıt yoksa kullanıcıya hangi adı kullanacağını SOR, unvan uydurma.
create_bes_trade
ChatGPTBES (bireysel emeklilik) FON ALIM/SATIM kaydı — fon değişimi = bir fondan SATIŞ + diğerine ALIM (iki ayrı çağrı). Kullanıcı ONAYI gerekir (uygulamanın gelen kutusuna kart düşer). ⛔ BES fonu için create_investment KULLANMA: BES partisi yatırım portföyüne girmez (değeri sağlayıcıdan gelir, çift sayılır). Kaynak dekont/ekran görüntüsü/kullanıcı; UYDURMA. Türkçe dekontta binlik ayraç NOKTA ("534.530,68" = 534530.68). contract_no boşsa ve kullanıcının TEK BES sözleşmesi varsa o kullanılır; birden fazlaysa sor.
create_custom_report
ChatGPTYaptığın analizi WalleK Raporlar→Kayıtlı Raporlar'a KALICI rapor kaydeder (onayla). Akış: list_transactions ile veri çek → analizi göster → BUNU çağır. Rapor tıklanınca aynı filtrelerle canlı açılır.
create_investment
ChatGPTYatırım ALIM/SATIM kaydı (fon · hisse · altın/gümüş · kripto · döviz). Portföye düşer VE seçilen hesabın bakiyesini etkiler (alımda düşer, satışta artar) — bu yüzden HARCAMA olarak ayrıca YAZMA. Fon/hisse dekontundan gireceksen: adet + birim fiyat + tarih dekontta yazar; toplam tutar verilmişse ona DOKUNMA (fiili ödeme odur). ⛔ BES (bireysel emeklilik) fonları için DEĞİL → create_bes_trade.
create_ledger
ChatGPTHesap Kitap "çalışma"sı (defter) oluşturur. study_type: time (12-ay) / list (düz liste) / period (dönem) / sheet (cetvel) / custom.
create_payment_method
ChatGPTYeni ödeme yöntemi. Önce list_payment_methods (dupe).
create_salary
ChatGPTMaaş/BORDRO kaydı (dönem-bazlı). Önce list_salary (dupe). ⚠️ HER bordro AYRI (10 aylık = 10 çağrı, BİRLEŞTİRME). period_key=AİT OLDUĞU ay (YYYY-MM) ≠ payment_date=paranın YATTIĞI gün. Kalem-detayı varsa detail gönder.
create_subcategory
ChatGPTBir kategori altına ÖZEL alt-kategori ekler. category = list_categories üst-KEY (üstler sabit, sadece alt).
create_transfer
ChatGPTİki hesap/ödeme yöntemi arası para transferi. from/to = list_accounts/list_payment_methods adı. Döviz/altın/kripto alım-bozdurmada kind belirt. GELİR/GİDER DEĞİL (Transfer kategorisi YAZMA).
create_vendor
ChatGPTKanonik satıcı oluşturur. SADECE kullanıcı açıkça "satıcı ekle" derse (normal harcamada AYRICA çağırma — add_expense vendor adı yeter). Önce list_vendors (dupe) + list_regions + list_categories. İkon gönderme (app logoyu isimden eşler).
delete_item
ChatGPTTEK kaydı siler (harcama/satıcı/kredi/düzenli/maaş/ledger-kalemi/rapor) — onayla. Kart/ödeme aracı SİLİNMEZ (uygulamada yalnız gizlenir). SADECE belirli tek kalem; "hepsini/toplu" ASLA (reddet). Önce list_* ile bul.
get_bank_format
ChatGPTBanka/kart EKSTRE FORMAT bilgisi (global, kişisel değil): taksit/ödeme/puan satır desenleri, tarih-tutar formatı, dönem-meta alanları, bilinen tuzaklar. Bir ekstre işlemeye BAŞLAMADAN ÖNCE bankayı tanıyıp çağır.
get_budget_status
ChatGPT"Bütçem ne durumda / ne kadar kaldı": aylık bütçe (monthly_budget) + o ayın net harcaması (cashback/iade düşülmüş). Bütçe UYDURMA.
get_financial_summary
ChatGPT"Toplam param / bu ay durumum / genel mali durum" için TEK özet: hesap bakiyeleri (PB bazında net worth) + ay gelir/gider/net + en büyük harcama kategorileri + kredi kalan + son maaş. Genel durumda önce BUNU çağır. Rakam UYDURMA.
get_inbox_status
ChatGPTGönderdiğin önerilerin akıbeti: kaç pending/applied/dismissed + son kayıtlar. "Ekledin mi / bekleyen var mı" deyince BUNUNLA doğrula — "eklendi" VARSAYMA.
get_inflation
ChatGPT"Enflasyon/TÜFE kaç": ülke enflasyonu (yıllık cpi_yoy + aylık cpi). Web bilginden CEVAP VERME — buradan oku (TR=TÜİK/TCMB, US=FED, EU=Eurostat, UK=ONS). Genelde yıllığı söyle.
get_ledger_entries
ChatGPTBir Hesap Kitap çalışmasının kalemleri + gelir/gider/fark toplamı. Çalışma adını list_ledgers ile öğren.
get_statement
ChatGPTBir kredi kartının DÖNEM EKSTRESİ özeti: dönem faizi/limiti/ücreti/SKT/kesim+son-ödeme (list_transactions vermez) + dönem harcama toplamı + ekstre PDF (statement_pdf_files). "Worldcard Mart ekstresi / kartımın faizi". Kart adını list_accounts ile öğren.
import_statement
ChatGPTTEK kartın/ekstrenin kalemlerini TAM içe aktarır (harcama+faiz+ücret+ödeme+iade + kesim/son-ödeme + otomatik mükerrer-atlama). ⚠️ HER ekstre/kart AYRI çağrı (2 ekstreyi BİRLEŞTİRME). card=bu ekstrenin TEK kartı (list_accounts ile eşleştir). Her kalemde kind ile tip. Ekstre PDF varsa attachment ile aynı çağrıda. Önce get_bank_format. Detay: wallek://rules.
list_accounts
ChatGPTFinansal hesaplar + kartlar: yaklaşık bakiye (balance_estimate), kesim/son-ödeme günü, limit, IBAN, son4 (+ linked_last4 ek-kart). "Param ne kadar / kesim günüm / IBAN" için (bakiyeyi "yaklaşık" sun). ⚠️ linked_last4 SALT-OKUNUR — SEN YAZAMAZSIN: ek/yedek kart bağını hiçbir tool kabul etmez (create_account da update_card da). Yeni bir ek-kart bağlanacaksa kullanıcı UYGULAMADAN ekler: Kartlar → kartı seç → düzenle → "Bağlı / Ek Kartlar". Bunu bilmeden create_account önerirsen AYNI son-4 ile ikinci bir kart açtırırsın.
list_categories
ChatGPTGeçerli kategori + alt-kategori KEY listesi. add_expense/create_vendor kategorisini BURADAN seç (uydurma).
list_helper
ChatGPTÖĞRENİLMİŞ tercihler: satıcı takma adı (MIGROS TIC AS→Migros), satıcı→kategori/kart/klasör/etiket alışkanlıkları. Harcama eklerken cihazda OTOMATİK uygulanır; sen de bu kanonik ad/kategorilerle TUTARLI yaz.
list_ledgers
ChatGPTHesap Kitap çalışmaları (defter) — add_ledger_entry öncesi eşleştirme.
list_loan_calcs
ChatGPTKredi Hesaplama ekraninda KAYDEDILEN hesaplamalar (senaryo/simulasyon). "Hesapladigim kredi / kayitli hesaplamalarim" icin BUNU cagir. ⚠️ GERCEK kredi DEGIL — gercekler list_loans.
list_loans
ChatGPTKrediler (dupe önleme).
list_payment_methods
ChatGPTÖdeme yöntemleri. Harcamaya ödeme atamadan önce eşleştir.
list_rates
ChatGPT"Dolar/euro/altın kaç TL": uygulamanın KENDİ kur kaynağından (TCMB+piyasa) güncel/tarihli kur. Web bilginden kur SÖYLEME — buradan oku.
list_recurring
ChatGPTDüzenli ödemeler (dupe önleme). ⚠️ amount = ŞABLON tutarı; ileri döneme zam girilmişse SIRADAKİ taksit farklı olabilir. Böyle bir ayrışma varsa next_amount (+ gerekirse next_amount_date) alanı gelir — "önümüzdeki ay ne kadar" sorusunda ONU söyle. Alan YOKSA sıradaki taksit amount ile aynıdır. ⏸ DURDURULMUŞ: kayıt duraklatılmışsa status alanı gelir (ör. "paused"); alan YOKSA kayıt AKTİFtir. Duraklatılmış kayıt ÖDENMİYOR ⇒ "aylık sabit giderim/toplam ne kadar" hesabına KATMA (katarsan sessizce yanlış rakam verirsin). 🤖 OTO: otomatik ödenen kayıtlarda is_auto: true gelir; alan YOKSA elle ödenir. ⚠️ Bu status düzenli ödemenin KENDİ durumu (aktif/duraklatılmış) — list_transactions'taki recurring_status ise TEK bir taksidin durumu (pending/paid); KARIŞTIRMA. 💰 VADELİ/FAİZ HESABI (kind=interest): bu kayıtlarda hesabın parametreleri de gelir — principal (Ana Para = hesabın TAMAMI), exempt_amount (Faiz Uygulanmayan Tutar; alan YOKSA/0 ise ana paranın TAMAMINA faiz işler), annual_rate_pct (yıllık %), tax_rate_pct (stopaj %), compound:false (alan yoksa bileşik = net faiz her gün ana paraya eklenir). 📊 KADEMELİ MUAFİYET: hesabin faizsiz tutari bakiye araligina gore degisiyorsa exempt_tiers alanı gelir ([{min_balance, exempt}]); alan YOKSA muafiyet tek sabit değerdir (`exempt_amount`). Kademe varsa o gunku bakiyeye UYAN satir gecerlidir (bakiye min_balance degerine ESIT veya ondan BUYUKSE; birden çok satır uyarsa EN YÜKSEK min_balance kazanır) ⇒ `exempt_amount` alanini kullanarak faiz hesaplama, önce kademeyi çöz. ⚠️ BÖLÜŞÜM — kendi formülünü uydurma: vadeli (faiz İŞLEYEN) = principal − exempt_amount · vadesizde duran (faiz işlemeyen) = exempt_amount. ⚠️ `amount` = GÜNLÜK NET faiz, ana para DEĞİL (brüt = (principal−exempt)×yıllık%/365, net = brüt×(1−stopaj%)). Hesabın bakiyesi ile principal arasındaki küçük fark (≈ bir günlük faiz) normaldir: o gün tahakkuk etmiş ama henüz ana paraya işlenmemiş faizdir, TUTARSIZLIK DEĞİLDİR. 🏦 BİREYSEL EMEKLİLİK (BES): BES kayıtlarında kind:"bes" gelir; alan YOKSA o kayıt BES DEĞİLDİR. Sözleşme bilgisi varsa bes objesi eklenir (contract_no · provider · contract_start_date). Sağlayıcı portalından besleme geldiyse `bes_birikim` objesi de gelir: toplam_birikim · devlet_katkisi · katilimci_birikimi · getiri · fonlar · updated_at (verinin OKUNDUĞU an). ⚠️ `amount` = aylık KATKI PAYI, birikim DEĞİL — "BES'imde ne kadar var" sorusunda bes_birikim.toplam_birikim'i söyle, amount'ı DEĞİL. ⚠️ `bes_birikim` YOKSA birikim TUTARINI UYDURMA ve katkı paylarını toplayıp birikim diye SUNMA (getiri/devlet katkısı o toplamda yoktur) — "sağlayıcıdan güncel veri gelmemiş" de. ⚠️ STOPAJI SEN HESAPLAMA: matrah yalnız GETİRİ'dir (anapara + devlet katkısı HARİÇ, 6327 sk.); toplam birikim üzerinden hesaplarsan vergi ~8 KAT şişik çıkar. ⚠️ BES bir HARCAMA DEĞİL yatırım katkısıdır (type='transfer') ⇒ harcama toplamlarına KATMA. updated_at eskiyse rakamın ne kadar taze olduğunu kullanıcıya SÖYLE.
list_regions
ChatGPTGeçerli bölge kodları (create_vendor region_code).
list_salary
ChatGPTMaaş kayıtları (dönem, net, brüt, işveren).
list_tags
ChatGPTETİKETLER (Araç, Melis, Tatil). add_expense tags buradan seç (uydurma).
list_transactions
ChatGPTGERÇEK işlem/harcama geçmişi (id, tarih, satıcı, tutar, PB, kategori, tip — EN YENİ ÖNCE). "Son alışverişim / bu yıl Migros / 1000 TL üstü" için BUNU çağır (uydurma). Filtreler backend'de; id = update_transaction/delete_item için. ⚠️ BEKLEDİĞİNDEN AZ KAYIT GÖRÜRSEN "EKSİK/SİLİNMİŞ" SANMA — pencereye bak: varsayılan limit 200 ve sıralama EN YENİ ÖNCE, yani filtre vermeden çağırırsan yalnız son birkaç ayı görürsün; eski kayıtlar SİLİNMİŞ değil, sayfanın DIŞINDADIR. Geçmişi tarıyorsan from/to ver ve more uyarısı geldikçe offset ile SAYFALA. Bir düzenli ödemenin/faturanın geçmişi için recurring_id filtresini kullan (tüm geçmişi çekip elle süzme). Kullanıcıya "veriniz kayıp/eksik" demeden ÖNCE bu iki şeyi doğrula. 📁 KLASÖR: harcama Bireysel dışındaki bir klasördeyse (Ticari/özel defter) satırda mali_hesap alanı gelir; alan YOKSA o satır Bireysel'dir. Klasör bazlı toplam sorulursa (ör. "ticari harcamalarım") bu alana göre KIR. 🏷️ ETİKET: satır etiketliyse tags alanı gelir (AD listesi, ör. ["Araç","Tatil"]); alan YOKSA o satırın etiketi yoktur. tag parametresiyle süzdüğün alan budur. 🧾 FATURA DÖNEMİ: satırda bill_period ("YYYY-MM") varsa o faturanın AİT OLDUĞU dönemdir — ödeme tarihinden FARKLIDIR (Haziran dönemi 15 Temmuzda ödenir). "Haziran faturası" gibi sorularda date değil BUNU kullan — "hangi etiketleri var / Arac etiketli harcamalar" sorularını bununla cevapla, uydurma.
list_vendors
ChatGPTSatıcı listesi. Yeni satıcıdan önce q ile ara (q:"mig"→Migros var mı) — dupe önle. q'suz ilk 300 döner; belirli satıcıda HER ZAMAN q kullan.
mark_recurring_paid
ChatGPT"X faturasını/aboneliğimi ÖDEDİM" → MEVCUT düzenli ödemenin bekleyen taksidini ödendi işaretler. ⚠️ add_expense KULLANMA (bağımsız İKİNCİ kayıt = çift). Önce list_recurring. Belirsiz tutarda amount ZORUNLU. Faiz girişinde amount=NET (brüt−stopaj). Dönem biliniyorsa period, vade biliniyorsa due gönder (aşağıda) — doğru dönemin taksidi seçilir ve döneme damgalanır. Aynı gün aynı tutarda GERÇEKTEN iki ayrı ödeme varsa ikincisine allow_duplicate:true ekle (yoksa mükerrer sayılıp reddedilir).
match_statement_history
ChatGPTEkstre kalemlerini kullanıcının GEÇMİŞİYLE server-side eşleştirir (tutar ±0.01 + tarih ±3g + aynı PB) — binlerce işlem çekmeden. Döner: eşleşme istatistiği + alias_candidates (ham ad ↔ kanonik satıcı). Çok-ekstre analizinde import ÖNCESİ çağır; alias_candidates'ı özetle, onaylanırsa teach_alias.
pay_loan_installment
ChatGPT"Kredi taksitimi ödedim" → MEVCUT kredinin taksitini ödendi işaretler. ⚠️ add_expense KULLANMA (bağımsız çift kayıt). Önce list_loans.
push_bes_snapshot
ChatGPTBES (bireysel emeklilik) BİRİKİM verisini sağlayıcı portalından okunmuş hâliyle kaydeder — kullanıcı ONAYI GEREKMEZ, çünkü bu bir işlem değil BESLEMEDİR (kur/enflasyon verisi gibi). ⚠️ SADECE sağlayıcının kendi ekranından OKUNAN veri için; tutar UYDURMA, hesaplama YAPMA, kullanıcıdan duyduğun rakamı buradan yazma (o zaman setup_recurring/mark_recurring_paid kullan). Finansal işlem YARATMAZ, harcama/gelir tablosuna DOKUNMAZ. snapshot = sağlayıcıdan gelen JSON (birikim, katkı payı, fonlar, değişim...). contract_no verilmezse snapshot.guncel.sozlesme_no kullanılır. Aynı sözleşme yeniden yazılırsa ÜZERİNE yazar (mükerrer kayıt olmaz).
recall_suggestion
ChatGPTHENÜZ ONAYLANMAMIŞ (pending) kendi önerini kullanıcının gelen kutusundan geri çeker — "yanlış gönderdim, doğrusunu göndereyim". SADECE pending etkilenir (kayıt SİLİNMEZ, "recalled" olarak arşivlenir); onaylanmışsa delete_item gerekir. which="last" (default) / "all". Şifreli-başlıklı öneride match yerine op kullan.
record_accrual
ChatGPT"X faturasının TUTARI BELLİ OLDU ama HENÜZ ÖDENMEDİ" → belirsiz tutarlı düzenli ödemenin o DÖNEMİNE tahakkuk yazar. ⚠️ mark_recurring_paid DEĞİL: o ÖDENDİ demektir ve kaydı YAKLAŞAN'dan düşürür; bu araç kaydı BEKLEYEN bırakır, yalnız tutarını doldurur. Vade gelmeden fatura tutarını öğrendiğinde (aidat/elektrik/doğalgaz/su portalı, fatura e-postası) BUNU kullan. ⭐ O dönem için bekleyen kalem HİÇ YOKSA cihaz onu YARATIR (pre-gen'in ulaşmadığı dönem) — add_expense kullanma, bağımsız ikinci kayıt = çift. Ödendiğinde ayrıca mark_recurring_paid gönder.
refund_transaction
ChatGPTMEVCUT (geçmiş) işleme SONRADAN iade/puan ekler — "şu işlemi iade ettim / puan geldi". ÖNCE list_transactions (id al). Orijinal DEĞİŞMEZ; iade AYRI gelir satırı bağlanır. Yeni harcamayla iade için bunu DEĞİL add_expense cashback.
save_loan_calc
ChatGPTBir kredi SENARYOSUNU cihaza kaydeder (Ofis → Kredi Hesaplama → Kayıtlı hesaplamalar). Kullanıcı "bunu kaydet / hesaplamayı sakla" derse çağır. Girdiler calculate_loan ile AYNI; sunucu hesabı KENDİSİ yapar, sen taksit/toplam GÖNDERME. ⚠️ Gerçek kredi kaydı DEĞİL (o setup_loan) — bu bir simülasyondur. Onay kartı kullanıcının telefonuna düşer.
set_interest_deduction
ChatGPT"10 Temmuzda 1,03 TL MKK/BSMV kesintisi oldu" → vadeli/faiz hesabının O TARİHİNE kesinti kaydı yazar. Aynı tarihte kesinti varsa DEĞİŞTİRİR (çift yazmaz); amount 0 → o tarihin kesintisini SİLER. Motor kesintiyi kapanış sonrası ANA PARADAN düşer ⇒ sonraki günlerin faizi doğru hesaplanır. ⛔ add_expense KULLANMA — bu kullanıcının harcaması değil, hesabın kendi kesintisidir (harcama toplamını yanlış şişirir). Önce list_recurring; yalnız vadeli/faiz kaydına yazılabilir.
setup_loan
ChatGPTKredi + taksit planı kurar (inbox onayı). Önce list_loans (dupe). Banka OTO tahsilat talimatı varsa is_auto:true. Vergi GÖNDERME (cihaz bölgeye göre hesaplar).
setup_recurring
ChatGPTYENİ düzenli ödeme/abonelik kurar. Önce list_recurring (dupe). Mevcut kaydın zammı=update_recurring. Belirsiz tutarda amount_unknown:true (amount uydurma). kind=interest = günlük faiz hesabı (detay wallek://rules).
teach_alias
ChatGPTSatıcı takma-adlarını TOPLU öğretir (cihazda ONAYLI). Ham ad → kanonik satıcı ("SBX IST KANYON"→"Starbucks"). match_statement_history alias_candidates'ından. KURALLAR: yön DAİMA spesifik-ham→kanonik (jenerik AVM/mekan adını EŞLEME); 7+ haneli değişken numaralı ham ad GÖNDERME; list_helper tercihiyle çelişme.
unmark_recurring_paid
ChatGPT"O faturayı YANLIŞ İŞARETLEDİM / ödememişim, geri al" → ÖDENDİ işaretli taksidi tekrar BEKLEYEN yapar. ⛔ delete_item KULLANMA (kaydı YOK EDER — geçmiş + bağlı fiş/📎 kopar). Önce list_recurring. Hangi taksit: period (dönem) veya date (ödeme tarihi); ikisi de yoksa EN SON ödenen geri alınır. Aynı dönemde birden çok ödeme varsa cihaz hata döner → ayırt edici alanı ekleyip tekrar gönder.
unpay_loan_installment
ChatGPT"Kredi taksidini YANLIŞ İŞARETLEDİM / ödememişim, geri al" → ÖDENMİŞ taksidi tekrar bekleyen yapar (bağlı ödeme kaydı da geri alınır). ⛔ delete_item KULLANMA. Önce list_loans. installment_no verilmezse EN SON ödenen taksit geri alınır.
update_account_balance
ChatGPT"Şu hesabımın bakiyesi şu kadar / bugün itibariyle bakiyem X" → hesabın BUGÜNKÜ bakiyesini hizalar (kullanıcı onayı). Uygulama açılış bakiyesini geriye hesaplar ⇒ GEÇMİŞ HAREKETLERE DOKUNULMAZ, sadece hesabın açılış rakamı düzeltilir. Önce list_accounts — hesap adını TAM yaz (birden fazla hesaba uyan kısa ad REDDEDİLİR, tahmin edilmez). ⚠️ Kart LİMİTİ için update_card, YENİ hesap için create_account. Borç/eksi bakiye (KMH, kredili mevduat) NEGATİF yazılır.
update_card
ChatGPTKartın ANA/KALICI ayarını değiştirir (kesim/son-ödeme/limit) — SADECE kullanıcı "kartımın ayarını değiştir" derse. ⚠️ EKSTRE dönem bilgisi için KULLANMA (import_statement period_* — ana ayar eski dönemleri de değiştirir). Önce list_accounts.
update_investment
ChatGPTMEVCUT bir yatırım alım/satım kaydını DÜZELTİR (adet · birim fiyat · toplam tutar · tarih · masraf). Kayıt SİLİNMEZ, bağlı işlem ve geçmiş korunur. Hedefi asset_code ile bul; aynı varlıktan birden çok işlem varsa date (ve gerekiyorsa side) ile TEKİLLEŞTİR — belirsizse araç adayları listeler ve DEĞİŞTİRMEZ. ⚠️ Türkçe dekontta "529.455" binlik ayraçtır (529455), ondalık DEĞİL: adet × birim fiyat, toplam tutarı tutmalı.
update_loan
ChatGPTMEVCUT krediyi günceller: OTO tahsilat aç/kapa, aylık faiz, not; close_early:true = kalan TÜM taksitleri bugün ödendi say (cihazda ayrıca onay). Tek taksit=pay_loan_installment. Önce list_loans.
update_recurring
ChatGPTMEVCUT düzenli ödemeyi günceller: zam, duraklat/devam, OTO aç/kapa, sıklık, ÖDEME GÜNÜ (due_day — ayın kaçında; bu ay ve sonrakiler taşınır, geçmişe dokunulmaz). Sil+kurma YAPMA (geçmiş kopar). Önce list_recurring. ⚠️ BELİRSİZ tutarlı kayda (amount_unknown / list_recurring'te tutar boş) amount GÖNDERME — cihaz REDDEDER: tutarı sabitlemek TÜM dönemleri aynı tutara doldurur. Tek dönemin tahakkuku = mark_recurring_paid(period|due + amount). 💰 VADELİ/FAİZ HESABI (kind=interest): ANA PARA / yıllık oran / faizsiz tutar da BURADAN güncellenir (principal · annual_rate_pct · exempt_amount) — hesaba para girip çıktığında ana para değişir, bunu güncellemezsen motor ESKİ ana parayla faiz üretmeye devam eder. ⚠️ Bunlar amount DEĞİLDİR: amount günlük net faiz çıktısıdır, ONA DOKUNMA. as_of verirsen o TARİHTEN bugüne otomatik faiz kayıtları yeniden hesaplanır (elle düzeltilmiş kayıtlar korunur); vermezsen değişiklik BUGÜNDEN itibaren geçerli olur, geçmiş kayıtlar sabit kalır. 🏦 BİREYSEL EMEKLİLİK (kind=bes): sözleşme numarası ve başlangıç tarihi de BURADAN düzeltilir (contract_no · contract_start_date) — uygulamada bu alanlar kurulumdan sonra düzenlenemiyor.
update_salary
ChatGPTMEVCUT maaş/bordro dönemini düzeltir (net/brüt/vergi/ödeme tarihi/işveren/HESAP) — ana ekran NET geliri senkron. period_key ile dönem; önce list_salary. YENİ dönem=create_salary. 💳 account = maaşın YATTIĞI mali hesap: verilmezse mevcut hesap KORUNUR; verilirse maaş geliri o hesabın hareketlerine yansır.
update_settings
ChatGPTUygulama ayarını değiştirir (onayla). İZİNLİ: conversion_dayview_1/2 (ana ekran dönüşüm PB yuvaları), monthly_budget. Bölge, dil, tema, ana para birimi, varsayılan hesap/ödeme yöntemi AI ile DEĞİŞTİRİLEMEZ — kullanıcıya uygulamada Ayarlar'dan değiştirmesini söyle. Güvenlik/kilit/kripto/auth DEĞİŞTİRİLEMEZ.
update_transaction
ChatGPTONAYLANMIŞ (uygulanmış) işlemi düzeltir. id ZORUNLU (list_transactions'tan, UYDURMA). Onaylanmamış kendi önerin = recall_suggestion. Sil+ekle YAPMA (fiş/taksit bağları kopar). Sadece istenen alanı değiştir (tutar düzeltmesi satıcı/kategoriyi SÜRÜKLEMEZ). 🔗 BAĞLI KAYIT (düzenli ödeme / kredi taksidi): tutar·kategori·not HER ZAMAN değişir; tarih bağlı kayıtta da değişir — kredi taksidi DAHİL (S661: taksit satırı da aynı çağrıda güncellenir; ödenmişse ödeme tarihi, bekleyense vade tarihi hizalanır ⇒ iki tablo ayrışmaz); satıcı·hesap·tip bağlı kayıtta değiştirilemez. ⚠️ Uygulanamayan alan olursa cevap ignored + warning taşır — ok:true tek başına "hepsi uygulandı" DEMEZ, o alanları kullanıcıya söyle.
update_vendor
ChatGPTMEVCUT satıcıyı günceller: rename (işlem geçmişi YENİ ada otomatik taşınır), renk, kategori. Önce list_vendors. Yeni yaratıp eskisini SİLME (geçmiş kopar).
upload_file_part
ChatGPT~25KB üstü dosyayı PARÇA PARÇA yükler (chat uzun base64'ü kırpar → büyük fiş/ekstre/bordro için ZORUNLU). Akış: base64'ü ≤24.000 karakterlik parçalara böl → SIRAYLA gönder (part_index 1..parts_total; İLK cevaptaki upload_id'yi sonraki parçalarda AYNEN) → son parçada sunucu birleştirir+döner upload_ref → o upload_ref'i attach_document / add_expense.attachment / import_statement.attachment'ta content_base64 YERİNE ver. Parçalar ham base64 alt-dizisi (tek tek geçerli olması gerekmez); bozulursa YENİ upload_id ile baştan.