mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-09 11:42:54 -05:00
[Feature] Import transactions from mint export #714
Closed
opened 2026-02-28 19:14:45 -06:00 by GiteaMirror
·
13 comments
No Branch/Tag Specified
master
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
matiss/7155
claude/fix-simplefin-batch-sync-O8LcD
ai/custom-theme-dual-prefs
matiss/fix-6804
add-claude-github-actions-1772738270730
claude/analyze-internal-errors-4k6O2
react-query-rules
react-query-useSchedules
matiss/separate-lint-format
dependabot/npm_and_yarn/ajv-6.14.0
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
No Label
wontfix
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#714
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @twk3 on GitHub (Nov 7, 2023).
Verified feature request does not already exist?
💻
Pitch: what problem are you trying to solve?
Allow importing of mint transaction exports into actual.
Mint's export feature works on the current filtered view of transactions. The export is in csv with the following format:
Mint allows an export of up to 10 000 transactions a time.
Sanitised export file:
mint-2account-6month-300transactions.csv
The biggest issue that prevents users from importing any of these transactions today without editing the csv is the fact that the transaction type is a separate field.
Additionally the category information is all lost.
Describe your ideal solution to this problem
A mint importer to go alongside the ynab importers.
What we don't have is the budgets. Or the category groups.
Teaching and learning
Users should be advised (in the docs) to limit their imports to months that they won't be later importing account transaction file imports for. As duplicate matching won't work well, especially for split transactions.
@github-actions[bot] commented on GitHub (Nov 7, 2023):
✨ Thanks for sharing your idea! ✨
This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).
The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+
Don’t forget to upvote the top comment with 👍!
@youngcw commented on GitHub (Nov 8, 2023):
We can start with that file description, but if you have a real file export that would be best. Its ok if its a reduced size and sanitized, its just needs to be representative of a full file.
@twk3 commented on GitHub (Nov 8, 2023):
@youngcw I've updated the description with a sanitised file.
I called the file 2account, but it looks like it actually has three. A chequing, a savings, and a cash (cash is a bad name, but just another account).
Mint has a split transaction features, but the transactions in the export are all post-split. So users will have to be wary of duplicates when they start importing their new transactions.
Split transactions share the same original description, and date. So maybe there is something that can be done there.
@twk3 commented on GitHub (Nov 8, 2023):
Based on the likely number of edge cases, and the fact that this will be short lived. (mint ending support in January). I wonder if it's better to just get an easy transaction converter up in gh-pages for folks like https://github.com/aniav/ynab-csv rather than change anything in acutal.
@youngcw commented on GitHub (Nov 8, 2023):
I don't think there is likely to be a full importer because of that. I like the idea of a csv cleaner to make the import easier.
To be honest my recommendation would be to start fresh in Actual and then either use a separate budget file, or some other storage like excel, for the old stuff. Since Mint doesn't export any budget data (and its a different budget style iirc), any data import from Mint will result in a borked budget that will be non-trivial to fix.
@youngcw commented on GitHub (Nov 13, 2023):
Here is a quick and dirty importer to try https://github.com/youngcw/actual_mint_importer
@youngcw commented on GitHub (Nov 13, 2023):
Ive tested that larger file and things look to have worked. Some notes are that the upload failed, probably because of the size. There are some environment variables that should help with that. But if not, I had success by running the script again and ending early so the end sync didn't happen again and cause duplication.
@twk3 commented on GitHub (Nov 14, 2023):
@youngcw thanks for getting that quick import up! I myself don't use mint anymore for several years, but a few of my family members do, so having the historic data in actual would be good.
Supporting larger import sizes, and figuring out a way to specify which categories are for income. (It doesn't look like we can easily move categories to the income group after the fact?). Other than that the import looked good.
I agree with the idea that you put in the readme this should be held in a different budget file just for reporting and whatnot. And that you are better off starting fresh for your continued months.
@twk3 commented on GitHub (Nov 16, 2023):
Just to followup https://github.com/youngcw/actual_mint_importer seems to work well enough. I've used it on some other family members mint exports and it's seems to be working pretty good considering it doesn't have any of the budget data.
For most users, a fresh start is going to be a nicer experience. But being that mint is shutting down. It's nice to have your categorised transactions from mint still available if wanted in actualbudget.
@psybers commented on GitHub (Jan 27, 2024):
Is this request still relevant? It looks like if I try to directly import a mint-exported CSV file, I can set an option to pick the 'credit/debit' column and it will properly mark the amount as an inflow/outflow as appropriate. You have to tell it to use the string 'debit' as the outflow. See this example:
The only thing I can see that is a sticking point is the fact there are multiple accounts in a single CSV. The importer itself does not seem to handle that so you have to split them into separate files. That can be done with a simple script:
This would generate a single
file_#.csvfor each account. Then you can import them one by one into the proper Actual account.I played a bit with youngcw's importer. It works but doesn't quite do what I had hoped. This approach of splitting the files and then importing them actually seems to work quite well for me.
@youngcw commented on GitHub (Jan 27, 2024):
@psybers I think the only thing missing form the internal csv importer is that it doesn't create categories, where the api importer does
@youngcw commented on GitHub (Oct 18, 2024):
Since Mint is long dead now do we still need this request open?
@twk3 commented on GitHub (Oct 24, 2024):
Nope. Not needed anymore at this point.