Comment by chriseidhof

Comment by chriseidhof 4 days ago

10 replies

I've been using ledger (ledger-cli) from the moment I first became self employed (almost twenty years ago). While far from perfect, I'm very happy about it. It's nice that everything is in plain text, which means that I can script things, read everything in VIM, and easily extract data. For one of my two current companies, the ledger file is 2MB of plain text and contains the transactions from 2016 onwards.

While I personally didn't find much value in lots of different "accounts" (categories), it's still been indispensable in keeping track of everything.

Learning double-entry bookkeeping (which tools like ledger use) was really fun (and not that hard in hindsight) and probably a skill that is useful for the rest of my life.

tonyarkles 4 days ago

I'm not using any of these tools yet, although this article popped up at just the right time because Quickbooks and my bank conspired to miss a bunch of transactions that I'm cleaning up now... but that's beside the point.

The strategy I've used for different accounts/categories is to make accounts that match the expense categories that the Canada Revenue Agency wants on my tax return. Early on when I was getting into it I made a bunch of accounts for logical categories (Hosting Expenses, Prototype/Manufacturing Expenses, etc) but then after a few years of trying to map those categories into CRA categories... I just realized I could pre-categorize them appropriately and make my taxes simpler at the end of the year.

vagab0nd 4 days ago

When I sold my house, the escrow company mailed me a refund check of about $3000 on the closing. I never got that check. Guess how I found out about it, 5 years later, when I started using ledger-cli?

fallat 4 days ago

+1 for ledger. It has been the best one I've used. The fact you can script it is f'ing amazing. My taxes have been on-point for 2+ years now since I started using it.

chriseidhof 4 days ago

In thinking a bit more, I think the biggest pain point for me is one with plain text in general: it supports no attachments. I have my own system to refer to specific files and built a Mac app that lets me drop a file on a transaction, then it copies that file into a specific folder and adds a tag to the transaction. This could be done so much easier if the data would be sqlite, but then you obviously lose the ability to edit it directly in your text editor.

  • fsiefken 4 days ago

    You can perhaps use local file:// references in the files and open them in a browser, or you can use ledger from within a tool like Obsidian, LogSeq or DevonThink. Perhaps associate attachments in that way?

    https://github.com/tgrosinger/ledger-obsidian

    • chriseidhof 4 days ago

      oh yes, absolutely! I have a system that works well for me. But it's inherent to plain text files that they don't support attachments. It's plain text, after all.

  • WorldMaker 3 days ago

    ZIP can be a useful container for when you want a plaintext file with attachments, but you also want the full folder structure transportable itself as a single file. Automating zip/unzip operations isn't too bad, and you sometimes easily can teach some applications to work directly with zip container streams, without a temporary folder, too. Some existing text editors can do it naturally already; emacs and vim both have native support. Others have plugins available, like VSCode has ZipFS [1] (which is also on the backlog of possible things to support out of the box [2]).

    [1] https://marketplace.visualstudio.com/items?itemName=arcanis....

    [2] https://github.com/microsoft/vscode/issues/75559

  • dheera 4 days ago

    You can paste the file as a base64 string. Disable word wrap and it should only appear as one line.

    A good text editor of the future should recognize these base64 strings and make them appear like clickable files, but still let you right-click and go back to the plain text representation.

  • balves 4 days ago

    Fava and beancount have some affordances here. You can make a data directory with a directory structure that matches your chart of accounts. Place datestamped files in here and they'll show up inline in your fava ledger view.

    Additionally you can annotate a transaction with a "document" tag and that document will show up directly associated in the ui.

    The ui has pretty good previewing for these. I add pdf versions of all of my statements, and attach receipts to specific transactions (business expenses, proof of paying taxes, etc.)

    It works quite well

  • [removed] 4 days ago
    [deleted]