3 पॉइंट द्वारा GN⁺ 2024-09-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Plain Text Accounting (PTA) एक तरीका है जिसमें accounting data को plain text files में दर्ज किया जाता है और Ledger, hledger, Beancount जैसे command-line-friendly tools से process किया जाता है; यह site संबंधित resources को एक जगह जुटाने वाला portal है
  • Community activity Matrix/IRC, forums, Reddit, Lemmy, Hacker News, Mastodon, X, Bluesky आदि में बंटी हुई है, इसलिए सवालों, news और project-specific conversations को कई रास्तों से follow किया जा सकता है
  • Learning resources में app comparisons, official documentation, accounting basics, beginner guides, cheatsheets, cookbooks, FAQ, slides और videos व्यवस्थित हैं, ताकि PTA पहली बार इस्तेमाल करने वाले लोग भी step-by-step शुरू कर सकें
  • App ecosystem Ledger, Beancount और hledger के इर्द-गिर्द कई implementations और feature matrix देता है; ये तीन प्रमुख tools क्रमशः C++/Python/Haskell पर आधारित हैं और इनके 2025~2026 release records मौजूद हैं
  • Import/conversion, editor plugins, invoicing, price lookup, reporting, time tracking, UI, workflows और libraries तक जुड़ाव है, इसलिए plain text accounting data को अलग-अलग work environments से जोड़ा जा सकता है

PTA की अवधारणा और plaintextaccounting.org की भूमिका

  • Plain Text Accounting bookkeeping और accounting करने का तरीका है, जिसमें plain text files और Ledger, hledger, Beancount जैसे efficient command-line-friendly software का उपयोग होता है
  • plaintextaccounting.org PTA community के tools, documents और practical examples तक जाने वाले portal की भूमिका निभाता है
  • Site repository updates लिए जा सकते हैं, और financial reports व sponsorship guidance भी साथ में दी जाती है

Community और discussion channels

  • Real-time conversations Matrix के #plaintextaccounting, plaintextaccounting Matrix space और Libera Chat के #plaintextaccounting IRC channel से जुड़ी हैं
  • Discussions और news कई public channels में फैले हुए हैं
  • Stack Exchange में ledger-cli और hledger tags व search links दिए गए हैं
  • Project-specific mailing lists और chats, साथ ही This Week In Hledger भी लिंक किए गए हैं

Documentation और learning resources

  • App comparison resources में PTA apps list, feature matrix, “कौन-सा PTA app चुनना चाहिए” FAQ और Syntax Quick Reference शामिल हैं
  • Apps की official documentation के रूप में Ledger, hledger, Beancount, rustledger, Ledger(Go), Tackler और pta documentation लिंक हैं
  • Accounting basics resources में PTA FAQ, hledger के Accounting basics/links, Beancount का Double-Entry Counting Method, “Accounting for Computer Scientists” आदि शामिल हैं
  • Introductory resources शुरुआती बिंदुओं के हिसाब से बांटे गए हैं
  • Cheatsheets, cookbooks, FAQ, slides और video resources भी अलग sections में व्यवस्थित हैं; video section में note है कि YouTube पर PTA videos ढूंढना मुश्किल है

प्रमुख PTA apps और feature comparison

  • PTA शुरू करते समय site पर सूचीबद्ध apps में से एक या अधिक को try किया जा सकता है, और आम तौर पर apps के बीच data migration संभव है
  • Current major apps list में कई projects साथ में व्यवस्थित हैं
    • Ledger: C++, 2003 में शुरू, 2025 में last release, लगभग 245 committers, लगभग 5.9k stars
    • Beancount: Python, 2008 में शुरू, 2026 में last release, लगभग 103 committers, लगभग 5.5k stars
    • hledger: Haskell, 2007 में शुरू, 2026 में last release, लगभग 194 committers, लगभग 4.4k stars
    • Transity, Ledger(Go), Abandon, zhang, Tackler, rustledger, knut, acc, ledg आदि भी current list में शामिल हैं
  • पुराने या inactive projects placc, budget-cli, mynt, awk-pta, pta, blossom, .Net Ledger, monescript, Penny, UMM, cl-ledger आदि के रूप में अलग से व्यवस्थित हैं
  • Ledger, hledger और Beancount का feature matrix 2024-09 तक updated है, और user interface, installation, help, input/output formats, commands, settings, extensibility, account names, budgets, charts, price lookup, queries, validation आदि की तुलना करता है
  • Representative differences उन items पर केंद्रित हैं जो tool choice पर सीधे असर डालते हैं
    • CLI में Ledger का ledger, hledger का hledger, Beancount का beanquery जुड़ा है
    • Easy installation और setup के लिए Ledger/hledger को yes, Beancount को no दिखाया गया है
    • hledger text/html/csv/tsv/fods/beancount/sql/json output formats देता है
    • Beancount की validation हमेशा strict दिखाई गई है, जबकि Ledger और hledger को configurable दिखाया गया है

