6

How can I delete multiple transactions in a batch in GnuCash?

My specific use-case is that I am treating each year as a standalone gnucash file. I start with a copy of the previous year and import the current year transactions into it in order to benefit from trained Bayesian automatic transaction mapping during import. After importing the current year data, I then wish to delete the previous year's data.

7

As a workaround I made a shortcut key for deleting transactions. With GnuCash closed, I modified the accelerator-map file.

In GnuCash 2.6 and older: C:\Users\username\.gnu-cash\accelerator-map

In GnuCash 3.0 and newer: C:\Users\username\AppData\Roaming\GnuCash\accelerator-map

Ubuntu: /home/username/.local/share/gnucash/accelerator-map

I changed the following line (you might need to add the line entirely)

; (gtk_accel_path "<Actions>/GncPluginPageRegisterActions/DeleteTransactionAction" "")

To:

(gtk_accel_path "<Actions>/GncPluginPageRegisterActions/DeleteTransactionAction"
"<Primary>Delete")

I removed the semi-colon ; (which acts as a comment character) at the beginning of the line and I added the text <Primary>Delete

The first time you use the key combination GnuCash will show a pop-up dialog box asking if you want to save the transaction and has check boxes to automatically do this in the future. Pick one of the check boxes. You can undo this choice in the future by going to the menu Actions->Reset Warnings... (a dialog box appears asking which warnings to reset)

Now I could delete transactions by pressing ctrl+delete (Note: this is the delete key, not the backspace key. But you can pick whichever key combination you want). Pressing and holding this key combination allowed continuous deleting at a predictable rate so it was quite easy to delete a few hundred transactions quickly.

Might not be the best solution if you have many thousands of transactions that you want to delete but for a few hundred it was quite painless.

| improve this answer | |
  • 1
    Works great. However, in Ubuntu 19.04, my accelerator-map file was located in /home/username/.local/share/gnucash/accelerator-map – Lukas Bradley Jun 1 '19 at 16:35
2

As a follow-up to this very useful info, on a Windows PC, the file is located in:

C:\Users\UserName\AppData\Roaming\GnuCash\accelerator-map

The way the edited line is displayed in the above answer is correct but it may not be immediately obvious to everyone that like some other languages, the semicolon needs to be removed as well. The semicolon is a comment tag that disables the line it is on.

Notes:

<Primary> is the same as "Command" on macs and "Ctrl" on Windows. Other modifiers are <Shift> and <Alt> and they can be combined so to make it a bit more difficult to do accidentally, my new line is:

(gtk_accel_path "<Actions>/GncPluginPageRegisterActions/DeleteTransactionAction" "<Primary><Shift>Delete")

AKA: Control + Shift + Delete

I presume it was the same in earlier versions but I am new to GNUcash so it's also useful to note that, at least as of GNUcash 3.5, this keyboard shortcut triggers the Yes/No dialog to confirm that the transaction should be deleted. Additionally, you can select to ignore the dialog for the rest of the session or never show the dialog.

| 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.