Split transactions (both credit and debit elements)


I am investigating KMyMoney as an alternative to Skrooge as I am struggling to produce reports showing all the data from split transactions from the latter app.

I played around with a new install of KMyMoney trying to add a common transaction for me; namely a credit to the bank account from my card reader company, e.g. a net £20 entry for a ticket sold at £21 with a £1 card processing fee.

KMyMoney does not seem to want to let me enter a negative element of this split transaction. Can it deal with this, and, if so, how? I can find nothing in the extensive manual that covers this.

I wanted to create a bunch of split transactions to test the output reports before committing to creating a new year of data on a new app.

Any help would be very much appreciated.

It should be able to handle it. In the bank account, I would enter a transaction with amount £21 (withdrawal). In the category, open the split editor and enter two splits: one about £20 and use the CC account as category, the other one about £1 and a category of CC fees or so. There’s no need to enter negative numbers in this example. Or am I misreading the details of your example?


Thanks for the response,

I’m afraid you have misread the details.

The transaction is a sale of an item where the net credit (to the bank account) is £20 made up of a split of a credit £21 gross sale with a debit £1 card fee.

I can’t seem to get the app to accept a mixed debit and credit transaction, in which case it doesn’t do what I (and any small organisation) need it to do.

It was recommended by Skrooge that KMyMoney could cope with that.

Shame. Unless someone can explain how to enter these common transactions.


Let me try to provide an example. Take the below, store it in a text file with extension .xml and open it in KMyMoney. Does that match what you expect?

<?xml version="1.0" encoding="UTF-8"?>
    <CREATION_DATE date=""/>
    <LAST_MODIFIED_DATE date="2024-01-10T07:46:11+01:00"/>
    <VERSION id="1"/>
    <FIXVERSION date=""/>
    <APPVERSION id="5.1.80-9113cf8e1"/>
  <USER name="" email="">
    <ADDRESS street="" city="" state="" zip="" telephone="" country="" county="" zipcode="" postcode=""/>
    <ACCOUNT id="AStd::Asset" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="9" name="Asset" description="" currency="GBP">
        <SUBACCOUNT id="A000001"/>
    <ACCOUNT id="AStd::Liability" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="10" name="Liability" description="" currency="GBP"/>
    <ACCOUNT id="AStd::Expense" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="13" name="Expense" description="" currency="GBP">
        <SUBACCOUNT id="A000003"/>
    <ACCOUNT id="AStd::Income" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="12" name="Income" description="" currency="GBP">
        <SUBACCOUNT id="A000002"/>
    <ACCOUNT id="AStd::Equity" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="16" name="Equity" description="" currency="GBP"/>
    <ACCOUNT id="A000001" parentaccount="AStd::Asset" lastreconciled="" lastmodified="2024-01-10" institution="" opened="2024-01-01" number="" type="1" name="Bank account" description="" currency="GBP"/>
    <ACCOUNT id="A000002" parentaccount="AStd::Income" lastreconciled="" lastmodified="2024-01-10" institution="" opened="1900-01-01" number="" type="12" name="Gross Sales" description="" currency="GBP"/>
    <ACCOUNT id="A000003" parentaccount="AStd::Expense" lastreconciled="" lastmodified="2024-01-10" institution="" opened="1900-01-01" number="" type="13" name="Fees" description="" currency="GBP"/>
    <TRANSACTION id="T000000000000000001" postdate="2024-01-10" memo="" entrydate="2024-01-10" commodity="GBP">
        <SPLIT id="S0001" payee="" reconciledate="" action="" reconcileflag="0" value="20/1" shares="20/1" price="1/1" memo="" account="A000001" number="" bankid=""/>
        <SPLIT id="S0002" payee="" reconciledate="" action="" reconcileflag="0" value="-21/1" shares="-21/1" price="1/1" memo="" account="A000002" number="" bankid=""/>
        <SPLIT id="S0003" payee="" reconciledate="" action="" reconcileflag="0" value="1/1" shares="1/1" price="1/1" memo="" account="A000003" number="" bankid=""/>
    <PAIR key="LastModificationDate" value="2024-01-10T07:46:11+01:00"/>
    <PAIR key="kmm-baseCurrency" value="GBP"/>
    <PAIR key="kmm-id" value="{5e27a0d4-6182-4db3-aa50-a0753dfe46a0}"/>
    <CURRENCY id="GBP" name="British Pound" symbol="£" type="3" rounding-method="7" saf="100" pp="4" scf="100"/>

Hi ipwizard,

Yes, that’s exactly the kind of transaction that makes up over 100 of my 150+ 2023 accounting entries. I anticipate that sort of proportion to continue in the future as we move away from cash and cheques as forms of payment as the only bank in our town closed a while ago. One entry has 8 or 9 splits.

