Skip to content

feat(tours): guided tour for bringing your data in (QIF/CSV import) - #960

Merged
kenlasko merged 2 commits into
kenlasko:mainfrom
WMP:feat/import-tour
Jul 27, 2026
Merged

feat(tours): guided tour for bringing your data in (QIF/CSV import)#960
kenlasko merged 2 commits into
kenlasko:mainfrom
WMP:feat/import-tour

Conversation

@WMP

@WMP WMP commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Linked discussion / issue

Closes #
Approved in: #950 (Phase 2 built the engine and called it "repurposable as a New User Introduction"; this is the second evergreen tour it makes possible)

Summary

The wiki's Importing from Microsoft Money guide exists because a QIF migration goes wrong before the wizard ever opens:

  • Strict QIF instead of Loose, which silently drops split details and transfer references
  • one export per investment account instead of two (Investment for the trades, Regular for the cash side)
  • brokerage files fed in ahead of the cash files they transfer from, so transfers have no other side to match

None of that is visible anywhere in the app, and the guide is found mainly by people who already suspect they need it. This adds a six-step evergreen tour that carries the parts of it a user needs in the app:

  1. Bringing your data in — what the tour covers (centered).
  2. The importer lives in Tools — opens the Tools menu and anchors on the Import Transactions entry, plus the account-page shortcut that pre-selects the account.
  3. What to arrive with — one file per account, investment accounts twice, always Loose QIF, and the fact that QIF/OFX/QFX/CSV and multi-file drops all work. Anchored on the upload panel.
  4. Order matters — assets, own-currency accounts, foreign-currency accounts, investment cash, brokerage last, and why: each file can use what the previous ones created.
  5. What the wizard will ask — anchored on the step indicator: steps appear only when the file needs them; amber needs you, green is already matched, skipping is fine; the import is one database transaction, so a failure leaves nothing behind.
  6. After the import — check balances, and search for the PENDING IMPORT memo that cross-currency transfers land with because QIF carries no rate. Names the wiki guide for the full walkthrough.

The wizard is signposted, not walked: its later steps only exist once real files are parsed, and no tour can conjure those up. So the advice steps are centered cards and the two anchored steps are unobtrusive — both ask the user to look at a screen rather than at one control.

Also adds the tools tour area, three anchors (the Tools menu's import entry, the upload panel, the wizard's step indicator), and registers the tour as the second evergreen one, so Settings -> Guided tours offers it beside the introduction.

Verified: npm run lint clean, tsc --noEmit clean, vitest run 541 files / 10882 tests pass (including a new spec for the definition and the anchor-uniqueness test), i18n:check clean.

Checklist

  • An approved discussion or issue exists and is linked above.
  • This PR addresses a single concern (large work is split into a series).
  • New behavior has tests, and the existing suite passes.
  • All user-facing strings are translated for every locale (i18n parity).
  • No shared/core areas were refactored without prior agreement. Three data-tour-id attributes and one new tour definition; no behaviour changes outside the tour.
  • The branch is rebased on the latest main.
  • AI assistance is disclosed below, and I have reviewed and own the result.

AI assistance disclosure

Written with Claude Code from the wiki guide and the importer's own code; I reviewed the diff, the copy in the languages I speak, and ran the suite locally.

MarcinJanowski and others added 2 commits July 25, 2026 20:18
The wiki's Microsoft Money guide exists because the import goes wrong before
the wizard ever opens: Strict QIF instead of Loose, one export per investment
account instead of two, brokerage files fed in ahead of the cash files they
transfer from. None of that is visible in the app, and the guide is only
found by people who already suspect they need it.

Six steps, distilled from that guide: where the importer lives (the Tools
menu, anchored on the entry itself), what files to arrive with, the order to
feed them in, what the wizard will ask and what its colours mean, and what to
check afterwards -- balances, and the PENDING IMPORT memo that cross-currency
transfers land with because QIF carries no rate. The full walkthrough stays
in the wiki, which the last step names.

The wizard itself is signposted rather than walked: its later steps only
exist once real files are parsed, so the advice steps are centered cards and
the two anchored steps are unobtrusive -- both ask the user to look at a
screen rather than at one control.

Adds the `tools` tour area, three anchors (the Tools menu's import entry, the
upload panel, the wizard's step indicator), and registers the tour as the
second evergreen one, so it is offered from Settings alongside the
introduction.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The import tour's last step named the wiki guide in bold and left the user to
find it. The card's tiny renderer only understood `**bold**`, so there was no
way to make it a link.

It now also renders `[label](url)`, restricted to http(s) by the pattern
itself -- link targets come from translated catalogues, so a locale must not
be able to smuggle in a script URL -- and opens in a new tab, since a tour
that navigated away would be dismissed by its own copy. The guide is a link in
every locale now.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kenlasko

Copy link
Copy Markdown
Owner

I'm unclear as to where the tour happens here. I loaded your image for this, and am not seeing anything.

@WMP

WMP commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

You need to start this is setting, maybe should be link on welcome window for new users

@kenlasko
kenlasko merged commit 93923fc into kenlasko:main Jul 27, 2026
27 checks passed
@kenlasko

Copy link
Copy Markdown
Owner

I tried a few different things with this, and never liked the results. Felt like a tour was a bit overkill for the situation. I did add a banner telling users to read the wiki before migrating. In the next release, I'm going to try to bring the full .mny importer into Monize instead of the script that was created by @marksimpson, then the guidance will be MUCH simpler for MSMoney users.

@marksimpson

Copy link
Copy Markdown

That’s great to hear you’re looking to build the import. I suspect this is a fairly hard problem, although can be narrowed if you only support one specific version of a .mny file.

I rebuilt my own version of Money, which is very focused on my specific needs. The importer there developed quite significantly from the version I shared with you. If you’re interested, I can try to extract a spec, but I was moving a 2002 file so there will be some significant differences.

I’ve fully migrated over now, so have retired the importer. It’s so good to be off Money after 25 years!

Good luck. Keep on tagging me, I’m happy to help any way I can.

pull Bot pushed a commit to Louis4441/monize that referenced this pull request Jul 28, 2026
This reverts commit 93923fc, reversing
changes made to d9df7e2.
pull Bot pushed a commit to Louis4441/monize that referenced this pull request Jul 28, 2026
Replaces the reverted import guided tour (PR kenlasko#960) with an always-visible
banner on the import upload step telling users to read the Importing from
Microsoft Money or Importing from Quicken wiki guide before importing
anything, with links to both.

English catalog only for now; remaining locales get the localization pass
at acceptance per the i18n workflow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YRVcWreCwmNRAxYjWxmEBZ
@WMP
WMP deleted the feat/import-tour branch July 28, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants