515 lines
11 KiB
XML
515 lines
11 KiB
XML
<?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 has seven basic commands, but by far the most often used are
|
|
@command{balance} and @command{register}. To see a summary balance of
|
|
all accounts, use:
|
|
|
|
@example
|
|
ledger bal
|
|
@end example
|
|
|
|
@command{bal} is a short-hand for @command{balance}. This command
|
|
prints out the summary totals of the five parent accounts used in
|
|
@file{sample.dat}:
|
|
|
|
@smallexample
|
|
$1,480.00
|
|
50 AAPL Assets
|
|
$-2,500.00 Equity
|
|
$20.00 Expenses
|
|
$-500.00 Income
|
|
$-2.00 Liabilities
|
|
--------------------
|
|
$-1,502.00
|
|
50 AAPL
|
|
@end smallexample
|
|
|
|
None of the child accounts are shown, just the parent account totals.
|
|
We can see that in @samp{Assets} there is $1,480.00, and 50 shares of
|
|
Apple stock. There is also a negative grand total. Usually the grand
|
|
total is zero, which means that all accounts balance@footnote{It is
|
|
impossible for accounts not to balance in ledger; it reports an error
|
|
if a posting does not balance}. In this case, since the 50 shares
|
|
of Apple stock cost $1,500.00 dollars, then these two amounts balance
|
|
each other in the grand total. The extra $2.00 comes from a virtual
|
|
posting being added by the automatic transaction at the top of the file.
|
|
The transaction is virtual because the account name was surrounded by
|
|
parentheses in an automatic transaction. Automatic transactions will be
|
|
discussed later, but first let's remove the virtual posting from
|
|
the balance report by using the @option{--real} option:
|
|
|
|
@example
|
|
ledger --real bal
|
|
@end example
|
|
|
|
Now the report is:
|
|
|
|
@smallexample
|
|
$1,480.00
|
|
50 AAPL Assets
|
|
$-2,500.00 Equity
|
|
$20.00 Expenses
|
|
$-500.00 Income
|
|
--------------------
|
|
$-1,500.00
|
|
50 AAPL
|
|
@end smallexample
|
|
|
|
Since the liability was a virtual posting, it has dropped from the
|
|
report and we see that final total is balanced.
|
|
|
|
But we only know that it balances because @file{sample.dat} is quite
|
|
simple, and we happen to know that the 50 shares of Apple stock cost
|
|
$1,500.00. We can verify that things really balance by reporting the
|
|
Apple shares in terms of their cost, instead of their quantity. To do
|
|
this requires the @option{--basis}, or @option{-B}, option:
|
|
|
|
@example
|
|
ledger --real -B bal
|
|
@end example
|
|
|
|
This command reports:
|
|
|
|
@smallexample
|
|
$2,980.00 Assets
|
|
$-2,500.00 Equity
|
|
$20.00 Expenses
|
|
$-500.00 Income
|
|
@end smallexample
|
|
|
|
With the basis cost option, the grand total has disappeared, as it is
|
|
now zero. The confirms that the cost of everything balances to zero,
|
|
@emph{which must always be true}. Reporting the real basis cost
|
|
should never yield a remainder@footnote{If it ever does, then
|
|
generated postings are involved, which can be removed using
|
|
@option{--actual}}.</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.96237299</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>
|