From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id ENXXAdKKb1/fOAAA0tVLHw (envelope-from ) for ; Sat, 26 Sep 2020 18:39:14 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id mPdAOdGKb1/vNQAAbx9fmQ (envelope-from ) for ; Sat, 26 Sep 2020 18:39:13 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 69316940546 for ; Sat, 26 Sep 2020 18:39:13 +0000 (UTC) Received: from localhost ([::1]:35198 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kMF6E-0001tw-QI for larch@yhetil.org; Sat, 26 Sep 2020 14:39:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38070) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kMF5p-0001tl-US for emacs-orgmode@gnu.org; Sat, 26 Sep 2020 14:38:45 -0400 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]:37741) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kMF5l-0006Kc-Df for emacs-orgmode@gnu.org; Sat, 26 Sep 2020 14:38:45 -0400 Received: by mail-ej1-x634.google.com with SMTP id nw23so2983151ejb.4 for ; Sat, 26 Sep 2020 11:38:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nAn1IJflnu9LaVW6DJPD98eQm0lLrbfldv+/dwhi16o=; b=CvNDh3PMvaGC1vMi8v7k/Fod914Mu/Cc1fVE8K3z2FT0hhU44HhwSo7U9mSU4paCUi v27EOsgTCa4aqfxpOx8ViK9ES0Lj8bIg5VdqdzGli/UsVP6xvIl6yCNjk3n4HphTgBqf PX0BqFtLAeX3BVffGFOyHA5hJRoaMrb9y4QbomjKoApUbeWjWWkzkp60dMfLm+1ZJkDT dk/2TH7vbThaLN3lxp6PWxYTeGiWFcrEtkrDDE3dL8bdpJhh2PquvbQFZRaIyQYuTTri MdcI/pMiw7E4NUz1en0dg9xd1G8VZ0FtMm4b1z9n+Rnh5FRmz8kU7lc4a6k/wGsacK0i byxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nAn1IJflnu9LaVW6DJPD98eQm0lLrbfldv+/dwhi16o=; b=AhdRD2j1EPz+M4PR236NhEqzSL/1KytQ4dGu2peV1AiZgJnZbWj8qFW/cKSAsb3A1k +EIPAQrXSzFHoWX5RAw5q30Zp0QXgGG/JrAdGl2nmMZVl8WDbDWfnKhU0wEsP9fqzY+a 2T1Lr2mteZRGFT+YISSWOr2IqDO+s0haR9lqgstHz4K5CdAM3GIsRIc2hcHaU62FwLBD qV1EAal9LuRAxf53dcvDDwFOtG6T1azDnHtJ8DHxfAx9SvPudE84JJBH6N46Xz++engY R9+PpMtT5alFjJ2lix79K33tbxrTJXno8NXt/6nZGJD174vGcQ6A3PXGNiiOhZRXs84c U4Fg== X-Gm-Message-State: AOAM531Yu9LiKNNhiI9aVJDctnqlY4iMJRB4mmYdapjjOTqVLjSSITWQ ammoYEVo2QKjYBY2NYHZnFmQDr8vnKpH38Cm07M= X-Google-Smtp-Source: ABdhPJxsjwrvECc6tbbz/Vkj8K+U3oHRskRrtgdxhfQ/jdrht8T7U+1KT7LjGT8Ll45Yn8l/i9MRCnJG6Jf4I7wKvH0= X-Received: by 2002:a17:906:8143:: with SMTP id z3mr8262201ejw.323.1601145518659; Sat, 26 Sep 2020 11:38:38 -0700 (PDT) MIME-Version: 1.0 References: <3444a52f-36a7-6e9d-46b9-272dddc7a3ef@grinta.net> <02f504f7-c438-fe9a-b606-8534b66b356f@grinta.net> In-Reply-To: <02f504f7-c438-fe9a-b606-8534b66b356f@grinta.net> From: Neil Jerram Date: Sat, 26 Sep 2020 19:38:27 +0100 Message-ID: Subject: Re: org-tables with monetary amounts To: Daniele Nicolodi Content-Type: multipart/alternative; boundary="000000000000df9b8005b03bbdf2" Received-SPF: pass client-ip=2a00:1450:4864:20::634; envelope-from=neiljerram@gmail.com; helo=mail-ej1-x634.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Org Mode List Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=CvNDh3PM; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -0.71 X-TUID: kqG9uwtR2Ymq --000000000000df9b8005b03bbdf2 Content-Type: text/plain; charset="UTF-8" On Fri, 25 Sep 2020 at 12:36, Daniele Nicolodi 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 > --000000000000df9b8005b03bbdf2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Fri, 25 Sep 2020 at 12:36, Daniele Nic= olodi <daniele@grinta.net> = wrote:
On 25/09/2020 11:25, Neil Jerram wrote:
> Aside: Perhaps I'm misunderstanding them, but none of the open sou= rce
> 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.=C2=A0 But I think what I really meant is that = I would prefer tools that=C2=A0can work directly on the data sources that I= already have - i.e. OFX files from my bank - without needing to convert th= ose first into their own file format.=C2=A0 To put it another way, if the f= ile format per se is not an important feature, what are the ways that the p= lain text accounting tools add the most value?=C2=A0 The value I'm inte= rested in is in (a) categorizing and (b) reporting; but I haven't yet s= een any of these tools having the kind of intelligence, out of the box, tha= t I'm looking for in those areas.


> - They don't offer anything intelligent and automated for automati= cally
> 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 ha= d the intelligence built-in (with appropriate=C2=A0configurability).=C2=A0 = If I have to code...=C2=A0 well, I have already done it myself.
= =C2=A0

> - They don't have a sophisticated representation of a budget, and<= br> > 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.=C2=A0 The simplest kind of budget would be a n= umber for each category, for the whole year.=C2=A0 But then you don't h= ave a very detailed evaluation if, say, you're looking at your actual e= xpenditure and it's only February.=C2=A0 Some bits of budget might only= be expected on a few specific dates; others are regular every month; other= s could be monthly but varying in amount; others are allowances that could = happen any time.=C2=A0 It seems to me that when you can predict particular = expenses, it's better if you can express those precisely and that an &q= uot;expenditure against budget" report can take those into account as = well as the allowance pots.
=C2=A0

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

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

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

> I've attached mine, in case you read Scheme and there's more d= etail 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 d= o 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.
<= br>
Yes indeed.=C2=A0 The answer about Calc units sounded as thou= gh 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 o= utput with the desired unit.

Best wishes,
=C2=A0 =C2=A0 Neil

=C2=A0

Cheers,
Dan
--000000000000df9b8005b03bbdf2--