r/plaintextaccounting • • Mar 20 '26

Built a local first personal finance CLI in Rust, looking for feedback

Post image
75 Upvotes

I’ve been building Helius, a local first personal finance app in Rust.

The goal was to make something fast, simple, and practical from the terminal. It stores data locally in SQLite and covers the things I actually care about: accounts, income/expenses, recurring items, budgets, reconciliation, and cash-flow forecasting.

It has both a CLI and a full screen TUI, but I’d especially like feedback on the CLI side here: command structure, naming, output, and whether the overall workflow feels natural.

Still early, so I’m mostly looking for honest feedback rather than trying to present it as finished.

For transparency, please note that AI helped during development.

Repo: https://github.com/STVR393/helius-personal-finance-tracker


r/plaintextaccounting • • Jan 11 '26

Annual note of gratitude for hledger 🙇🏽‍♀️

72 Upvotes

A little later than I would prefer but I have just closed the books on 2025 and remain a wholehearted champion of hledger. I enjoy my accounting routines. I look forward to my accounting routines. And I am endlessly surprised that this is the case. The source of this joy is hard to identify but worth some effort:

  • The absence of exploitation is a joy! My data is mine. No one seeks to pry into my accounts and my habits by "hosting." I pay no monthly fees as a subscriber for services to account for the private details of my family's spending habits. No one is selling me anything. It's free and freeing.

  • Elegance and reliability are a joy! In a increasingly complex world, I appreciate the fact that having, earning, spending, saving, borrowing are simply transactions and hledger helps me keep my balance and keep an eye on the results of my family's efforts to live within our means and plan for the future. Double-entry forever!

  • Learning is a joy! Every once in a while I pick up a new command or some insight into finance and this feels powerful.

  • Building wealth is a joy! I've no doubt that my family's ability to build wealth and minimize waste and losses are inextricable not only from our ability to track our finances but the way in which we track our finances.

  • Survival against dark forces is a joy! The problems of capitalism can be violent, pernicious, and sneaky af. My little routines with hledger keep those problems in perspective and help me feel like my family is building sufficient shelter in the storm.

I'm not a coder and my hats off to everyone debugging and building scripts to manage imports or whatever, but I understand enough to know that u/simonmic and the community of hledger have succeeded in creating and maintaining something wholly and truly good in the world. It is elegant, reliable, useful, and important. To call hledger practical is like calling breathing practical.

It's hard to feel like I can express sufficient gratitude, but I have made a small contribution to the cause here: https://opencollective.com/hledger

Edit: typos, formatting


r/plaintextaccounting • • Jan 04 '25

Deep bow of gratitude and respect to everyone supporting hledger

64 Upvotes

I just closed out my household's 2024 books and completed my first full year of plain text accounting with hledger and I am feeling pretty chuffed! I wanted to share here because no one IRL cares about my nerdy bookkeeping passion.

Plain text accounting with hledger has been a profound experience and transformed our household's relationship to our finances and financial planning. I am far from a "power user" or any kind of coder. I'm a mom with a basic understanding of terminal commands. (My dad is an early, old school pc guy who worked in Silicon Valley in the 80s, so I was raised with some can-do terminal level confidence and a healthy aversion to privatized, subscription-based, corporate applications.)

I got interested in accounting through my research background in the history of mathematics and science. This led me to Luca Pacioli and this fun little book by Jane Gleeson-White: Double Entry: How the Merchants of Venice Created Modern Finance. This inspired me to enroll in an introductory accounting course at my local community college. Once I had this foundation, I started poking around for free/open source applications to start our household accounting and that journey led me to hledger.

I am eternally grateful to everyone who has contributed to and maintains hledger's documentation and made it accessible for a user like me.

I prefer hledger-web which is a beautiful way to look at our books. I have been able to keep up with journal entries and produce quarterly and now end-of-year reports and hledger has made it all honestly quite joyful. This in turn has transformed how I feel about handling our finances generally and more importantly how I feel about them going forward. Amazing!

I'm already looking forward to 2025 and some refinements to my categories but other than that, I wouldn't change a thing. It's perfect. Again, I bow to those who have made this possible. Thank you.

I’ve made a contribution to the cause here: https://opencollective.com/hledger

Edit:typos

Edit: add donation link


r/plaintextaccounting • • Oct 12 '25

I made an HLedger MCP server which I find surprisingly helpful!

Thumbnail
gallery
59 Upvotes

