It feels like #NuShell could be of great use for #plainTextAccounting. PTA tools can output structured data like CSV or JSON, providing an ideal input for Nushell. Might be even simpler than spinning up #Python to do some custom calculations or logic that aren't available natively in the PTA tools.
#nushell #plaintextaccounting #python #hledger #ledger #beancount
I've started doing #plaintextaccounting not sure yet if I'll mainly use #ledgercli or #hledger the journal formats are nearly identical so I can keep it mutually compatible for now.
It'll depend on the differences of the formats and the tools, but maybe the tools aimed at ledger-cli will just work anyway?
#plaintextaccounting #ledgercli #hledger
After the initial shock of re-learning beancount from scratch, I have to say it took me maybe for hours to set everything up again to a good enough state, write the importers I was missing, and import the last ~year or so of stuff.
Now it should be as easy as downloading exports every month and `bean-extract`ing the shit out of them, leaving smart importers to do the bulk of the work.
#plaintextaccounting #beancount
My #plaintextaccounting tip of the day is to always use `@@` and tabulate the gross commodity value (inferring the price) rather than using `@` with an explicit commodity price.
Not only the is the latter subject to rounding errors, the former makes spot checking transactions against the source much easier.
Also, PTA tools do much validation of the text files to catch errors, like a programmer's compiler. Another technique is to keep the plain text report output in version control also, providing even more visibility of changes.
#plaintextaccounting
@RL_Dane @nobodyinperson
We (many PTA users, at least) get around that by keeping the text files in version control systems like git or darcs. If there's a killer feature I believe this is it - being able to see every change, roll back to undo, try alternate scenarios, optionally collaborate with others, etc. gives a great feeling of safety and confidence.
#plaintextaccounting
@nobodyinperson @RL_Dane @simonmic
This won't help OP, but I've been exploring #plainTextAccounting too and am kinda fascinated with Beancount.
Beancount is similar to Ledger & HLedger, but the author—besides making learning accounting engaging—chooses not to use the confusingly inconsistent presentation of "Debit" & "Credit" in traditional double-entry accounting, and simply focuses on which direction money is flowing.
He details a number of other differences here: https://beancount.github.io/docs/a_comparison_of_beancount_and_ledger_hledger.html
@RL_Dane @nobodyinperson isn't that what hledger-web (and to a lesser extent hledger-ui) is for ?
Or anyway a start on that use case. My non-technical spouse uses it..
@RL_Dane Very happy with @simonmic's #plainTextAccounting with #hledger:
Infinitely customizable, ultra safe data format, git versionable, flexible tagging, budgeting and forecasting capabilities. Great community.
But only if the terminal is your thing. 🙂
@simonmic hands out 100$ if you find a regression, that much they value stability.
@nobodyinperson No, there's no support for arithmetic expressions in csv rules files. When you really need that, preprocessing the csv is the way, currently.
#hledger #plaintextaccounting
Rewritten, hopefully clearer:
https://hledger.org/dev/hledger.html#amount-field ,
on the various ways of setting amounts in #hledger CSV rules.
I suspect that
- Haskell is currently about the strongest language for prototyping and evolving "tricky" code above a certain size
- You could do a successful close port of hledger to (for example) rust, or typescript, or a fast version of python
- If you keep evolving features, the Haskell codebase would outlive the ports (again, assuming equal funding)
#haskell #programming #plaintextaccounting #hledger
Notes from a #hledger dev session:
1. It's amazing how complicated things get with simple-seeming semantics applied to plain text.
2. I am always curious whether these features could be developed/debugged/maintained faster in other languages... or if it's only because of Haskell that they can be shipped at all. I don't mean theoretically, obviously, but pragmatically, assuming equal personpower/funding.
#hledger #haskell #programming #plaintextaccounting
Another rewrite of "Cost reporting" in the hledger manual. This explains the various ways of recording transactions involving costs, how to convert between them, and how to report costs/selling prices.
So you have defined some #hledger reports with just. Now would you like to browse them with fzf, with (cached) output in the preview pane ? I'm collecting such tips at https://hledger.org/just.html .
I converted yesterday's ft and tt #hledger scripts to a https://hledger.org/scripts.html#justfile
This is similar to the previous bash scripts, and the Makefile before that, but I think it's much easier to create and maintain, and more cross platform. It requires installing just, but I think it makes this practical for a much larger group of people. An easy task runner / script manager is great for #plaintextaccounting, and seems to have been a missing piece.
#plaintextaccounting:
I use two bash "multi-scripts", `ft` and `tt` (via `f` and `t` aliases) to organise my #hledger reports and related scripts. Examples of these are now on the hledger.org Scripts page:
The slides for my #Tübix2023 talks are now online:
- :gitannex: #gitAnnex: https://tuebix.github.io/tuebix-downloads-2023/5-git-annex-dateien-synchronisieren-sichern-und-verwalten-fr-poweruser.pdf
- :openscad: #OpenSCAD vs #PythonSDF: https://tuebix.github.io/tuebix-downloads-2023/15-prozedurales-3d-design-mit-openscad-und-python-sdf.pdf
- 💸 #plainTextAccounting with #hledger https://tuebix.github.io/tuebix-downloads-2023/16-plaintextaccounting-mit-hledger.pdf
#tubix2023 #gitannex #openscad #pythonsdf #plaintextaccounting #hledger
#hledger #plaintextaccounting #tubix2023 #tubix
Finished my slides for the #Tübix2023 #Tübix #LinuxDay tomorrow in Tübingen:
- File syncing like a pro with @joeyh's :gitannex: #gitAnnex
- @OpenSCAD #OpenSCAD and #pythonSDF
- #plainTextAccounting with @simonmic's #hledger
I'll try to record the talks. They'll be in German though.
#tubix2023 #tubix #linuxday #gitannex #openscad #pythonsdf #plaintextaccounting #hledger