Hacker News new | ask | show | jobs
by emacsen 483 days ago
As a file format, this is just fine, but I feel like there's some conflation between a file format and software meant to interact with that format.

I use plain text accounting for my business, and it's lovely to be able to enter bookkeeping data with a plain text editor and keep it all under version control, but the next step is using a program such as hledger or beancount to work with that data.

I'd love to work with plain text calendar software, but it would still need to do things such as provide a mechanism to work on my desktop and mobile device. It would need to handle recurring events automatically, and it would need to allow me to invite others to events and ideally to track when they've accepted or rejected my invites.

I'd need to be able to update, cancel or propose to move events in such a way that others would be updated.

I wish I knew of a good command line tool to interact with CalDav or similar servers, or that I could maintain my calendar in a file format and then handle the synchronization automatically.

Maybe calendar.txt could play a role in that, but on its own, it's not quite enough for me.

6 comments

This is definitely in the camp of oversimplifying by missing the whole problem domain.
We need to come up with a name for that, considering how often it happens.
Hmm, there should be an xkcd for this... [0]

[0]: https://xkcd.com/927/

I’ve used this tool before for caldav: https://github.com/pimutils/khal
khal supports caldav: https://github.com/pimutils/vdirsyncer

There is a task equivalent, which also supports caldav sync

https://github.com/pimutils/todoman

todo.txt accomplished this with community apps that provided web and mobile interfaces to the text file: http://todotxt.org/
The problem is that most those tools end up unmaintained.
Yeah, simpletask
SimpleTask Cloudless has been my favourite todo.txt app for Android. Unfortunately, SimpleTask is in low maintenance mode [1], and does not work well in my setup.

According to mpcjanssen: "The suspending of the applications by Google #1102 and the continuously fixing breakage by Android API changes have reduced my Simpletask motivation to a very low level." [1].

[1] https://github.com/mpcjanssen/simpletask-android/issues/1110

I'm not sure it's even in maintenance mode at this point. I wish I had the skills to maintain it as I quite like SimpleTask and may, even if unsupported, go back to it. Nothing compares on Android.
For reminders and other automated actions, pydry suggested "orgzly revived with org mode"; and kruffalon suggested 'remind'. I have not tried those, but they might be better options for notifications and reminding than calendar.txt.

I use calendar.txt on a cell phone with Markor text editor. For my desktop, I just use micro editor on terminal, the same I use for most text editing tasks.

Bookkeeping using plain text files sounds both interesting and challenging.

> Bookkeeping using plain text files sounds both interesting and challenging.

It has quite a bit of a following; I personally would never switch back to some more "complete" application. I believe all the most popular implementations are listed here: https://plaintextaccounting.org/

So many tempting options...

Can you recommend a tool and open your accounting workflow, marttt?

Are there any pain points, like filling tax forms or handling travel paperwork?

FWIW, I'm a single-person company with a tiny turnover and only a handful of expense categories. I've used ledger-cli for many years, but at one point, I started to migrate my data to pta [1]. The reason was that in my country (Europe), all reporting seems to implicitly rely on a numbered chart of accounts (something like "101 Cash", "201 Accounts payable" etc), and the journal format of ledger-cli is not built around this idea by default.

pta, however, does this numbering [2], so for filing taxes in my country, its journal format seems more straightforward in case auditors should have any interest in it. I also quite like its terseness (1 transaction = often 1 line, as compared to 3 in a ledger-cli journal -- gives a better overview and is somewhat better to parse further with sed or awk when needed [3]). Finally, it is a single Perl script, thus very portable and lightweight.

All that said, pta doesn't seem to have much of a following, as compared to ledger-cli, which, obviously, is a much more mature project.

There was also an interesting discussion regarding pta vs ledger, involving the author, OpenBSD dev Ingo Schwarze [4] -- well worth a read regarding the general plain text accounting philosophy also. Interesting stuff.

1: https://mandoc.bsd.lv/pta/

2: https://cvsweb.bsd.lv/pta/accounts.example.en?rev=1.3&conten...

3: https://cvsweb.bsd.lv/~checkout~/pta/journal.example.en?rev=...

4: https://www.undeadly.org/cgi?action=article;sid=202009281234...

Those pta example files you linked, marttt, really make the case for this software. It looks simple, transparent, auditable, versionable and unixy.

Dpifke, beancounter looks nice, big and well tought out. I bookmarked the docs/ to have a more troughout look at it later.

Update: Had a more detailed look on Beancount.

LWN's editor Jonathan Corbett has looked into this matter much over the years with numerous articles on the topic.

The end-of-search post is here, with the final choice being GnuCash:

<https://lwn.net/Articles/925782/>

HN discussion (200+ comments): <https://news.ycombinator.com/item?id=36021197>

You'll find at least some of the other posts in the series, and related articles, here:

<https://duckduckgo.com/?q=site%3Alwn.net+accounting+software...>

Not marttt, but I'm a big fan of beancount after using it for the past few years for my company's books. Recycling an old comment of mine that might be helpful: https://news.ycombinator.com/item?id=37937942 (more upthread from that as well)
pimsync synchronises CalDav to a directory where each event is an icalendar file. You can use khal or any other tool to operate in these files.

This tools is a successor to vdirsyncer, which filled a similar role but with several limitations.

I’ve working in Pimsync for many months now. The basics all work fine, but still working in some extended feature. Feedback is most welcome at this stage.

https://pimsync.whynothugo.nl/

I’d be interested to read a blog post about your setup. I’m about to start doing my own bookkeeping for my business, and was planning on doing it all in neovim.