[Feature] Bank Sync Debugging Mode Proposal #2051

Closed
opened 2026-02-28 20:02:06 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @grizzlycode on GitHub (Apr 15, 2025).

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

Problem: Users currently lack visibility into the bank synchronization process in Actual, making it difficult to troubleshoot issues when accounts don't sync correctly. The current solution of relying on community support is inefficient and doesn't empower users to resolve problems themselves.

Describe your ideal solution to this problem

Proposed Solution: Implement a "debugging mode" within Actual to provide users with detailed information about the sync process, enabling them to identify the source of syncing issues.

Key Features:

Debugging Button: Add a prominent "Enable Debug Mode" button on the "Bank Sync" page within Actual.

Verbose Sync Logging: When debug mode is enabled, display detailed logs of the synchronization process. This should include:

  • Timestamps for each step.
  • Information about each individual account being synced (not just overall sync dates).
  • Communication details with the transaction provider (requests and responses, anonymized as necessary for security).
  • Error messages from the transaction provider.
  • Status of each stage of the sync process (e.g., "Connecting to provider," "Fetching transactions," "Updating balances").

Transaction Provider Data:

  • Display the balances for each synced account as reported by the transaction provider. This allows users to compare the provider's data with what Actual is displaying.
  • Show the date and time the transaction provider last updated their data.

Self-Healing Logic: Implement logic within Actual to compare the balances from the transaction provider with the balances in Actual's database. If discrepancies are detected, Actual should attempt to automatically correct the data and re-sync transactions for the affected account(s). This should be clearly logged in the debug output.

Clear Issue Identification: The debug output should clearly indicate the potential source of any issues, such as:

  • "Issue communicating with transaction provider."
  • "Transaction provider reported an error."
  • "Data discrepancy detected between provider and Actual. Attempting to self-heal."
  • "Error updating transactions in Actual's database."

User-Friendly Interface: Present the debug information in a clear, organized, and easy-to-understand format.

Consider using:

  • Collapsible sections for different stages of the sync process.
  • Color-coding to highlight errors or warnings.
  • Tooltips to provide additional information about specific log entries.

Security Considerations:

  • Ensure that sensitive information, such as API keys or account numbers, is not displayed in the debug output. Anonymize or mask this data appropriately.
  • Clearly warn users about the potential security implications of enabling debug mode and advise them to disable it when they are finished troubleshooting.

Example Debug Output:

[2024-07-24 10:00:00] Sync started for 3 accounts.
[2024-07-24 10:00:01] Account: Checking Account 1234
[2024-07-24 10:00:01] Connecting to transaction provider...
[2024-07-24 10:00:02] Connected to provider successfully.
[2024-07-24 10:00:02] Fetching balance...
[2024-07-24 10:00:03] Balance received: $1,234.56 (Provider Last Updated: 2024-07-24 09:55:00)
[2024-07-24 10:00:03] Fetching transactions...
[2024-07-24 10:00:05] Transactions received: 10 transactions
[2024-07-24 10:00:05] Updating transactions in Actual...
[2024-07-24 10:00:06] Account: Savings Account 5678
[2024-07-24 10:00:06] Connecting to transaction provider...
[2024-07-24 10:00:07] Connected to provider successfully.
[2024-07-24 10:00:07] Fetching balance...
[2024-07-24 10:00:08] Balance received: $5,678.90 (Provider Last Updated: 2024-07-24 10:00:00)
[2024-07-24 10:00:08] Fetching transactions...
[2024-07-24 10:00:09] Transactions received: 5 transactions
[2024-07-24 10:00:09] Updating transactions in Actual...
[2024-07-24 10:00:10] Account: Credit Card 9012
[2024-07-24 10:00:10] Connecting to transaction provider...
[2024-07-24 10:00:11] Connected to provider successfully.
[2024-07-24 10:00:11] Fetching balance...
[2024-07-24 10:00:12] Balance received: -$100.00 (Provider Last Updated: 2024-07-24 09:45:00)
[2024-07-24 10:00:12] Fetching transactions...
[2024-07-24 10:00:13] Transactions received: 2 transactions
[2024-07-24 10:00:13] Updating transactions in Actual...
[2024-07-24 10:00:14] Sync completed.

Teaching and learning

Benefits:

  • Empowers users to troubleshoot bank sync issues independently.
  • Reduces reliance on community support for common syncing problems.
  • Provides valuable information for developers to diagnose and fix bugs.
  • Improves the overall user experience by making bank synchronization more reliable and transparent.
Originally created by @grizzlycode on GitHub (Apr 15, 2025). ### Verified feature request does not already exist? - [x] I have searched and found no existing issue ### 💻 - [ ] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? **Problem**: Users currently lack visibility into the bank synchronization process in Actual, making it difficult to troubleshoot issues when accounts don't sync correctly. The current solution of relying on community support is inefficient and doesn't empower users to resolve problems themselves. ### Describe your ideal solution to this problem **Proposed Solution:** Implement a "debugging mode" within Actual to provide users with detailed information about the sync process, enabling them to identify the source of syncing issues. **Key Features**: **Debugging Button**: Add a prominent "Enable Debug Mode" button on the "Bank Sync" page within Actual. **Verbose Sync Logging**: When debug mode is enabled, display detailed logs of the synchronization process. This should include: - Timestamps for each step. - Information about each individual account being synced (not just overall sync dates). - Communication details with the transaction provider (requests and responses, anonymized as necessary for security). - Error messages from the transaction provider. - Status of each stage of the sync process (e.g., "Connecting to provider," "Fetching transactions," "Updating balances"). **Transaction Provider Data**: - Display the balances for each synced account as reported by the transaction provider. This allows users to compare the provider's data with what Actual is displaying. - Show the date and time the transaction provider last updated their data. **Self-Healing Logic**: Implement logic within Actual to compare the balances from the transaction provider with the balances in Actual's database. If discrepancies are detected, Actual should attempt to automatically correct the data and re-sync transactions for the affected account(s). This should be clearly logged in the debug output. **Clear Issue Identification**: The debug output should clearly indicate the potential source of any issues, such as: - "Issue communicating with transaction provider." - "Transaction provider reported an error." - "Data discrepancy detected between provider and Actual. Attempting to self-heal." - "Error updating transactions in Actual's database." **User-Friendly Interface**: Present the debug information in a clear, organized, and easy-to-understand format. Consider using: - Collapsible sections for different stages of the sync process. - Color-coding to highlight errors or warnings. - Tooltips to provide additional information about specific log entries. **Security Considerations:** - Ensure that sensitive information, such as API keys or account numbers, is not displayed in the debug output. Anonymize or mask this data appropriately. - Clearly warn users about the potential security implications of enabling debug mode and advise them to disable it when they are finished troubleshooting. **Example Debug Output:** ``` [2024-07-24 10:00:00] Sync started for 3 accounts. [2024-07-24 10:00:01] Account: Checking Account 1234 [2024-07-24 10:00:01] Connecting to transaction provider... [2024-07-24 10:00:02] Connected to provider successfully. [2024-07-24 10:00:02] Fetching balance... [2024-07-24 10:00:03] Balance received: $1,234.56 (Provider Last Updated: 2024-07-24 09:55:00) [2024-07-24 10:00:03] Fetching transactions... [2024-07-24 10:00:05] Transactions received: 10 transactions [2024-07-24 10:00:05] Updating transactions in Actual... [2024-07-24 10:00:06] Account: Savings Account 5678 [2024-07-24 10:00:06] Connecting to transaction provider... [2024-07-24 10:00:07] Connected to provider successfully. [2024-07-24 10:00:07] Fetching balance... [2024-07-24 10:00:08] Balance received: $5,678.90 (Provider Last Updated: 2024-07-24 10:00:00) [2024-07-24 10:00:08] Fetching transactions... [2024-07-24 10:00:09] Transactions received: 5 transactions [2024-07-24 10:00:09] Updating transactions in Actual... [2024-07-24 10:00:10] Account: Credit Card 9012 [2024-07-24 10:00:10] Connecting to transaction provider... [2024-07-24 10:00:11] Connected to provider successfully. [2024-07-24 10:00:11] Fetching balance... [2024-07-24 10:00:12] Balance received: -$100.00 (Provider Last Updated: 2024-07-24 09:45:00) [2024-07-24 10:00:12] Fetching transactions... [2024-07-24 10:00:13] Transactions received: 2 transactions [2024-07-24 10:00:13] Updating transactions in Actual... [2024-07-24 10:00:14] Sync completed. ``` ### Teaching and learning **Benefits:** - Empowers users to troubleshoot bank sync issues independently. - Reduces reliance on community support for common syncing problems. - Provides valuable information for developers to diagnose and fix bugs. - Improves the overall user experience by making bank synchronization more reliable and transparent.
GiteaMirror added the needs votesfeature labels 2026-02-28 20:02:06 -06:00
Author
Owner

@github-actions[bot] commented on GitHub (Apr 15, 2025):

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 👍!

@github-actions[bot] commented on GitHub (Apr 15, 2025): :sparkles: Thanks for sharing your idea! :sparkles: 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 👍! <!-- feature-auto-close-comment -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2051