Re: ledger vs hledger vs beancount or how to choose the right cli client
On Mon, 8 Sep 2014 11:37:16 -0400 Martin Blais bl...@furius.ca wrote: On this list and in the documents I've shared with you I've argued and shown specific examples how the lack of inventory booking in Ledger's model offers little support for entering a correct replication of investment trades and calculate capital gains incorrectly. Fair-enough, although inventory booking is not something I'n personally interested in. That's just because nobody packaged it for Debian. OK. Do you have any estimation about the size of Beancount user base? I've already received far more contributions and corrections than in 10 entire years of traditional rst-based documentation for all my other projects combined. That's nice to hear and I'm glad about it. Most often in the OSS community, people don't contribute to docs. So far the experiment is paying off handsomely and I have felt little to desire to retreat to my old tools. If anything, it has encouraged me to write more. I love Google Docs. Cool. ;) Things change; adapt yourself. People are reluctant to change. Realize this. The world used to be desktops, then it was mostly all laptops, and by now it's mostly devices. I still believe that the point that e.g. majority of people today use mobile devices does it mean it makes them more useful/convenient. In another mailing list we discuss e.g. nntp vs mailing lists and web forums, and although many consider web forums 'modern', I have many doubts accepting them as better solution than old-fashioned nntp groups and even for mailing lists I use Gmane and do not have intention for 'adapt'. Finally, (many of) those 'modern users' want to see GUI and web all around and here we're talking about cli stuff. :-) You can highlight text, right-click and add a comment right there in your browser, and you automatically get an email notification later on. How unnatural can this possibly be? The point is that when I *read* I do not want to bother with *editing* and when I *write* I want to use my preferred tools (editor) and not suboptimal tools (like the one provided by Google docs). If what you have is an ideological problem with the software and the fact it's hosted at Google, I have no time for this. I'm interested in finding solutions to build accounting software via text files, I'm not on a mission to expand the GNU universe. No ideology here in case for Google docs - e.g. I preferred old UI for google groups, but I don't like the present one - but I simply prefer having source document in some open markup (asciidoc, markdown, reST) which is then automagically rendered to desired output(s). I don't know about a specific comparison, but with the most hardcore checks I process my 8 years of data in about under 2 seconds on a 2008 macbook laptop running Linux. I must say that it makes me curious...running e.g. $ ledger -M register -f personal.dat Expenses:Auto:Gorivo to find out about car's expenses for fuel on the file imported from Gnucash with the following stats: $ ledger -f personal.dat stats Time period: 10-Oct-31 to 14-Dec-15 (1506 days) Files these postings came from: /home/gour/tmp/ledger/personal.dat Unique payees:2159 Unique accounts: 144 Number of postings: 7240 (4.8 per day) Uncleared postings: 0 Days since last post: -96 Posts in last 7 days: 44 Posts in last 30 days: 286 Posts seen this month: 50 (there are few scheduled transactions till the end of the year) consumes: 2.65user 0.00system 0:02.84elapsed 93%CPU (0avgtext+0avgdata 12940maxresident)k 6600inputs+0outputs (4major+3952minor)pagefaults 0swaps on my i7 860 @2.8GHz cpu on the desktop having 16G. Sincerely, Gour -- As a strong wind sweeps away a boat on the water, even one of the roaming senses on which the mind focuses can carry away a man's intelligence. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sat, 6 Sep 2014 10:59:53 -0400 Martin Blais bl...@furius.ca wrote: While their syntaxes are incompatible, it would be very easy to write a script to convert from Beancount syntax to Ledger-compatible syntax. There is also no way to import e.g. Gnucash file which means hard to start with Beancount in order to migrate from Gnucash. Sincerely, Gour -- In this endeavor there is no loss or diminution, and a little advancement on this path can protect one from the most dangerous type of fear. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sep 10, 2014 5:11 AM, Gour g...@atmarama.net wrote: On Mon, 8 Sep 2014 11:37:16 -0400 Martin Blais bl...@furius.ca wrote: On this list and in the documents I've shared with you I've argued and shown specific examples how the lack of inventory booking in Ledger's model offers little support for entering a correct replication of investment trades and calculate capital gains incorrectly. Fair-enough, although inventory booking is not something I'n personally interested in. If you have any investments you do. That's just because nobody packaged it for Debian. OK. Do you have any estimation about the size of Beancount user base? No idea. At least 3. I must say that it makes me curious...running e.g. $ ledger -M register -f personal.dat Expenses:Auto:Gorivo to find out about car's expenses for fuel on the file imported from Gnucash with the following stats: $ ledger -f personal.dat stats Time period: 10-Oct-31 to 14-Dec-15 (1506 days) Files these postings came from: /home/gour/tmp/ledger/personal.dat Unique payees:2159 Unique accounts: 144 Number of postings: 7240 (4.8 per day) Uncleared postings: 0 Days since last post: -96 Posts in last 7 days: 44 Posts in last 30 days: 286 Posts seen this month: 50 (there are few scheduled transactions till the end of the year) consumes: 2.65user 0.00system 0:02.84elapsed 93%CPU (0avgtext+0avgdata 12940maxresident)k 6600inputs+0outputs (4major+3952minor)pagefaults 0swaps on my i7 860 @2.8GHz cpu on the desktop having 16G. That sounds unexpectedly high. Sincerely, Gour -- As a strong wind sweeps away a boat on the water, even one of the roaming senses on which the mind focuses can carry away a man's intelligence. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sep 10, 2014 6:58 AM, Gour g...@atmarama.net wrote: On Sat, 6 Sep 2014 10:59:53 -0400 Martin Blais bl...@furius.ca wrote: While their syntaxes are incompatible, it would be very easy to write a script to convert from Beancount syntax to Ledger-compatible syntax. There is also no way to import e.g. Gnucash file which means hard to start with Beancount in order to migrate from Gnucash. Write one. Should take the better part of an hour or two to get something basic working using the code someone else just shared on this list. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Wed, 10 Sep 2014 08:18:32 -0400 Martin Blais bl...@furius.ca wrote: No idea. At least 3. Hmmm... That sounds unexpectedly high. Don't know why, but now when I use: ledger register -M -f personal.journal Expenses:Auto:Gorivo it finishes in 0.14s. Why such a difference or I did some mistake...confused... Now I found out: the difference is that ledger requires 0.14s when used with stripped out data version produced with: ledger -f data.dat print stripped.dat but when used with the full version of data file (having commodity and account top-level directives) it's ~20x slower. Anyone can explain such big difference? Sincerely, Gour -- You have a right to perform your prescribed duty, but you are not entitled to the fruits of action. Never consider yourself the cause of the results of your activities, and never be attached to not doing your duty. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
What top level directives are you using? On Wednesday, September 10, 2014, Gour g...@atmarama.net wrote: On Wed, 10 Sep 2014 08:18:32 -0400 Martin Blais bl...@furius.ca javascript:; wrote: No idea. At least 3. Hmmm... That sounds unexpectedly high. Don't know why, but now when I use: ledger register -M -f personal.journal Expenses:Auto:Gorivo it finishes in 0.14s. Why such a difference or I did some mistake...confused... Now I found out: the difference is that ledger requires 0.14s when used with stripped out data version produced with: ledger -f data.dat print stripped.dat but when used with the full version of data file (having commodity and account top-level directives) it's ~20x slower. Anyone can explain such big difference? Sincerely, Gour -- You have a right to perform your prescribed duty, but you are not entitled to the fruits of action. Never consider yourself the cause of the results of your activities, and never be attached to not doing your duty. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com javascript:;. For more options, visit https://groups.google.com/d/optout. -- Craig, Corona De Tucson, AZ enderw88.wordpress.com -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
Can you start a new thread about this? If possible give us the exact command line that takes all the time and the exact directives you are using. On Wed, Sep 10, 2014 at 10:05 AM, Gour g...@atmarama.net wrote: On Wed, 10 Sep 2014 09:52:48 -0700 Craig Earls ender...@gmail.com wrote: What top level directives are you using? commodity, account and have few P lines: P 2011/12/31 23:00:00 EUR 7.6 HRK P 2012/11/06 23:00:00 EUR 7.60456273764 HRK P 2013/01/31 23:00:00 EUR 7.51 HRK P 2014/02/09 23:00:00 EUR 7.40740740741 HRK The rest is the same. Sincerely, Gour -- One who restrains his senses, keeping them under full control, and fixes his consciousness upon Me, is known as a man of steady intelligence. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Craig, Corona De Tucson, AZ enderw88.wordpress.com -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sun, 7 Sep 2014 11:12:26 -0400 Martin Blais bl...@furius.ca wrote: Hello Martin, Again, what makes you think that the other softwares are running behind? In some of the ways that it differs, I view some of the new features I implement in Beancount as new and pushing the envelope forward. don't get me wrong...but I use Gnucash for several years and before that I spent some time whether I should start taking care about my finances and do bookkeeping. Even then, I was aware of the existance of both ledger and hledger - it looks I had to go throuugh experience with GC before considering cli - but never heard about Beancount until 10 days ago or so. Hledger clearly says it does not support all the ledger's features, although it adds some of its own stuff like web ui, some reports etc., so, as John confirmed, my impression was that for the 'core' financial stuff, ledger is the leader. I apologize if it does not apply to Beancount. Personally I think that syntax is a poor way to evaluate software. That's true, but it's pragmatic! For instance, I've, more or less, settled to use Fossil (http://fossil-scm.org/) as my primary DVCS. Although I like its features/simplicity/power/security/etc. it's still awesome to know there is way out to the most popular Git if something goes wrong. Here are the steps to convert Fossil repo to git: git init new-repo cd new-repo fossil export --git ../repo.fossil | git fast-import Otoh, using Beancount with its incompatible syntax means, one is on his/her own when wishing to go 'back' to Ledger which is certainly more popular and with greater community behind. Shortly, (ic)compatibility is not the metric to evaluate software, but pragmatic concern. I see 2.0beta: https://pypi.python.org/pypi/beancount I've just updated and called it 2.0beta2 (I'm not very good about updating indexes all around the web.) I was Googling for Beancount and the link for 0.9 was higher. :-) Moreover, I run Debian Sid and was able to install (h)ledger with simple: apt-get install, while I do not see packages for Beancount? Aren't they nicely readable and beautifully formatted and available on all your devices and in many formats? Isn't this the goal of documentation? Why don't you like them? I like that 'reading' is separate from 'editing'. There was a user in #ledger yesterday who got the feeling that he needs to have Google account to be able to read it and he wrote: I give it up. Why don't you simply use something like https://readthedocs.org/ which seems to be popular for Python stuff? I just click on the reject button to remove those accidental suggestions when that happens. Also, I might accept the suggestion but reject the specific change and reword things manually to make it better; that would also show up as a rejected suggestion. Nothing personal. Nothing personal, don't worry, but it was a bit strange. For me, it's more natural to use my preferred editor, fix things and then 'pull request', send a patch etc. Furthermore, beyond their capabilities, languages nurture particular cultures. In many ways, these cultures subsume the particular technical advantages of computer languages. As examples relevant to the case in point, despite its inherent looseness in typing and glaring performance disadvantages, Python has succeeded in creating a uniquely vibrant culture of making things simple and explicit, with great documentation and adherence to well-defined contracts (via conventions). Considering that Hledger is slower than Ledger, I wonder how does Benacount perform in comparison? Alright, this is getting seriously OT. :-) I think you misunderstood what I meant. I'm saying CLI accounting is easy to implement and should be equally doable in any language. So, yes. OK. I had impression you're thinking about the way how the calc is performed, iow. about representation of numbers. Sincerely, Gour -- One must deliver himself with the help of his mind, and not degrade himself. The mind is the friend of the conditioned soul, and his enemy as well. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Mon, Sep 8, 2014 at 3:22 AM, Gour g...@atmarama.net wrote: On Sun, 7 Sep 2014 11:12:26 -0400 Martin Blais bl...@furius.ca wrote: Hello Martin, Again, what makes you think that the other softwares are running behind? In some of the ways that it differs, I view some of the new features I implement in Beancount as new and pushing the envelope forward. don't get me wrong...but I use Gnucash for several years and before that I spent some time whether I should start taking care about my finances and do bookkeeping. Even then, I was aware of the existance of both ledger and hledger - it looks I had to go throuugh experience with GC before considering cli - but never heard about Beancount until 10 days ago or so. Hledger clearly says it does not support all the ledger's features, although it adds some of its own stuff like web ui, some reports etc., so, as John confirmed, my impression was that for the 'core' financial stuff, ledger is the leader. On this list and in the documents I've shared with you I've argued and shown specific examples how the lack of inventory booking in Ledger's model offers little support for entering a correct replication of investment trades and calculate capital gains incorrectly. It makes it very difficult if not impossible to enter correct data about past trades--errors in data entry are very common in my experience (that is, the experience of creating a replication of 8 years worth of trades with a system that _does_ detect such errors, errors which would otherwise have gone undetected by the Ledger model). The conversions problem is also not solved--it is possible with Ledger to produce a trial balance with a residual value, which is impossible in Beancount--this provides an additional assurance of correctness. For these reasons, in terms of core financial stuff, the current model Ledger implements falls short, and the model Beancount offers is better suited for replicating account history, especially when it comes to maintaining cost basis of investments. I see 2.0beta: https://pypi.python.org/pypi/beancount I've just updated and called it 2.0beta2 (I'm not very good about updating indexes all around the web.) I was Googling for Beancount and the link for 0.9 was higher. :-) Moreover, I run Debian Sid and was able to install (h)ledger with simple: apt-get install, while I do not see packages for Beancount? That's just because nobody packaged it for Debian. Clone the repo, python3 setup.py install. Standard procedure. I won't package for all distros myself, I have other things to do. Aren't they nicely readable and beautifully formatted and available on all your devices and in many formats? Isn't this the goal of documentation? Why don't you like them? I like that 'reading' is separate from 'editing'. There was a user in #ledger yesterday who got the feeling that he needs to have Google account to be able to read it and he wrote: I give it up. Well he did not try very hard. I find it odd that some in the open source community balk at the use of my documentation tools. The point of documentation is that you're able to read it. If you can read it and contribute to it, the goal has been achieved. How conservative. Why don't you simply use something like https://readthedocs.org/ which seems to be popular for Python stuff? Because I think Google Docs is better. There is simply no parallel in how it allows you to make immediate corrections without having to patch source code and rebuild. I can even make changes on my phone while I'm on the go! Unless someone builds and maintains a similar libre service, there is simply no comparison when it comes to allowing you to contribute changes and fixes and comments. In the few months I've shared my Beancount documents, I've already received far more contributions and corrections than in 10 entire years of traditional rst-based documentation for all my other projects combined. Most often in the OSS community, people don't contribute to docs. So far the experiment is paying off handsomely and I have felt little to desire to retreat to my old tools. If anything, it has encouraged me to write more. I love Google Docs. I just click on the reject button to remove those accidental suggestions when that happens. Also, I might accept the suggestion but reject the specific change and reword things manually to make it better; that would also show up as a rejected suggestion. Nothing personal. Nothing personal, don't worry, but it was a bit strange. For me, it's more natural to use my preferred editor, fix things and then 'pull request', send a patch etc. Things change; adapt yourself. People are reluctant to change. Realize this. The world used to be desktops, then it was mostly all laptops, and by now it's mostly devices. You can highlight text, right-click and add a comment right there in your browser, and you automatically get an email notification later on.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On 9/7/14 8:12 AM, Martin Blais wrote: Ledger uses a rational number representation AFAIK. I had a quick look and I think it's here: https://github.com/ledger/ledger/blob/master/src/amount.h#L83 I'm not so familiar with HLedger's source code, all I see is a Haskell Double, which surprises me: https://github.com/simonmichael/hledger/blob/master/hledger-lib/Hledger/Data/Types.hs#L49 This is probably not what's used. Simon: what are you using to represent number types? Yes Double with some extra smarts at present. Decimal soon probably, see http://ircbrowse.net/browse/hledger?id=884timestamp=1409941137#t1409941137 for more discussion. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sat, 6 Sep 2014 10:59:53 -0400 Martin Blais bl...@furius.ca wrote: What exactly do you mean by a split transaction? It's Gnucash terminology for having transaction with more then two postings, e.g. when money flows from one asset account into two or more expenses accounts and I see there is no problem with it. That's pretty much everything and I wonder if ledger - which I consider is the richest feature-wise can handle all the tasks? Out of curiosity, what gives you that impression? I must say that I was/am not very familiar with Beancount, but assumed that since Ledger is the original and other are clones running behind that it is the most complete. The reason: command-line double-entry accounting. That's clear, but the question was/is why another cli when there are already few ones existing? I though I waxed about the topic of why CLI DE accounting in the following doc than anyone would ever have time for... does this doc provide a sufficient explanation? I read that prior to asking the question, but it does not provide satisfying answer what Beancount provides over e.g. Ledger? I'll guess that what you meant is why write Beancount when there is already Ledger, HLedger, Abandon, etc. Right. Beancount is substantially different in many ways, not only in its design and syntax, but even in its most basic operations, i.e., how it treats the booking of lots in inventories against each other, how it treats cost basis, its rule for balancing of transactions, how it handles currency conversions (not at cost), the fact that it enforces accounts to be in one of five types and explicitly lacks support virtual/unbalancing postings, a guarantee of order independence of its declarations, and in the mechanisms it provides for extensibility (via Python instead of its own language). It's not just an incompatible syntax, it's a very different beast. Now it's much more clear. Thank you! First of all, I was not at all aware it's not e.g. compatible with Ledger (like e.g. hledger) which puts it into somewhat different perspective when I evaluate option for doing cli accounting. I'll write a more detailed comparison doc and share it on this thread later, there is a lot of detail on previous discussions from this list, but it's probably worth gathering all of it in one place with examples. Yes, I consider it would be worthwhile. While their syntaxes are incompatible, it would be very easy to write a script to convert from Beancount syntax to Ledger-compatible syntax. I intend to build such a thing eventually, so you could use both. I'm not sure I will be able to match the semantics, this will be an interesting little project in any case. That would be interesting. Hledger seems to have advantage here since it's even encouraged to test *.ledger/journal files with both apps. On a historical note, probably few know this, but I started Beancount in 2008, it's not a recent project: http://web.archive.org/web/*/furius.ca/beancount That's another thing I was completely ignorant of considering it being just recent creation. I only recently got interested in participating on the mailing-list--I had been happily tinkering away in my private corner for many years, never was too interested in spreading the word beyond putting my website out there. The version I'm about to release is a complete rewrite, which is why I have a renewed interest, because I want to tackle new problems, like computing investment returns correctly, precise and correct booking for retirement accounts (at average cost), handling wash sales, improving tracking of payables receivables, and more. At the moment I'm ignorant about some of those features on your TODO list, but despite of that I'll seriously consider Beancount. ;) Lastly, when looking at https://pypi.python.org/pypi/beancount/0.9 Beancount does not look good with last official release more than 5yrs ago. Moreover, I do not like that docs are on Google, but that's just my personal preference - when I was browsing it, soon I got email that my request for change (some space) was rejected. :-) However, one thing seems to be more clear and that is that we're probably going to some cli app leaving Gnucash behind. Beyond generic strengths and weaknesses specific to its language, Haskell does not confer any particular advantage to the task of solving the simple problems of command-line accounting. One possible advantage of Haskell might be *less* bugs in the implementation considering its strong type system and static compilation which, afaict, can catch bugs at runtime for which one would have to write unit tests when using dynamic language. As far as Beancount is considered, Python is certainly more popular/easy forend-users' scripting. The only real requirement any language needs to solve the problems we're solving is to have handy a speedy and trustable decimal or rational number representation; little else. Do you
Re: ledger vs hledger vs beancount or how to choose the right cli client
Gour g...@atmarama.net writes: I must say that I was/am not very familiar with Beancount, but assumed that since Ledger is the original and other are clones running behind that it is the most complete. I'm pretty sure this is true regarding the core CLI functionality, but the other systems have branched into areas that C++Ledger does not support at all, such as hledger's Web UI. John -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sun, Sep 7, 2014 at 3:35 AM, Gour g...@atmarama.net wrote: On Sat, 6 Sep 2014 10:59:53 -0400 Martin Blais bl...@furius.ca wrote: What exactly do you mean by a split transaction? It's Gnucash terminology for having transaction with more then two postings, e.g. when money flows from one asset account into two or more expenses accounts and I see there is no problem with it. This is commonplace in all CLI accounting systems. Not a problem. That's pretty much everything and I wonder if ledger - which I consider is the richest feature-wise can handle all the tasks? Out of curiosity, what gives you that impression? I must say that I was/am not very familiar with Beancount, but assumed that since Ledger is the original and other are clones running behind that it is the most complete. Again, what makes you think that the other softwares are running behind? In some of the ways that it differs, I view some of the new features I implement in Beancount as new and pushing the envelope forward. The reason: command-line double-entry accounting. That's clear, but the question was/is why another cli when there are already few ones existing? I understand your desire for the open source world to produce a single best pristine software to solve any one particular problem, but this is just not how the world operates. The reality of solving problems is a messy discussion of differing ideas by different people with different needs at different points in time. The discussion takes the form of codes and incremental changes over time. I though I waxed about the topic of why CLI DE accounting in the following doc than anyone would ever have time for... does this doc provide a sufficient explanation? I read that prior to asking the question, but it does not provide satisfying answer what Beancount provides over e.g. Ledger? Why does a motivation have to be framed in terms of Ledger? I'll guess that what you meant is why write Beancount when there is already Ledger, HLedger, Abandon, etc. Right. Beancount is substantially different in many ways, not only in its design and syntax, but even in its most basic operations, i.e., how it treats the booking of lots in inventories against each other, how it treats cost basis, its rule for balancing of transactions, how it handles currency conversions (not at cost), the fact that it enforces accounts to be in one of five types and explicitly lacks support virtual/unbalancing postings, a guarantee of order independence of its declarations, and in the mechanisms it provides for extensibility (via Python instead of its own language). It's not just an incompatible syntax, it's a very different beast. Now it's much more clear. Thank you! First of all, I was not at all aware it's not e.g. compatible with Ledger (like e.g. hledger) which puts it into somewhat different perspective when I evaluate option for doing cli accounting. No hope for syntax compatibility from Beancount at this point, the semantics are just too different. Conversion would be necessary. I'll write a more detailed comparison doc and share it on this thread later, there is a lot of detail on previous discussions from this list, but it's probably worth gathering all of it in one place with examples. Yes, I consider it would be worthwhile. It's coming. Need a bit of time. While their syntaxes are incompatible, it would be very easy to write a script to convert from Beancount syntax to Ledger-compatible syntax. I intend to build such a thing eventually, so you could use both. I'm not sure I will be able to match the semantics, this will be an interesting little project in any case. That would be interesting. Hledger seems to have advantage here since it's even encouraged to test *.ledger/journal files with both apps. Personally I think that syntax is a poor way to evaluate software. How the core calculations are carried out should be the more important criteria. Lastly, when looking at https://pypi.python.org/pypi/beancount/0.9 Beancount does not look good with last official release more than 5yrs ago. I see 2.0beta: https://pypi.python.org/pypi/beancount I've just updated and called it 2.0beta2 (I'm not very good about updating indexes all around the web.) Moreover, I do not like that docs are on Google, but that's just my personal preference - Aren't they nicely readable and beautifully formatted and available on all your devices and in many formats? Isn't this the goal of documentation? Why don't you like them? when I was browsing it, soon I got email that my request for change (some space) was rejected. :-) When someone makes a recommendation, I get an email too and look to see if this is a genuine suggestion or just some accidental fat fingering. It happens a lot that readers insert characters by mistake and don't notice (that's the downside of making the doc open for everyone to
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sep 7, 2014, at 8:12 AM, Martin Blais bl...@furius.ca wrote: I see 2.0beta: https://pypi.python.org/pypi/beancount Note that 'pip' disregards beta versions by default, which is why the 1.0 was installed. The same thing happens for me. Use 'pip --pre' when installing to allow prerelease versions. Nathan -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Sun, Sep 7, 2014 at 11:12 AM, Martin Blais bl...@furius.ca wrote: I'll write a more detailed comparison doc and share it on this thread later, there is a lot of detail on previous discussions from this list, but it's probably worth gathering all of it in one place with examples. Yes, I consider it would be worthwhile. It's coming. Need a bit of time. There you go: http://furius.ca/beancount/doc/comparison Open and welcome for comments, as usual. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Fri, Sep 5, 2014 at 3:57 AM, Gour g...@atmarama.net wrote: Hello, I'm strongly considering to switch to some cli-based repo for my accounting needs, [...] Of course, for my transactions I regularly have need for 'split' ones. What exactly do you mean by a split transaction? That's pretty much everything and I wonder if ledger - which I consider is the richest feature-wise can handle all the tasks? Out of curiosity, what gives you that impression? It seems that hledger which is created in order to be 'little more simple, usable, installable, documented' might not handle everything - 'historical price records' if that's is required for having record of exchange rate when conversion between currencies or 'automated transactions' if that refers to scheduled transactions. I'd also like to be able to use different (native) display formats, iow. not only -mm-dd. Yesterday I was also reading some docs about Beancount, but must admit it was not 100% clear to me what is the main reason behind it. The reason: command-line double-entry accounting. I though I waxed about the topic of why CLI DE accounting in the following doc than anyone would ever have time for... does this doc provide a sufficient explanation? *http://furius.ca/beancount/doc/motivation http://furius.ca/beancount/doc/motivation* I'll guess that what you meant is why write Beancount when there is already Ledger, HLedger, Abandon, etc. Beancount is substantially different in many ways, not only in its design and syntax, but even in its most basic operations, i.e., how it treats the booking of lots in inventories against each other, how it treats cost basis, its rule for balancing of transactions, how it handles currency conversions (not at cost), the fact that it enforces accounts to be in one of five types and explicitly lacks support virtual/unbalancing postings, a guarantee of order independence of its declarations, and in the mechanisms it provides for extensibility (via Python instead of its own language). It's not just an incompatible syntax, it's a very different beast. I'll write a more detailed comparison doc and share it on this thread later, there is a lot of detail on previous discussions from this list, but it's probably worth gathering all of it in one place with examples. While their syntaxes are incompatible, it would be very easy to write a script to convert from Beancount syntax to Ledger-compatible syntax. I intend to build such a thing eventually, so you could use both. I'm not sure I will be able to match the semantics, this will be an interesting little project in any case. On a historical note, probably few know this, but I started Beancount in 2008, it's not a recent project: http://web.archive.org/web/*/furius.ca/beancount Ledger had been around since at least 2004 (at its original location): http://web.archive.org/web/*/http://www.newartisans.com/ledger/ The main ideas for Beancount originally came from Ledger, more specifically: the original syntax and using a single text file for all ledger contents as input, doing away with credits debits, allowing the user to elide one posting's amounts, and likely some more. I originally meant to implement a compatible syntax but quickly started diverging because I wanted to add some other features, like balance assertions and explicitly declaring accounts to be open. I only recently got interested in participating on the mailing-list--I had been happily tinkering away in my private corner for many years, never was too interested in spreading the word beyond putting my website out there. The version I'm about to release is a complete rewrite, which is why I have a renewed interest, because I want to tackle new problems, like computing investment returns correctly, precise and correct booking for retirement accounts (at average cost), handling wash sales, improving tracking of payables receivables, and more. For hledger, implementation in Haskell also has its justification especially that there is now work going on ledger-4 in the same language. (Will the two merge in future?) Beyond generic strengths and weaknesses specific to its language, Haskell does not confer any particular advantage to the task of solving the simple problems of command-line accounting. In fact, a strong case could be made that dynamic languages are best suited and in wide usage for such text processing tasks, of which this is just a particular case. I think the choice of specific implementation tools and languages reflects more on the taste of its authors and the choice of what toy we like to tinker with at the time. The only real requirement any language needs to solve the problems we're solving is to have handy a speedy and trustable decimal or rational number representation; little else. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an
Re: ledger vs hledger vs beancount or how to choose the right cli client
Martin Blais bl...@furius.ca writes: Ledger had been around since at least 2004 (at its original location): http://web.archive.org/web/*/http://www.newartisans.com/ledger/ Pretty accurate, it began in Aug 2003, with the Git history beginning almost two months later. John -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
ledger vs hledger vs beancount or how to choose the right cli client
Hello, I'm strongly considering to switch to some cli-based repo for my accounting needs, but would like to get some help which one would suit my needs best... At the moment I use Gnucash and my personal.gnucash (uncompressed) is ~5M (few years of transactions). My main usage of Gnucash consists of entering transactions and doing reconcile for several accounts monthly. I must say that I'm not running GC's reports so often and do not use budgeting, quotes/stocks, online banking, loan repayments etc. Besides personal finances I also use GC for my own small (counselling) company, but for creating quotes/invoices I use separate (fusioninvoice.com) web app written in PHP which now works with Sqlite3 database since GC is not suitable for handling quotes/invoices since not every quote results in invoice which means there should be two separate counters - one for each. I tried to use scheduled transactions in GC, but few times had need to postpone some of it and then I experienced corruption, had to revert (all my *.gnucash files are kept under DVCS - Fossil), but had to give up scheduled transactions and instead just use 'duplicate transaction' option. Of course, for my transactions I regularly have need for 'split' ones. Besides that, I need to handle and keep, at least, two currencies - native one and € and occasionally had need to convert one into another. My chart of account is, I believe, of medium size - e.g. ~100 (sub)accounts under Expenses. As far as busines side is concerned and considering that GC is not really suitable for it, I envision that I could use (h)ledger/beancount and then export data for quotes/invoices and import them into my web app where the appropriate docs are generated... Now I see that there are several forks of original ledger and wonder which one would be suitable for my needs described-above? I like cli tools and e.g. Taskwarrior (http://taskwarrior.org/) is my beloved tool for handling tasks and I now I settled on Vim as my editor. That's pretty much everything and I wonder if ledger - which I consider is the richest feature-wise can handle all the tasks? It seems that hledger which is created in order to be 'little more simple, usable, installable, documented' might not handle everything - 'historical price records' if that's is required for having record of exchange rate when conversion between currencies or 'automated transactions' if that refers to scheduled transactions. I'd also like to be able to use different (native) display formats, iow. not only -mm-dd. Yesterday I was also reading some docs about Beancount, but must admit it was not 100% clear to me what is the main reason behind it. For hledger, implementation in Haskell also has its justification especially that there is now work going on ledger-4 in the same language. (Will the two merge in future?) Any advice is helpful in regard! Sincerely, Gour -- Never was there a time when I did not exist, nor you, nor all these kings; nor in the future shall any of us cease to be. -- Abandoning all attachment to the results of his activities, ever satisfied and independent, he performs no fruitive action, although engaged in all kinds of undertakings. http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
I think the first place to start is to ask what method you want to use to maintain your ledger data. emacs ledger-mode only works with ledger, I haven't attempted to run hledger and know little about beancount. On Fri, Sep 5, 2014 at 12:57 AM, Gour g...@atmarama.net wrote: Hello, I'm strongly considering to switch to some cli-based repo for my accounting needs, but would like to get some help which one would suit my needs best... At the moment I use Gnucash and my personal.gnucash (uncompressed) is ~5M (few years of transactions). My main usage of Gnucash consists of entering transactions and doing reconcile for several accounts monthly. I must say that I'm not running GC's reports so often and do not use budgeting, quotes/stocks, online banking, loan repayments etc. Besides personal finances I also use GC for my own small (counselling) company, but for creating quotes/invoices I use separate (fusioninvoice.com) web app written in PHP which now works with Sqlite3 database since GC is not suitable for handling quotes/invoices since not every quote results in invoice which means there should be two separate counters - one for each. I tried to use scheduled transactions in GC, but few times had need to postpone some of it and then I experienced corruption, had to revert (all my *.gnucash files are kept under DVCS - Fossil), but had to give up scheduled transactions and instead just use 'duplicate transaction' option. Of course, for my transactions I regularly have need for 'split' ones. Besides that, I need to handle and keep, at least, two currencies - native one and € and occasionally had need to convert one into another. My chart of account is, I believe, of medium size - e.g. ~100 (sub)accounts under Expenses. As far as busines side is concerned and considering that GC is not really suitable for it, I envision that I could use (h)ledger/beancount and then export data for quotes/invoices and import them into my web app where the appropriate docs are generated... Now I see that there are several forks of original ledger and wonder which one would be suitable for my needs described-above? I like cli tools and e.g. Taskwarrior (http://taskwarrior.org/) is my beloved tool for handling tasks and I now I settled on Vim as my editor. That's pretty much everything and I wonder if ledger - which I consider is the richest feature-wise can handle all the tasks? It seems that hledger which is created in order to be 'little more simple, usable, installable, documented' might not handle everything - 'historical price records' if that's is required for having record of exchange rate when conversion between currencies or 'automated transactions' if that refers to scheduled transactions. I'd also like to be able to use different (native) display formats, iow. not only -mm-dd. Yesterday I was also reading some docs about Beancount, but must admit it was not 100% clear to me what is the main reason behind it. For hledger, implementation in Haskell also has its justification especially that there is now work going on ledger-4 in the same language. (Will the two merge in future?) Any advice is helpful in regard! Sincerely, Gour -- Never was there a time when I did not exist, nor you, nor all these kings; nor in the future shall any of us cease to be. -- Abandoning all attachment to the results of his activities, ever satisfied and independent, he performs no fruitive action, although engaged in all kinds of undertakings. http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Craig, Corona De Tucson, AZ enderw88.wordpress.com -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ledger vs hledger vs beancount or how to choose the right cli client
On Fri, 5 Sep 2014 07:28:38 -0700 Craig Earls ender...@gmail.com wrote: I think the first place to start is to ask what method you want to use to maintain your ledger data. I do not mind using vim for it, but, afaik, hledger does not have anything against using editor to maintain data. Sincerely, Gour -- Whenever and wherever there is a decline in religious practice, O descendant of Bharata, and a predominant rise of irreligion — at that time I descend Myself. -- --- You received this message because you are subscribed to the Google Groups Ledger group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.