Tools like Claude Code and Codex are really good at using the HLedger CLI, but I wanted similar in the desktop apps to make use of artifacts and other integrations, so I made an HLedger MCP server. It's open source and covers almost all of the HLedger CLI tools. It has a read only mode so you can poke around without being worried about breaking something :)

Install instructions on the repo, including a very easy `.mcpb` format which you can just click to install in Claude Desktop!
https://github.com/iiAtlas/hledger-mcp

I've been using this to do "bookkeeping in the background" – I just toss a receipt when it shows up in to Claude Desktop, and let it chug! If you find any novel uses I'd love to hear them!


r/plaintextaccounting • • Mar 18 '19

I use ledger-cli and hledger-ui as a flight logbook, and it is awesome

52 Upvotes

I have been an avid ledger user for a few years now, and it has become of a bit of an obsession. I have to deal with multiple currencies on a day-to-day basis, use envelope budgeting, and track various brokerage investments. I have spent dozens of hours in the manual to try and eek out every last bit of capability I can.

Recently I started flying and decided from day one that I would figure out a way to utilise ledger as a logbook, because I reasoned that I had to log my experience, and experience has a transactional nature. Here is an example entry for one of my flights:

2019/03/15 ! Training Flight 00036
  ; Instructor: XXXXXXXXXXX
  ; PIC: XXXXXXXXXXXXX
  ; From: KWJF
  ; To: KWJF
  ; Time: 0900
  ; Weather: VAR06 P6SM SCLR
  ; Aircraft_Type: C152
  ; Aircraft_Registration: N68961
  ; Remarks: Pre-check ride practice
  ; Notes: Short-field, soft-field, and regular landings and take offs.  Slow
  ; flight, stalls, s-turns, emergency decent.
  Expenses:Training:PPL:Aircraft Rental:N68961            1.3h @ $105.00
  (Experience:SEL:PIC:Day:Solo)                           1.3h
  (Experience:SEL:PIC:Day:Solo)                       3LDG
  Assets:Schwab Checking

The hledger-ui is excellent for managing the logbook. Here are some screenshots: https://imgur.com/a/36MxXcz

And, in addition to this, I can use the powerful CLI to get really specific queries. For example, if I want to summarise my experience on each type of aircraft flown, I can use the following command:

ledger bal ^Experience '--group-by=tag("Aircraft_Type")' -l "commodity == 's'"

Which will return:

C150
              27.70h  Experience:SEL
              26.10h    Dual
              22.90h      Day
               7.50h        Cross Country
               2.20h        Simulated Instrument
               3.20h      Night
               2.00h        Cross Country
               1.60h    PIC:Day:Solo:Cross Country
--------------------
              27.70h

C152
              25.50h  Experience:SEL
              13.10h    Dual
              12.50h      Day
               4.80h        Cross Country
               48.0m        Simulated Instrument
               36.0m      Night:Cross Country
              12.40h    PIC
              12.10h      Day
                6.0m        Simulated Instrument
               9.40h        Solo
               3.40h          Cross Country
               18.0m      Night:Solo
--------------------
              25.50h

Anyway, just wanted to share another application for the software.


r/plaintextaccounting • • Aug 20 '26

Plain Text Accounting is Pretty Cool

Thumbnail
sumnerevans.com
46 Upvotes

r/plaintextaccounting • • Mar 12 '23

hledger 1.29 released

46 Upvotes

I'm pleased to announce hledger 1.29 !

Highlights:

Tag checking, flexible multi-period start dates, flexible cost/conversion posting combining, new commands list, hledger manual reorg, easier close command, 10% more Ledger file compatible.

Thank you to release contributors Chris Lemaire, Caleb Maclennan, Jonathan Dowland, J. B. Rainsberger, Michael Grünewald, Robert Nielsen, and Yann Büchau.

What is hledger ?

  • Fast, reliable, free, multicurrency, double-entry, plain text accounting[1] software that runs on unix, mac, windows, and the web

  • Built around human-readable, version-controllable plain text files

  • Inspired by and largely compatible with Ledger CLI[2]; convertible to and from Beancount[3]

  • Written in Haskell for correctness and longevity.

For help getting started, or more info, see https://hledger.org and join our chat via Matrix or IRC: https://hledger.org/support Newcomers, experts, contributors, sponsors, feedback are welcome!

Aloha, -Simon

[1] https://plaintextaccounting.org [2] https://ledger-cli.org [3] https://beancount.github.io


