Getting 2 withdraws with a transfer.

I tried to create a transfer transaction corresponding to payment to a debit card (end of of month clearance). Following some example seen on tutorials, I create a transaction in the checking account, adding the credit card account as category. As far as I can see, there is no field to defined credit, transfer or withdraw or other I could tried. As far as I understood, it should be automatic as it is implicit.

But I always get two withdraws, from the checking account and from the debit card account in which a transaction has been automatically created (but with the wrong sign). I tried it from checking account, debit card account, natively created checking account, I always get the same result.

as I am new on KMM, Iḿ wondering what I am doing wrong or if I’m facing a bug…

I’m using KMM 5.2.1 with Linux/Mint (in fact i’m trying to use KMM :slight_smile: )

Thanks for your help

From what you explain, it seems that you do everything correct. Here’s a demo file that has two entries for your use case (a purchase on the credit card and the monthly payment). Drop the below into a file called demo.xml and open it with KMyMoney. (I was about to append the file here, but apparently only graphical formats are allowed).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE KMYMONEY-FILE>
<KMYMONEY-FILE>
  <FILEINFO>
    <CREATION_DATE date="2003-09-29"/>
    <LAST_MODIFIED_DATE date="2025-11-09T17:11:38+01:00"/>
    <VERSION id="1"/>
    <FIXVERSION id="9"/>
    <APPVERSION id="5.2.70-059fa13da"/>
  </FILEINFO>
  <USER name="" email="">
    <ADDRESS street="" city="" state="" zip="" telephone="" country="" county="" zipcode="" postcode=""/>
  </USER>
  <INSTITUTIONS/>
  <PAYEES/>
  <COSTCENTERS/>
  <TAGS/>
  <ACCOUNTS>
    <ACCOUNT id="AStd::Asset" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="9" name="Asset" description="" currency="EUR">
      <SUBACCOUNTS>
        <SUBACCOUNT id="A000001"/>
      </SUBACCOUNTS>
    </ACCOUNT>
    <ACCOUNT id="AStd::Liability" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="10" name="Liability" description="" currency="EUR">
      <SUBACCOUNTS>
        <SUBACCOUNT id="A000003"/>
      </SUBACCOUNTS>
    </ACCOUNT>
    <ACCOUNT id="AStd::Expense" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="13" name="Expense" description="" currency="EUR">
      <SUBACCOUNTS>
        <SUBACCOUNT id="A000004"/>
      </SUBACCOUNTS>
    </ACCOUNT>
    <ACCOUNT id="AStd::Income" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="12" name="Income" description="" currency="EUR"/>
    <ACCOUNT id="AStd::Equity" parentaccount="" lastreconciled="" lastmodified="" institution="" opened="" number="" type="16" name="Equity" description="" currency="EUR">
      <SUBACCOUNTS>
        <SUBACCOUNT id="A000002"/>
      </SUBACCOUNTS>
    </ACCOUNT>
    <ACCOUNT id="A000001" parentaccount="AStd::Asset" lastreconciled="" lastmodified="2025-11-09" institution="" opened="2025-01-01" number="" type="1" name="Checking account" description="" currency="EUR"/>
    <ACCOUNT id="A000002" parentaccount="AStd::Equity" lastreconciled="" lastmodified="2025-11-09" institution="" opened="2025-01-01" number="" type="16" name="Opening Balances" description="" currency="EUR">
      <KEYVALUEPAIRS>
        <PAIR key="OpeningBalanceAccount" value="Yes"/>
      </KEYVALUEPAIRS>
    </ACCOUNT>
    <ACCOUNT id="A000003" parentaccount="AStd::Liability" lastreconciled="" lastmodified="2025-11-09" institution="" opened="2025-01-01" number="" type="10" name="Credit card" description="" currency="EUR"/>
    <ACCOUNT id="A000004" parentaccount="AStd::Expense" lastreconciled="" lastmodified="2025-11-09" institution="" opened="1900-01-01" number="" type="13" name="some-expense" description="" currency="EUR"/>
  </ACCOUNTS>
  <TRANSACTIONS>
    <TRANSACTION id="T000000000000000001" postdate="2025-01-01" memo="" entrydate="2025-11-09" commodity="EUR">
      <SPLITS>
        <SPLIT id="S0001" payee="" reconciledate="" action="" reconcileflag="0" value="1000/1" shares="1000/1" price="0/1" memo="" account="A000001" number="" bankid=""/>
        <SPLIT id="S0002" payee="" reconciledate="" action="" reconcileflag="0" value="-1000/1" shares="-1000/1" price="0/1" memo="" account="A000002" number="" bankid=""/>
      </SPLITS>
    </TRANSACTION>
    <TRANSACTION id="T000000000000000002" postdate="2025-10-05" memo="" entrydate="2025-11-09" commodity="EUR">
      <SPLITS>
        <SPLIT id="S0001" payee="" reconciledate="" action="" reconcileflag="0" value="-100/1" shares="-100/1" price="1/1" memo="" account="A000003" number="" bankid=""/>
        <SPLIT id="S0002" payee="" reconciledate="" action="" reconcileflag="0" value="100/1" shares="100/1" price="1/1" memo="" account="A000004" number="" bankid=""/>
      </SPLITS>
    </TRANSACTION>
    <TRANSACTION id="T000000000000000003" postdate="2025-10-31" memo="" entrydate="2025-11-09" commodity="EUR">
      <SPLITS>
        <SPLIT id="S0001" payee="" reconciledate="" action="" reconcileflag="0" value="-100/1" shares="-100/1" price="1/1" memo="" account="A000001" number="" bankid=""/>
        <SPLIT id="S0002" payee="" reconciledate="" action="" reconcileflag="0" value="100/1" shares="100/1" price="1/1" memo="" account="A000003" number="" bankid=""/>
      </SPLITS>
    </TRANSACTION>
  </TRANSACTIONS>
  <KEYVALUEPAIRS>
    <PAIR key="LastModificationDate" value="2025-11-09T17:11:38+01:00"/>
    <PAIR key="kmm-baseCurrency" value="EUR"/>
    <PAIR key="kmm-id" value="{b942c6dc-c140-4a00-aeb9-29884fb0d5d3}"/>
  </KEYVALUEPAIRS>
  <SCHEDULES/>
  <SECURITIES/>
  <CURRENCIES>
    <CURRENCY id="EUR" name="Euro" symbol="€" type="3" rounding-method="7" saf="100" pp="4" scf="100"/>
  </CURRENCIES>
  <PRICES/>
  <REPORTS/>
  <BUDGETS/>
  <ONLINEJOBS/>
</KMYMONEY-FILE>

Thank you for your help.

I think I found the mistake. As I imported an ofx file, the transaction were imported as payment, which sounds correct to me as I’m not accountant… :-). (and translation in french is questionable)

By selecting inverting sign during the import, transactions becomes charges and the transfer from the checking account is still a payment, balancing the charges (what I payed with the card.)

Thanks