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?

  • 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 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 at 16:43

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:

  1. Make sure that you have a good backup of your data file : MyDataFile.gnucash.
  2. Copy your data file and give it a .gz suffix : MyDataFile.gz.
  3. Use a suitable compression utility to uncompress your data file : MyDataFile
  4. 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.
  5. Save the edited XML file with no filename extension : MyDataFile.
  6. Open GnuCash, and use the File/Open menu to open your modified datafile. GnuCash will quite happily open the uncompressed file.
  7. 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!

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.