KiwiBank Web Site Upgrade Broke OFX Import

37 views
Skip to first unread message

RAE1

unread,
Feb 7, 2026, 4:24:32 AM (2 days ago) Feb 7
to Microsoft Money

Microsoft Money
Version 14.0.120.1105
© 2004 Microsoft

Kiwibank recently upgraded their website and now I can no longer import into Microsoft Money. From what I read, the OFX files have changed from Microsoft Money SGML-based format (OFX 1.02) to XML-style format (OFX 2.x).    

The error message shows:
"The file you attempted to import appears to be invalid or contains corrupt data. Please download the file again. If this problem continues, contact your financial institution."

My financial institution says this is a known issue and to remove any special characters in OFX file or use an alternative format such as CSV or QIF.

Kiwibank has looked into this and confirmed it relates to the Microsoft software rather than their upgraded systems and recommends using the latest version of the software or considering an alternative option.

"Click the Export icon and select the file format you'd like your transactions to be exported in (CSV, JSON, OFX, QIF, PDF)."

I tried the QIF file but it was missing too much info so found a way to revert back to the old website and was able to download and import the OFX files into Microsoft Money once again.  After three months, I can no longer load the old website, so I am back to the start.

Is there any way I can continue using Microsoft Money with all the info attached?  Is there a program that can convert any of the following files back to the old OFX format?  I am not a programmer so any help or ideas are greatly appreciated.


OFX 1.02
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0
<SEVERITY>INFO
</STATUS>
<DTSERVER>20260207
<LANGUAGE>ENG
<DTPROFUP>20260207
<DTACCTUP>20260207
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>1
<STATUS>
<CODE>0
<SEVERITY>INFO
</STATUS>
<STMTRS>
<CURDEF>NZD
<BANKACCTFROM>
<BANKID>Download
<ACCTID>xx-xxxx-xxxxxxx-xx
<ACCTTYPE>SAVINGS
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>20251209
<DTEND>20260207
<STMTTRN>
<TRNTYPE>CREDIT
<DTPOSTED>20260203
<TRNAMT>3.55
<FITID>03Feb2026.1
<NAME>AP#26094052 FROM RG
<MEMO>AP#26094052 FROM RG ;Transfer from RG - 01
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>4.21
<DTASOF>20260207
</LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
</OFX>


CSV
Account number,Effective Date,Transaction Date,Description,Transaction Code,Particulars,Code,Reference,Other Party Name,Other Party Account Number,Other Party Particulars,Other Party Code,Other Party Reference,Amount,Balance
xx-xxxx-xxxxxxx-xx,2026-02-03,2026-02-03,AP#26094052 FROM RG Transfer from RG - 01 WATER RATES,CREDIT TRANSFER,WATER RATES,,,RG,xx-xxxx-xxxxxxx-01,WATER RATES,,,3.55,4.21


JSON
{
  "Data": {
    "Transaction": [
      {
        "AccountId": "xx-xxxx-xxxxxxx-xx",
        "TransactionId": "",
        "TransactionReference": {
          "CreditorName": "RG",
          "CreditorReference": {
            "Particulars": "WATER RATES",
            "Code": "",
            "Reference": ""
          },
          "DebtorName": "RG",
          "DebtorReference": {
            "Particulars": "WATER RATES",
            "Code": "",
            "Reference": ""
          }
        },
        "Amount": {
          "Amount": "3.55",
          "Currency": "NZD"
        },
        "CreditDebitIndicator": "Credit",
        "Status": "Booked",
        "BookingDateTime": "2026-02-03T00:00:00.000Z",
        "ValueDateTime": "2026-02-03T00:00:00.000Z",
        "TransactionInformation": "AP#26094052 FROM RG Transfer from RG - 01 WATER RATES",
        "ProprietaryBankTransactionCode": {
          "Code": "CREDIT TRANSFER",
          "Issuer": "Kiwibank"
        },
        "Balance": {
          "Amount": {
            "Amount": "4.21",
            "Currency": "NZD"
          },
          "CreditDebitIndicator": "Credit",
          "Type": "InterimBooked"
        }
      }
    ]
  },
  "Links": {
    "Self": "https://banking.kiwibank.co.nz/accounts"
  },
  "Meta": {
    "TotalPages": 1
  }
}


