3 puan yazan GN⁺ 2024-09-17 | 1 yorum | WhatsApp'ta paylaş
  • Plain Text Accounting (PTA), muhasebe verilerini düz metin dosyalarına kaydedip bunları Ledger, hledger, Beancount gibi komut satırı dostu araçlarla işleme yaklaşımıdır; bu site de ilgili kaynakları tek bir yerde toplayan bir portaldır
  • Topluluk etkinlikleri Matrix/IRC, forum, Reddit, Lemmy, Hacker News, Mastodon, X, Bluesky gibi kanallara dağılmıştır; böylece soru, haber ve proje bazlı sohbetler farklı yollar üzerinden takip edilebilir
  • Öğrenme kaynakları uygulama karşılaştırmaları, resmî belgeler, muhasebe temelleri, başlangıç rehberleri, cheat sheet'ler, cookbook'lar, SSS, slaytlar ve videolar halinde düzenlenmiştir; bu sayede PTA'yı ilk kez kullananlar da adım adım ilerleyebilir
  • Uygulama ekosistemi, Ledger, Beancount ve hledger etrafında birçok uygulama ve özellik matrisi sunar; öne çıkan 3 aracın temeli sırasıyla C++/Python/Haskell'dir ve 2025~2026 sürüm kayıtları bulunur
  • İçe aktarma·dönüştürme, editör eklentileri, fatura, fiyat sorgulama, raporlama, zaman kaydı, UI, iş akışı ve kütüphanelere kadar uzanan bağlantılar sayesinde düz metin muhasebe verileri farklı çalışma ortamlarına entegre edilebilir

PTA kavramı ve plaintextaccounting.org'un rolü

  • Plain Text Accounting, düz metin dosyaları ve Ledger, hledger, Beancount gibi verimli, komut satırı dostu yazılımlarla defter tutma ve muhasebe yapma yaklaşımıdır
  • plaintextaccounting.org, PTA topluluğunun araçlarına, belgelerine ve pratik örneklerine açılan bir portal görevi görür
  • Site deposundaki güncellemeler takip edilebilir; ayrıca finansal raporlar ve destek bilgileri de sunulur

Topluluk ve tartışma kanalları

  • Gerçek zamanlı sohbetler Matrix'teki #plaintextaccounting, plaintextaccounting Matrix space ve Libera Chat'teki #plaintextaccounting IRC kanalında sürer
  • Tartışmalar ve haberler çeşitli açık kanallara dağılmıştır
  • Stack Exchange'te ledger-cli ve hledger etiketleri ile arama bağlantıları sunulur
  • Proje bazlı e-posta listeleri ve sohbetler ile This Week In Hledger de bağlantılanmıştır

Belgeler ve öğrenme kaynakları

  • Uygulama karşılaştırmaları bölümü, PTA uygulama listesi, özellik matrisi, “Hangi PTA uygulamasını seçmeliyim?” SSS'si ve Syntax Quick Reference'ı içerir
  • Uygulamaların resmî belgeleri olarak Ledger, hledger, Beancount, rustledger, Ledger(Go), Tackler ve pta belgelerine bağlantılar verilir
  • Muhasebe temelleri kaynakları arasında PTA SSS'si, hledger'in Accounting basics/links bölümü, Beancount'un Double-Entry Counting Method içeriği ve “Accounting for Computer Scientists” yer alır
  • Başlangıç kaynakları farklı giriş noktalarına göre ayrılmıştır
  • Cheat sheet'ler, cookbook'lar, SSS, slaytlar ve video kaynakları da ayrı bölümlerde düzenlenmiştir; video bölümünde YouTube'da PTA videolarını bulmanın zor olduğuna dair bir not bulunur

