docs: more toil on explaining actual & effective dates
This commit is contained in:
parent
227b2f7c25
commit
8bec877666
@ -584,34 +584,55 @@ subsequent dates may be written as month/day. Eg:
|
|||||||
|
|
||||||
1/31 ; <- equivalent to 2010/1/31
|
1/31 ; <- equivalent to 2010/1/31
|
||||||
|
|
||||||
##### Actual/effective dates
|
##### Actual & effective dates
|
||||||
|
|
||||||
Real-life transactions sometimes have two (or more) dates of interest.
|
Real-life transactions sometimes have more than one date. For
|
||||||
For example, you might buy a movie ticket on friday with a debit or credit
|
example, you might buy a movie ticket on friday with a bank debit
|
||||||
card, and the transaction might appear in your bank account on monday.
|
card, and the transaction might appear in your bank account on monday.
|
||||||
When you don't care about this, just record one date. When you do care,
|
hledger and ledger users call these the *effective date* and *actual
|
||||||
you can record two dates separated by `=`: the *actual date* on the left
|
date* respectively. We say:
|
||||||
and the *effective date* on the right. Here's how hledger and ledger users
|
|
||||||
use these terms:
|
|
||||||
|
|
||||||
; The ticket purchase took EFFECT on friday 19th,
|
> *"The ticket purchase took EFFECT on friday, but ACTUALly appeared in my bank balance on monday."*
|
||||||
; but ACTUALly appeared in bank statement on monday 23rd.
|
|
||||||
; The effective date is often the earlier one, but it goes on the right.
|
|
||||||
;
|
|
||||||
; ACTUAL=EFFECTIVE
|
|
||||||
2010/2/23=2010/2/19 movie ticket
|
|
||||||
expenses:cinema $10
|
|
||||||
assets:bank:checking $-10
|
|
||||||
|
|
||||||
You can use the `--effective` flag to prefer the effective date in
|
You can often think of effective date as "my date" and actual date as "bank's date".
|
||||||
reports. This can be useful, eg, to adjust your transaction dates to
|
|
||||||
match the ones in your bank statement for easier reconciling.
|
When these dates differ, as in the example above, hledger's daily
|
||||||
|
balances will not exactly match your bank's. But exact daily
|
||||||
|
reconciling can be quite useful, to see precisely when disagreements
|
||||||
|
arise. There are several ways you can handle this:
|
||||||
|
|
||||||
|
1. don't bother with exact daily reconciling; accept temporary
|
||||||
|
disagreements between hledger and bank balances.
|
||||||
|
|
||||||
|
2. adjust manually recorded transactions to actual bank dates when necessary.
|
||||||
|
Your hledger balance will match your bank's exactly, but you no longer have
|
||||||
|
a record of when transactions *really* happened.
|
||||||
|
|
||||||
|
3. record both dates separated by an equals sign: the *actual date* on
|
||||||
|
the left and the *effective date* on the right.
|
||||||
|
|
||||||
|
Here's an example of the last approach: on friday 19 you record:
|
||||||
|
|
||||||
|
2010/2/19 movie
|
||||||
|
expenses:cinema $10
|
||||||
|
assets:checking
|
||||||
|
|
||||||
|
hledger shows $10 less in your checking account through saturday and
|
||||||
|
sunday.. but your online bank statement does not. It shows the
|
||||||
|
transaction clearing a few days later, on monday 23. So you then
|
||||||
|
insert that actual date:
|
||||||
|
|
||||||
|
; ACTUAL=EFFECTIVE
|
||||||
|
2010/2/23=2010/2/19 movie
|
||||||
|
expenses:cinema $10
|
||||||
|
assets:checking
|
||||||
|
|
||||||
|
Now your hledger reports match your bank's daily balance exactly,
|
||||||
|
since they use the actual date by preference. To report based on
|
||||||
|
effective dates instead, use the `--effective` flag.
|
||||||
|
|
||||||
The year may optionally be omitted in the second date.
|
The year may optionally be omitted in the second date.
|
||||||
|
|
||||||
hledger does not allow separate dates for individual postings, unlike c++
|
|
||||||
ledger.
|
|
||||||
|
|
||||||
##### Smart dates
|
##### Smart dates
|
||||||
|
|
||||||
In [period expressions](#period-expressions), the `-b` and `-e` options,
|
In [period expressions](#period-expressions), the `-b` and `-e` options,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user