[GNC] Orphan-<currency> and Imbalance-<currency> splits created on stock transaction when closing & reopening GnuCash data file

john jralls at ceridwen.us
Thu Oct 6 21:58:19 EDT 2022


I can reproduce this with your sample file, and I discovered another facet: If one does a File>Save As, either to XML or SQlite3, the new file doesn't exhibit the behavior.
I also found that if I remove the extra splits in the original file they don't come back. It's not a last-transaction issue, either: If one creates two transactions in a session they'll both get the Orphan and Imbalance splits created.

I''l try watching the program load in the debugger next.

Regards,
John Ralls

> On Oct 5, 2022, at 9:33 PM, Chris Grinton <cgrinton at gmail.com> wrote:
> 
> Good spotting on the share balance difference! I hadn't intended that in the screenshots; it was just a side effect of me playing around trying to get it to work between the first and 2nd screenshot - I had added some other transactions for testing that did adjust the share balance.
> 
> Selecting "Edit Exchange Rate" on the CapitalLosses:CurrentYear:Realized split in the CapitalLosses:CurrentYear:Realized account register shows an error: "The two currencies involved equal each other".
> 
> I can reproduce the problem by creating a brand new (empty) GnuCash file and then following the steps I described, and using only a single currency in that file. So I don't think a multi-currency factor is at play here.
> 
> If it helps and I've inspired anybody to dig deeper, I've shared a .gnucash file at https://app.box.com/s/xdrru5yr8gjm3r7ovatmsn92jcvme053 that can be used to reproduce: simply create a new buy or sell transaction involving the ACME security in the Assets:ACME Corp account, and new Orphan & Imbalance splits will be created in your transaction the next time the file is opened.
> 
> Chris
> 
> On Thu, 6 Oct 2022 at 11:59, john <jralls at ceridwen.us <mailto:jralls at ceridwen.us>> wrote:
>> That looks like a proper cap gains transaction. It's odd that the share balance differs by 250 between the two screenshots: Is there some other transaction that might be affecting things?
>> 
>> The next thought is that there might be a non-AUD transaction currency involved. If you open the transaction in the CapitalLosses:CurrentYear:Realized account register, right-click on the split for that account, and select "Edit Exchange Rate" does it open the transfer dialog or pop an error box? If the former, what is the non-AUD currency/commodity it wants to price; if the latter,
>> what's the error?
>> 
>> Regards,
>> John Ralls
>> 
>> > On Oct 5, 2022, at 7:33 PM, Chris Grinton <cgrinton at gmail.com <mailto:cgrinton at gmail.com>> wrote:
>> > 
>> > Good thought - but the problem still occurs even if the share count and
>> > price are non-0. (The example transaction I've described is a simple
>> > reduction in the cost base of the asset without changing the number of
>> > shares held. But I think that is not directly relevant to the problem and
>> > probably the example I described more complex than it needed to be.)
>> > 
>> > Chris
>> > 
>> > 
>> > On Thu, 6 Oct 2022 at 09:45, R Losey <rlosey at gmail.com <mailto:rlosey at gmail.com>> wrote:
>> > 
>> >> Perhaps I'm missing something, but if there is a transaction that has a
>> >> cost of 5000, and you have shares with a price of 0, that may be causing it
>> >> to think there is an imbalance, and thus the transactions get added?
>> >> 
>> >> On Wed, Oct 5, 2022 at 7:09 AM Chris Grinton <cgrinton at gmail.com <mailto:cgrinton at gmail.com>> wrote:
>> >> 
>> >>> Hi GnuCashers,
>> >>> 
>> >>> I have a strange situation where a transaction is automagically (and
>> >>> unexpectedly) getting splits added to it against the "Orphan-<currency>"
>> >>> and "Imbalance-<currency>" accounts when my GnuCash data file is closed
>> >>> and
>> >>> reopened. I can't work out why these splits are getting added, and would
>> >>> love any insights that people might have on how to stop it from happening.
>> >>> 
>> >>> The unexpected behavior here appears to be somehow related to having
>> >>> trading accounts enabled, and a consequence of changing the namespace of a
>> >>> security.
>> >>> 
>> >>> Here are steps I do to reproduce this problem:
>> >>> 
>> >>> 1. Create a transaction as follows:
>> >>>        Expenses:Realised capital losses     DR 5000
>> >>>        Assets:Stock account                                         CR
>> >>> 5000 (with shares & price = 0)
>> >>> 
>> >>> This appears in GnuCash as per the following screenshot:
>> >>> 
>> >>> [image: image.png]
>> >>> 
>> >>> No change occurs to this transaction as long as I keep the GnuCash file
>> >>> open.
>> >>> 
>> >>> 2. Edit the UNLISTED:ACME security, and change its namespace. For example,
>> >>> change the namespace from "UNLISTED" to "UNLISTED2".
>> >>> 
>> >>> 3. Open a different GnuCash file (or close GnuCash), and then open the
>> >>> original file again. The act of opening the file appears to cause the
>> >>> transaction to be updated with additional splits to read as follows:
>> >>> 
>> >>>        Expenses:Realised capital losses     DR 5000
>> >>> *        Orphan-AUD                                      DR 5000*
>> >>>        Assets:Stock account                                         CR
>> >>> 5000 (with shares & price = 0)
>> >>> *        Imbalance-AUD                                                  CR
>> >>> 5000*
>> >>> 
>> >>> Here's a screenshot showing this:
>> >>> [image: image.png]
>> >>> 
>> >>> 4. If I delete the Orphan & Imbalance splits, they continue to reappear
>> >>> every time I reopen the GnuCash file.
>> >>> 
>> >>> I have not seen this behavior occurring for securities that have not had a
>> >>> namespace change, but is reliably reproducible for securities that have
>> >>> had
>> >>> a namespace change.
>> >>> 
>> >>> I'm using GnuCash 4.8 on Windows with a SQLite data file.
>> >>> 
>> >>> Thoughts?
>> >>> 
>> >>> Thanks,
>> >>> Chris
>> >>> _______________________________________________
>> >>> gnucash-user mailing list
>> >>> gnucash-user at gnucash.org <mailto:gnucash-user at gnucash.org>
>> >>> To update your subscription preferences or to unsubscribe:
>> >>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> >>> -----
>> >>> Please remember to CC this list on all your replies.
>> >>> You can do this by using Reply-To-List or Reply-All.
>> >>> 
>> >> 
>> >> 
>> >> --
>> >> _________________________________
>> >> Richard Losey
>> >> rlosey at gmail.com <mailto:rlosey at gmail.com>
>> >> Micah 6:8
>> >> 
>> > _______________________________________________
>> > gnucash-user mailing list
>> > gnucash-user at gnucash.org <mailto:gnucash-user at gnucash.org>
>> > To update your subscription preferences or to unsubscribe:
>> > https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> > -----
>> > Please remember to CC this list on all your replies.
>> > You can do this by using Reply-To-List or Reply-All.
>> 



More information about the gnucash-user mailing list