Here are some (mostly old) comparisons Check out the projects' stats, and perhaps their chat rooms / mail lists. Developer opinions are hard to find, but here are a few:
SM on why hledger over Ledger (2019): https://news.ycombinator.com/item?id=20022346
SM (2022): We all have opinions - ask for them in chat or search the reddit / mail lists / web. Circa 2022 I hope it's fair to say, without my bias showing:
SM on new user experience (2023): https://fosstodon.org/@simonmic/110120922501551538
Most PTA apps support reading from multiple files at once, by
specifying them all on the command line or by having files
include other files. Should you use this feature ?
Just one file, and with transactions strictly ordered by date, is the simplest setup. Especially while you are learning about PTA bookkeeping and your app's features. It minimises choices and avoids having to learn how multiple files interact with directives, balance assertions, balance assignments, etc.
As data grows, at some point you may want to split the journal into multiple files, eg because:
Reports have become noticeably/bothersomely slow. This might happen after months or years depending on your machine and your PTA app.
Editing, finding, organising entries in the big file has become bothersome. This depends partly on your text editor's navigation features (eg Emacs users can fold sections of the journal, fold all entries to one line, filter the entries by a regexp and so on).
Reports are showing too much history, and you would like to see just recent data by default.
You would like to do some cleanup of old entries, without fear of affecting current reports.
Perhaps the easiest and first thing to split out is
price records. You could put them all in a single prices file, but one
file per currency/commodity is quite convenient. Eg
You might want to organise other directives, such as account or
commodity declarations or account aliases, in their own files. You'll
need to check your PTA app's rules about how these directives affect
other files, and how their sequence matters. Eg in
account and commodity declarations can be kept in a sub-file, but
account aliases must be in a top-level or parent file.
Splitting files by account may be worth considering. It makes things more awkward when you need to transfer between accounts in different files. But it can make sense where you have accounts with a lot of activity which don't interact much with the rest.
In the above cases, all of the files are still read together as a single file set, and there is no reduction in data size or run time. For that, you must split by time. This adds some complications, and isn't necessary for everyone, so we don't recommend it from the start.
But, most PTA users sooner or later will split files by time, and
usually by year. You might have an
all of the years, but also you can now choose to read just one year or a
subset of years when running reports, which is more efficient. The new
complication is how to arrange for correct account balances no matter
which year file(s) you are processing. You can read more about that in
the links below, particularly hledger's
So, putting these things together, here is a common and relatively simple multi-file layout, with all files in the same directory for easy access:
And here is one with more files, including per-year declarations (allowing for an evolving chart of accounts, eg), organised in per-year subdirectories:
If you use a lot of CSV files or hledger CSV rules, you might want
Or you might be using one of the third-party setups like hledger-flow, which define their own file layouts.
Many plain text accounting tools use negative and positive numbers in place of the traditional credit and debit terminology. Of course the credits and debits are still there; in this system, whenever you see a negative amount being posted in an account, it is a credit, and when you see a positive amount posted, it is a debit. This is just a different surface presentation, which most newcomers find more intuitive and easier to learn.
Because of this, PTA tools often show liability, equity, and revenue account balances as negative numbers. So eg when a liability becomes larger (more debt!), the balance becomes a larger negative number (more negative).
Similarly, when equity or revenues increase, their numbers get more negative. You'll get used to reading these kind of reports in a day or two. Some PTA tools also give the option of flipping these negative signs, or showing traditional credit and debit terminology.
For individual accounting, somewhere between 500-1500 transactions and 100-400 Kb of journal file per year seems typical.