For some strange reason, I have only found things like eekboek in previous apt searches, but today I found a whole family of plain text accounting systems! I'm elated!
This format is similar to the one I've been using, which I built on git and bash, (with gawk, sed, cut, etc. and some perl in testcases.) I based it on my highschool textbook, and Internet research for things beyond that. It was made to be customizable to the situation, widely portable, supporting collaboration and whatever else needed. It has a template system, supports multiple accounting systems in complex ways, and has minimal carryovers from my previous binary system in VBScript/JScript. (It was made after a worksheet spreadsheet and my very simple QBasic 1.0/machine code auction handler; and yes, my username draws heavily from the name QBasic.)
The ledger tools seem to be able to do most of what my system does, and more, and scripting seems easy enough that I could add what little is missing, I'm almost sure. I am hopeful these tools are at least as stable as my own, and am considering migrating to the ledger format. I guess I'd like to just go over migration strategy, a bit, and maybe try it next year, so I don't screw up end-of-year stuff. Any advice is welcome!
My format organizes each system into a namespace that has a single general controlling account and metadata such as document number format. In ledger, I would just use the controlling account, and metadata could be handled somehow, I am pretty sure.
My system only uses namespace (either in a file header or otherwise specified) and id, title or alias to reference an account, rather than the fully qualified controlling account path. It seems ledger can do this with aliases, but I would have to be careful of name conflicts, so the namespace controlling account would be necessary if mixing systems. (I think most mixing would be done via the link keyword.)
I believe both formats have an arbitrary number of files, organized as desired. I typically use one chart of accounts, and multiple journal files. I like how ledger can selectively include files. I wanted to do that intuitively in my system, to improve efficiency, but never got it completely worked out.
My chart of accounts is typically in its own file to make listing them more efficient. After the namespace header, each account has properties, special classification, controlling account, title, id (account number or short name,) and aliases, and it's hard-wired for what ledger calls strict mode. I think the account keyword does some of this, at least, and ledger has a similar file. I don't know if it is text or binary, though.
My temporary accounts have closing entries generated on-the-fly to a specified closing account at whatever fiscal period is currently in effect after all files are read. I don't know if ledger can do something like that. (I use yearly cycles for tax purposes, but some also use monthly for normal worksheets and reports.)
My journal files begin with the namespace header, then are separated by month, typically in order. Entries are roughly in order for each month. They contain the day of the month, the description, and metadata like document numbers on the first line. Postings follow until another line beginning with a date. This isn't too far from the ledger format.
Posting format without a template is slightly different from ledger, but I've wished I had done it differently for a while. I like ledger's better. The only advantage mine has is that the entry is guaranteed to balance.
I have a balance check feature, which can be done with a =balance keyword, apparently. My system is more complicated, I expect, due to some files being read in different orders, depending on parallelization or OS differences. Sometimes it happens after all files are read, and other times as they are read to error out faster.
Comments begin with # in my files, and ; in ledger files, from what I've seen. My files don't allow comments on the description line. I don't know if ledger does.
I have ways of specifying unknown information. Unknown categories are handled with a special account that should ideally have 0 balance, which apparently is also what ledger users do. I don't know how it handles other unknowns, like date or amount.
Template syntax for ledger apparently depends on the flavor of tool and such. I can always unpack the template, if needed, but I would prefer something like either my original binary solution (supporting specialized journals) or my current one, (which was intended to allow customization of everything but the date, though it's not finished. It mostly just fills in defaults. I have one journal that is full of only dates, with a few template definitions in between where the price changed or whatever.)
Some of my journal files are marked read-only because they are overwritten by a generator, and should not be edited by other tools.
I import ofx/qfx/qbo (preferred) and csv/tsv files, and also have tools for qif and others that I don't use anymore. Auto-correcting is done for certain formats from certain banks. Auto-matching is done by comparison with already matched entries, custom matching code from namespace metadata, and optionally choosing the best scoring match or asking. It seems the ledger family does this too, maybe?
Anyway, I intend to play around with one or both ledgers, hledger, and Beancount to see how they work and then I will probably try using one or more of them simultaneously with my system to see how it goes next year. Maybe this is more appropriate in a blog or something, now that I think of it...
Anyway, it was a pleasant surprise to see others like-minded. I originally had the intention of putting my system on GitHub, someday, but it's never finished like I want and some testcases and tools may have non-public information in history I would need to purge. I've never made money with it, and only shared it with or used it for family. If anyone is interested in something I have that ledger may not, I probably wouldn't mind contributing it, if it would be useful.