summaryrefslogtreecommitdiff
path: root/ledger.texi
diff options
context:
space:
mode:
Diffstat (limited to 'ledger.texi')
-rw-r--r--ledger.texi87
1 files changed, 65 insertions, 22 deletions
diff --git a/ledger.texi b/ledger.texi
index 4842e234..5f0f8a72 100644
--- a/ledger.texi
+++ b/ledger.texi
@@ -3296,8 +3296,8 @@ with three different accounts:
@end itemize
From a religious point of view, the community expects to divide its
-resources into multiple ``funds'', from which it expects to make
-purchases or reserve resources for later:
+resources into multiple ``funds'', from which it makes purchases or
+reserves resources for later:
@itemize
@item School fund
@@ -3306,22 +3306,21 @@ purchases or reserve resources for later:
@end itemize
The problem with this kind of setup is that when you spend money, it
-comes from two or more places: the account and the fund. And yet, the
-correlation of amounts between funds and accounts is rarely
+comes from two or more places at once: the account and the fund. And
+yet, the correlation of amounts between funds and accounts is rarely
one-to-one. What if the school fund has @samp{$500.00}, but
@samp{$400.00} of that comes from Checking, and @samp{$100.00} from
Savings?
-Using a traditional finance package would require that money reside in
-only one place. But there are really two views to the data: from the
-account point of view, you want one set of reports; from the fund
-point of view, another set entirely -- and yet both sets should
-reflect the same expenses and incoming. It's just where the money
-``resides'' that differs.
+Traditional finance packages require that the money reside in only one
+place. But there are really two ``views'' of the data: from the
+account point of view and from the fund point of view -- yet both sets
+should reflect the same overall expenses and cash flow. It's simply
+where the money resides that differs.
-This situation can be handled using virtual transactions to represent
-the fact that money is moving to and from two kind of accounts at the
-same time:
+This situation can be handled one of two ways. The first is using
+virtual transactions to represent the fact that money is moving to and
+from two kind of accounts at the same time:
@smallexample
2004/03/20 Contributions
@@ -3335,9 +3334,9 @@ same time:
@end smallexample
The use of square brackets in the second entry ensures that the
-virtual transactions balance to zero.
-
-Now money can be spent directly from a fund:
+virtual transactions balance to zero. Now money can be spent directly
+from a fund at the same time as money is drawn from a physical
+account:
@smallexample
2004/03/25 Payment for books (paid from Checking)
@@ -3346,17 +3345,17 @@ Now money can be spent directly from a fund:
(Funds:School) $-100.00
@end smallexample
-When reports are generated, by default they will appear in terms of
-the funds, income and expenses. In this case, you will likely want to
-mask out your @samp{Assets} account, becausue the balance won't make
-much sense:
+When reports are generated, by default they'll appear in terms of the
+funds. In this case, you will likely want to mask out your
+@samp{Assets} account, because otherwise the balance won't make much
+sense:
@example
ledger bal -^Assets
@end example
-If the @option{--real} option is used, the report is in terms of the
-real accounts:
+If the @option{--real} option is used, the report will be in terms of
+the real accounts:
@example
ledger --real bal
@@ -3373,6 +3372,50 @@ list them as you would normally, for example:
(Funds:School) $-100.00
@end smallexample
+The second way of tracking funds is to use entry codes. In this
+respect the codes become like virtual accounts that embrace the entire
+set of transactions. Basically, we are associating an entry with a
+fund by setting its code. Here are two entries that desposit money
+into, and spend money from, the @samp{Funds:School} fund:
+
+@smallexample
+2004/03/25 (Funds:School) Donations
+ Assets:Checking $100.00
+ Income:Donations
+
+2004/04/25 (Funds:School) Payment for books
+ Expenses:Books $50.00
+ Assets:Checking
+@end smallexample
+
+Note how the accounts now relate only to the real accounts, and any
+balance or registers reports will reflect this. That the entries
+relate to a particular fund is kept only in the code.
+
+How does this become a fund report? By using the
+@option{--code-as-payee} option, you can generate a register report
+where the payee for each transaction shows the code. Alone, this is
+not terribly interesting; but when combined with the
+@option{--by-payee} option, you will now see account subtotals for any
+transactions related to a specific fund. So, to see the current
+monetary balances of all funds, the command would be:
+
+@smallexample
+ledger --code-as-payee -P reg ^Assets
+@end smallexample
+
+Or to see a particular funds expenses, the @samp{School} fund in this
+case:
+
+@smallexample
+ledger --code-as-payee -P reg ^Expenses -- School
+@end smallexample
+
+Both approaches yield different kinds of flexibility, depending on how
+you prefer to think of your funds: as virtual accounts, or as tags
+associated with particular entries. Your own tastes will decide which
+is best for your situation.
+
@node Archiving previous years, Virtual transactions, Working with multiple funds and accounts, Keeping a ledger
@section Archiving previous years