An export format that isn't completely useless?
Would it be possible to get an export format for data from Moneydance that isn't completely unusable?
The QIF export format doesn't include memo.
The Tab format inexplicably splits each entry across two lines in a way that is functionally impossible to parse.
The JSON format does not allow specifying any subset of data. It's the entire file or nothing.
Selecting a bunch of transactions, right clicking, and picking "Copy N items" and then pasting that anywhere gives space-separated fields without quoting elements with embedded spaces, so that can't be parsed either.
The absence of a CSV option that exports selected data in a simple, easy-to-use, widely-standardized format is so glaring and frustrating that it feels malicious. It turns even a basic request for info from my accountant into an all-day job.
Keyboard shortcuts
Generic
| ? | Show this help |
|---|---|
| ESC | Blurs the current field |
Comment Form
| r | Focus the comment reply box |
|---|---|
| ^ + ↩ | Submit the comment |
You can use Command ⌘ instead of Control ^ on Mac
1 Posted by Stuart Beesley ... on 16 Oct, 2025 05:16 PM
extension extract_data should help. This is what it was designed to do... Let me know?
2 Posted by Stuart Beesley ... on 16 Oct, 2025 05:17 PM
...
3 Posted by jdw on 16 Oct, 2025 06:43 PM
I looked at your extension. It kept complaining that the selected folder (the macOS Desktop folder in this case) was invalid, but did let me proceed. After exporting an account register, both the Memo and SplitMemo columns contained the Payee. The actual memo (from either side of the transaction) wasn't present in the export.
4 Posted by Stuart Beesley ... on 16 Oct, 2025 07:24 PM
Hmm. When you say “kept complaining”, did you then change the folder to another one, to let it proceed? What there any other message? I wonder if you can reproduce and then grab help/show console and send me the output?
Can you send me the following for the issue you describe.
1. Screenshot (SS) of the txn in question
Right click the txn and show raw details. Send me SS of the raw date.
Send me the row in question from the extract (show the heading and row).
Then I’ll look to see why you are not getting what you want.
5 Posted by dwg on 16 Oct, 2025 09:06 PM
You should look at Moneydance's QIF export again, Category information is certainly there.
6 Posted by jdw on 16 Oct, 2025 09:40 PM
I edited my message to reflect that the QIF file is only missing the memo.
In my case, the memo contains the category because all of the relevant transactions are transfers from other accounts. So the QIF "category" contains the name of the other Moneydance account, which is not helpful in my case. But you're right, it is present.
7 Posted by dwg on 16 Oct, 2025 09:53 PM
I just performed a QIF export of one of my accounts.
The memory field is present and indicated by the letter M in column 1 as per the specification.
e.g
D08/22/2022
T-29.00
CX
NG8437732965
PVisa transfer to CDIA from Chq A/C
MRef # G8437732965
L[Direct Investment Account - CTB]
^
8 Posted by jdw on 16 Oct, 2025 09:56 PM
Stuart,
There was a red message at the bottom of the window saying that the path wasn't valid. It didn't matter what folder I picked, that message wouldn't change. (In fact nothing changed; there was no visual acknowledgement that I had picked a path.) But it didn't seem to matter, because when I clicked "Proceed" anyway it didn't stop me and it did use the folder I picked.
I am not able to share this data, sorry. I can tell you that if I do the "Show Raw Details" for any of the transactions, the correct info is on the line that starts with "memo:"
I used the "Account register transactions - extract to csv (attachments optional) option.
In the resulting CSV, every row has the same value for Description, Memo, and SplitMemo fields. And that value is the one from the Description on the Moneydance side.
One thing that might be relevant for you is that (as I mentioned in the reply to dwg) these are all recorded as transfers from other accounts, and the memos are on the other side of the transaction. I.e., when I view from the account being exported, all the memos are [in brackets].
9 Posted by jdw on 16 Oct, 2025 09:58 PM
dwg, I'm glad your export has it. Mine doesn't.
$ egrep ^L export.qif| wc -l
51
$ egrep ^P export.qif| wc -l
51
$ egrep ^M export.qif| wc -l
0
10 Posted by jdw on 16 Oct, 2025 10:23 PM
Huh. As an experiment, I tried overriding the memo from the other side of one of the transactions. Then I re-ran the QIF export.
There was still no M line, but it put that as the payee (P) instead of the Description field.
When I removed that and re-exported, the Description was restored as the payee and the memo was nowhere to be found.
Then I created a completely fake transaction that wasn't a transfer and exported again. All the fields of that transaction exported correctly, including the memo.
Then I created *another* fake transaction that was a transfer *to* another account. That one also appears to export OK via QIF.
So it sure seems like there are some bugs around QIF export of an account (that may also be affecting Stuart's approach) specific to transactions that are transfers **from** another MoneyDance account.
11 Posted by dwg on 16 Oct, 2025 10:51 PM
An entry in a transaction surrounded by square brackets is only an echo from the other side of a transaction and is not part of that transaction.
12 Posted by Stuart Beesley ... on 16 Oct, 2025 11:01 PM
Dealing with the other side of transfers can seem tricky. Several fields don’t actually sit in the parent, they sit in the other side. As dwg says [field] means the value from the other side. Also, splits (the other side) do not have a memo, they only have the same description field (it pretends to be a memo). This is why I want an example. The extn extract has been tested extensively to ensure all the fields are output….
Can you not enter a dummy transaction, then send me what I asked for using that dummy transaction? Then I’m sure we can point out what’s occurring.
13 Posted by jdw on 16 Oct, 2025 11:07 PM
The needed information is clearly visible in "Show Raw Data." It is also present in the tab export of the same transactions, just in a format that's nearly impossible to use for further processing.
If, despite that, you want to take the position that it the payee, category, amount, and date are part of the transaction, but the memo is not, you're certainly welcome to do that.
Unfortunately, doing so won't reduce my need for the information, nor my desire to have a convenient way to export it.
14 Posted by Stuart Beesley ... on 16 Oct, 2025 11:16 PM
Er.. I’m not taking any position. I’m asking to see data in the form I’ve requested. Even if it’s dummy data you create.
15 Posted by jdw on 16 Oct, 2025 11:25 PM
Stuart,
That was in reply to dwg's remark.
Raw details:
The output CSV line:
Console output:
16 Posted by jdw on 16 Oct, 2025 11:30 PM
For reference, here is the tab export of the same transaction from the same account, which does show the memo:
17 Posted by jdw on 16 Oct, 2025 11:41 PM
Steps to reproduce:
1. Create a new Moneydance file with "minimal" accounts.
2. In the "Checking" account, create one transaction:
Description: This_is_the_description
Category: Savings
Deposit: $20.00
Memo: This_is_the_memo
3. Export this from the Checking account, which will put "This_is_the_description" as Description and SplitMemo and "This_is_the_memo" as Memo. (Correct behavior, except possibly wrt SplitMemo.)
4. Export this from the Savings account, which will put "This_is_the_description" in all three fields. (Incorrect behavior.)
18 Posted by Stuart Beesley ... on 17 Oct, 2025 07:56 AM
[edited] I've done your test..
So post 3. "The actual memo (from either side of the transaction) wasn't present in the export." - is not correct.. The memo appears in the extract "Memo" field. If you enter a memo on the other side, then that split's memo appears in the "Split Memo" field and also on that other side's transfer record in the "Memo" field.
As mentioned, MD does NOT actually have a memo field stored on split records.. Splits store a "Desc" field that is visually renamed on in the register to show as memo... Hence it depends what you are looking at to determine what to show.. I accept that in extract_data, when the memo on the split is blank and that it repeats the parent's description (that was a design choice by me).
Post 17. Yes, I see that in my extract on the transfer line you see the description field three times.. Also note that if you enter a memo on the other side, that you do get the memo appearing in the Memo and Split Memo fields.. The only other way to do it would be to not repeat the description into memo and only show when the other side's memo is not blank.
19 Posted by Stuart Beesley ... on 17 Oct, 2025 08:21 AM
Ref post 8 "There was a red message at the bottom of the window saying that the path wasn't valid..." - yes that was a quirk... I have now tweaked the code and that path validation message now properly updates.. FYI - if you had selected a path and then run an extract, then on the next run it would have actually said it was OK. Thanks for pointing that one out..
20 Posted by Stuart Beesley ... on 17 Oct, 2025 01:38 PM
FYI. Extract Data extension is ~ 16k lines of code….
I’ll think about whether there’s an improved way to represent desc/memo.
21 Posted by jdw on 17 Oct, 2025 03:24 PM
Good grief! I provided the output. You can see it's not there. I can see it's not there. Don't tell me I'm wrong about what I see.
If I had wanted the amount of "You're holding it wrong!" and "You're wrong to want that!" that I've gotten here, I'd have posted on Reddit.
Never mind!
jdw closed this discussion on 17 Oct, 2025 03:24 PM.
Stuart Beesley (Mr Toolbox) re-opened this discussion on 17 Oct, 2025 06:46 PM
22 Posted by Stuart Beesley ... on 17 Oct, 2025 06:46 PM
I spent some time (last 3 hours) looking at how these fields are populated today, and it seems something has changed at some point in the recent past. I think this may be confusing matters. Basically, depending on the sequence of events, and how you edit the memo field, you will end up with different results, even though on the screen it looks different.
I actually do agree with you that in my extension, I can represent the memo slightly different, probably to achieve what you want, and to match the register in Moneydance.
When I have a test version ready, I’ll message you, and perhaps you can try it, and see what you think?
If that looks right, I’ll have a look at other aneas of moneydance exports to see whether they can be improved?
23 Posted by Stuart Beesley ... on 17 Oct, 2025 06:51 PM
PS. I’ll try and explain again in a better fashion what I meant by MD doesn’t have a memo field. I should have said that splits don’t have a memo field. They only have a description field (see raw detail). There is no 0.memo field only 0.desc. There is only a parent memo field. The register shows the split’s description field visually labelled as ‘memo’, and shows (repeats) the parent’s description field in the split’s description field. I’m not trying to tell you you’re wrong, I’m trying to explain the underlying data model.
24 Posted by Stuart Beesley ... on 18 Oct, 2025 08:36 AM
@jdw - I have reconfigured my extract data extension to better handle the 'memo' field on splits. I hope this one is better. Please could you take a look and advise. If you think it's good, I'll look at other places this export of memos could be improved.
My site: https://yogi1967.github.io/MoneydancePythonScripts/
PREVIEW version:
https://github.com/yogi1967/MoneydancePythonScripts/raw/master/dist...
download, unzip, install the enclosed mxt file. Make sure it's named exactly extract_data.mxt when installing.
Please let me know how it looks for you? Thanks
(not support, just a fellow user)
25 Posted by Stuart Beesley ... on 19 Oct, 2025 08:06 PM
Subsequent to my post above, you get download a signed version of this updated preview from:
https://infinitekind.com/app/md/extensions/preview/extract_data.mxt