If you remove the "NONE" booking method that works.
I'm guessing - would have to look in code, can't do that now, am traveling
- that when booking is disabled that the total units rule does not apply.

On Sat, Jun 21, 2025 at 1:45 PM Alex Kaufman <[email protected]> wrote:

> I am trying to get it to work with that minimal beancount example before I
> try it in my personal ledger. This is the whole test beancount ledger. The
> error occurs in the transfer transaction with the message "Too many missing
> numbers for currency group 'USD'"
>
> option "operating_currency" "USD"
>
> 2024-01-01 open Assets:BankAccount
> 2024-01-01 open Equity:Opening-Balances
>
> 2024-01-02 pad Assets:BankAccount Equity:Opening-Balances
> 2024-01-03 balance Assets:BankAccount 100 USD
>
> 2024-12-31 open Assets:Broker1:STOCK "NONE"
> 2024-12-31 open Assets:Broker2:STOCK
>
> 2025-01-01 * "invest 1"
>   Assets:Broker1:STOCK 10.00 STOCK {1.00 USD}
>   Assets:BankAccount -10.00 USD
>
> 2025-01-02 * "invest 2"
>   Assets:Broker1:STOCK 10.00 STOCK {2.00 USD}
>   Assets:BankAccount  -20.00 USD
>
> 2025-01-03 * "transfer"
>   Assets:Broker1:STOCK -20.00 STOCK {}
>   Assets:Broker2:STOCK 20.00 STOCK {USD}
>
> This is the bean-doctor output. It looks like in the Unbooked transactions
> section it is not resolving the transaction with the total number of units.
>
> On Saturday, June 21, 2025 at 8:57:22 AM UTC-7 Martin Blais wrote:
>
>> What's in your inventory prior to the transaction?
>> I bet it has postings that are either not at cost (an input error).
>> Use bean-doctor context to resolve those issues.
>>
>>
>> On Fri, Jun 20, 2025 at 7:06 PM Alex Kaufman <[email protected]> wrote:
>>
>>> Thank you for the help here. It sounds like the most straightforward
>>> option for transferring accounts with average cost booking without
>>> realizing nonexistent profit or changing the cost basis then is the final
>>> option you mentioned.
>>>
>>> I attempted the following transaction and receive an error "Too many
>>> missing numbers for currency group 'USD'" .
>>>
>>> 2025-01-03 * "transfer"
>>>   Assets:Broker1:STOCK -20.00 STOCK {}
>>>   Assets:Broker2:STOCK 20.00 STOCK {USD}
>>>
>>> On Friday, June 20, 2025 at 7:57:39 AM UTC-7 Martin Blais wrote:
>>>
>>>> On Fri, Jun 20, 2025 at 6:47 AM Alex Kaufman <[email protected]> wrote:
>>>>
>>>>> Hello, I have been reading through docs and trying to make heads or
>>>>> tails of how to do this operation. Recently I consolidated retirement
>>>>> accounts. As part of this process my holdings were transferred over
>>>>> directly from one account to the other. I am sure I am misunderstanding
>>>>> something but I have been testing various methods for a while and cannot
>>>>> figure out the right way to approach this problem. Any recommendations for
>>>>> ways to reframe the problem or think about it differently instead of just
>>>>> accomplishing the immediate goal are welcome and encouraged.
>>>>>
>>>>> It may be as simple as my misunderstanding price/cost or the cost and
>>>>> market value views in fava. I could also be drastically over complicating
>>>>> things. Thank you all in advance for your help! Below is an initial state
>>>>> beancount file to provide a minimal example. I have also included two
>>>>> examples of some potential transfer transactions to append to the setup
>>>>> file and the reasons why they dont really work.
>>>>>
>>>>> Broker1 is set up as "NONE" bookkeeping due to the way the broker
>>>>> provided statements. This was a major motivator for migrating to Broker2.
>>>>>
>>>>> option "operating_currency" "USD"
>>>>>
>>>>> 2024-01-01 open Assets:BankAccount
>>>>> 2024-01-01 open Equity:Opening-Balances
>>>>>
>>>>> 2024-01-02 pad Assets:BankAccount Equity:Opening-Balances
>>>>> 2024-01-03 balance Assets:BankAccount 100 USD
>>>>>
>>>>> 2024-12-31 open Assets:Broker1:STOCK "NONE"
>>>>> 2024-12-31 open Assets:Broker2:STOCK
>>>>>
>>>>> 2025-01-01 * "invest 1"
>>>>>   Assets:Broker1:STOCK 10.00 STOCK {1.00 USD}
>>>>>   Assets:BankAccount -10.00 USD
>>>>>
>>>>> 2025-01-02 * "invest 2"
>>>>>   Assets:Broker1:STOCK 10.00 STOCK {2.00 USD}
>>>>>   Assets:BankAccount  -20.00 USD
>>>>>
>>>>> *Example 1:*
>>>>>
>>>>> 2025-01-03 * "transfer"
>>>>>   Assets:Broker1:STOCK -10.00 STOCK {}
>>>>>   Assets:Broker2:STOCK 10 STOCK
>>>>>
>>>>> Here is one attempt I have tried. It sort of works in that there are
>>>>> no errors shown in fava but in the cost and market value views it doesnt
>>>>> convert to USD.
>>>>>
>>>>
>>>> Here it doesn't know what to do; Do you want to exchange dollars?
>>>> You're only saying STOCK units on the second posting.
>>>> This gets resolved as
>>>>
>>>> 2025-01-03 * "transfer"
>>>>   Assets:Broker1:STOCK -20.00 STOCK {USD}
>>>>   Assets:Broker2:STOCK 20 STOCK {{40.00 USD}}
>>>>
>>>> (Use the "bean-doctor context" command)
>>>> Regardless, this input is incorrect.
>>>>
>>>>
>>>>
>>>>>
>>>>> [image: Screenshot 2025-06-19 at 9.50.10 PM.png]
>>>>>
>>>>> Example 2:
>>>>>
>>>>> 2025-01-03 * "transfer"
>>>>>   Assets:Broker1:STOCK -20.00 STOCK {USD}
>>>>>   Assets:Broker2:STOCK 20 STOCK {{40.00 USD}}
>>>>>
>>>>>
>>>>> Another attempt I have made is to change the transfer according to the
>>>>> syntax defined in github issue 476
>>>>> <https://github.com/beancount/beancount/issues/476>. If I do not
>>>>> specify the cost of the stock in broker 2 I get an error stating the
>>>>> transaction is not balanced. However if I do specify the current 
>>>>> price/cost
>>>>> of the stock it seems to show that there has been a $10 negative balance 
>>>>> to
>>>>> Broker 1. In the MarketValue view this shows correctly..
>>>>>
>>>>
>>>> But you don't have $40 of cost basis. You have $30 of cost basis. Try
>>>> with that (which is correctd).
>>>> It will resolve as
>>>>
>>>> 2025-01-03 * "transfer"
>>>>   Assets:Broker1:STOCK  -10.00 STOCK {1.00 USD, 2025-01-01}  ; -10.0000
>>>> USD
>>>>   Assets:Broker1:STOCK  -10.00 STOCK {2.00 USD, 2025-01-02}  ; -20.0000
>>>> USD
>>>>   Assets:Broker2:STOCK   20.00 STOCK {1.50 USD, 2025-01-03}  ;    30.00
>>>> USD
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>> [image: Screenshot 2025-06-19 at 9.59.39 PM.png]
>>>>>
>>>>> Example 3:
>>>>>
>>>>> 2025-01-03 * "transfer"
>>>>>   Assets:Broker1:STOCK -20.00 STOCK {} @ 2.00 USD
>>>>>   Assets:Broker2:STOCK 20.00 STOCK {{40.00 USD}}
>>>>>   Income:Investment -10.00 USD
>>>>>
>>>>> This option resolves the confusion in both the cost and market value
>>>>> views. However now we are including a sort of fake income that we havent
>>>>> actually realized.
>>>>>
>>>>
>>>> No. You're realizing the profit here and erroneously stepping up your
>>>> cost basis to $40.
>>>> This is what it resolves to:
>>>>
>>>> 2025-01-03 * "transfer"
>>>>   Assets:Broker1:STOCK  -10.00 STOCK {1.00 USD, 2025-01-01} @ 2.00 USD
>>>>  ; -10.0000 USD
>>>>   Assets:Broker1:STOCK  -10.00 STOCK {2.00 USD, 2025-01-02} @ 2.00 USD
>>>>  ; -20.0000 USD
>>>>   Assets:Broker2:STOCK   20.00 STOCK {2.00 USD, 2025-01-03}
>>>> ;    40.00 USD
>>>>   Income:Investment     -10.00 USD
>>>>  ;   -10.00 USD
>>>>
>>>>
>>>>
>>>>> It also requires that we know the exact amount of that income because
>>>>> leaving the specific value blank to try to soak up any income results in
>>>>> the error Too many missing numbers for currency group 'USD',  In my
>>>>> case I dont know the exact income value for each of the stocks coming over
>>>>> from broker1 to broker 2 because it is a retirement account and is
>>>>> basically using average bookkeeping.
>>>>>
>>>>>
>>>>> If you're not selling you want to avoid realizing _any_ income.
>>>> You want to close all the postings in the account prior to the
>>>> transaction.
>>>> You can either list all the postings using "bean-doctor context" and
>>>> copy them over, or, use the total number of units, which should
>>>> unambiguously resolve to all the postings.
>>>>
>>>> 2025-01-03 * "transfer"
>>>>   Assets:Broker1:STOCK -20.00 STOCK {}
>>>>   Assets:Broker2:STOCK 20.00 STOCK {USD}
>>>>
>>>> resolves to
>>>>
>>>> 2025-01-03 * "transfer"
>>>>   Assets:Broker1:STOCK  -10.00 STOCK {1.00 USD, 2025-01-01}  ; -10.0000
>>>> USD
>>>>   Assets:Broker1:STOCK  -10.00 STOCK {2.00 USD, 2025-01-02}  ; -20.0000
>>>> USD
>>>>   Assets:Broker2:STOCK   20.00 STOCK {1.50 USD, 2025-01-03}  ;  30.0000
>>>> USD
>>>>
>>>>
>>>> On the opening sice, if you want to replicate all the same postings,
>>>> you could do this instead:
>>>>
>>>> 2025-01-03 * "transfer"
>>>>   Assets:Broker1:STOCK                -10.00 STOCK {1.00 USD,
>>>> 2025-01-01}
>>>>   Assets:Broker1:STOCK                -10.00 STOCK {2.00 USD,
>>>> 2025-01-02}
>>>>   Assets:Broker2:STOCK                 10.00 STOCK {1.00 USD,
>>>> 2025-01-01}
>>>>   Assets:Broker2:STOCK                 10.00 STOCK {2.00 USD,
>>>> 2025-01-02}
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Beancount" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion visit
>>>>> https://groups.google.com/d/msgid/beancount/d798059c-af75-4622-b5c8-adb0a7666154n%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/beancount/d798059c-af75-4622-b5c8-adb0a7666154n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Beancount" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>> To view this discussion visit
>>> https://groups.google.com/d/msgid/beancount/c5781530-b8fd-48be-921f-8b96bb13d9c0n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/beancount/c5781530-b8fd-48be-921f-8b96bb13d9c0n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/beancount/23b5de54-f44e-4f6d-9993-8e8c0f12476en%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/23b5de54-f44e-4f6d-9993-8e8c0f12476en%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhPoCas%2By%3DLmL0MJA_eW%2BAvMR0bcHTsBD9xoZYLbx-Ga-A%40mail.gmail.com.

Reply via email to