I'm running Gnucash 3.8b+(2019-12-29). If there's a way to change a transaction description throughout an account, I can't find it. The internet isn't yielding up any interesting suggestions, either. Is there a way to do it?
2
-
What do you mean by "throughout the account"? Do you mean you have a list of identical transactions, and you're trying to change the description of all of them? – glibdud May 24 '20 at 16:27
-
@glibdud: Yes. This account has a long history of transactions with a description of "ABC Inc.", and I want to change them all at once to say "DEF Inc.". – Tony May 24 '20 at 16:43
Add a comment
|
By default, GnuCash maintains your data in XML format, and stores it as a compressed file with a .gnucash suffix. You can get your data into editable form by just uncompressing it first.
I'd suggest:
- Make sure that you have a good backup of your data file :
MyDataFile.gnucash
. - Copy your data file and give it a .gz suffix :
MyDataFile.gz
. - Use a suitable compression utility to uncompress your data file :
MyDataFile
- Use a suitable text editor to edit only those lines of the data file that you absolutely need to. In your case you can use a global find/replace to change ABC Inc to DEF Inc throughout the file.
- Save the edited XML file with no filename extension :
MyDataFile
. - Open GnuCash, and use the File/Open menu to open your modified datafile. GnuCash will quite happily open the uncompressed file.
- Use File/Save As to ensure that your edited data file gets stored "normally" (compressed, and with a .gnucash filename extension).
Please note that directly editing the XML file is not officially encouraged - but it should work if you are careful. Keep a backup!
-
For what it's worth - I found sqlite to be the best of both worlds. It gives me the opportunity to access the file with sql queries - four of which I defined as shell scripts, so I can ask some quick questions from the shell prompt. Gnucash operates with sqlite faster than with mySQL backend, which is especially obvious on importing a few months of transactions. – r0berts Jan 7 at 9:16