5 ms·
I'd embrace plain text accounting more if it had a better schema. Ledger's is absolutely atrocious, and it drives my OCD nuts trying to use vim to "write" acco
by candiddevmike 2y ago
I'd embrace plain text accounting more if it had a better schema. Ledger's is absolutely atrocious, and it drives my OCD nuts trying to use vim to "write" accounting entries.
I think my ideal PTA would be some kind of jsonnet-based system where I can create/call functions to generate journal entries.
- XorNot 2y agoFor a time I threw together a bunch of python scripts which did billing for me based on YAML files which struck a nice balance of readability vs programmability (since YAML turns into lines quite well and has less special character noise).
- mrngm 2y ago> less special character noise I hope you've at least once stumbled upon the existence of https://noyaml.com/ https://noyaml.com/ and/or, at the time, were familiar with the quirks regarding number interpretation.
- wuming2 2y agoGNU recutils should become the standard backend. Plain text db which has a powerful albeit simple records format, proper ids, enforces constraints, removes need of silly type conventions better defined in fields with %type, built in encryption. Foreign keys. Auto generated fields. Regex. No one in their right of mind will want to manually edit the data store holding critical accounting data. 99% of the times should be ETL with the odd visual check for inspiration.
- euroderf 2y agoA recutils clone in Go would be pleasantly hackable for whipping up some double-entry.
- FredPret 2y agoYou never have to look at it. I have an Excel - one file a year - with a schema that makes sense to me, then a Python script to convert that to {year}.beancount. The script is triggered by fswatch. So I get a browser frontend with fava and data input in Excel. It’s non-trivial, but then so is any form of accounting.
- BeetleB 2y agoI suggest use some other tool for data entry, and as long as you can figure out its internal format, write a script to output to ledger. That's what I do with KMyMoney.
- speleding 2y agoledger can validate that all account names are pre-defined, are formatted in a specific way with regard to decimal and thousands separator, their currency specified and a few more things. (None of these are enforced by default, but for any serious use of ledger you would want to set `--strict` in your .ledgerrc file) What else would you want ledger to enforce? We actually have a few very specific (to us) rules we enforce, but we do that via a ruby script. That's the power of plain text accounting: you can just whip up a small script to do validation for you.