[kmymoney] [Bug 517246] Failed to open database kmymoney version 5.1.3 to 5.2.2.

Thomas Baumgart bugzilla_noreply at kde.org
Sat Mar 7 17:43:18 GMT 2026


https://bugs.kde.org/show_bug.cgi?id=517246

Thomas Baumgart <tbaumgart at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |WAITINGFORINFO
             Status|REPORTED                    |NEEDSINFO

--- Comment #1 from Thomas Baumgart <tbaumgart at kde.org> ---
Just a quick answer to get you going (hopefully). Go back to a good backup of
5.1.3 before you do any of this and keep a copy of it. Just to be on the safe
side.
> I understand that "AStd::Equity" is not a real account and that version 5.2.2
> no longer uses it, which partly explains the crashes between versions 5.1.3 and
> 5.2.2: my database contains many accounts, both open and closed.
The assumption that 5.2.2 does not need it anymore is wrong. It is required in
5.1.3 and 5.2.2 and I bet it is in your file. Indeed, it's not a real account
but one of the five top level account groups which you have to have.
> "Corrupted data: transaction 'T000000000000000248', split 'S0002'
> references unknown account id 'AStd::Equity'
That's the problem: a split references a base account group which it should
not. It could be that this was allowed in a very early stage of the application
and did not get caught by earlier versions. Take a look at the said transaction
and split in the XML file. Replace the occurrence of "AStd::Equity" with an
"A######" that makes sense. 

The list of accounts is at the beginning of the file following the set of
institutions and you find entries of the form

>    <ACCOUNT id="A000006" parentaccount="A000004" lastreconciled="" lastmodified="2025-02-22"
>     institution="" opened="1900-01-01" number="" type="12" name="Reisekostenerstattung"
>    description="" currency="EUR"/>

Select your replacement based on the name and the the value of id="A#######" as
the replacement for the transaction.
Hope that helps. If something is unclear please ask.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the KMyMoney-devel mailing list