OFX 2.x
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?OFX OFXHEADER="200" VERSION="220" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0</CODE><SEVERITY>INFO</SEVERITY></STATUS></SONRS></SIGNONMSGSRSV1><BANKMSGSRSV1><STMTTRNRS><STMTRS><CURDEF>NZD</CURDEF><BANKTRANLIST><STMTTRN><FITID>826</FITID><TRNTYPE>CREDIT</TRNTYPE><MEMO>AP#26094052 FROM RG Transfer from RG - 01 WATER RATES</MEMO><REFNUM></REFNUM><DTPOSTED>20260203</DTPOSTED><DTUSER>20260203</DTUSER><TRNAMT>3.55</TRNAMT><PAYEE><NAME>RG</NAME></PAYEE></STMTTRN></BANKTRANLIST></STMTRS></STMTTRNRS></BANKMSGSRSV1></OFX>


QIF
!Type:Bank
D03/02/26
MAP#26094052 FROM RG ;Transfer from RG - 01 WATER RATES ;WATER RATES
T3.55
^

Screenshot (311).png

N G

unread,
Feb 7, 2026, 5:48:13 AM (2 days ago) Feb 7
to Microsoft Money
I ran into this last year with one of my banks. If you change the OFX version from 220 to 200 it might work. This works for me in Money Sunset.

zanzibar743

unread,
Feb 7, 2026, 10:26:52 AM (2 days ago) Feb 7
to N G, Microsoft Money
N G, I have several banks where that is the case. The solution is to find a good OFX file and open it in notepad. Then open your bad OFX file in notepad and replace everything from the beginning through OFX in brackets with info  from the good file. Then save it and it should process without error. 

This is what I use for the replacement: 

OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:D1088586-60EC-11D1-B730-00805F01C5E9
NEWFILEUID:21F3EB24-6259-11D1-B730-00805F01C5E9

<OFX>

--
You received this message because you are subscribed to the Google Groups "Microsoft Money" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microsoft-mon...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/microsoft-money/37b38332-d641-4130-a846-299549a7ac55n%40googlegroups.com.

J Hoban

unread,
Feb 7, 2026, 9:32:09 PM (2 days ago) Feb 7
to Microsoft Money
1) as gia...@gmail.com pointed out, changing the VERSION from 220 to 200 second line gets the Money OFX Data Analyzer reading the file.
2) There is a bunch of missing data in your example.  
3) The <STMTTRN> block has both <PAYEE> and <NAME>. The documentation says use one or the other.  I'd strip the PAYEE out.
4) <DTUSER> tags cause problems.  The documentation claims Money ignores these.  I'd strip it out.
5) Money takes offense to the order of elements in the <STMTTRN> block.  <Name> before <Memo>, <TRNAMT> before <FITID>, etc. 

RAE1

unread,
Feb 8, 2026, 5:31:24 PM (10 hours ago) Feb 8
to Microsoft Money
Yeah, didn't work.  Also downloaded and installed Money Sunset and came back with same error.  Thanks anyways.  👍
Screenshot (318).png

RAE1

unread,
Feb 8, 2026, 6:01:56 PM (9 hours ago) Feb 8
to Microsoft Money
I think I did it right (see screenshot) but it came back with the same error.  Thanks.  👍
OFX-01.png

RAE1

unread,
Feb 8, 2026, 6:22:10 PM (9 hours ago) Feb 8
to Microsoft Money
Yeah, I noticed there is a bunch of missing data though my bank says Microsoft Money is at fault.  🙄

Looking at all the options, I think the CSV file has the most correct info?

I have been looking at CSV to OFX converters and hope to find one that doesn't require a programmer.

I am hoping to find a free converter that allows mapping.  I can do mapping but not programming.  😊  

I think the following error is from the iCreateOFX Basic. 
Screenshot (322).png
Reply all
Reply to author
Forward
0 new messages