Başlıca PTA uygulamaları ve özellik karşılaştırması

  • PTA'ya başlarken sitede listelenen uygulamalardan birini veya birkaçını deneyebilirsiniz; genel olarak uygulamalar arasında veri migrasyonu mümkündür
  • Mevcut başlıca uygulama listesinde çeşitli projeler birlikte düzenlenmiştir
    • Ledger: C++, 2003'te başladı, son sürüm 2025'te, yaklaşık 245 committer, yaklaşık 5.9k stars
    • Beancount: Python, 2008'de başladı, son sürüm 2026'da, yaklaşık 103 committer, yaklaşık 5.5k stars
    • hledger: Haskell, 2007'de başladı, son sürüm 2026'da, yaklaşık 194 committer, yaklaşık 4.4k stars
    • Transity, Ledger(Go), Abandon, zhang, Tackler, rustledger, knut, acc, ledg de mevcut listede yer alır
  • Geçmişte kalmış veya etkin olmayan projeler ise placc, budget-cli, mynt, awk-pta, pta, blossom, .Net Ledger, monescript, Penny, UMM, cl-ledger olarak ayrıca düzenlenmiştir
  • Ledger, hledger ve Beancount için özellik matrisi, 2024-09 itibarıyla güncellenmiştir; kullanıcı arayüzü, kurulum, yardım, giriş/çıkış formatları, komutlar, yapılandırma, genişletilebilirlik, hesap adları, bütçe, grafikler, fiyat sorgulama, sorgular ve doğrulama karşılaştırılır
  • Temel farklar, araç seçiminde doğrudan etkili olan maddelere odaklanır
    • CLI olarak Ledger'da ledger, hledger'da hledger, Beancount'ta beanquery bağlantılanır
    • Kolay kurulum ve yapılandırma için Ledger/hledger yes, Beancount ise no olarak gösterilir
    • hledger; text/html/csv/tsv/fods/beancount/sql/json çıktı formatlarını sunar
    • Beancount'un doğrulaması her zaman sıkı olarak gösterilirken, Ledger ve hledger yapılandırılabilir olarak belirtilir

Yazılım ekosistemi

  • Yapay zeka bölümünde, hledger kullanan yerel öncelikli çok modelli yapay zeka ajanı accountant24 ile hledger ve Obsidian vault üzerinde Claude Code'u ajan katmanı olarak kullanan kurulum yazısı yer alır
  • Alternatif dağıtım ve yapılandırma örnekleri olarak Full-fledged hledger, hledger-flow, Lazy Beancount, hledger-youtube-business, rtrLEDGER ve docker-finance listelenir
  • Veri dönüştürme·içe aktarma büyük bir yer tutar; Ledger ve hledger'in yerleşik CSV dönüştürmesine ek olarak Beancount v2 import aracı, banks2ledger, beancount-import, beancount2ledger, hledger2beancount, ledger2beancount, plaid2text ve daha fazlası sıralanır
    • GnuCash, Intuit/QuickBooks/QIF, KMyMoney, YNAB'dan *ledger veya Beancount'a taşıma araçları da ayrı alt bölümde toplanmıştır
  • Veri üretim araçları; fiyat işlemleri, amortisman, faiz, yinelenen işlemler ve sermaye kazancı/kaybı posting'leri oluşturmak için kullanılır
  • Editör eklentileri Emacs, JetBrains IDE, Nano, Sublime, TextMate, Vim ve VS Code için ayrılmıştır
    • Örnekler: ledger-mode, beancount-mode, hledger-mode, vim-ledger, vim-beancount, hledger-vscode, vscode-beancount
  • Biçimlendirme araçları olarak beancount-black, beancount-black web app, hledger-fmt listelenir
  • Fatura araçları arasında, hledger timedot dosyalarından fatura üreten Go aracı kairos tanıtılır

UI, raporlama, iş akışı, kütüphaneler

  • Fiyat sorgulama araçları arasında Beancount'un bean-price, hledger-stockquotes, ledger-get-prices, pricehist ve Yahoo Finance tabanlı hisse/fx sorgulama araçları yer alır
  • Raporlama araçları; bütçe, varlık analizi, fark raporları, iç getiri oranı, grafikler, Sankey, PDF çıktısı ve sermaye kazancı hesaplamasına kadar genişler
  • Zaman kaydı araçları; org, Taskwarrior hook, Toggl CSV, timeclock dönüştürme ve hledger tabanlı zaman takibi örneklerini içerir
  • Terminal UI tarafında hledger add, hledger-ui, hledger-iadd, bean-add, ledger xact, puffin, regdel gibi araçlar işlem girişi, görüntüleme ve düzenlemeyi destekler
  • GUI, web ve mobil UI'lar da ayrı araçlar olarak bağlantılanmıştır
    • Web: fava, hledger-web, Paisa, BeanHub
    • Mobil: Beancount Mobile CE, beancount-mobile, NanoLedger, cashier, cone, MoLe
    • GUI: fruit-credits, Ledgera, Prudent, Surebeans vb.
  • İş akışı bölümü, CSV'den hledger journal üretmeyi veya Docker tabanlı kurulumlarla geleneksel finans ve kripto finansını takip edip raporlamayı ele alır
  • Kütüphaneler bölümü; Beancount parser'ı, BeanHub API, hledger-lib, hledger-web JSON API, node-hledger, pyhledger gibi PTA dosyalarını parse etme, sorgulama, raporlama ve entegrasyon için geliştirici bileşenlerini bir araya getirir

1 yorum

 
GN⁺ 2024-09-17
Hacker News yorumları
  • Hemen katı sınıflandırma isteyen sistemler bazı insanlara uymuyor. Eskiden çalıştığım şirkette iki aşamalı bir yöntem kullanıyorduk: önce iPhone Notes’a -50 Alice tools, +20 Bob returned loan gibi kısa notlar yazılıyor, sonra bir script tarih, anahtar kelime, karşı taraf ve iç analiz kalemlerini parse edip bunları çift taraflı muhasebe şablonuna çeviriyordu.
    Script’in anlayamadığı kalemler elle sınıflandırılıyor, gerekirse kural listesine ekleniyordu; Alice ile Bob’un aynı kelimeleri kullanmak zorunda kalmaması için kişi bazlı eşleştirme listeleri de vardı.
    Para her el değiştirdiğinde sırada bekleyen, araba kullanan ya da sohbet eden birinin her seferinde Cat1:cat2:cat3 gibi bir formatı dolduracağını hayal etmek zor. Sonunda yine kısa notlara ya da sohbete dönmeleri veya günün sonunda değil, muhtemelen hafta sonu “hatırlayıp” doldurmaya çalışmaları daha olası.

    • Bu yöntem de sonuçta düz metin muhasebesi gibi geliyor. Ben de neredeyse benzer şekilde kullanıyorum: defter dosyasına doğrudan girmek yerine KMyMoney’ye yazıp sonra script ile ledger dosyasına dönüştürüyorum.
      Metin tabanlı bir araçta iPhone notlarını alıp ledger formatına çeviren bir script eklemek gibi istediğiniz akışı özgürce kurabilirsiniz; bu yüzden bunu bir şikâyet olarak görmek biraz tuhaf geliyor.
    • Biz de ledger dosyasını doğrudan yazmıyoruz; serbest biçimli notları dönüştürmek yerine banka uygulaması ve Zoho gider raporlama uygulamasındaki not alanına uygulanacak hesabı yazıyoruz.
      Her çeyrekte banka hesabından, kredi kartından ve Zoho’dan CSV indiriyoruz; Ruby script’i not alanına bakıp bunları ledger dosyasına dönüştürüyor. Script ve çıktılar biraz elden geçirme istiyor ama %95’ten fazlası otomatikleşmiş durumda.
      Ek olarak, bankadan gelen bakiyeyle uyuşup uyuşmadığı ve kalemlerin mevcut dönem içinde olup olmadığı gibi tutarlılık kontrollerini de ledger dosyasına ekliyoruz.
  • Serbest çalışmaya başladığım andan beri, neredeyse 20 yıldır ledger-cli kullanıyorum; kusursuz olmasa da çok memnunum. Her şey düz metin olduğu için script’lerle işleyebiliyor, VIM’de okuyabiliyor ve verileri kolayca çıkarabiliyorum.
    Şu anda işlettiğim şirketlerden birinin ledger dosyası, 2016’dan bu yana işlemleri içeren 2 MB’lık bir düz metin dosyası. Hesapları/sınıfları çok ayrıntılandırmada büyük bir değer görmedim ama genel takibi yapmak için vazgeçilmez bir araç oldu.
    ledger gibi araçların kullandığı çift taraflı muhasebeyi öğrenmek de keyifliydi; geriye dönüp bakınca zor değildi ve ömür boyu işe yarayacak bir beceri gibi geliyor.

    • Henüz bu tür araçları kullanmıyorum ama QuickBooks ve banka birkaç işlemi atladığı için kayıtları temizlemeye çalışıyorum; bu yazı tam zamanında karşıma çıktı.
      Hesap/sınıflandırma stratejisi olarak, Kanada Gelir İdaresi’nin vergi beyannamesinde istediği gider sınıflarıyla hizalama yöntemini kullanıyorum. Başta barındırma giderleri, prototip/üretim giderleri gibi mantıksal sınıflar oluşturmuştum; ama yıllarca bunları CRA sınıflarına yeniden eşledikten sonra, en baştan vergi sınıflarına göre düzenlemenin yıl sonu beyanını çok daha basitleştirdiğini fark ettim.
    • Evimi satarken escrow şirketi kapanış mutabakatı kapsamında yaklaşık 3.000 dolarlık bir iade çeki göndermişti, ama o çeki hiç almamıştım. Bunu ancak 5 yıl sonra ledger-cli kullanmaya başlayınca öğrendim.
    • ledger’a bir oy. Şimdiye kadar kullandıklarımın en iyisiydi ve script’lenebilir olması müthiş. Kullanmaya başladıktan sonra 2 yılı aşkın süredir vergi işlerim doğru hale geldi.
    • Biraz daha düşününce en büyük eksiklik, genel olarak düz metnin sınırı olan ek dosya yokluğu. Belirli dosyalara referans veren kişisel bir sistem kurdum; bir işleme dosya bırakınca dosyayı belirli bir klasöre kopyalayan ve işleme etiket ekleyen bir Mac uygulaması da yaptım.
      Veri SQLite olsaydı bunu uygulamak çok daha kolay olurdu; ama o zaman da metin düzenleyiciyle doğrudan değiştirebilme avantajını kaybederdik.
  • LLM sayesinde düz metin muhasebesini düzenli sürdürmek çok daha kolaylaştı. Özellikle banka ekstrelerini hledger’a aktarırken manuel girişi önlemeye yardımcı oluyor.
    Banka işlemlerini hledger hesaplarına eşleyen bir JSON dosyası kullanıyorum; yeni eşlemesi olmayan bir işlem varsa Python script’i Claude için bir prompt oluşturuyor. Claude hesap listesini görüp yeni işlemin eşlemesini öneriyor ve buna dayanarak hledger yevmiye kaydını döndürüyor.
    Ardından başka bir script o ayın banka işlemleri için hledger yevmiye kayıtlarını temiz biçimde yazdırıyor; birkaç dakika düzeltip kesinleştiriyorum. Eskiden kırılgan regex ve koşul yığınlarına dönüşecek eşleme talimatlarını artık doğal dille yazabiliyorum.

    • LLM’in kırılgan olmadığını mı düşünüyorsun? Ayrıca banka bilgilerini Anthropic’e göndermek de epey cesurca.
  • Beancount kullanırken öğrenme sürecinden, veri içe aktarma araçları yazmaktan ve muhasebeye doğrudan dokunmaktan keyif aldım. Ama en son veri içe aktarmamın üzerinden neredeyse 1 yıl geçti; her ay yapmayı planlamıştım, fakat epey otomasyon olsa bile 30–60 dakika sürüyor ve zahmetli geliyor.

    • Keşke bankalar veri dışa aktarmayı aktif olarak zorlaştırmasa. Eskiden giriş sürecini OCR ile tersine mühendislik edip hatalı kalemleri temizleyen bir script yazmıştım, ama bakım maliyeti çok yüksekti.
      Mobil doğrulama da gerekli hale gelince tamamen vazgeçtim.
    • GnuCash’te de tamamen aynı deneyimi yaşadım. Her hafta yapınca sorun yok; 1–3 hafta aksatmak idare edilebilir ama daha fazlası geçince yetişme yükü kartopu gibi büyüyor.
      Benim de içe aktarma yapmayalı yaklaşık 1 yıl oldu; tekrar canlandırmak için aklıma gelen tek yol, birkaç güne yayarak birer aylık parçalar halinde yüklemek.
    • Biraz rahatsızlık hissini göze alabiliyorsanız Plaid bakmaya değer. Kişisel kullanım için yeterli bir test katmanı vardı ve 100 bağlı hesaba kadar izin veriyordu.
      https://plaid.com/
    • teller.io kullanırsanız kurulumu Plaid’e göre çok daha kolay. Chase banka ve kredi kartı ekstrelerini Google Sheets’e senkronize etmek için kullanıyorum.
  • Kişisel işlerim ve birkaç LLC’nin defter tutma/muhasebesi için ledger kullanıyorum. Terminale aşinaysanız, CLI’da rahatsanız; vim veya emacs, sed/awk temelleri ve bash/python/perl/ruby betiklemeyi sık kullanıyorsanız, ledger ve çift taraflı kayıt öğrenip buna geçmeniz şu anki yönteminizden çok daha tatmin edici olabilir.
    İşlemleri hızlıca içe aktarmak için reckon işe yarıyor: https://github.com/cantino/reckon
    Sorunu include ile parçalara bölmek de iyi. bal --dc ABD’deki muhasebecilere biraz tanıdık gelebilir; ama ledger’ın negatif sayıları kullanma biçimini çoğu zaman doğru anlamadıklarından, DR/CR stiline dönüştüren birkaç betik yazmak daha kolay oldu. Çalıştığım muhasebecilerin soyutlamalarla başa çıkmakta ne kadar zorlandığını görünce şaşırdım

    • İlk iki ipucuna katılıyorum. Üçüncüsü de iyi olabilir ama hiç ihtiyaç duymadım.
      Tek bir ipucu ekleyecek olsam, her şeyi bir Makefile veya benzeriyle bir araya bağlamanız olurdu. Hesap başına çok sayıda işlem dosyası bölünmüş oluyor ve doğru dosyaları dahil eden komut kolayca uzayabiliyor.
      Çeşitli grafik ve özet betiklerinin doğru söz dizimini de her seferinde hatırlayamıyorum; make kullanınca make cashflow, make balance 'A=Checking', make balance-plot 'A=retirement' gibi çağırabiliyorsunuz
  • Ledger’ı temel eğitimlerin ötesinde, daha karmaşık durumlarda etkili kullanmaya yönelik birkaç pratik reçete yazısı yazdım: https://felixcrux.com/blog/ledger-practices

    • Ledger’ı yoğun kullanan biri olarak bu reçeteler çok iyi. Müşteri ve tedarikçileri ayrıntılı izlediğimiz; ödemeleri ve tahsilatları belirli projelere ve onların içindeki kategorilere atamamız gereken bir desen kullanıyoruz.
      Banka işlemlerini içe aktarırken önce karşı taraf adındaki hesaba atıyoruz; ardından bir betik ledger print ile karşı taraf bazında ikinci bir günlük dosyası oluşturup asıl işlemi ters çeviriyor ve geçici olarak Unknown projesi ile Unknown kategori alt hesabına koyuyor.
      Sonra defter sorumlusu işlemi belirli bir faturayla eşleştirip Project:Category hesabına atıyor; gerekirse tek bir ödemeyi birden fazla proje/kategoriye bölüyor. Tüm banka işlem günlükleri ve karşı taraf günlükleri dahil edildiğinde, defter kaydının tamamlanıp tamamlanmadığı ledger bal ile kontrol edilebiliyor
  • Düz metin muhasebe harika, ama bence birçok kişi için en büyük engel banka verilerini standart bir biçimde indirebilmek.
    Bankalar CSV veya Excel’in ötesini aktif olarak desteklemeyecek; Yodlee ya da Plaid gibi veri toplama platformları da açık kaynak ya da hobi kullanıcılarına pek dostane değil.
    Eskiden Wesabe(https://en.wikipedia.org/wiki/Wesabe) adlı bir şirket, masaüstünde banka senkronizasyonu yapan bir yazılım geliştirmişti. Mint.com yüzünden fiilen geri planda kaldı, ama o yaklaşım hâlâ aklımda ve açık kaynakta da mümkün görünüyor

    • hledger’da oldukça keyfî CSV’leri işlemlere dönüştüren bir araç var: https://hledger.org/1.40/hledger.html#csv
      Henüz denemedim ama bir SaaS defter tutma şirketinin banka bağlantısı sorununa birkaç gün içinde 4 saat yardım ettikten sonra buna seve seve zaman ayırırım.
      İşlemleri mutabıklaştırdığım her seferinde içini göremediğim ve doğrudan düzeltemediğim bir sistemle boğuşuyorum. Artık harcadığım emeğe değip değmediğinden şüpheliyim; kullanışlı bir araç varsa CSV’yi doğrudan ele almak daha iyi olur. Bu arada o şirket bunun “sıradan bir durum” olduğunu söyleyip para iadesi de yapmadı
    • Yakın zamanda Paisa’yı keşfettim; temelde ledger-cli’nin üzerine kurulmuş fena olmayan bir UI. İçe aktarma çok rahat: CSV gibi bir dosya yüklüyor, önizlemeye bakıyor, sonra her satırı ledger metin biçimine dönüştüren bir betik yazıyorsunuz.
      Lint de var; sonuçtan memnun kalırsanız betiği kaydedip istediğiniz zaman yeniden içe aktarabiliyorsunuz. Hisse senedi gibi şeyleri izlerken emtia/fiyat verisi indirmeyi de destekliyor.
      Grafikler benim zevkime göre yeterince genel amaçlı değil, bu yüzden verileri başka yere aktarıyorum; ama veri girişi için harika
    • Bankanın yasal olarak sağlamak zorunda olduğu PDF ekstreleriyle CSV’nin uyuşmadığı durumlar yaşadım. Üstelik CSV’de bakiye verisi neredeyse hiç yok.
      Bu yüzden PDF indirip veriyi çıkarıyorum; gereğinden fazla zahmetli. Makinenin kolay okuyabileceği PDF sağlamak için, işlem alanlarından 3-4 tanesini ve tarih/bakiye gibi birkaç ekstre alanını kırılgan sezgisellere ihtiyaç duymadan çıkarılabilir kılacak basit kurallara uymak yeterli.
      Markalı ve insanın rahat okuyacağı PDF ile makinenin rahat okuyacağı PDF birbiriyle çelişmiyor
    • Birleşik Krallık’ta banka verilerine erişim için standart API olan Open Banking var: https://www.openbanking.org.uk/
    • Bizim ülkede tüm işlemler SMS olarak geldiği için Tasker ile SMS’leri yakalayıp bir CSV dosyasına kaydeden bir sistem kurmuştum. O CSV’yi SyncThing ile masaüstüne senkronize edilen bir klasöre koymuştum.
      Bu veriyi işleyip muhasebe sistemine aktarmayı planlıyordum ama uygulamaya geçiremedim; sonra telefon bozulunca Tasker aksiyonlarını da kaybettim. Yeniden uygulayacak hevesim kalmadı
  • İlgili alan adı hâlâ duruyor. 2023 yazısı: https://news.ycombinator.com/item?id=36022005, 2021 yazısı: https://news.ycombinator.com/item?id=28420797, 2016 yazısı: https://news.ycombinator.com/item?id=11164330
    Kavrama dair başka sözleri https://hn.algolia.com/?q=Plain+Text+Accounting adresinde daha fazla görebilirsiniz

  • Başkalarının düz metin muhasebe araçlarını pratikte nasıl kullandığını merak ediyorum. Harcama alışkanlıklarını anlamak ve davranış değiştirmek için mi kullanıyorlar, maliyet/gelir/net varlık takibi için mi, yoksa çekici olan düzenli sürecin kendisi mi, bilmek isterim.
    Bu konuyu her gördüğümde, kendimi tamamen kaptırma isteğiyle geçmiş denemeleri sürdürememiş olmanın suçluluğu aynı anda geliyor. Şu an kişisel defterimi bir buçuk aydır güncellemediğim için suçluluk tarafı daha ağır basıyor.
    Sonuçta bunu neden kullandığımdan emin olmadığım için, zaman geçtikçe işlemleri kaydetmek için kaydediyormuşum gibi hissettiriyor.

    • Ben bunu her zaman spontane grup hesaplaşmaları için kullanıyorum. Üç kişinin seyahat etmesi gibi durumlarda masrafları o gün ya da haftanın ilerleyen günlerinde bölüşmek çok daha kolay oluyor; borç/alacak ilişkilerini biriktirip gerektiğinde kapatabiliyorsunuz. Bu tür dağınık harcamaları başka yöntemlerle takip etmek çok zor.
      İş masrafları da benzer. Ekipman ya da servis ücretini kendi kartımla ödüyor, sonra raporlayıp nakit veya havaleyle geri alıyorum. Ancak bazı ülkelerde ya da işletmelerde bu işlemiyor.
      Kişisel günlük harcamalarımı banka ve deneyimlerim sayesinde zaten biliyorum; bunun için muhasebe tutmaya gerek yok. Duygusal bir motivasyon değil, parasal bir motivasyon olması gerekiyor. Muhasebeyi bırakırsam bir arkadaşımın içki masrafları için yüzlerce dolar yakacağını ya da şirketin bir HDMI kablosunu bedavaya almış olacağını bilirsem, hiç tereddüt etmeden tutarı girerim. Kişisel muhasebenin iyi yürümemesinin nedeni, kaybedilen şeyin para değil yalnızca analiz olması.
    • Serbest meslek sahibi olduğum için Beancount’u iş hesaplarım ve hisse portföyüm için kullanıyorum. Daha katı yaklaşım hoşuma gidiyor; web arayüzü Fava da raporlar ve görselleştirme için kullanışlı.
      Wise işlemlerini içe aktarma veya döviz kuru takibi gibi süreçleri otomatikleştiren birkaç betiğim de var. Ama günlük kişisel harcamalar ya da bütçe yönetimi için kullanacak kadar disiplinim yok.
    • Bunu harcama alışkanlıklarını değiştirmeye yönelik bir motivasyon aracı olarak kullanmıyorum; ancak tüm hesapların ve varlık kayıtlarının tutulmasını seviyorum. Genel finansal durumumu daha iyi anlamamı sağlıyor ve nakit benzeri tasarruf hesabı içinde sanal hesaplar oluşturarak araba bakımı veya sigorta gibi itfa ettiğim kalemler için bakiyeleri ayırıyorum.
    • hledger’ı birçok amaçla kullanıyorum. Müşteri alacaklarını; gıda, dışarıda yemek, kitap, dergi abonelikleri gibi harcama kategorilerini; farklı para birimlerindeki hesapların güncel bakiyelerini; başkalarına verdiğim borçları ve hediyeleri; seyahat, hediye ve yatırım hedefleri gibi tasarruf amaçlı sanal zarfları takip ediyorum.
      Her gün dışarıda yemeğe ne kadar para harcadığımı görmek ve o tutarı endeks fonuna yatırsaydım bileşik getirinin ne olacağını hesaplamak, dışarıda yeme alışkanlığımı azaltmama çok yardımcı oldu. Müşteri alacaklarını ve gerçek nakit akışına göre/öngörülen gelire göre nakit akışını da ayrı ayrı görebiliyorum.
      Tasarruf hesabı bakiyesini zihnimde “yatırım hedefi %40, hediyeler %1” gibi parçalara ayırmak, büyük bir bakiye görüp dürtüsel harcama yapmamı azalttı. Varlık artışını, kategori bazında harcama artış ve azalışlarını grafikleştiren; bu değişimin hayata net etkisinin olumlu olup olmadığına dair notları bir web sayfasına döken bir programım da var ve her yıl bir sonraki planı belirlerken kullanıyorum.
      Ledger dosyasını Excel’e dönüştürüp yıllık vergi beyanı için muhasebecime gönderen bir Python betiğim de var. İş için ledger dosyasını ayrı tutuyorum; onu doğrudan elle yönetmiyorum, muhasebecinin yazılımından veriyi dışa aktarıp evde kendi hesaplarımı yapıyorum.
      İş tarafında, gelir artışıyla harcamaların nasıl büyüyeceğini tahmin eden nakit akışı projeksiyonları, departman bazında harcama anomalisi tespiti, işe alımı mı yoksa pazarlama harcamasını mı artırmak gerektiği ve ROIC gibi metriklerin hesaplanması için kullanıyorum.
      Çift taraflı kayıt, banka ekstrelerini içe aktarıp ledger oluşturduktan sonra muhasebe uyuşmazlıklarını yakalamaya yardımcı oluyor. İsteğe bağlı harcamalar, çalışan yan hakları ve iş girdileri gibi kullanım amaçlarına göre hesapları ayırıp ana hesaptan haftalık aktarım yapılmasını sağlayarak anormallikleri kontrol ediyorum.
      Eskiden muhasebecim şeffaf davranmayıp sahte giderleri deftere işleyerek çok vergi tasarrufu sağlamış gibi göstermişti; sonunda mahkemeye gittik, büyük bir ceza ve gecikme faizi ödedim. Artık muhasebeciye güvenmiyor, mutlaka tekrar kontrol ediyorum.
      Stripe, banka ekstreleri, muhasebeci defterleri vb. verileri içe aktaran çok sayıda otomasyon betiğim var; Python ile bunları birbirine karşılaştırıp uyuşmazlıkları buluyorum. Bir programcı olarak düz metin muhasebe bana iyi uyuyor ve hledger üzerinde yıllar içinde kendi sistemimi kurdum.