TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Plain Text Accounting (PTA)

334 pointsby iscream268 months ago

29 comments

wruza8 months ago
Systems that use immediate strict categorization don’t work for some people. At a company I worked at we went with a two-phase approach. A person would write notes (literally iphone notes) in the following format:<p><pre><code> Apr 5 24 -50 Alice tools -220 Bob home project Apr 2 24 +20 Bob returned loan </code></pre> Note that time goes “up” to avoid scrolling too much on open. Later we loaded it into a script which would parse dates, detect keywords and make templates for proper double-entry. It would detect both the outer “agent” and the internal analytics and also put the original text as a comment. What it couldn’t detect had to be manually categorized and (sometimes) added to the script. Of course the script used editable lists for correspondence, not only hardcoded values. These lists were person-specific, so that Alice and Bob wouldn’t have to sync their vocabularies.<p>I cannot imagine any of the people at that company filling this<p><pre><code> 9&#x2F;19 (1234) comment here Cat1:cat2:cat3 Cat4:cat5 </code></pre> every time money moves and they are in a queue, in the car, talking to someone, etc. They’d simply resort to smaller notes again in the notes app or in the chat, or would try to “remember” it, to fill properly at the end of the day (more likely week).
评论 #41552333 未加载
评论 #41555402 未加载
评论 #41587440 未加载
chriseidhof8 months ago
I&#x27;ve been using ledger (ledger-cli) from the moment I first became self employed (almost twenty years ago). While far from perfect, I&#x27;m very happy about it. It&#x27;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.<p>While I personally didn&#x27;t find much value in lots of different &quot;accounts&quot; (categories), it&#x27;s still been indispensable in keeping track of everything.<p>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.
评论 #41556747 未加载
评论 #41556743 未加载
评论 #41556558 未加载
评论 #41555619 未加载
jasim8 months ago
Plain Text Accounting has become significantly easier to do for me on a regular basis, thanks to LLMs. Specifically: importing bank statements into hledger and avoiding manual entry.<p>I use a JSON file to map bank entries to my hledger accounts. For new transactions without mappings, I run a Python script that generates a prompt for Claude. It lists my hledger accounts and asks for mappings for the new entries.<p>Claude returns hledger journal entries based on these mappings, which I can quickly review.<p>Then another script prints out hledger journal entries for that month&#x27;s bank transactions, all cleanly mapped. It takes me just a few minutes to tweak and finalize.<p>I can also specify these mapping instructions in plain-language which would&#x27;ve otherwise been a fragile hodgepodge of regexps and conditionals.
评论 #41558059 未加载
RivieraKid8 months ago
I&#x27;ve been using Beancount, really enjoyed learning it, writing tools for data import and having a hands-on experience with accounting. But it&#x27;s been almost a year since I last imported data, I planned to do it monthly but it&#x27;s a bit of a chore (it takes 30 to 60 mins despite a lot of it being automated).
评论 #41551501 未加载
评论 #41551396 未加载
评论 #41551590 未加载
评论 #41553616 未加载
alchemist1e98 months ago
I use ledger for all bookkeeping and accounting for personal and many LLCs. If you’re a terminal rat and cli master, use vim or emacs, sed&#x2F;awk know the basics, script in bash&#x2F;python&#x2F;perl&#x2F;ruby regularly then just learn ledger and double entry accounting and switch to it and I suspect you will be much happier than whatever you are doing today.<p>A few basic tips:<p>- reckon is helpful for importing transactions quickly. <a href="https:&#x2F;&#x2F;github.com&#x2F;cantino&#x2F;reckon">https:&#x2F;&#x2F;github.com&#x2F;cantino&#x2F;reckon</a><p>- use “include” to break up the problem.<p>- bal —-dc is something US accountants might recognize a bit. but more likely than not they are incapable of understanding negatives correctly in the way ledger uses them, so easier to just write a few scripts to convert it to DR CR style for them. I’ve been shocked at how little abstraction accountants I’ve dealt with are capable of.
评论 #41551978 未加载
felixc8 months ago
I&#x27;ve written a series of posts on practical &quot;recipes&quot; for how to use Ledger (one of the leading plain text accounting systems) effectively in more complex situations beyond the basic tutorials: <a href="https:&#x2F;&#x2F;felixcrux.com&#x2F;blog&#x2F;ledger-practices" rel="nofollow">https:&#x2F;&#x2F;felixcrux.com&#x2F;blog&#x2F;ledger-practices</a>
评论 #41551972 未加载
po8 months ago
Plain text accounting is cool but I think one of the biggest barriers for people is downloading bank data into a standard format.<p>The banks are never going to embrace much more than CSV or excel files... the various data aggregation platforms (yodlee, plaid, etc...) are not open source or hobbyist friendly.<p>Back in ancient times there was a company called Wesabe (<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Wesabe" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Wesabe</a>) that wrote software that did bank syncing on your desktop. Mint.com basically put them out of business but I still think about that approach. I think it could work for open source.<p>Has anyone else?
评论 #41556453 未加载
评论 #41560380 未加载
评论 #41560920 未加载
评论 #41556384 未加载
评论 #41559393 未加载
throw0101c8 months ago
Straight domain:<p>* 2023: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=36022005">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=36022005</a><p>* 2021: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28420797">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28420797</a><p>* 2016: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11164330">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11164330</a><p>Various other mentions of the concept:<p>* <a href="https:&#x2F;&#x2F;hn.algolia.com&#x2F;?q=Plain+Text+Accounting" rel="nofollow">https:&#x2F;&#x2F;hn.algolia.com&#x2F;?q=Plain+Text+Accounting</a>
rpb928 months ago
I’d appreciate hearing how others have used the various plain text accounting tools for their own use. Are you legitimately using it to inform yourself of your spending habits and taking corrective action? Is it simply for tracking your expenses, revenues, net worth, etc? Or is it simply about the process? I can certainly see the appeal of such an orderly, structured process.<p>Every time I’m reminded of plain text accounting, I have either an irresistible urge to immerse myself fully into the process, or feelings of guilt for not staying committed to my previous attempts. Right now, it’s mainly guilt, since I’ve not updated my personal ledger in a month and a half. Ultimately, I think I’m unsure about <i>why</i> I’m using it, and eventually feel like I’m logging transactions just for the sake of it.
评论 #41554911 未加载
评论 #41552916 未加载
评论 #41554204 未加载
评论 #41552972 未加载
notpushkin8 months ago
The cookbook section is rather unfortunately named in the context of accounting :^)
kingo558 months ago
I&#x27;ve wanted to explore this so that I&#x27;ve got records of all my transactions which I can feed to generative AI when it eventually becomes capable enough.<p>E.g. &quot;Using my financial records, help me set a budget which allows me to do XYZ within ABC bounds.&quot;<p>I wonder if anyone else has done this yet?
nlh8 months ago
I’m a huge ledger fan (hledger specifically) and have used it to run my entire accounting life for the past 8 years or so.<p>A few tips:<p>* Resist the urge to break up your various accounts into too many separate files. I tried that and went back to one file per account per year (aka “venmo-2024.hledger”). Also helps with below…<p>* GitHub CoPilot is remarkably and shockingly good at working with ledger files. It will do the balance addition&#x2F;subtraction on following lines almost perfectly. Also, if you need to manually enter a new line, you can often just enter a shortcut one-line comment and it’ll fill the entire entry, aka:<p>; 10&#x2F;1&#x2F;24 -$250 for new business cards
ecaradec8 months ago
Is there an text editor that is able to autocomplete the categories in hledger format ? It would be great to type Assets:: and then get a list of the possible categories, but I haven&#x27;t found any editor or extension that does it.
评论 #41553699 未加载
评论 #41554178 未加载
评论 #41566451 未加载
评论 #41558072 未加载
djhworld8 months ago
I love PTA and have been doing it for years, using beancount, fava and emacs.<p>The main benefit for me is keeping track of everything, including pensions, RSU vests and so on.<p>I have some scripts that help me connect to banks and translate the transactions into the correct format with some crude rules based categorisation, along with scripts that convert CSV files from investment accounts etc.<p>It’s a lot of effort at first but I’ve got the system down now to maybe 10-15 minutes work once a week to keep everything updated.
memset8 months ago
I&#x27;m looking for a plain-text solution that also knows about inventory (counts, FIFO, dollar cost averaging) along with invoices&#x2F;POs (AP&#x2F;AR.)<p>Also, I wish they would use words like &quot;debit&quot; and &quot;credit&quot; instead of trying to hide this under +&#x2F;- notation. It makes translating from real financial documents or scenarios into plain-text reports somewhat painful because we&#x27;re not speaking the same language.
marcrosoft8 months ago
I just switched off of ledger because multiple accountants and tax preparers didn’t know what to do with it even if I hand generated profit and loss reports.<p>Quickbooks online has gotten pretty good. I honestly wouldn’t recommend these plain text tools anymore. Quickbooks has become almost a standard.
评论 #41559221 未加载
l728 months ago
Has anyone tried training their own personal machine learning model to take export from their Bank+receipts and auto categorize everything? It seems like it&#x27;d be a fairly simple classification model that wouldn&#x27;t require too much training...
评论 #41556103 未加载
评论 #41560263 未加载
评论 #41558004 未加载
评论 #41556023 未加载
alwinaugustin8 months ago
Not entirely related to this but, I always wanted to download my transaction information from the banks and keep it locally on a periodic basis so that I can keep track of the transfers I have done to a sepefici account. From a business perspective this is very much helpful, but not able to find any free and opensource solution for it. Have done something using Python , but updating it in a periodic basis is difficult considering there is no API there to provide this data.
jimnotgym8 months ago
How does PTA perform with a medium long ledger, say 1m transactions. Basic checks like summing the ledger, how long does that take?
评论 #41560284 未加载
eternityforest8 months ago
Wow, I had no idea accounting was such a big thing outside of like, actual full time accountants.<p>Doesn&#x27;t using anything but some ultra well known service amplify the consequences of failure?<p>Like, isn&#x27;t the IRS going to think any tech related error is more suspicious than if you had used some cloud thingy?
jmstfv8 months ago
for folks running their own businesses, have you managed to switch from xero to ledger&#x2F;beancount? anything to look out for?<p>xero keeps raising their prices every few months, which is annoying (the whole attitude of &#x27;you won&#x27;t switch anyway, so we&#x27;ll do whatever we want&#x27;).
simonmic8 months ago
Welcome again to PTA, HN friends!<p>I set up the plaintextaccounting.org site in 2016, to grow a more organised info hub and community around ledger (2003), hledger (2007), beancount (2008), and the many related apps and resources. I&#x27;m happy to answer questions; there&#x27;s also a FAQ on the site.<p>I don&#x27;t spend as much time as I&#x27;d like making the site and docs better. Feedback and help is always welcome. Stability, efficiency, and longevity are all important, which is one reason it remains fairly simple.<p>This style of tools and workflows for bookkeeping&#x2F;accounting, which I named &quot;plain text accounting&quot; for convenience, but was first popularised by Ledger starting in 2003, has a number of aspects; it&#x27;s not so easy to explain briefly. I think a key one is the use of textual domain specific languages for interacting with the accounting software&#x27;s internal data model. I mean the various file formats of the PTA tools (describing data), and also the tools&#x27; command line interfaces and related scripts and idioms (describing reports or actions).<p>Textual languages are more expressive and flexible, version controllable, and modular&#x2F;scriptable&#x2F;glueable than GUIs, which tend to be more static in their capabilities. Note once you have one text DSL, it&#x27;s relatively easy to add more, eg custom formats that better fit your needs. And such DSLs need not preclude GUIs; they can be an alternative (perhaps assisted by smart editors&#x2F;IDEs), complementary, or a foundation.<p>-Simon
评论 #41560203 未加载
gibbetsandcrows8 months ago
I see a lot of people in here using hledger or beancount over ledger. Could somebody explain the differences? Looking to get back into PTA, but am facing some choice paralysis now.
评论 #41559536 未加载
dvdkon8 months ago
In the past I&#x27;ve tried various free accounting tools, but sadly none of them could track account&#x2F;card numbers (EDIT: while processing bank statement exports). I don&#x27;t need to track my many bread and pastry purchases, but I&#x27;d like to track things like investments, split lunches, rent from flatmates etc.<p>I have multiple accounts and I need to track transactions between them, and also distinguish them for all other transactions. Could anyone here recommend a tool that deals well with this?<p>I&#x27;m partial to semi-ad-hoc plain-text bookkeeping, which I already do for other things, but I&#x27;d be happy for any recommendations.
zelphirkalt8 months ago
Emacs org mode is useful for this. Its plain text tables have spreadsheet capabilities and you can cross reference other tables, to separate out things.
评论 #41555285 未加载
binary1328 months ago
First thing that came to mind was org-mode’s tables, which are great. This feels like an Emacs package suite just waiting to happen....
评论 #41551850 未加载
djbusby8 months ago
Take a look at SimpleFin for exporting bank data in JSON.
candiddevmike8 months ago
I&#x27;d embrace plain text accounting more if it had a better schema. Ledger&#x27;s is absolutely atrocious, and it drives my OCD nuts trying to use vim to &quot;write&quot; accounting entries.<p>I think my ideal PTA would be some kind of jsonnet-based system where I can create&#x2F;call functions to generate journal entries.
评论 #41552165 未加载
评论 #41552021 未加载
评论 #41551788 未加载
评论 #41552344 未加载
评论 #41555459 未加载
sulandor8 months ago
&gt; This means that the bank will need to provide you with a SFTP server and credentials to connect to it<p>idk but this does not sound reasonable at all
评论 #41553843 未加载
评论 #41554147 未加载