diff options
author | John Wiegley <johnw@newartisans.com> | 2009-10-25 23:08:07 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-10-25 23:11:30 -0400 |
commit | 1f5ceb0db50df9ad0f9048ee02ad749507cbd737 (patch) | |
tree | a8609fdcd28aa4d371aebf8a9867e43014e652f1 /doc/Ledger.scriv/snapshots/7.snapshots | |
parent | 9dadaebfeb461ba795124281018d0f7eac200cf4 (diff) | |
download | fork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.tar.gz fork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.tar.bz2 fork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.zip |
Added beginning draft of manual for 3.0
This is being kept in Scrivener format, for ease of writing.
Diffstat (limited to 'doc/Ledger.scriv/snapshots/7.snapshots')
-rw-r--r-- | doc/Ledger.scriv/snapshots/7.snapshots | 552 |
1 files changed, 552 insertions, 0 deletions
diff --git a/doc/Ledger.scriv/snapshots/7.snapshots b/doc/Ledger.scriv/snapshots/7.snapshots new file mode 100644 index 00000000..3caecc9b --- /dev/null +++ b/doc/Ledger.scriv/snapshots/7.snapshots @@ -0,0 +1,552 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>$archiver</key> + <string>NSKeyedArchiver</string> + <key>$objects</key> + <array> + <string>$null</string> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>37</integer> + </dict> + <key>NS.objects</key> + <array> + <dict> + <key>CF$UID</key> + <integer>2</integer> + </dict> + </array> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>33</integer> + </dict> + <key>NS.keys</key> + <array> + <dict> + <key>CF$UID</key> + <integer>3</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>4</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>5</integer> + </dict> + </array> + <key>NS.objects</key> + <array> + <dict> + <key>CF$UID</key> + <integer>6</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>7</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>35</integer> + </dict> + </array> + </dict> + <string>Title</string> + <string>Text</string> + <string>Date</string> + <string>Untitled Snapshot</string> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>34</integer> + </dict> + <key>NSAttributes</key> + <dict> + <key>CF$UID</key> + <integer>10</integer> + </dict> + <key>NSDelegate</key> + <dict> + <key>CF$UID</key> + <integer>0</integer> + </dict> + <key>NSString</key> + <dict> + <key>CF$UID</key> + <integer>8</integer> + </dict> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>9</integer> + </dict> + <key>NS.string</key> + <string>Ledger is an accounting tool with the moxie to exist. It provides no +bells or whistles, and returns the user to the days before user +interfaces were even a twinkling in their father's CRT. + +What it does offer is a double-entry accounting ledger with all the +flexibility and muscle of its modern day cousins, without any of the +fat. Think of it as the Bran Muffin of accounting tools. + +To use it, you need to start keeping a ledger. This is the basis of +all accounting, and if you haven't started yet, now is the time to +learn. The little booklet that comes with your checkbook is a ledger, +so we'll describe double-entry accounting in terms of that. + +A checkbook ledger records debits (subtractions, or withdrawals) and +credits (additions, or deposits) with reference to a single account: +the checking account. Where the money comes from, and where it goes +to, are described in the payee field, where you write the person or +company's name. The ultimate aim of keeping a checkbook ledger is to +know how much money is available to spend. That's really the aim of +all ledgers. + +What computers add is the ability to walk through these postings, +and tell you things about your spending habits; to let you devise +budgets and get control over your spending; to squirrel away money +into virtual savings account without having to physically move money +around; etc. As you keep your ledger, you are recording information +about your life and habits, and sometimes that information can start +telling you things you aren't aware of. Such is the aim of all good +accounting tools. + +The next step up from a checkbook ledger, is a ledger that keeps track +of all your accounts, not just checking. In such a ledger, you record +not only who gets paid---in the case of a debit---but where the money +came from. In a checkbook ledger, its assumed that all the money +comes from your checking account. But in a general ledger, you write +posting two-lines: the source account and target account. +@emph{There must always be a debit from at least one account for every +credit made to another account}. This is what is meant by +``double-entry'' accounting: the ledger must always balance to zero, +with an equal number of debits and credits. + +For example, let's say you have a checking account and a brokerage +account, and you can write checks from both of them. Rather than keep +two checkbooks, you decide to use one ledger for both. In this +general ledger you need to record a payment to Pacific Bell for your +monthly phone bill. The cost is $23.00, let's say, and you want to +pay it from your checking account. In the general ledger you need to +say where the money came from, in addition to where it's going to. +The transaction might look like this: + +@smallexample +9/29 BAL Pacific Bell $-200.00 $-200.00 + Equity:Opening Balances $200.00 +9/29 BAL Checking $100.00 $100.00 + Equity:Opening Balances $-100.00 +9/29 100 Pacific Bell $23.00 $223.00 + Checking $-23.00 $77.00 +@end smallexample + +The first line shows a payment to Pacific Bell for $23.00. Because +there is no ``balance'' in a general ledger---it's always zero---we +write in the total balance of all payments to ``Pacific Bell'', which +now is $223.00 (previously the balance was $200.00). This is done by +looking at the last transaction for ``Pacific Bell'' in the ledger, adding +$23.00 to that amount, and writing the total in the balance column. +And the money came from ``Checking''---a withdrawal of $23.00---which +leaves the ending balance in ``Checking'' at $77.00. This is a very +manual procedure; but that's where computers come in... + +The posting must balance to $0: $23 went to Pacific Bell, $23 came +from Checking. There is nothing left over to be accounted for, since +the money has simply moved from one account to another. This is the +basis of double-entry accounting: that money never pops in or out of +existence; it is always a posting from one account to another. + +Keeping a general ledger is the same as keeping two separate ledgers: +One for Pacific Bell and one for Checking. In that case, each time a +payment is written into one, you write a corresponding withdrawal into +the other. This makes it easier to write in a ``running balance'', +since you don't have to look back at the last time the account was +referenced---but it also means having a lot of ledger books, if you +deal with multiple accounts. + +Enter the beauty of computerized accounting. The purpose of the +Ledger program is to make general ledger accounting simple, by keeping +track of the balances for you. Your only job is to enter the +postings. If a posting does not balance, Ledger displays an +error and indicates the incorrect posting.@footnote{In some +special cases, it automatically balances this transaction for you.} + +In summary, there are two aspects of Ledger use: updating the ledger +data file, and using the Ledger tool to view the summarized result of +your transactions. + +And just for the sake of example---as a starting point for those who +want to dive in head-first---here are the ledger transactions from above, +formatting as the ledger program wishes to see them: + +@smallexample +2004/09/29 Pacific Bell + Payable:Pacific Bell $-200.00 + Equity:Opening Balances + +2004/09/29 Checking + Accounts:Checking $100.00 + Equity:Opening Balances + +2004/09/29 Pacific Bell + Payable:Pacific Bell $23.00 + Accounts:Checking +@end smallexample + +The account balances and registers in this file, if saved as +@file{ledger.dat}, could be reported using: + +@example +$ ledger -f ledger.dat balance +$ ledger -f ledger.dat register checking +$ ledger -f ledger.dat register bell +@end example</string> + </dict> + <dict> + <key>$classes</key> + <array> + <string>NSMutableString</string> + <string>NSString</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSMutableString</string> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>33</integer> + </dict> + <key>NS.keys</key> + <array> + <dict> + <key>CF$UID</key> + <integer>11</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>12</integer> + </dict> + </array> + <key>NS.objects</key> + <array> + <dict> + <key>CF$UID</key> + <integer>13</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>30</integer> + </dict> + </array> + </dict> + <string>NSParagraphStyle</string> + <string>NSFont</string> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>29</integer> + </dict> + <key>NSAlignment</key> + <integer>4</integer> + <key>NSLineHeightMultiple</key> + <real>1.1000000238418579</real> + <key>NSTabStops</key> + <dict> + <key>CF$UID</key> + <integer>14</integer> + </dict> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>28</integer> + </dict> + <key>NS.objects</key> + <array> + <dict> + <key>CF$UID</key> + <integer>15</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>17</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>18</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>19</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>20</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>21</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>22</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>23</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>24</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>25</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>26</integer> + </dict> + <dict> + <key>CF$UID</key> + <integer>27</integer> + </dict> + </array> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>28</real> + </dict> + <dict> + <key>$classes</key> + <array> + <string>NSTextTab</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSTextTab</string> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>56</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>84</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>112</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>140</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>168</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>196</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>224</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>252</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>280</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>308</real> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>16</integer> + </dict> + <key>NSLocation</key> + <real>336</real> + </dict> + <dict> + <key>$classes</key> + <array> + <string>NSArray</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSArray</string> + </dict> + <dict> + <key>$classes</key> + <array> + <string>NSParagraphStyle</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSParagraphStyle</string> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>32</integer> + </dict> + <key>NSName</key> + <dict> + <key>CF$UID</key> + <integer>31</integer> + </dict> + <key>NSSize</key> + <real>14</real> + <key>NSfFlags</key> + <integer>16</integer> + </dict> + <string>Courier</string> + <dict> + <key>$classes</key> + <array> + <string>NSFont</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSFont</string> + </dict> + <dict> + <key>$classes</key> + <array> + <string>NSDictionary</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSDictionary</string> + </dict> + <dict> + <key>$classes</key> + <array> + <string>KBWordCountingTextStorage</string> + <string>NSTextStorage</string> + <string>NSMutableAttributedString</string> + <string>NSAttributedString</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>KBWordCountingTextStorage</string> + </dict> + <dict> + <key>$class</key> + <dict> + <key>CF$UID</key> + <integer>36</integer> + </dict> + <key>NS.time</key> + <real>267380388.667629</real> + </dict> + <dict> + <key>$classes</key> + <array> + <string>NSDate</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSDate</string> + </dict> + <dict> + <key>$classes</key> + <array> + <string>NSMutableArray</string> + <string>NSArray</string> + <string>NSObject</string> + </array> + <key>$classname</key> + <string>NSMutableArray</string> + </dict> + </array> + <key>$top</key> + <dict> + <key>Snapshots</key> + <dict> + <key>CF$UID</key> + <integer>1</integer> + </dict> + </dict> + <key>$version</key> + <integer>100000</integer> +</dict> +</plist> |