v3: Allow different dates for different legs of transactions?

112 views
Skip to first unread message

Aaron Lindsay

unread,
Nov 30, 2020, 11:33:53 AM11/30/20
to Beancount
Martin, is allowing for different posting dates for different legs of a transaction natively in beancount something you would consider for v3?

It is somewhat of an annoyance that some transactions post to different accounts on different dates in the real world (credit card payments sent by billpay from checking account, paper checks mailed from health/dependent care reimbursement accounts and later deposited, etc.). In beancount v2, this means you may have to 'lie' to reconcile accounts with conflicting balance assertions when a transaction needs to be on one side of a balance boundary in one account and not in the other because a given transaction can only have one date. Shifting the dates one way or the other can work around this, but can also involve shifting the dates of unrelated transactions which also need to be on one side or the other of the balance assertion.

I'm attempting to update my finances more frequently to turn it from a monthly chore to to a quick daily habit (with a dose of automation for getting the transactions to the point where I can review them), and I'm running into issues like this more frequently. It also feels a little wrong to me to be keeping a record of my finances that differs from my banks' views of what happened.

-Aaron

p.s. To be clear, I'm guessing I can probably write a plugin to do this, I'm just wondering if it's something fundamental enough that you would consider putting support for it into the core of beancount.

Martin Blais

unread,
Nov 30, 2020, 3:51:45 PM11/30/20
to Beancount
Yes, this problem will be fixed in v3. 
It's annoying me too. I'm currently porting the parser to C++ (almost done) and will make corresponding changes.
See here:



--
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/9b869b13-7a10-4aae-a77f-85193a678874n%40googlegroups.com.

Aaron Lindsay

unread,
Nov 30, 2020, 4:49:17 PM11/30/20
to Beancount
Ah, perfect. Thanks for pointing me to it - I've even looked at that document before and missed that section.

-Aaron

Chary Chary

unread,
Dec 6, 2020, 10:42:21 AM12/6/20
to Beancount
Martin,

question: why in V3 you plan to place Transfer account under Equity ?


====================================================

One possible idea would be to allow optional posting dates, like this:

2020-01-19 * "ONLINE PAYMENT - THANK YOU" ""
  Assets:US:BofA:Checking  -2397.72 USD
  2020-01-21 Liabilities:US:Amex:BlueCash  2397.72 USD

which would result in two transactions behind the scenes, like this:

2020-01-19 * "ONLINE PAYMENT - THANK YOU" ""
  Assets:US:BofA:Checking  -2397.72 USD
  Equity:Transfer

2020-01-21 * "ONLINE PAYMENT - THANK YOU" ""
  Liabilities:US:Amex:BlueCash  2397.72 USD
  Equity:Transfer
  


===================================================

In this case if somebody regularly checks his Net Worth, by performing calculation Assets + Liabilities, then on 2020-01-20 he will all of a sudden find, that he now has  2397.72 USD less (as they have been moved to Equity) and on 2020-01-21 he will find, that these 2397.72 USD came back, whilst in reality money have just been transferred from Checking account to credit card

I your early document you were planning to place transfer account to Assets. Isn't this more appropriate?

In my eyes transfer account shall be under Assets or Liabilities,  in this case checking your net worth by using formula Assets + Liabilities will not produce strange results, whilst your money go from one account to another.

Or am I missing something?

Regards.

Martin Blais

unread,
Dec 6, 2020, 12:05:39 PM12/6/20
to Beancount
Where do you believe it should be?
It'll be configurable, but I suppose it could be under Assets and/or Liabilities (could be two accounts if proper signs are needed).


Chary Chary

unread,
Dec 6, 2020, 4:11:09 PM12/6/20
to Beancount
Martin,

I agree with you, that it needs to be under  Assets and/or Liabilities. In this case Net Worth (Assets + Liabilities) will not change when money are merely being transferred from one account to another.

I do not think, that it matters, whether this goes under Assets or Liabilities, as these are effectively the same thing. Just Assets are mostly positive and Liabilities are mostly negative.

Martin Blais

unread,
Dec 6, 2020, 4:15:30 PM12/6/20
to Beancount
I'll make it configurable, and separate by sign (though you could provide the same account name to have both postings go to the same place.)


redst...@gmail.com

unread,
Dec 8, 2020, 5:43:32 AM12/8/20
to Beancount
In case you find a plugin of value until v3 is released, see:
Zerosum: I wrote it for exactly this use case initially. Download both accounts in question (eg: credit card, banking), and this will identify and move "matches" into a matched account. Configurable.

Effective dates: to book different legs of a transaction to different dates. Also configurable.
Reply all
Reply to author
Forward
0 new messages