[GH-ISSUE #6069] [Feature] Automatically mark non-repeating schedules as complete after they get posted #16828

Closed
opened 2026-04-14 19:50:17 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @youngcw on GitHub (Nov 4, 2025).
Original GitHub issue: https://github.com/actualbudget/actual/issues/6069

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?

Currently if a schedule is not repeating, it just sits in the list of schedules. It will never happen again, unless it gets modified. It should get deleted or or marked as complete to not add clutter to the list of schedules.

@matt-fidd

Describe your ideal solution to this problem

No response

Teaching and learning

No response

Originally created by @youngcw on GitHub (Nov 4, 2025). Original GitHub issue: https://github.com/actualbudget/actual/issues/6069 ### 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? Currently if a schedule is not repeating, it just sits in the list of schedules. It will never happen again, unless it gets modified. It should get deleted or or marked as complete to not add clutter to the list of schedules. @matt-fidd ### Describe your ideal solution to this problem _No response_ ### Teaching and learning _No response_
GiteaMirror added the needs votesfeature labels 2026-04-14 19:50:17 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Nov 4, 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 👍!

<!-- gh-comment-id:3487285034 --> @github-actions[bot] commented on GitHub (Nov 4, 2025): :sparkles: Thanks for sharing your idea! :sparkles: 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 👍! <!-- feature-auto-close-comment -->
Author
Owner

@Crosis47 commented on GitHub (Nov 5, 2025):

I have found this is a similar issue with recurring schedules when using either the post today option, or if you post the transaction then backdate it to today. If the transaction ends up more than the +/- 2 day range from the scheduled occurrence, it does not match the occurrence even if linked to the schedule. I think a logical way to solve both the recurring and non-recurring schedule issue would be the logic below:

When clicking either "Post Transaction" or "Post Transaction Today" in register OR the schedule creates the transaction automatically when the proper date is reached:
IF non-recurring THEN delete schedule

IF recurring indefinitely THEN find date of next occurrence and set starting date to that value

IF recurring AND scheduled by number of occurrences THEN subtract 1 occurrence, store new value in variable, find date of next occurrence and store in a variable
IF no occurrences remaining in schedule THEN delete schedule ELSE set occurrences and starting date to values stored

IF recurring AND scheduled by date range THEN find next occurrence date and store in variable. Calculate remaining occurrences and store in variable
IF no occurrences remaining in schedule THEN delete schedule ELSE set starting date to value stored

This is how Quicken does it. Quicken also applies this logic when entering a transaction manually that matches the values in the schedule and occurs anywhere between the date of the last linked transaction and the next occurrence of the schedule. It will show a popup asking if the transaction you are entering is meant to be the next transaction in X schedule, originally scheduled for X date. If you click YES, then the logic I gave applies. If you click NO, then it works as Actual is working currently and just posts an extra transaction.

Using the pop-up question along with this logic could really make schedules far more intuitive and useful.

<!-- gh-comment-id:3493299965 --> @Crosis47 commented on GitHub (Nov 5, 2025): I have found this is a similar issue with recurring schedules when using either the post today option, or if you post the transaction then backdate it to today. If the transaction ends up more than the +/- 2 day range from the scheduled occurrence, it does not match the occurrence even if linked to the schedule. I think a logical way to solve both the recurring and non-recurring schedule issue would be the logic below: **When clicking either "Post Transaction" or "Post Transaction Today" in register OR the schedule creates the transaction automatically when the proper date is reached:** IF non-recurring THEN delete schedule IF recurring indefinitely THEN find date of next occurrence and set starting date to that value IF recurring AND scheduled by number of occurrences THEN subtract 1 occurrence, store new value in variable, find date of next occurrence and store in a variable IF no occurrences remaining in schedule THEN delete schedule ELSE set occurrences and starting date to values stored IF recurring AND scheduled by date range THEN find next occurrence date and store in variable. Calculate remaining occurrences and store in variable IF no occurrences remaining in schedule THEN delete schedule ELSE set starting date to value stored This is how Quicken does it. Quicken also applies this logic when entering a transaction manually that matches the values in the schedule and occurs anywhere between the date of the last linked transaction and the next occurrence of the schedule. It will show a popup asking if the transaction you are entering is meant to be the next transaction in X schedule, originally scheduled for X date. If you click YES, then the logic I gave applies. If you click NO, then it works as Actual is working currently and just posts an extra transaction. Using the pop-up question along with this logic could really make schedules far more intuitive and useful.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#16828