home.social

#plaintextaccounting — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #plaintextaccounting, aggregated by home.social.

fetched live
  1. A alias directive's effect ends at the file end because an alias is quite impactful.

    hledger journals are supposed to keep working, and have the same meaning, no matter how you compose them, eg if you combine them with include or multiple -f's.

    An account declaration having global effect is relatively harmless,
    but an alias having global effect could break or subtly change your reports.

    That's why hledger does this differently from Ledger.

  2. Cleaning up years of inconsistent entries, especially for those tricky investment transactions, can be a serious project. Best to divide and conquer, eg by commodity/account/year. Another division I've found useful is "theory vs editing" - first figuring out the right journal entry, then applying that style across all files. The first task requires thinking/discussion/docs. The second is more mechanical, and the right tools, and disciplined consistent data, can help a lot.

  3. The plaintextaccounting github organisation is a place to collect funds to support general resources like the website, forum, reddit, chat rooms etc.
    I have updated the plaintextaccounting Finance page, which tells

    - How you can donate, to support our general plain text accounting resources
    - How the money is used
    - The history and current state of the plaintextaccounting organisation's finances.

    You can help ! forum.plaintextaccounting.org/

  4. An example of rules converting aregister csv:

    # expenses.rules - Extract reimbursable PTA expenses from user's default journal.
    source | hledger -n -I areg 'expenses.*:pta' -O csv | sed -E 's/ \| [^"]*//'
    skip 1
    fields _txnidx,date,code,description,_otheraccounts,amount,_balance
    account1 liabilities:sm
    if discourse
    account2 expenses:hosting

    related docs: <hledger.org/hledger.html#csv>, <hledger.org/hledger.html#aregi>, <hledger.org/hledger.html#import>

  5. It can be useful to transform some existing hledger data with csv rules. The best way is to use aregister, which provides one csv record per transaction.

    Eg, transforming and importing new transactions from a foreign journal into your own:

    hledger -f OTHERJOURNAL areg SOMEACCT -O csv | hledger import csv:- --rules RULES

    Today's hledger main removes a small papercut here (aregister's "change" column is now "amount", which csv rules recognise more easily).

  6. TIL with regards to #hledger that it sorts transactions by date first and then applies balance-assertions. I kept getting "this doesn't actually balance!!1!" warnings that ledger(1) wasn't giving me. I include my balance-assertions file at the end of the list. I finally tracked it down to the date-sorting because the balance-assertion item had the original 2023 date. So of course it groused when asserting in 2023 that a gift-card had $10 on it that arrived in 2026.

    So I updated my balance-assertion block to be dated 2999-12-31 and suddenly the assertions all lined up just fine.

    So just in case anybody else hits this little snafu, hopefully it helps save you the time I just spent.

    #plaintextaccounting

  7. @DrHyde

    plaintextaccounting.org/ is more of a way of thought than a specific tool. The big three are ledger, hledger, and BeanCount:

    hledger(1) is written in Haskell and the author, @simonmic, is kinda the chief priest of all things #plaintextaccounting 😆

    ledger(1) is C++(and sadly appears it might become slopified? I'm seeing Claude submissions in the repo, so I suppose I should start shifting my files/workflows to hledger.

    BeanCount (and its Fava UI sibling) is Python, but has a slightly different syntax/dialect of data-file, so I don't really have much experience playing with this one.

  8. @DrHyde

    There's also a number of #plaintextaccounting tools like ledger(1) that let you slurp in various CSV files and run finance/balance reports across them (I maintain the entirety of our household finances in my plain-text ledger files). Just in case you're looking to level up. But #awk is good, too ☺

  9. users doing : after an upgrade flycheck was using eldoc to show errors, and I found it very invasive and annoying. I like to view errors in the flycheck-errors pane (C-c ! l), which is stable and updates as you edit. This disables flycheck's use of eldoc:

    (setq flycheck-display-errors-function nil)

  10. hledger 1.52.3 contains more hledger-web security fixes; all hledger-web
    users should upgrade.

    - hledger.org/relnotes.html#2026
    - hledger.org/install

    is free, robust, friendly, fast, cross-platform, double-entry, multi-currency, multi-interface, GNU GPL-licensed, software, using human-readable, version-controllable, future-proof plain text files.

  11. I'm (not so) pleased to announce hledger 1.52.2.
    This contains only a fix for an XSS vulnerability in hledger-web.
    All hledger-web users should upgrade, to avoid this bug.

    - github.com/simonmichael/hledge
    - hledger.org/relnotes.html#2026
    - hledger.org/install

    is free, robust, friendly, fast, cross-platform, double-entry, multi-currency, multi-interface, GNU GPL-licensed, software.

  12. feeling a little sheepish that I'm just now closing the financial books on 2024 & 2025.

    The data was all in my ledger(1) #plaintextaccounting files. But when I'm dealing with household finances at the rollover of a new year, I tend to drag my feet at the beginning of the year because uncleared transactions throw a wrench in things. And just never got back to it. So apparently I dragged my feet for 2.5yr 😆

    I log about 1000 transactions (~150KB of data) annually, so ledger was running a little slow. With those ~2000 transactions/300KB of data archived off, it's back to being quite snappy.

    Tangentially, it's all stored in git and synced to various local & remote hosts, so I can maintain finances from any of those machines and have a nigh-instant snapshot of household finances.

  13. #PlainTextAccounting #CLI

    Been looking into plain text accounting recently, there are a couple command line based apps that support plain text based accounting... and this resources is excellent:

    plaintextaccounting.org

    That said I've never until now found way to be able to automatically import bank transactions UNTIL NOW.

    The BeanHub tool sent me down a rabbit hole] [1] and while they've done excellent work, paying their full USD $15/month [for access to just get their bank data direct connect feature does not add up.

    But looks like we can go to the source folks, BeanHub uses something called Plaid to get the bank data from 140+ banks worldwide.

    And multiple folks have worked out a direct Plaid to Plain Text Accounting tools.

    beancount.io/forum/t/my-journe

    github.com/chandler150/beancou

    github.com/OliverF21/Ledger/bl

    [1] beanhub.io/blog/2025/01/16/dir)

    #PlainTextAccounting #LedgerCLI #BeenCounter #hLedger #Plaid #BankImports #BankConnect #CLITools

    cc: @jadehopepunk @teq

  14. I'm trying to write some Python scripts to loop through a csv of my bank transactions, do some aggregations and subtotals, then create some html layouts using Jinja.

    It's working fairly well, and is reasonably quick to run, though it does feel like I'm doing a lot of creating JSON objects. It doesn't feel the most efficient, but a database brings other problems.

    #plaintextaccounting

  15. I'm pleased to announce hledger 2.0 preview release 3!

    Highlights:
    - conventional file layout for rules/data/prices
    - get command
    - commodity aliases
    - print aligns by decimal mark
    - more intuitive precision behaviour
    - more robust lot detection
    - average cost basis methods
    - customisable report titles
    - prices --summary report
    - a more robust roi report
    - and many other improvements and fixes.

    hledger.org/relnotes.html#2026
    hledger.org/install

  16. `hledger bal -t --drop=1 -D -T -A -N --pretty-tables Expenses`
    hledger is pretty cool and the more i dig into the built in help and the flags and switches, it just keeps me surprising me in the most joyful way.
    what do the switches here do?
    1. -t for tree style display of accounts and subaccounts
    2. --drop=1 since my top level is Expenses, it will just show the overall totals anyways.
    3. -D for day by day multi column report of account balances in the current month by default
    4. -T print the row wise totals. this means the total spent in a particular account across all the days from start of month till date by default
    5. -A same as -T but for row wise averages.
    6. -N this is optional and to remove the final total row. try with on or off. in this case, i could have also instead removed --drop=1 and that row would have shown the day wise Expenses totals as well.
    7. --pretty-tables uses unicode characters for a better looking tabular output.

    lots more flags to go through, but this itself was so useful to see trends at a glance.

    Thank you @simonmic for letting me feel cool using the terminal. Love the project

    #pta #plaintextaccounting #hledger #tips
  17. For USAians who received a tax refund from the IRS, did it happen to match what you submitted? Strangely ours was $0.60 short of the amount in box 35a ("Amount you want refunded").

    It feels like the perfect scam. $0.60 is not enough to be readily noticed, or enough for anybody to actually spend time contacting the IRS over. But multiply that by the ~102 million tax-refunds that were issued, that's possibly over $60m skimmed from the American tax-payers. Like something out of a heist novel.

    #ledger #plaintextaccounting #AccountsReceivable

  18. Hi @simonmic,
    thanks for clarifying, so cleaned up, without header and simpler names.

    Just the + sign with liabilities:vat looks odd:

    ; I am renting out for a monthly fee, receive payments and owe the VAT to the tax authorities.

    2026-04-01 rent april per contract
    assets:receivable:customer 20 €
    equity:customer

    2026-04-03 rent april payment
    assets:bank:customer 20 €
    assets:receivable:customer

    2026-04-08 rent april billing/tax
    assets:bank:customer -20 €
    liabilities:vat:customer 3,19 €
    revenues:customer 18,81 €

    ; #hledger #plaintextaccounting

  19. Envelope budgeting: planning ahead for known expenses by regularly putting money into pre-determined categories, or envelopes. This week I show how I’m doing that in plain text accounting, specifically, Beancount.

    Medium (includes blog link) medium.com/@miscellaneplans/pt
    Blog ellanew.com/2026/05/04/ptpl-20
    #plainTextAccounting #budgeting #plainText

  20. Constat réel :
    Il n'existe pas de logiciel de compta open source / libre en France, pour les petites structures soumises à la TVA.

    Oui Dolibarr, mais soyons réalistes, c'est compliqué pour les petites structures / indé.

    Quoi d'autre ?

    Faites moi mentir j'adorerais ça

    #comptabilité #erp #plaintextaccounting #pta #gnu #opensource

  21. G'day all. I'm pleased to announce hledger 2.0 preview release 2, with many refinements to lot tracking, based on user testing.

    (And also hledger 1.52.1, which adds hledger 2-compatible G and U account types to hledger 1.)

    - github.com/simonmichael/hledge
    - hledger.org/relnotes.html#2026
    - hledger.org/install

    Release contributors: Simon Michael, Joshua Chapman.

  22. I also have a Beancount repository that has every penny I've made for writing since the beginning. And almost every expense so I know exactly how much in the red I am for my relatively inexpensive hobby. :D

    #PlainTextAccounting

  23. G'day all. A poll:

    Should hledger 2 always infer market prices from @/@@ transacted prices, like Ledger ? (and drop the --infer-market-prices flag)

    - Yes, having this always on would be harmless and more useful
    - No, having it always on, or changing it, would be harmful
    - Other, see my reply

    Or vote in the matrix poll: matrix.to/#/!6BCfAOV-btRKuqChp

  24. Glad it has helped you! A few things that might help:
    - other rust projects linked at plaintextaccounting.org
    - hledger.org/SPEC-journal.html
    - hledger.org/hledger.html#amoun (manual is a kind of spec)
    - amountp and friends in Hledger.Read.Common

  25. And, hledger 2.0 preview 1 (AKA 1.99.1), which adds

    automated lot tracking and capital gains calculation,
    improvements to `print`'s beancount output,
    and a new policy for AI-assisted development.

    This is the first hledger release to explore AI-assisted development, so please do check out the evolving AI policy/FAQ: hledger.org/AI.html

    - github.com/simonmichael/hledge
    - hledger.org/relnotes.html#2026

  26. I'm pleased to announce a double release! First, hledger 1.52, with

    more robust paging,
    faster valuation,
    commodity tags,
    and cost basis annotations which are preserved and can be exported (examples provided).

    - github.com/simonmichael/hledge
    - hledger.org/relnotes.html#2026
    - hledger.org/install