<?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>After a while, your ledger can get to be pretty large. While this will not slow down the ledger program much---it's designed to process ledger files very quickly---things can start to feel ``messy''; and it's a universal complaint that when finances feel messy, people avoid them. Thus, archiving the data from previous years into their own files can offer a sense of completion, and freedom from the past. But how to best accomplish this with the ledger program? There are two commands that make it very simple: @command{print}, and @command{equity}. Let's take an example file, with data ranging from year 2000 until 2004. We want to archive years 2000 and 2001 to their own file, leaving just 2003 and 2004 in the current file. So, use @command{print} to output all the earlier transactions to a file called @file{ledger-old.dat}: @smallexample ledger -f ledger.dat -b 2000 -e 2001 print > ledger-old.dat @end smallexample To delete older data from the current ledger file, use @command{print} again, this time specifying year 2002 as the starting date: @example ledger -f ledger.dat -b 2002 print > x mv x ledger.dat @end example However, now the current file contains @emph{only} postings from 2002 onward, which will not yield accurate present-day balances, because the net income from previous years is no longer being tallied. To compensate for this, we must append an equity report for the old ledger at the beginning of the new one: @example ledger -f ledger-old.dat equity > equity.dat cat equity.dat ledger.dat > x mv x ledger.dat rm equity.dat @end example Now the balances reported from @file{ledger.dat} are identical to what they were before the data was split. How often should you split your ledger? You never need to, if you don't want to. Even eighty years of data will not slow down ledger much---and that's just using present day hardware! Or, you can keep the previous and current year in one file, and each year before that in its own file. It's really up to you, and how you want to organize your finances. For those who also keep an accurate paper trail, it might be useful to archive the older years to their own files, then burn those files to a CD to keep with the paper records---along with any electronic statements received during the year. In the arena of organization, just keep in mind this maxim: Do whatever keeps you doing it.</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>267380389.34101999</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>