Re: bank accounts, reports vs. logbook

2010-12-14 Thread John Wiegley
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

2010-12-14 Thread Simon Michael

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

2010-12-14 Thread Brian Cottingham



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

2010-12-14 Thread Simon Michael

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: VS project files

2010-12-14 Thread John Wiegley
On Dec 14, 2010, at 4:47 AM, Roel Vanhout wrote:

 Is there any news on the inclusion of the Visual Studio project files
 in the trunk?

I still have them in my source tree, waiting for attention.  I see them
every time I run Git.  But I've been too swamped, I'm sorry.

I'm actually working on a new project that requires me to build using
Visual Studio, so perhaps that will make it easier for me to get into
this now.

Yours, John


Re: ledger build, iostreams, and boost 1.45

2010-12-14 Thread jimr
On Dec 6, 2:22 pm, Matt Lundin m...@imapmail.org wrote:
 Myles English mylesengl...@gmail.com
  Maybe you fixed this by now, but anyway...as a workaround try:
  CPPFLAGS=-DBOOST_IOSTREAMS_USE_DEPRECATED ./acprep update

 Thanks for the tip. That works great.

On a similar note, for Mac OS X folks who are following the directions
of running acprep dependencies, to make Mac Ports fetch any 3rd party
libraries: whereas the plain acprep opt make from the README failed
with an error about boost iostreams being unavailable, running:

  $ CPPFLAGS=-DBOOST_IOSTREAMS_USE_DEPRECATED ./acprep opt make

worked.

Jim