[GNC] Kind of a Philosophical Question about Transaction Dates

Jim DeLaHunt list+gnucash at jdlh.com
Mon Mar 2 20:56:45 EST 2026


Tom:

Interesting question. And deeper that it may sound!

On 2026-03-02 17:00, Tom Route36 wrote:
> …Any transaction in GnuCash always involves at least two accounts.  
> For example, when you make a payment to a credit card account you're 
> debiting funds from your checking account, and crediting those funds 
> to your  credit card account.  My question here is about how folks 
> choose to enter the transaction dates in GnuCash.
> …If you use Feb. 27th, the transaction date differs from your next 
> month's bank statement.  But if you use March 2nd, the date differs 
> from your next credit card statement.… I was just curious how other 
> folks deal with these kinds of date differences.

Most transactions I enter into GnuCash are not instantaneous. They take 
non-zero time, often more than a day, from when they start to when all 
the settlement of all the parties is finished. There can be four days 
from when an interbank transfer leaves my investment account to when it 
arrives in my chequing account. There can be weeks between when I write 
a paper cheque, to when the recipient deposits the cheque, to when my 
bank takes the funds from my account. Different parties can report 
different times when they participated in the transaction, for instance, 
the moment when I wrote the cheque, the moment when the recipient 
received the cheque, the moment when the recipient deposited the cheque, 
the moment when the receiving bank requested funds from my bank, the 
moment when my bank took the funds from my account.

Yet GnuCash's data model has room for only one time value per 
transaction, and that time value is in increments of calendar days, no 
finer.

Clearly what the GnuCash data model can store will be a simplification 
of what actually happens in the transaction. I need to choose one moment 
from the many moments when steps happened in the transaction. I need to 
record that moment with day granularity.

I choose to record the date which is closest to my first action in the 
transaction. For a credit card purchase, when I made the purchase. For a 
cheque, when I write it. For funds I receive, when I deposit it. When my 
bank credits me interest, when they say they credited it. I usually 
choose to disregard how long the transaction takes to complete.

The purpose of my bookkeeping is to help me understand my financial 
situation to the level that I need to understand it. The actual duration 
of a transaction is often immaterial to my financial situation, so I 
don't need to worry much about which date I choose to represent the many 
moments of a transaction.

You can imagine a data model which includes a time value, to microsecond 
accuracy, of every event that happens as part of a transaction. There 
may be some bookkeepers which need that kind of data to be able to 
understand their financial situation. GnuCash is not designed for them.

Best regards,
     —Jim DeLaHunt\




More information about the gnucash-user mailing list