If you are using a separate file for each year, and don't want ledger to have to run through all of the files, you need to establish a starting point. I had 16000+ postings prior to this year when I started anew. Some of the ledger runs that used virtual transaction took a lot longer that I liked.
On Sat, Apr 19, 2014 at 11:42 AM, Martin Blais <[email protected]> wrote: > I don't understand why you need to manually insert an opening balances > entry. > That's something the system should do for you. > > The way I handle this in Beancount is that you have different "views" on > your transactions. A view is a subset of transactions. The most obvious one > is "by year", but there are many others (tagged entries, for instance). For > each of these views, there are opening balances report (beginning), balance > sheet (ending), income statement, and other reports. > > The input file has all the transactions. You could split this between files > if necessary (concat the files before processing, or implement a trivial > include mechanism--I designed the syntax to be order-independent to ensure > this is easy). The process of creating the subset of transactions for a year > view involves replacing all the past transactions with these special > "opening balances" entries so that the reports only include that year's > transactions, but the generation of the opening balances transactions is an > automated process, not something you should have to do manually. You can > look at any period of time in the same way, e.g., 3 months in arbitrary > dates. Same process applies. > > > > > > On Fri, Apr 18, 2014 at 7:35 PM, Martin Michlmayr <[email protected]> wrote: >> >> I separate my ledger files by year, so every year starts with a number >> of opening balances. >> >> So far, I've been using statements like these: >> >> 2014-01-01 * Opening balance >> ; :opening-balance: >> Assets:Current:Invest 0.00 GBP >> Assets:Investments:Invest 2 AAA @ 20.00 GBP >> Assets:Investments:Invest 4 AAA @ 30.00 GBP >> Equity:Opening balance >> >> However, I just realized that a downside of this approach is that the >> original purchase date is lost. >> >> So I've come up with this approach: >> >> 2014-01-01 * Opening balance >> ; :opening-balance: >> Assets:Current:Invest 0.00 GBP >> Assets:Investments:Invest 2 AAA {20.00 GBP} [2012-02-11] @@ >> 40.00 GBP >> Assets:Investments:Invest 4 AAA {30.00 GBP} [2013-06-06] @@ >> 120.00 GBP >> Equity:Opening balance >> >> This shows the information I expect: >> >> $ ledger bal --lots Assets:Investments:Invest >> 2 AAA {20.00 GBP} [2012/02/11] >> 4 AAA {30.00 GBP} [2013/06/06] Assets:Investments:Invest >> >> Is this the best way to model opening balances for shares or is there >> a better way? >> >> The example above looks pretty straight forward, but in reality, the >> purchase price has a lot of digits, e.g.: >> Assets:Investments:xxx 415.51 "GB0000468776" >> {4.4280282063 GBP} [2013-01-04] @@ 1839.89 GBP >> >> Oh, I guess I could use {{xx}}, as in: >> >> 2014-01-01 * Opening balance >> ; :opening-balance: >> Assets:Current:Invest 0.00 GBP >> Assets:Investments:Invest 2 AAA {{40.00 GBP}} [2012-02-11] @@ >> 40.00 GBP >> Assets:Investments:Invest 4 AAA {{120.00 GBP}} [2013-06-06] @@ >> 120.00 GBP >> Equity:Opening balance >> >> That also gives the expected result. This is the best solution I have >> so far. Is there anything better? >> >> Note that I always have to specify the total amount with @@, otherwise -B >> doesn't work. >> >> Example: >> >> 2014-01-01 * Opening balance >> ; :opening-balance: >> Assets:Current:Invest 0.00 GBP >> Assets:Investments:Invest 2 AAA {{ 40.00 GBP}} [2012-02-11] >> Assets:Investments:Invest 4 AAA {{120.00 GBP}} [2013-06-06] >> Equity:Opening balance >> >> $ ledger bal Assets:Investments -B >> 6 AAA Assets:Investments:Invest >> >> John, can you confirm that the approach I've taken is correct and that the >> @@ >> is always required? >> >> If I say 2 AAA {{40.00 GBP}}, why cannot ledger figure out the @@ 40.00 >> GBP by >> itself? >> >> -- >> Martin Michlmayr >> http://www.cyrius.com/ >> >> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "Ledger" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. > > > -- > > --- > You received this message because you are subscribed to the Google Groups > "Ledger" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- Craig, Corona De Tucson, AZ enderw88.wordpress.com -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
