mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-23 04:50:12 -05:00
[Feature] Import Categories from File #2751
Closed
opened 2026-02-28 20:26:40 -06:00 by GiteaMirror
·
3 comments
No Branch/Tag Specified
master
claude/browser-compatible-api-QbhHh
matiss/theme-catalog-responsive-layout
claude/improve-cli-transactions-waTUY
matiss/remove-browser-connection-extension
claude/publish-react-native-ios-j8qoT
dependabot/npm_and_yarn/flatted-3.4.2
js-proxy
claude/fix-flaky-ci-job-5gDdz
react-query-rules
react-query-useSchedules
claude/nightly-theme-validation-scan-DzOGD
claude/debug-simplefin-error-ZuKzB
matiss/desktop-client-subpath-imports
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
add-claude-github-actions-1772738270730
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
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#2751
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 @balthanon on GitHub (Dec 29, 2025).
Verified feature request does not already exist?
💻
Pitch: what problem are you trying to solve?
When importing data from files-- whether CSV or QSV/OSV, if the category doesn't match exactly, it is impossible to map the category into Actual Budget. This results in losing that information which could be useful in mapping the transaction to your actual categories. It is possible to use the Notes field as a workaround for this, but that only works if you're using a CSV file (which I've found to have issues with matching transfers and recognizing positive and minus signs) and you then potentially lose out on storing something else from the import there like extended description or the original payee names from the credit card or bank.
While this is most useful when you're initially setting up Actual Budget and are importing a year or more of data potentially, I think it's likely to be an ongoing problem if you run across new categories from a credit card company or bank. Plus, if you use multiple suppliers, this is one of the only ways you could actually standardize the data from all of those companies.
It is possible to implement some of this manually, but that is a decent amount of work copying and pasting categories out of spreadsheets and if the data changes, you might not realize that the payment processor is using new categories when they just don't import later on when updating your data.
This has come up in previous issues as well, but as far as I can see there hasn't been any resolution to them beyond an explanation of how it currently works and then closing the other feature request. (https://github.com/actualbudget/actual/issues/3446 and https://github.com/actualbudget/actual/issues/3428#issue-2525372326 - the former is a feature request, but as far as I can tell, seems to have been closed based upon the fact that it referenced the bug report unless it the user found another issue that I haven't been able to find. That bug was then closed with an explanation why the issue exists and how it can be worked around manually.)
Describe your ideal solution to this problem
It should be possible to automatically create categories based upon a file import. Whether that is through importing transactions via a stand alone CSV file or better yet as part of the transaction import process it would be beneficial to keep as much data as possible from imports. (Or both.)
My ideal solution for this would be to have a check mark that users can enable in the import process that says "Create Categories that Don't Exist" or something. If that is checked, then it would create and place all the new categories in an "Imported" group. Users could then generate rules off of that data to recategorize the transactions as they wish or just move the categories to a group if they want to keep them as is.
The ability to import categories from a basic CSV file would actually be useful as well, since that could allow people to import a budget structure from file or just generate a list out of a downloaded CSV file. That could be helpful for people to get a running start on creating a solid budget structure for themselves that they could then modify or for just importing a list of categories that certain payment processors or banks use (i.e. here's a list of all of the categories that American Express or Mastercard or Visa use so you can import category data from them.)
Teaching and learning
The import doc should definitely be updated to mention this (and there are actually a few other features in the file import process that aren't well documented there.)
https://actualbudget.org/docs/transactions/importing/
It would also be useful to update Starting Fresh and getting started, particularly if the stand alone file import of categories is implemented-- having a few basic configurations for a budget that maybe community members could provide would be really helpful for people just getting started with this process.
https://actualbudget.org/docs/getting-started/starting-fresh
(It probably depends on if I stick with using the application, but I might be willing to help with creating the PR later-- want to focus first on actually implementing a budget for myself and someone else first.)
@github-actions[bot] commented on GitHub (Dec 29, 2025):
✨ Thanks for sharing your idea! ✨
This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward 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 👍!
@db-src commented on GitHub (Dec 31, 2025):
Dupe of
https://github.com/actualbudget/actual/issues/2226
I think
@balthanon commented on GitHub (Jan 2, 2026):
Yeah, #2226 probably covers importing them directly as a file and #557 mostly covers importing them as part of the transaction process. Missed those when I was searching for similar issues and feature requests.