On Fri, 25 Sep 2020 at 12:36, Daniele Nicolodi <daniele@grinta.net> wrote:
On 25/09/2020 11:25, Neil Jerram wrote:
> Aside: Perhaps I'm misunderstanding them, but none of the open source
> tools, including (h)ledger, seem to be of much help here.
> - They focus on data entry and reconciliation, which I don't need as I'm
> happy to download and use OFX files from my bank.

I don't think the focus of ledger (or hledger, or beancount) is on data
entry. Actually beancount even has an ingest framework to deal with
importing data from bank statements and other sources.

Fair enough.  But I think what I really meant is that I would prefer tools that can work directly on the data sources that I already have - i.e. OFX files from my bank - without needing to convert those first into their own file format.  To put it another way, if the file format per se is not an important feature, what are the ways that the plain text accounting tools add the most value?  The value I'm interested in is in (a) categorizing and (b) reporting; but I haven't yet seen any of these tools having the kind of intelligence, out of the box, that I'm looking for in those areas.


> - They don't offer anything intelligent and automated for automatically
> categorizing transactions.

For beancount there is smart_importer
https://github.com/beancount/smart_importer and it is not difficult to
hack your own. I indeed use my own tool based on a simple machine
learning algorithm implemented by scikit-learn (Python).

Thanks, but if I'm using a tool, I'd rather it had the intelligence built-in (with appropriate configurability).  If I have to code...  well, I have already done it myself.
 

> - They don't have a sophisticated representation of a budget, and
> reporting against that.

I am not sure what you mean by "sophisticated representation of a
budged". Once you categorize expenses in a (hierarchical) set of
expenses accounts it is trivial to use something like beancount to check
the balances against a budget.

I'm still thinking this through.  The simplest kind of budget would be a number for each category, for the whole year.  But then you don't have a very detailed evaluation if, say, you're looking at your actual expenditure and it's only February.  Some bits of budget might only be expected on a few specific dates; others are regular every month; others could be monthly but varying in amount; others are allowances that could happen any time.  It seems to me that when you can predict particular expenses, it's better if you can express those precisely and that an "expenditure against budget" report can take those into account as well as the allowance pots.
 

> Do you know of a good forum (other than this!) for discussing such points?

The ledger-cli and the beancount mailing lists may be the right places
to discuss the use of these tools.

Thank you.  I wish there was also a unified plaintextaccounting.org mailing list, as I don't think my questions are for a specific tool.
 

> I've attached mine, in case you read Scheme and there's more detail in
> there that is of interest.

My use case is very different, thus something external to org-mode is
not really useful.

Maybe an example would clarify what my use case is. I am working on a
research proposal where I need to provide details about funding
allocation in a few different categories over a certain amount of years.
In my document this is an org-table. Right now I have two choices to
edit the table:

- have monetary amounts in the cells (example "123.00 EUR") and do the
match externally,

- do the math in the org-table, specify the right formatting for all
computed cells, and still have to post-process it to add the currency
symbols to the input cells.

Either solution is sub-optimal. It would be nice if org-tables could
support monetary fields as they support time fields.

Yes indeed.  The answer about Calc units sounded as though it could address this - is there still a gap in applying it to your case?

Alternatively I believe an org-table formula can invoke arbitrary Lisp, so in principle you could code a function to parse all the inputs (including units), do the math needed, and then format the output with the desired unit.

Best wishes,
    Neil

 

Cheers,
Dan