payee per posting

157 views
Skip to first unread message

Matt Hellige

unread,
May 20, 2021, 7:23:10 PM5/20/21
to bean...@googlegroups.com
Migrating a non-profit bookkeeping system from ledger, and currently I group bank deposits into a single transaction like this, with a separate payee for each posting. The main deposit posting inherits the payee of the whole transaction, "Our Bank". 

2020/01/22 Our Bank
  Assets:Cash:Checking Account                                  $ 15.00
  Income:Earned:Program Fees                                    $ -10.00
    ; Payee: John Public
    ; Dated:: [2020/01/19]
    ; CheckNo: cash
    ; Program: Events:Programs:Workshop
    ; Location: CCUU
    ; Memo: aspects classes (2)
  Income:Earned:Program Fees                                     $ -5.00
    ; Payee: Cindy Burrows
    ; Dated:: [2020/01/19]
    ; CheckNo: cash
    ; Program: Events:Programs:Workshop
    ; Location: CCUU
    ; Memo: aspects class

Is it possible to do this in beancount, overriding the payee for each posting? Or do I need to create a temporary account like "UndepositedFunds", or whatever, and separate this into three separate transactions? We operate on the cash basis, so technically I don't like to recognize the income until the date of deposit, and I keep the check date in the "Dated" metadata on each posting.

Thanks!
Matt

Ben Blount

unread,
May 20, 2021, 7:41:33 PM5/20/21
to Beancount
Not out of the box AFAIK.

Yes if you write a plugin:
- Make "payee" a metadata field on each posting.
- Write a plugin that splits the original transaction into several.

--
You received this message because you are subscribed to the Google Groups "Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beancount+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAFpGnbOWmatQ%2BEMniv9CtGHL0GtzS34CeByco-fCSzHuxurr2A%40mail.gmail.com.

Matt Hellige

unread,
May 21, 2021, 10:27:28 AM5/21/21
to bean...@googlegroups.com
Thanks. I may try that. It's a little unfortunate that the only solution involves multiple transactions, because it's nice to be able to easily see that so-and-so took these five checks to the bank on a particular day, as a single occurrence. But since the plugin could label all the various transactions with the same source file/line, and connect them all with a link or tag, that might be the best I can do.

Matt


redst...@gmail.com

unread,
May 21, 2021, 4:03:13 PM5/21/21
to Beancount
What do you want to eventually do with the Payee field in this particular type of transaction? If you don't need to query by payee, you could write a single transaction pretty much as you showed above, uncommenting the commented lines. Then, 'payee' will be an arbitrary metadatam that will be associated with the posting (not to be confused with the transaction's payee field, which will remain unchanged). You probably knew this though.

Daniele Nicolodi

unread,
May 21, 2021, 4:14:00 PM5/21/21
to bean...@googlegroups.com
On 21/05/2021 16:27, Matt Hellige wrote:
> Thanks. I may try that. It's a little unfortunate that the only solution> involves multiple transactions,

I would like to point pout that although ledger allows a syntax that
bundles them together, these _are_ separate transactions.

> because it's nice to be able to easily
> see that so-and-so took these five checks to the bank on a particular
> day, as a single occurrence.

This information can be recorded in other ways (one being doing excatly
nothing and relying on the fact that they all occurred the same day)
that do not involve a magic syntax with a magic expansion of what seems
a single transaction into many. In this regard, the ledger syntax is
actually worst: once the transactions are read from the file there is no
way to know that they are related is lost as it is preserved only in the
visual appearance of the record in the ledger file.

If being able to link the transactions together easily (also when
querying the ledger with automated tools) is a requirement, the
Beancount way of doing it is through links.

> But since the plugin could label all the
> various transactions with the same source file/line, and connect them
> all with a link or tag, that might be the best I can do.

I don't think a plugin would buy you much here, but the link solution is
actually better than the (overly complex IMO) ledger syntax.

Cheers,
Dan

Matt Hellige

unread,
May 21, 2021, 7:09:39 PM5/21/21
to bean...@googlegroups.com
On Fri, May 21, 2021 at 3:14 PM Daniele Nicolodi <dan...@grinta.net> wrote:
On 21/05/2021 16:27, Matt Hellige wrote:
> Thanks. I may try that. It's a little unfortunate that the only solution> involves multiple transactions,

I would like to point pout that although ledger allows a syntax that
bundles them together, these _are_ separate transactions.

I suppose that's a matter of perspective. In cash basis, we recognize the income when we receive the cash, which in this case is a single deposit transaction at the bank. But yes it definitely aggregates multiple transactions with individual donors. So I guess I can see both sides of this one. 
 
> because it's nice to be able to easily
> see that so-and-so took these five checks to the bank on a particular
> day, as a single occurrence.

This information can be recorded in other ways (one being doing excatly
nothing and relying on the fact that they all occurred the same day)
that do not involve a magic syntax with a magic expansion of what seems
a single transaction into many. In this regard, the ledger syntax is
actually worst: once the transactions are read from the file there is no
way to know that they are related is lost as it is preserved only in the
visual appearance of the record in the ledger file.

If being able to link the transactions together easily (also when
querying the ledger with automated tools) is a requirement, the
Beancount way of doing it is through links. 

> But since the plugin could label all the
> various transactions with the same source file/line, and connect them
> all with a link or tag, that might be the best I can do.

I don't think a plugin would buy you much here, but the link solution is
actually better than the (overly complex IMO) ledger syntax

Everything you say here makes sense. I don't see much advantage to a plugin, I'd rather keep my ledger file clear and handle this in the importer. I'll experiment with links or tags and I'm sure it'll be a good outcome.

Thanks to you and redstreet for your thoughts!

Matt

Reply all
Reply to author
Forward
0 new messages