I was using Skrooge for 2023 but the only data extract I can get out of it shows only the net bank entry figure and not the splits.

I need to test if KMyMoney will allow me to run data extracts/reports which show all the split entries. At the moment, my only recourse is to manually create a spreadsheet and type in all the splits for every 150+ bank entry as the auditor needs that level of data.

How do I proceed from here as I don’t seem to be able to create new split entries from the file you created, so I can’t use it as my new base template?

Thanks for your help.


Which version of KMyMoney are you using on which operating system? See “Help/About KMyMoney” for the exact version description.

I can’t explain to myself why you are not able to create new split entries. This must be possible. What am I missing here. More questions/suggestions once I know the version.


I’m using V 5.1.3 and PCLinuxOS 2023 KDE Plasma 5.27.10 Kernel version 6.5.13.

I hope all that means something to you!

When I try and create a split transaction, I first look to allocate a Category called “Split transaction” but that isn’t in the list. Is that what I’m doing wrong? Is the update code you sent me putting that in by default for any split transaction so I don’t need to select anything?

I’ve just tried again to key a transaction £16 gross, -£1 fees, net £15 - hooray, it worked but at the fifth attempt. Keying the negative entry is very difficult. How am I supposed to get the negative number in the cell? What is the little calculator icon for as it doesn’t appear to have an “enter” option? The summary Transaction amount is wrong as it shows a gross negative. Also, the Correct Splits box that comes up has incorrect figures in it too. Oh, it’s just crashed on me.

I’ve re-started and tried a 4 way split - 2 credit and 2 debit (which is quite common for me) - and it didn’t want to know.

What am I doing wrong, please?



Ah! There is no Category called “Split transaction.” That is what the program displays once you have entered more than one split. To the right of the category dropdown there is a little icon to click to bring up the split editor. That is where you can enter a different category on each line. Let us know if you can find that and it it now makes sense to you.

Hi ostroffjh,

Right, I think I have it now.

This is the process I have to follow, in detail:

  1. create a new transaction.
  2. enter, or select from existing, a name in the From/Pay to field.
  3. enter the net amount, i.e. the figure showing on the bank statement and press Tab (if I press Enter at this point it doesn’t work - it creates a transaction that I cannot split. I have to have a figure in here to avoid going round in circles with the Correct splits dialog).
  4. select the split icon at the end of the Category field.
  5. double click to select the first field of the split transaction box and select the Category.
  6. tab across the line (enter Memo or Tag info as required) until the cursor is in the amount box and the default amount is highlighted.
  7. press the Delete key, and key in the gross amount.
  8. double click to select the second (and subsequent) fields in the split transaction and repeat 6. and 7. until the split amounts equal the pre-keyed total (if I don’t do that it will not take the split amounts). NB the transaction amount shown at the bottom of the split transaction box is incorrect - an example of £11 gross in and fees of £1 shows a transaction amount of -£10??
  9. Click on OK.
  10. Click on Enter above the transaction box.

Does that sound OK to you all? I can work with that going forward, and now need to see if the reports function will produce output that I can use at the next year end.

Many thanks for your help.


Sounds good. Note that if you try to save the entire split editor when the total of the splits you have entered does not match the amount you previously entered for the transaction itself, it gives you the opportunity to either continue editing the splits, or to change the total of the transaction to be the total of the splits you have entered. It’s up to you whether you start with 0 for the initial amount or prefer to check your typing by making sure the sum of splits does match.
Separately, I don’t know why hitting Enter after typing the transaction amount does not let you enter the split editor. It should still be possible, but as long as you remember to hit tab, I suppose it doesn’t really matter.
On #8 where the total looks negative, I’m not sure, but I suspect it is just a display issue when you are mixing positive and negative amounts. That will look better in master branch when in’s and out’s have separate fields.

Thanks ostroffjh,

I think I can get this to work how I need it to which is great news.

Only one of your comments confused me - That will look better in master branch when in’s and out’s have separate fields. Sorry, I don’t know what that means, so don’t know if it’s relevant to what I want to do.

Thanks again.


The master branch of the software development is where we work on improvements and new features. The stable branch on the other hand is where we maintain current released versions and work on bug fixes. Version 5.1.3 is the current stable version.

There’s no need to worry: @ostroffjh simply expressed that the UI has been enhanced as part of the development on the master branch and provides separate fields for credits and debits. No need to fuzz with negative numbers anymore. So that was more a look into the future. Even though the UI will change, the version is backward compatible and can read your data.

That’s brilliant. Thanks all for your help. It is very much appreciated.