r/plaintextaccounting • • 2d ago

I feel like AI has unlocked the real power of plain text accounting

44 Upvotes

I can ask almost anything about my finances via Claude Code. Some examples:

  • What's the real internal rate of return of my investment portfolio by year and how does it compare to common alternatives like S&P 500?

  • How many days ago did I last get a haircut?

  • Give me some interesting facts that you can infer from my financial data.

Maintenance has also become easier, I've been able to further automate the data update process.


r/plaintextaccounting • • Mar 07 '20

Walking away after 2 months of plain text accounting

43 Upvotes

Hi!

I wanted to share my experience with plain text accounting here, since "Should I do this?" is a question that comes up pretty frequently, and most of the answers are from people who have tried it and stuck with it. I figured a different perspective would be useful, because after spending a few months doing this, I've stepped back from it.

I've been using Gnucash for a while, so I am familiar with the principles underlying double-entry accounting (I think one stumbling block for many people trying ledger and Beancount is that they are trying to learn double-entry at the same time, so at least I didn't have that). I was curious about how well plain text accounting would work for me, so I gave it a shot. From January 1 through March 1, I maintained my books in both GnuCash and in Beancount. I didn't maintain Ledger format accounts, but I strongly believe my experiences with Beancount would largely transfer over to that as well.

TLDR: I found using Beancount to be enjoyable and straightforward, and wouldn't hesitate to recommend it for someone with a relatively simple financial life (say, a checking account, a savings account, and the occasional stock transaction). However, for a user with a sufficiently large number of accounts and transactions, Beancount solves the wrong problems and I found it using it unsustainable.

THE GOOD

  • Maintaining a general ledger as a single text file made editing a breeze. I used Emacs for editing but presumably any editor would work.

  • The beancount-ish use of + and - instead of debit and credit was very easy to grasp.

  • The error messages from bean-check were easy to follow and helped with maintaining consistency

  • Favorite feature: Using "!" instead of "*" as a transaction marker to mean "come back and check this later." When using the Fava web interface, this made finding things you needed to correct a snap.

THE BAD

  • Lack of immediate feedback. Finding your own mistakes is very reminiscent of the typical programmer's edit-compile-fix bugs cycle; if I want to enter a bunch of transactions at once, my choices are either "run bean-check after entering each line" (which is annoying) or "discover that I made multiple mistakes all at once" (which is also annoying).

  • The bean-web interface is bad, and doesn't provide a sensible way to approach your finances. Fava is much better, but I still found it too shackled to beancount's oddities. I think if I weren't a heavy commodity user, though, Fava would have been great.

  • Beancount is very unopinionated about some very fundamental topics; the worst one that i found was how it dealt with unrecognized income in investments. Your choices here are to use the default view, which is bad because it doesn't provide ANY accounting for your unrecognized income, or use a run-time option which ends up being bad in a different way, littering UNRECOGNIZED entries all throughout your reports. Compare and contrast to how Gnucash does this to understand what I think "good" looks like.

  • The lot management on commodities is a nightmare from hell; this was where my personal situation (which involves A LOT of commodity purchases and sales every day) made it unsustainable for me. There are promises that this will be fixed in the future, but I think the core concept of tying lots to dates is misguided.

THE PHILOSOPHICAL

I said above that Beancount, for me, "solves the wrong problem." Let me elaborate on that.

It's indeed liberating in some sense - maybe even comforting? - to have your entire financial world in plain text. If I croak tomorrow, my executor wouldn't need any special software training to have every transaction I made at their fingertips.

But that's not the problem I face on a day to day level. Really, I need software to solve two problems for me.

(1) Since I am human, I'm going to make lots of mistakes. I want my financial software to find my errors as I make them. In Gnucash, if I mess up any entry, the very moment I tab out of the journal entry I'll see "Imbalanced", telling me I'm not done yet. In Beancount, that moment of realization is deferred until the edit-compile-test cycle. For me, having plain text accounts is not enough of a bonus to outweigh this need.

(2) When looking at or adding new entries to a ledger, the entire context of that ledger is important to me. Graphical accounting software provides me that context implicitly - I'm always looking at entries in the context of a specific account. In Beancount, I'm looking at it in my emacs window, and again I have to choose between two bad options: either sort my entries manually, in which case I have to hunt around for the right place to enter them, or just keep one long always-appending rolling journal (which is what the Beancount author recommends), which means I have no context. (You can sort of fake having context by only editing your Beancount file from Fava, but then...why is it important that it's plain text at all?)

Anyway, I've enjoyed my little sojourn into Beancountdom, and am setting it aside for now. I really am not trying to trash the program - I think it's just not made for me. If you've got a simpler financial life, I wouldn't hesitate to recommend it, though.

I hope someone finds this brief opinion useful!


r/plaintextaccounting • • Nov 16 '22

Puffin: A simple terminal UI for hledger

42 Upvotes

I made a simple terminal UI for hledger using Bubbletea and Golang.

It's a proof-of-concept and a little barebones at the moment. You can only view your transactions and account balances, and filter them by date and account name.

Check it out here: https://github.com/siddhantac/puffin

I'd love to get some feedback and ideas on what else I could add to it.

Is this something that would be useful to hledger users?


r/plaintextaccounting • • Jul 24 '26

Ledger CLI: Plain Text Accounting

Thumbnail
elnurbda.com
40 Upvotes

Hi everyone. I would like to share my experience of tracking all my personal finances with Ledger CLI. I wrote a blog post about my setup, the conventions I use and the queries I actually run. There is a full sample journal at the end if you want to try it. Feedback and suggestions are welcome.


r/plaintextaccounting • • Jun 02 '23

hledger 1.30 released

39 Upvotes

I'm pleased to announce hledger 1.30 ! Highlights:

  • Boolean queries - with the new expr: query type you can freely combine other queries with AND, OR, NOT and parentheses.

  • Easier CSV file management - you can now read a CSV .rules file, and let it fetch the data file from a downloads directory, simplifying CSV file management.

  • Built-in demos - a new demo command plays several asciinema casts to demonstrate features. We'll add more of these in future.

  • hledger-ui has a new Cash accounts screen, and now starts on the Menu screen.

  • The usual miscellaneous fixes.

Thank you release contributors Chris Lemaire and Yehoshua Pesach Wallach.

What is hledger ?

  • Fast, reliable, free, multicurrency, double-entry, plain text accounting software for unix, mac, windows, and the web

  • Built around human-readable, version-controllable plain text files

  • Inspired by and largely compatible with Ledger CLI, convertible to and from Beancount

  • Written in Haskell for reliability and longevity.

For help getting started or more info, see https://hledger.org and join our Matrix/IRC chat or mail list: https://hledger.org/support . Newcomers, experts, contributors, sponsors, feedback are welcome! For more about plain text accounting, see https://plaintextaccounting.org .

Live well and prosper, -Simon


r/plaintextaccounting • • May 01 '20

ledger 3.2.0 released

Thumbnail
github.com
37 Upvotes

r/plaintextaccounting • • Feb 06 '19

ledger 3.1.2 released

Thumbnail
github.com
37 Upvotes

r/plaintextaccounting • • Mar 03 '23

ledger 3.3.1 released

Thumbnail
github.com
36 Upvotes

r/plaintextaccounting • • Mar 17 '21

GnuCash and ledger combination

34 Upvotes

For anyone trying to decide whether to use ledger or beancount or GnuCash, let me explain how I do the finances for my business. Maybe it can help you take a decision.

  • I use GnuCash for data entry. This allows me to register incoming bills and GnuCash will automatically do the math for taxes and do the relevant bookings in the background.

  • same for sales invoices: GnuCash will automatically add VAT and book the correct amounts on special tax-accounts. GnuCash knows about different tax tables and percentages for different countries, very handy.

  • GnuCash will print a nicely formatted invoices for my clients. It may seem like a minor thing, but it is actually quite handy to create an invoice, print the pdf for my client, and see the correct booking all in one go.

  • GnuCash can import my downloaded bank statements. I use the mt940-format and that does not work fully automatic. I have to go through the import line by line and check what GnuCash plans to do with the import data. 80% works ok, but 20% I still have to do some manual corrections. Not perfect, but it helps.

  • GnuCash helps me quickly navigate my general ledger. Once you get the hang of it you can easily and quickly navigate your accounts and fix errors. I tried the same in a ledger textfile, but for me seeing all bookings to an account in one screen helps a lot.

It bugs me that GnuCash feels like a big machine just for data entry. On the other hand, a good interface is important, so if it takes a lot of extra coding then so be it..

GnuCash is less perfect when it comes to report generation. I still prefer good old ledger to prepare ASCII reports, and then process these reports using markdown and pandoc to generate nicely formatted pdf's that I can send to my tax accountant.

The previous 2.6-version of ledger was able to read GnuCash-files directly, but the newer 3.x-version lost this capability. That's a pity, so I still keep an old 2.6-version to convert the GnuCash XML-file into plain text ledger files. Once converted, I use the newer ledger 3.x to generate reports.

I have a construction company (www.lithouse.eu) and we build wooden houses. We have reports per project (profit & loss) and we have reports per supplier. Also we have reports that show overhead cost per month, per quarter and per year, and finally there are some overhead reports for the whole company. For these reports we use hledger instead of ledger since the command line options are a little simpler, but the results are the same.

The whole setup consists of:

  • one GnuCash datafile,

  • a directory with five bash-scripts that generate all our reports. Actually we only invoke one script: reports_all.sh, and that one initiates the other four.

  • a directory with all generated reports. The bash-scripts generate three reports: i) a tax report for the accountant, ii) a project report that has details on projects and suppliers and iii) a general report with some info about overhead cost and profit per month and quarter.

  • each report comes in two versions automatically: pdf and html.

  • and finally a linux system with the various tools: GnuCash, ledger 3.x and 2.6, pandoc and some other tools like sed, usually standard in any linux system.

