I found this but I don't feel it really solves the issue. When importing from two mt940 statements, which have transactions between each other, how can they be "joined" as double entries between the 2 checking accounts.

I am creating a 3rd account in gnucash as a "hinge" account and crediting and debiting it accordingly but this feels like clunky.

eg: Account1: Transfer 500 to Account2 Account2: Receive 500 from Account1

My solution :

Account1: -500 GnuCashHinge: +500
Account2: +500 GnuCashHinge: -500


Account1:  -500
GnuCashHinge: 0
Account2: +500

2 Answers 2


When importing transactions from Account1, it should give you the option to create / reconcile transactions against existing records already in the system. If you haven't imported data from Account2 yet, then all of the transactions between the two accounts would be newly created. At this stage you would need to specify the 2nd half of the transactions as Account2.

Next, when you import the Account2 data and run through the same process, it should recognize the "matching" transactions created from the import of Account1 data, and treat them as resolved when it goes through the process of creating new transactions.

If you have already imported both data sets, then you'll need to manually clean-up the extra records. For example, if you have a transaction from

Account1 => GnuCashHinge

you need to change the target of the transfer from GnuCashHinge to Account2, so the transaction shows

Account1 => Account2

If you then close out of Account1 and view the register of Account2, you should see two transactions:

Account2 <= Account1
Account2 <= GnuCashHinge

The second transaction is a duplicate, and can be deleted. As far as I can tell, you skipped assigning the target of the transactions when importing both accounts. Thus you have duplicates of all transfer transactions, and created the Hinge account to associate the two sides of each transactions with the other. After you finish the clean-up process, the GnuCashHinge account should be empty, and can then be deleted.


After your import, you can select to delete the account, which will bring up a window where your can select what should happen with all transactions in the account you are about to delete -- select the content (your transactions) to be Move to account, the account you want to move them to, and select delete.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .