[PR #4889] [MERGED] Split transactions repair tool to remove categories from parent transactions + prevent adding/updating parent transactions with categories #5646

Closed
opened 2026-02-28 21:15:59 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/4889
Author: @joel-jeremy
Created: 4/25/2025
Status: Merged
Merged: 5/12/2025
Merged by: @joel-jeremy

Base: masterHead: repair-split-transactions-parents-with-category


📝 Commits (3)

  • c2cf60b Add a functionality to split transactions repair tool to remove categories from parent transactions and prevent adding/update parent transactions with categories
  • 3ebfdd9 Fix lint error
  • 82baa84 Remove console.log

📊 Changes

4 files changed (+42 additions, -4 deletions)

View changed files

📝 packages/desktop-client/src/components/settings/RepairTransactions.tsx (+14 -1)
📝 packages/loot-core/src/server/tools/app.ts (+18 -0)
📝 packages/loot-core/src/server/transactions/index.ts (+4 -3)
upcoming-release-notes/4889.md (+6 -0)

📄 Description

This fixes an issue where an existing parent transaction is still set to a category and you cannot delete the category due to it being used by a parent transaction - this is not obvious and you cannot see this in UI because we don't show category for parent transactions. This tool removes those categories from parent transactions so users can delete.

Without this tool, the way to fix the issue it to:

  1. Find which parent transaction is using the category you want to delete (by exporting the DB and querying)
  2. Recreate the split transaction and make sure parent transaction is not set to any category (best to not set category before splitting)
  3. Delete the original split transaction
  4. Delete the category

This PR will also prevent future split transactions from setting the category on any parent transactions.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/4889 **Author:** [@joel-jeremy](https://github.com/joel-jeremy) **Created:** 4/25/2025 **Status:** ✅ Merged **Merged:** 5/12/2025 **Merged by:** [@joel-jeremy](https://github.com/joel-jeremy) **Base:** `master` ← **Head:** `repair-split-transactions-parents-with-category` --- ### 📝 Commits (3) - [`c2cf60b`](https://github.com/actualbudget/actual/commit/c2cf60b5b30d5899a226b387ae6bb52adfd5a2d3) Add a functionality to split transactions repair tool to remove categories from parent transactions and prevent adding/update parent transactions with categories - [`3ebfdd9`](https://github.com/actualbudget/actual/commit/3ebfdd9fa47d1ce36fcbb8c315999f444d87a794) Fix lint error - [`82baa84`](https://github.com/actualbudget/actual/commit/82baa84cbac7fae8da8ce9f4807f7a52d11545a9) Remove console.log ### 📊 Changes **4 files changed** (+42 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/components/settings/RepairTransactions.tsx` (+14 -1) 📝 `packages/loot-core/src/server/tools/app.ts` (+18 -0) 📝 `packages/loot-core/src/server/transactions/index.ts` (+4 -3) ➕ `upcoming-release-notes/4889.md` (+6 -0) </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://github.com/actualbudget/docs#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> This fixes an issue where an existing parent transaction is still set to a category and you cannot delete the category due to it being used by a parent transaction - **this is not obvious and you cannot see this in UI because we don't show category for parent transactions**. This tool removes those categories from parent transactions so users can delete. Without this tool, the way to fix the issue it to: 1. Find which parent transaction is using the category you want to delete (by exporting the DB and querying) 2. Recreate the split transaction and make sure parent transaction is not set to any category (best to not set category before splitting) 3. Delete the original split transaction 4. Delete the category This PR will also prevent future split transactions from setting the category on any parent transactions. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-02-28 21:15:59 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#5646