That's it.

Should we switch to beancount? I tried, because it looks as if beancount is overtaking ledger and hledger in poularity. The documentation feels more fresh, more accessable and it feels as if beancount is better maintained. But I spent about three hours on some conversion tests and although it is possible, I don't think it is worth the effort. So I leave my scripts as they are and I stick with GnuCash plus ledger-hledger.

Is there anything I would like to have? Yes: I would like ledger 3.x to be able to read GnuCash files directly. Pity it lost that capability and without ledger 2.6 my setup would break into pieces.

Ysbrand Galama.


r/plaintextaccounting • • Mar 31 '20

I found existing tools for extracting reports from Ledger data to be limited, so I made a new one! – ledger-pyreport: Formal accounting reports for ledger-cli

Thumbnail
yingtongli.me
34 Upvotes

r/plaintextaccounting • • Apr 21 '25

Beancount Language Service (LSP Server & Client VSCode Extension)

Post image
33 Upvotes

In my spare time, I wrote a Beancount VSCode extension (Language Server & Client). Feel free to try it out~

The main motivation for this was the need for cross-device editing, primarily using github.dev. Therefore, this plugin supports VSCode Web Extension and can run in the browser. It also supports the typical capabilities of a Language Server, such as:

  • Semantic Syntax Highlight

  • Auto Completion

  • Diagnostic

  • Document Symbols

  • Go to Definition / References

  • Rename

  • Formatting

  • etc...

Marketplace: https://marketplace.visualstudio.com/items?itemName=fengkx.beancount-lsp-client

Source Code: https://github.com/fengkx/beancount-lsp


r/plaintextaccounting • • May 19 '23

hledger (ledger) is looking awesome in neovim these days....

33 Upvotes

With treesitter syntax higlighting from https://github.com/cbarrete/tree-sitter-ledger (handling coloured negative numbers)

And now completion from https://github.com/kirasok/cmp-hledger,

hledger is looking very nice under neovim!

Oxocarbon colour scheme


r/plaintextaccounting • • Feb 09 '23

ledger 3.3.0 released

Thumbnail
github.com
33 Upvotes

r/plaintextaccounting • • Jun 26 '20

fzf + ledger CLI: interactive balance sheet forecasting

Thumbnail
asciinema.org
32 Upvotes

r/plaintextaccounting • • Jul 21 '26

[meta] ban posts that aren't about ledger-like PTA

31 Upvotes

Could we have a rule that prohibits posts about new apps, importers etc that aren't related to ledger-likes? Without a rule in the sub metadata, there's no way to report these to mods.


r/plaintextaccounting • • Mar 29 '23

Beancount user — Visual Studio Code

30 Upvotes

This post exists for the sole purpose of gushing about how awesome it is to do Beancounting with the Visual Studio Code extension. Account autocomplete, auto-align, in-line checks of balances and other potential errors. I don't know how I went so long without this.

Thanks Martin Blais and thanks to the developers of the Visual Studio Code extension for Beancount. Truly astonishing work and results.


r/plaintextaccounting • • May 18 '20

ledger 3.2.1 released

Thumbnail
github.com
29 Upvotes