Software ecosystem

  • AI section में hledger इस्तेमाल करने वाला local-first multimodel AI agent accountant24, और hledger व Obsidian vault में Claude Code को agent layer के रूप में इस्तेमाल करने वाली setup post शामिल है
  • Alternative distributions/configurations के रूप में Full-fledged hledger, hledger-flow, Lazy Beancount, hledger-youtube-business, rtrLEDGER, docker-finance व्यवस्थित हैं
  • Data conversion/import बड़ा हिस्सा है; Ledger और hledger के built-in CSV conversion के अलावा Beancount v2 के import tools, banks2ledger, beancount-import, beancount2ledger, hledger2beancount, ledger2beancount, plaid2text आदि सूचीबद्ध हैं
    • GnuCash, Intuit/QuickBooks/QIF, KMyMoney, YNAB से *ledger या Beancount में migrate करने वाले tools भी अलग sub-sections में व्यवस्थित हैं
  • Data generation tools price transactions, depreciation, interest, recurring transactions, capital gains/loss postings आदि बनाने के काम आते हैं
  • Editor plugins Emacs, JetBrains IDE, Nano, Sublime, TextMate, Vim और VS Code के लिए बांटे गए हैं
    • उदाहरण: ledger-mode, beancount-mode, hledger-mode, vim-ledger, vim-beancount, hledger-vscode, vscode-beancount
  • Formatting tools के रूप में beancount-black, beancount-black web app, hledger-fmt सूचीबद्ध हैं
  • Invoicing tool के रूप में hledger timedot files से invoices generate करने वाला Go tool kairos पेश किया गया है

UI, reporting, workflow, libraries

  • Price lookup tools में Beancount का bean-price, hledger-stockquotes, ledger-get-prices, pricehist, Yahoo Finance-आधारित stock price और exchange rate lookup tools आदि शामिल हैं
  • Reporting tools budgets, asset analysis, variance reports, internal rate of return, charts, Sankey, PDF output, capital gains calculation आदि तक extend होते हैं
  • Time tracking tools में org, Taskwarrior hook, Toggl CSV, timeclock conversion और hledger-based time tracking examples शामिल हैं
  • Terminal UI hledger add, hledger-ui, hledger-iadd, bean-add, ledger xact, puffin, regdel आदि के जरिए transaction entry, lookup और editing support करता है
  • GUI, web और mobile UI भी अलग tools के रूप में लिंक हैं
    • Web: fava, hledger-web, Paisa, BeanHub
    • Mobile: Beancount Mobile CE, beancount-mobile, NanoLedger, cashier, cone, MoLe
    • GUI: fruit-credits, Ledgera, Prudent, Surebeans आदि
  • Workflow section CSV से hledger journals generate करने या Docker-based setup से traditional finance और cryptocurrency finances को track/report करने वाली configurations cover करता है
  • Libraries section Beancount parser, BeanHub API, hledger-lib, hledger-web JSON API, node-hledger, pyhledger आदि जैसे development components को जुटाता है, जो PTA files को parse, query, report और integrate करते हैं

1 टिप्पणियां

 
GN⁺ 2024-09-17
Hacker News की राय
  • तुरंत सख्त वर्गीकरण मांगने वाले सिस्टम कुछ लोगों के लिए सही नहीं बैठते। जिस कंपनी में मैं पहले काम करता था, वहाँ हम 2-स्टेप तरीका इस्तेमाल करते थे: पहले iPhone Notes में -50 Alice tools, +20 Bob returned loan जैसे छोटे नोट लिखते, और बाद में एक script date, keyword, counterparty और internal analytics items को parse करके उन्हें double-entry bookkeeping template में बदल देती थी
    जिन items को script समझ नहीं पाती थी, उन्हें manual classify करते और जरूरत होने पर rules list में जोड़ देते थे। Alice और Bob को एक जैसी vocabulary इस्तेमाल करने की जरूरत न पड़े, इसलिए हर व्यक्ति के लिए mapping list रखी जाती थी
    पैसे आते-जाते समय कोई लाइन में खड़ा हो, drive कर रहा हो, या बातचीत में हो, और हर बार Cat1:cat2:cat3 जैसा format भरेगा—यह कल्पना करना मुश्किल है। आखिर में लोग शायद फिर छोटे memo या chat पर लौट जाएंगे, या दिन के अंत में नहीं बल्कि शायद weekend पर “याद करके” भरने की कोशिश करेंगे

    • वह तरीका भी आखिरकार plain text accounting जैसा ही लगता है। मैं भी लगभग ऐसा ही करता हूँ: ledger file में सीधे input करने के बजाय KMyMoney में डालता हूँ और फिर script से ledger file में convert करता हूँ
      Text-based tool हो तो iPhone memo लेकर उसे ledger format में बदलने वाली script जोड़ने जैसे मनचाहे workflow आप स्वतंत्र रूप से बना सकते हैं, इसलिए इसे शिकायत की तरह देखना थोड़ा अजीब लगता है
    • हम भी ledger file सीधे type नहीं करते। free-form memo को convert करने के बजाय bank app और Zoho expense reporting app के memo field में लागू होने वाला account लिख देते हैं
      हर quarter bank accounts, credit cards और Zoho से CSV download करते हैं, और Ruby script memo field देखकर ledger file में convert कर देती है। script और output में थोड़ा-थोड़ा adjustment करना पड़ता है, लेकिन 95% से ज्यादा automation हो जाता है
      bonus के तौर पर, ledger file में consistency checks भी जोड़ते हैं, जैसे bank से मिले balance से match हो रहा है या items current period के अंदर हैं या नहीं
  • self-employed होने के समय से लगभग 20 सालों से ledger-cli इस्तेमाल कर रहा हूँ, और यह perfect नहीं है फिर भी बहुत संतुष्ट हूँ। सब कुछ plain text है, इसलिए scripts से process कर सकता हूँ, VIM में पढ़ सकता हूँ, और data आसानी से निकाल सकता हूँ
    अभी चल रही मेरी एक company की ledger file 2016 के बाद की transactions वाली 2MB की plain text file है। accounts/categories को बहुत ज्यादा granular बनाने में मुझे बहुत value नहीं दिखी, लेकिन overall tracking के लिए यह indispensable tool रहा है
    ledger जैसे tools में इस्तेमाल होने वाली double-entry bookkeeping सीखना भी मजेदार था, और पीछे मुड़कर देखें तो मुश्किल नहीं था; यह जिंदगी भर काम आने वाली skill लगती है

    • मैंने अभी ऐसे tools इस्तेमाल नहीं किए हैं, लेकिन QuickBooks और bank ने कुछ transactions miss कर दी हैं और मैं उन्हें reconcile कर रहा हूँ, इसलिए यह पोस्ट बिल्कुल सही समय पर दिखी
      account/category strategy के लिए मैं Canada Revenue Agency द्वारा tax return में मांगी जाने वाली expense categories से align करने का तरीका इस्तेमाल करता हूँ। शुरुआत में मैंने hosting costs, prototype/manufacturing costs जैसी logical categories बनाई थीं, लेकिन कई साल CRA categories में remap करते हुए समझ आया कि शुरू से ही tax categories के हिसाब से रखना year-end filing को बहुत आसान बना देता है
    • घर बेचते समय escrow company ने closing settlement के तौर पर लगभग $3,000 का refund check भेजा था, लेकिन वह check मुझे कभी मिला ही नहीं। 5 साल बाद ledger-cli इस्तेमाल करना शुरू करने पर ही मुझे यह पता चला
    • ledger को मेरा vote। अब तक इस्तेमाल किए गए tools में सबसे अच्छा था, और इसका scriptable होना कमाल है। इस्तेमाल शुरू करने के बाद 2 साल से ज्यादा समय से tax processing accurate हो गई है
    • और सोचें तो सबसे बड़ी कमी plain text की आम limitation है: attachments का अभाव। मैंने किसी खास file को reference करने वाला personal system बनाया, और एक Mac app भी बनाया जो transaction पर file drop करने पर उसे specified folder में copy करता और transaction में tag जोड़ता था
      अगर data SQLite में होता तो यह बहुत आसानी से implement हो जाता, लेकिन फिर text editor से सीधे edit करने का फायदा खो जाता
  • LLM की वजह से plain text accounting को लगातार करते रहना कहीं आसान हो गया है। खासकर bank statements को hledger में import करते हुए manual input से बचने में मदद मिलती है
    मैं bank transactions को hledger accounts से map करने वाली JSON file इस्तेमाल करता हूँ, और अगर कोई transaction बिना नई mapping के हो तो Python script Claude के लिए prompt generate करती है। Claude account list देखकर नए transaction की mapping suggest करता है, और उसके आधार पर hledger journal entry लौटाता है
    इसके बाद एक और script उस महीने की bank transactions की hledger entries साफ-सुथरे रूप में output करती है, और कुछ मिनट edit करके finalize कर देता हूँ। mapping instructions, जो पुराने तरीके से fragile regex और conditionals का ढेर बन जाते, अब natural language में लिखे जा सकते हैं

    • क्या आपको लगता है LLM fragile नहीं है? और bank information Anthropic को भेजना भी काफी bold है
  • Beancount इस्तेमाल करते हुए learning process, data import tools लिखना, और accounting को खुद handle करने का अनुभव मुझे अच्छा लगा। लेकिन आखिरी बार data import किए लगभग 1 साल हो गया है। हर महीने करने का सोचा था, पर automation काफी होने के बावजूद 30–60 मिनट लगते हैं और झंझट लगता है

    • काश banks data export को actively मुश्किल न बनाते। पहले मैंने login process को OCR से reverse-engineer करने और गलत items clean करने वाली script बनाई थी, लेकिन maintenance cost बहुत ज्यादा थी
      जब mobile confirmation भी जरूरी हो गया, तो बस छोड़ दिया
    • GnuCash में भी मेरा बिल्कुल यही experience रहा। हर हफ्ते करें तो ठीक है, 1–3 हफ्ते छूटना manageable है, लेकिन उससे ज्यादा समय निकल जाए तो catch up करने का बोझ snowball की तरह बढ़ जाता है
      मुझे भी import किए करीब 1 साल हो गया है, और इसे फिर से चालू करने के लिए मुझे बस यही तरीका सूझता है कि कई दिनों में एक-एक महीने का data upload करते हुए छोटे हिस्सों में बाँट दूँ
    • अगर थोड़ी असहजता सह सकते हैं तो Plaid देखने लायक है। personal use के लिए पर्याप्त test tier था, और 100 linked accounts तक support करता था
      https://plaid.com/
    • teller.io इस्तेमाल करें तो setup Plaid से काफी आसान है। मैं इसे Chase bank और credit card statements को Google Sheets में sync करने के लिए इस्तेमाल कर रहा हूँ
  • निजी और कई LLCs की bookkeeping/accounting के लिए ledger का इस्तेमाल करता/करती हूँ। अगर आप terminal के आदी हैं, CLI अच्छी तरह चलाते हैं, vim या emacs, sed/awk की बुनियादी समझ रखते हैं, और bash/python/perl/ruby scripting अक्सर करते हैं, तो ledger और double-entry bookkeeping सीखकर उस पर shift करना, आपके मौजूदा तरीके की तुलना में कहीं ज़्यादा संतोषजनक हो सकता है
    transactions को जल्दी import करने के लिए reckon उपयोगी है: https://github.com/cantino/reckon
    समस्या को include से छोटे हिस्सों में बाँटना भी अच्छा है। bal --dc अमेरिकी accountants को थोड़ा परिचित लग सकता है, लेकिन वे अक्सर ledger के negative numbers इस्तेमाल करने के तरीके को ठीक से नहीं समझते, इसलिए DR/CR style में बदलने वाली कुछ scripts लिख देना ज़्यादा आसान लगा। जिन accountants से पाला पड़ा, वे abstractions को कितनी खराब तरह संभालते थे, यह देखकर हैरानी हुई

    • पहले दो tips से सहमत हूँ। तीसरी भी अच्छी लगती है, लेकिन मुझे कभी ज़रूरत नहीं पड़ी
      अगर एक tip और जोड़नी हो तो वह यह है कि सब कुछ Makefile या किसी मिलती-जुलती चीज़ से बाँधकर रखें। account के हिसाब से transaction files अक्सर बहुत बँटी होती हैं, और सही files include करने वाला command आसानी से लंबा हो जाता है
      अलग-अलग graphs और summary scripts की सही syntax भी हर बार याद नहीं रहती, लेकिन make इस्तेमाल करने पर make cashflow, make balance 'A=Checking', make balance-plot 'A=retirement' जैसे call किए जा सकते हैं
  • basic tutorial से आगे, ज़्यादा जटिल परिस्थितियों में Ledger को प्रभावी ढंग से इस्तेमाल करने की practical recipes पर मैंने कई लेख लिखे हैं: https://felixcrux.com/blog/ledger-practices

    • ledger का बहुत इस्तेमाल करने वाले के तौर पर, वे recipes बेहतरीन हैं। मैं ऐसा pattern इस्तेमाल कर रहा/रही हूँ जिसमें customers और suppliers को बारीकी से track किया जाता है, और payments/receipts को किसी खास project और उसके भीतर की category को assign करना पड़ता है
      bank transactions import करते समय पहले उन्हें counterparty के नाम वाले account में assign करता/करती हूँ, फिर एक script ledger print से counterparty-wise दूसरी journal file बनाती है, original transaction को reverse करती है और उसे अस्थायी रूप से Unknown project और Unknown category sub-accounts में डाल देती है
      इसके बाद bookkeeper transactions को किसी खास invoice से match करता/करती है और Project:Category account में assign करता/करती है; ज़रूरत हो तो एक single payment को कई projects/categories में बाँटता/बाँटती है। सभी bank transaction journals और counterparty journals include करने पर ledger bal से जाँचा जा सकता है कि bookkeeping पूरी हुई या नहीं
  • plain text accounting शानदार है, लेकिन मेरे हिसाब से कई लोगों के लिए सबसे बड़ी बाधा bank data को standard format में download करना है
    banks CSV या Excel से आगे कुछ support करने के लिए सक्रिय नहीं होंगे, और Yodlee या Plaid जैसे data aggregation platforms open source या hobby users के लिए friendly नहीं हैं
    पहले Wesabe(https://en.wikipedia.org/wiki/Wesabe) नाम की एक company ने desktop पर bank sync करने वाला software बनाया था। Mint.com की वजह से वह लगभग बाहर हो गई, लेकिन वह approach अब भी याद आती है और open source में भी संभव लगती है

    • hledger में काफी arbitrary CSV को transactions में बदलने का tool है: https://hledger.org/1.40/hledger.html#csv
      अभी इसे आज़माया नहीं है, लेकिन एक SaaS bookkeeping company की bank connection समस्या में कई दिनों में 4 घंटे मदद करने के बाद, मैं खुशी से इस पर समय लगाने को तैयार हूँ
      हर बार transactions reconcile करते समय ऐसे system से लड़ना पड़ता है जिसके अंदर झाँक भी नहीं सकते और जिसे खुद ठीक भी नहीं कर सकते। अब संदेह होने लगा है कि लगाया गया effort इसके लायक है या नहीं, और अगर कोई ठीक-ठाक tool हो तो CSV को सीधे संभालना बेहतर होगा। वैसे उस company ने इसे “normal thing” बताते हुए refund भी नहीं दिया
    • हाल ही में Paisa मिला, जो मूल रूप से ledger-cli के ऊपर बना एक अच्छा UI है। import करना बहुत आसान है: CSV जैसी file upload करें, preview देखें, फिर हर row को ledger text format में बदलने वाली script लिखें
      linting भी है, और result पसंद आए तो script save करके कभी भी फिर से import कर सकते हैं। stocks जैसी चीज़ें track करने के लिए commodity price download भी support करता है
      charts मेरे taste के हिसाब से पर्याप्त general-purpose नहीं हैं, इसलिए data को कहीं और export करता/करती हूँ, लेकिन data entry के लिए यह शानदार है
    • ऐसा अनुभव हुआ है कि bank द्वारा legally provide की जाने वाली PDF statements और CSV match नहीं करते। ऊपर से CSV में balance data लगभग नहीं होता
      इसलिए PDF download करके data extract करता/करती हूँ, लेकिन यह ज़रूरत से ज़्यादा painful है। machine-readable PDF देने के लिए बस ऐसे सरल rules follow करने होंगे जिनसे transaction fields के 3–4 fields और date/balance जैसे कुछ statement fields कमजोर heuristics के बिना निकाले जा सकें
      branded और human-readable PDF तथा machine-readable PDF आपस में conflict नहीं करते
    • UK में bank data access के लिए standard API Open Banking है: https://www.openbanking.org.uk/
    • हमारे देश में हर transaction SMS से आता है, इसलिए मैंने Tasker से SMS पकड़कर CSV file में save करने वाला system बनाया था। वह CSV SyncThing के जरिए desktop पर sync होने वाले folder में डाल दी जाती थी
      योजना थी कि उस data को process करके accounting system में डालूँ, लेकिन कर नहीं पाया/पाई, और बाद में phone खराब हो गया तो Tasker actions भी खो गए। फिर से implement करने का मन नहीं बचा
  • संबंधित domain अभी भी वैसा ही है। 2023 का लेख: https://news.ycombinator.com/item?id=36022005, 2021 का लेख: https://news.ycombinator.com/item?id=28420797, 2016 का लेख: https://news.ycombinator.com/item?id=11164330
    concept के दूसरे mentions https://hn.algolia.com/?q=Plain+Text+Accounting पर और देखे जा सकते हैं

  • यह जानने की उत्सुकता है कि दूसरे लोग plain text accounting tools को असल में कैसे इस्तेमाल करते हैं। क्या वे इन्हें खर्च की आदतें समझने और व्यवहार बदलने के लिए इस्तेमाल करते हैं, लागत·आय·net worth track करने के लिए, या फिर व्यवस्थित प्रक्रिया अपने-आप में आकर्षक लगती है
    जब भी यह विषय दिखता है, पूरी तरह इसमें डूब जाने की इच्छा और पुराने प्रयासों को लगातार न निभा पाने का अपराधबोध—दोनों साथ आते हैं। अभी तो डेढ़ महीने से अपना personal ledger अपडेट नहीं किया है, इसलिए अपराधबोध वाला हिस्सा ज्यादा बड़ा है
    आखिर में, मुझे पक्का नहीं है कि मैं इसे क्यों इस्तेमाल कर रहा हूं, इसलिए समय बीतने पर transactions दर्ज करना सिर्फ दर्ज करने के लिए दर्ज करने जैसा लगने लगता है

    • मैं इसे हमेशा अचानक होने वाले group settlements के लिए इस्तेमाल करता हूं। तीन लोगों की यात्रा जैसी स्थिति में उसी दिन या उस सप्ताह के बाद खर्च बांटना कहीं आसान होता है, और देनदारियों को जमा करके जरूरत पड़ने पर settle किया जा सकता है। ऐसे अव्यवस्थित खर्चों को किसी और तरीके से track करना बहुत कठिन है
      काम के खर्च भी ऐसे ही हैं। उपकरण या service का खर्च अपने card से pay करता हूं और बाद में report करके cash या transfer से वापस लेता हूं। हालांकि कुछ देशों या businesses में यह तरीका काम नहीं करता
      निजी रोजमर्रा के खर्चों के बारे में bank और अनुभव से पहले ही पता चल जाता है, इसलिए accounting तक जाने की जरूरत नहीं। भावनात्मक motive नहीं, financial motive होना चाहिए। अगर पता हो कि accounting छोड़ने पर कोई दोस्त शराब के बिल में सैकड़ों dollars उड़ा देगा या company एक HDMI cable मुफ्त में ले जाएगी, तो बिना हिचक रकम enter कर देता हूं। personal accounting ठीक से न चलने की वजह यह है कि नुकसान पैसे का नहीं, सिर्फ analysis का होता है
    • self-employed होने के कारण Beancount को business account और stock portfolio के लिए इस्तेमाल करता हूं। इसका ज्यादा strict approach पसंद है, और web UI Fava reports और visualization के लिए सुविधाजनक है
      Wise transactions import करने या exchange rates track करने जैसी प्रक्रियाओं को automate करने वाली कुछ scripts भी हैं। लेकिन daily personal खर्च या budget management में इसे इस्तेमाल करने लायक discipline नहीं है
    • इसे खर्च की आदतें बदलने वाले motivational tool के रूप में इस्तेमाल नहीं करता, लेकिन सभी accounts और assets का record रखना पसंद है। इससे पूरी financial स्थिति बेहतर समझ आती है, और cash savings account के अंदर virtual accounts बनाकर car maintenance या insurance जैसे amortized items के हिसाब से balance अलग-अलग रखता हूं
    • hledger को कई कामों में इस्तेमाल करता हूं। customer receivables, भोजन·बाहर खाना·किताबें·magazine subscriptions जैसे खर्चों की categorization, multiple currency accounts के current balances, दूसरों को उधार दिए पैसे और gifts, travel·gifts·investment goals जैसे savings के लिए virtual envelopes track करता हूं
      रोज बाहर खाने पर कितना बेकार खर्च हुआ, यह देखना और अगर वही रकम index fund में डालता तो compounding से क्या परिणाम होता—यह calculate करना, बाहर खाने की आदत कम करने में बहुत मददगार रहा। customer receivables और actual cash flow·expected income based cash flow को अलग-अलग भी देख सकता हूं
      savings account balance को मन में “investment goal 40%, gifts 1%” की तरह बांटकर देखने से बड़ा balance देखकर impulsively खर्च कर देने की घटनाएं कम हुईं। asset growth, category-wise खर्च में बढ़ोतरी·कमी के charts बनाता हूं, और उन बदलावों का जीवन पर net effect कैसा रहा यह notes के साथ webpage में dump करने वाला program भी है, जिसे हर साल अगली planning तय करते समय इस्तेमाल करता हूं
      ledger file को Excel में convert करके accountant को annual tax filing के लिए भेजने वाली Python script भी है। business ledger file अलग रखता हूं, उसे सीधे manually manage नहीं करता; accountant software से data export करके घर पर अपनी calculations करता हूं
      business में इसे revenue बढ़ने पर खर्च कैसे बढ़ेंगे इसका cash flow forecast, department-wise spending outliers detect करने, hiring बढ़ानी है या marketing spend बढ़ाना है, और ROIC जैसे metrics calculate करने में इस्तेमाल करता हूं
      double-entry bookkeeping bank statements import करके ledger generate करने और फिर accounting mismatches पकड़ने में मदद करती है। discretionary spending, employee benefits, business input costs जैसे use-wise accounts अलग करता हूं और main account से हर हफ्ते deposit करवाकर anomalies check करता हूं
      पहले एक accountant ने transparent तरीके से बताए बिना fake expenses books में चढ़ा दिए थे, जिससे tax बहुत बचा हुआ दिखा, लेकिन बाद में court जाना पड़ा और भारी fine व late penalties देनी पड़ीं। अब accountant पर भरोसा नहीं करता और जरूर double-check करता हूं
      Stripe, bank statements, accountant books आदि import करने वाली बहुत सारी automation scripts हैं, और Python से उन्हें आपस में reconcile करके mismatches ढूंढता हूं। programmer होने के नाते plain text accounting मुझे अच्छी तरह suit करती है, और hledger के ऊपर मैंने कई सालों में अपना खुद का system बना लिया है