Matching Transactions

Generally, when you import transactions, either via QIF, OFX, or HBCI, KMyMoney will automatically attempt to match them against existing transactions. To allow for differences in the dates, there is a default setting of 4 days, which may be changed in the settings - Register/Import. Any transactions so matched will be highlighted in green. On completion of the import, you should review these and either accept or unmatch them.

If you should find that an imported transaction was not automatically matched with an existing transaction when it should have matched, then it is possible to match them manually. Note there is a difference between manually matching two transactions and simply deleting one of them, even though they may appear to have the same effect. Specifically with OFX or HBCI, it is important not to delete the imported transaction, because you will find that the next time you import your transactions, the deleted transaction may show up again. This is because modern import formats like OFX and HBCI use a Transaction ID to identify transactions. When you delete the imported transaction, the transaction ID goes with it, so the importer has no way to know this transaction was already imported.

The solution is to tell KMyMoney that the transactions are the same, using the manual matching interface. This allows you to match an imported transaction with a hand-entered (non-imported) transaction. To do so, select one of the transactions to be matched by clicking on it, then select the other by left clicking on it while pressing the Ctrl key, and then select Match from the context menu. This will match and combine the two transactions together. The values of both transactions must be the same for the match to work, except that the dates may differ by the window specified in the settings, as described above. If you are happy with the result, right click the matched transaction, then select Accept.

During import of online statements, either directly or by importing a downloaded file, KMyMoney performs matching as best as it can based on the name of the payee and the amount of the transaction. In case of an invalid match, a matched transaction can be unmatched.


The matching interface will not allow you to match two transactions which have both been imported. Likewise, it won't allow matching between two transactions which have both been entered by hand.