Re: bank accounts, reports vs. logbook
On Dec 14, 2010, at 12:30 PM, Simon Michael wrote: However, it might be nice if we can agree on a consistent usage, at least to make documentation and learning easier. I believe John W. does it this way: ACTUAL=EFFECTIVE or in this case BANKDATE=MYDATE The real distinction is this: Whichever date is to the left will be reported by default. If you want that to be the bank's reckoning, then put that to the left. If you want it to be your checkbook's reckoning, then put that date to the left. There is no inherent meaning, however. I may just end up documenting them as leftdate and rightdate, or something equally meaningless, to leave the actual semantics up to the user. John
Re: bank accounts, reports vs. logbook
On 12/14/10 9:45 AM, Gabriel Kerneis wrote: I use MYDATE=BANKDATE for several reasons: - it looks more logical to append the bankdate (which I'll always learn *after* I write the transaction) rather than prepending it, - it is also more logical to read the dates (left to right) from the earliest to the latest, Personally, I agree with you on both of the above points. - the actual date is (IMO) the date the transaction actually happens (ie. the real date); the effective date is the date it becomes effective on my bank account. I think this is just one interpretation of many. What's real depends on context and point of view, and also our words are slippery. The friday night you purchase a movie ticket (that clears on monday) seems like the real date, but the day your cheque is cashed (and perhaps bounces) is more real as far as your bank and your account balance is concerned. As you look at other kinds of real-world accounting transactions you find more ambiguities. On 12/14/10 10:56 AM, John Wiegley wrote: The real distinction is this: Whichever date is to the left will be reported by default. As I said. Good. There is no inherent meaning, however. I may just end up documenting them as leftdate and rightdate, or something equally meaningless, to leave the actual semantics up to the user. I think this would mean this exact confusion and discussion will recur endlessly. Wouldn't it be better for ledger to be a little opinionated here, to give some guidance ? I'd be ok with it ratifying (describing, suggesting) your original convention, which I've documented to the best of my ability at http://hledger.org/MANUAL.html#actual-effective-dates . (You planned to draw from this at some point, so be aware that I rewrote it again recently.) But I think in my ideal world the best practice that we'd document is what Gabriel and I, as left-to-right language speakers, intuited: the date that is chronologically first - which is also usually the one you know about first - is written first (on the left). Second, we would converge on and document some consistent terminology to use when talking about these dates. Third, based on that we might or might not choose to rename date-selecting options to something neutral, eg --effective might become --second-date. Comments ?
Re: bank accounts, reports vs. logbook
I think this is just one interpretation of many. What's real depends on context and point of view, and also our words are slippery. The friday night you purchase a movie ticket (that clears on monday) seems like the real date, but the day your cheque is cashed (and perhaps bounces) is more real as far as your bank and your account balance is concerned. As you look at other kinds of real-world accounting transactions you find more ambiguities. This comes down to the difference between cash- and accrual-basis accounting. In cash-basis accounting you record transactions based on when money actually leaves or enters your account. In accrual-basis accounting, you record transactions based on when you commit to spending or earning money (e.g., the day you write the check, or the day your employer's payperiod ends). If you're practicing accrual-basis accounting, it is logical to use the left date for the date you decided to spend money (since that's the date accrual-basis accounting cares about), and use the right date for the date the transaction clears. If you're practicing cash-basis accounting, it is logical to use the left-date for the date the transaction clears (since that's when you consider the money actually spent), and the right date for the date you wrote the check (if you record that at all; I'm not sure that date is important in cash-basis accounting). I prefer to use accrual-basis accounting, because it pairs very nicely and naturally with double-entry accounting, eliminating my need for virtual transactions while providing more information at the same time. See this thread[1] for info on how I use accrual-basis accounting in Ledger. Some people mix the two methods together, but choosing one to use as your primary accounting method can help clarify quantitatively which date should go where. [1]: http://groups.google.com/group/ledger-cli/browse_thread/thread/cb92be9afa95b691/c03c8cfc2b711315 -Brian P.S. - My understanding of accrual-basis accounting is limited, since most articles on the subject I've encountered expect practitioners to be businesses, and thus contain lots of scenarios, terms, and assumptions that are beyond be. If I'm incorrect, please let me know.
Re: bank accounts, reports vs. logbook
That's a nice clarification, but I don't follow why the choice of accrual or cash basis determines which side each date logically belongs on ? For me it seems more logical to have a fixed ACCRUALDATE=CASHDATE ordering, so that in the common case they are also ordered chronologically. You don't want to change all your dates if you switch from cash to accrual accounting, and as noted in that thread it's common to mix both in a journal.
Re: bank accounts, reports vs. logbook
Multiplying all transactions by -1 will only tell you that /something/ doesn't match, but won't tell you what. I get the same information without the multiplication thing by looking at my ending bank statement balance compared with the ending balance Ledger reports. Finding out /where /a discrepancy is//requires comparing each transaction in Ledger and your bank statement, either by hand, or with an auxiliary program. When I reconcile Ledger against my bank statement, I run ledger -wcBU reg checking. I search my bank statement for each transaction, and when I find the transaction I store it's posting date (the date the transaction finished going through the system and became real). In Ledger you do this by saying spending date=posting date. By storing the posting date, I can run ledger -wBC --sort d --effective reg checking and see the transactions in roughly the order they will appear on my bank statement (my bank sorts by posting date). This makes it easy to compare a running balance: Starting at the beginning of the month, I make sure the balances on the statement and in Ledger match. I then run through each day of the month, and if the balances for any given day do not match, I know something's wrong, and about where that something is. If I get to the end of the month and all balances match, I know I'm reconciled! I do this whole process closer to weekly (with my bank's online transaction log) than monthly, so it doesn't build up. -Brian On 12/11/2010 04:36 AM, Ćukasz Stelmach wrote: Hello. I'd like to ask everyone a question about keeping records for bank accounts. What is your way to keep track of your operations and check them agains bank generated monthly reports? I log every tranascation (cash or card) the day (week?) it happened. At the end of a month a get a report from my bank. I convert the CSV to ledger format and now I've got two (not including cash transactions) lists comprising more or less (I'd like to see how much more or less) the same events. What is the best way to compare/merge[*] them? Is there a way to to make ledger multiply transactions from one file by -1 to try to balance two files? [*] card transactions have better description in the file I create manuall, others, like banking expenses are only in the report.