I have a question regarding the use of { } vs @ to specify
commodities.  Let's take two examples:

---

; Example A

D 100.00 GBP

2012-01-01 * Opening balance
  Assets:A                            100 AAA @ 5.00 GBP
  Equity:Opening balance

2012-01-20 * Transfer
  Assets:A                           -100 AAA @ 5.00 GBP
  Assets:B                            100 AAA @ 5.00 GBP

--

; Example B

D 100.00 GBP

2012-01-01 * Opening balance
  Assets:A                            100 AAA @ 5.00 GBP
  Equity:Opening balance

2012-01-20 * Transfer
  Assets:A                           -100 AAA {5.00 GBP}
  Assets:B                            100 AAA {5.00 GBP}

--

When you run --lot-prices on both examples, the output is identical.
However, when I use -B, the first example gives me the output I was
expecting:
          500.00 GBP  Assets:B
         -500.00 GBP  Equity:Opening balance
whereas the second example gives me:
          500.00 GBP  Assets
            -100 AAA
          500.00 GBP    A
             100 AAA    B
         -500.00 GBP  Equity:Opening balance

Is this behaviour normal or a bug?

To me, using { } makes more sense because I just want to transfer
existing commodities and { } allows me to specify which lot I'm
talking about.  @ doesn't make sense to me in this example because
I'm not selling anything.

Obviously, it seems I have to use @ to get the output I expect but I'd
like to better understand the differences between { } and @ in this
example and why { } doesn't do what I was expecting.  John, can you
clarify?

-- 
Martin Michlmayr
http://www.cyrius.com/

Reply via email to