On Wed, Jun 25, 2014 at 11:14 AM, Martin Blais <[email protected]> wrote:

> On Wed, Jun 25, 2014 at 1:08 AM, Rick F <[email protected]> wrote:
>
>> "Allowing the cost to show up in
>>
>>   both places would break the accounting equation; this transaction must 
>> balance."
>>
>>
>> So I've been thinking about this and I think that is the fundamental 
>> problem.  Technically, commission (at least in the U.S.) isn't an expense, 
>> it's an asset.  It sounds strange, but think about it.  In the U.S., the 
>> commission counts toward the cost basis and the cost basis is recorded with 
>> the asset.  It's the whole depreciate vs. expense issue in accounting.
>>
>> Commission is definitely not an asset.
> I think I see what you mean though, and I think what you mean is this
> (please correct me if I'm wrong):
>
>   2014-06-25 * "Buying into a position"
>     Assets:Investments:Cash      -1009.95 USD
>     Assets:Investments:Stock      10 STOCK {100 USD}
>     Expenses:Commissions               9.95 USD
>
>   2014-06-25 * "Cost basis adjustment for commission"
>     Assets:Investments:Stock      -10 STOCK {100 USD}
>     Assets:Investments:Stock       10 STOCK {100.995 USD}
>     Income:Investments:Rebates          -9.95 USD
>
> Now, the way that I carried out the cost basis adjustment above looks a
> bit inconvenient: remove all shares and replace them by new ones at the
> adjusted cost. This is because it is just what is supported in
> Beancount/Ledger right now. In the example above, I use a "rebate" account
> to absorb the cost adjustment: you would _not_ declare this as taxable
> income, it's just there for balancing the transaction.
>
>   2014-08-04 * "Selling haf of my position"
>     Assets:Investments:Stock      -5 STOCK {100.995 USD}
>     Assets:Investments:Cash       540.05 USD
>     Expenses:Commissions             9.95 USD
>     Income:Investments:Gains      -35.075 USD
>
> On the sale you don't have to make an adjustment, because the shares have
> been converted to cash.
>

Actually, I screwed up a bit in the sell example above, sorry about that.
You would _also_ have to make an adjustment to the sale side, but you would
adjust the gains there. Like this (tested, this time):

2014-01-01 open Assets:Investments:Cash
2014-01-01 open Assets:Investments:Stock
2014-01-01 open Expenses:Commissions
2014-01-01 open Income:Investments:Rebates
2014-01-01 open Income:Investments:Gains

2014-06-25 * "Buying into a position"
  Assets:Investments:Cash   -1009.95 USD
  Assets:Investments:Stock        10 STOCK {100 USD}
  Expenses:Commissions          9.95 USD

2014-06-25 * "Cost basis adjustment for commission"
  Assets:Investments:Stock       -10 STOCK {100 USD}
  Assets:Investments:Stock        10 STOCK {100.995 USD}
  Income:Investments:Rebates   -9.95 USD


2014-08-04 * "Selling half of my position"
  Assets:Investments:Stock        -5 STOCK {100.995 USD}
  Assets:Investments:Cash     540.05 USD
  Expenses:Commissions          9.95 USD
  Income:Investments:Gains

2014-08-04 * "Cost basis adjustment for commission"
  Income:Investments:Rebates   -9.95 USD
  Income:Investments:Gains


Resulting trial balance from Beancount:

|-- Assets
|   `-- Investments
|       |-- Cash         -469.90 USD
|       `-- Stock         504.98 USD
|-- Expenses
|   `-- Commissions        19.90 USD
`-- Income
    `-- Investments
        |-- Gains         -35.08 USD
        `-- Rebates       -19.90 USD


The method I suggest in the document just does the adjustment transaction
in the same transaction as the sale.
They're equivalent.

What I like about your suggestion is the idea of making cost basis
adjustments simpler.
Maybe something like this could be implemented eventually:

2014-06-25 * "Cost basis adjustment for commission"
  Assets:Investments:Stock        10 STOCK {100 USD -> 100.995 USD}
  Income:Investments:Rebates   -9.95 USD

Or even better, without having to specify the merged amount!

2014-06-25 * "Cost basis adjustment for commission"
  Assets:Investments:Stock       -10 STOCK {100 USD}   ; disambiguate
  Assets:Investments:Stock        10 STOCK {}          ; let system auto-fill
  Income:Investments:Rebates   -9.95 USD

-- 

--- 
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.

Reply via email to