[Bug]: Entering a scheduled transaction today does not launch the automatic rule associated to it
Verified issue does not already exist?
- [x] I have searched and found no existing issue
What happened?
Since https://github.com/actualbudget/actual/issues/4705, the automatic rule when posting a transaction today is not done anymore.
When I post a transaction today, for example, my automatic category rule is not applied and I ended up with an uncategorized transaction.
How can we reproduce the issue?
Post transaction today on a different date from what it is planned
Where are you hosting Actual?
Docker
What browsers are you seeing the problem on?
Chrome
Operating System
Linux
I am not able to recreate the issue.
How am I trying? Created a scheduled transaction for a future date. (With and without repeat) Rule: when the Payee is "XYZ", put it into category "ABC". Status: working as expected.
Can you please elaborate on where you are facing the issue?
@Bhautik2902 The issue is when you have edited the auto-generated schedule rule (that has conditions on payee/date/amount) to add additional actions. Since posting the transaction early no longer matches the date in the rule, it does not trigger that rule that would link it to the schedule (and perform any other actions if they've been added to the rule)
For example, this rule. Before the last release, if I chose "post transaction today" it would apply all the actions in the rule - it would remove the upcoming scheduled transaction from the "upcoming" section of the account register and it would apply the categorization rule. Since the latest release, it does neither - the June 15 upcoming transaction remains in the upcoming transactions section (in addition to the one added with today's date) and the newly added transaction does not have a category applied
As commented on https://github.com/actualbudget/actual/issues/4705#issuecomment-2929572416, I will try to fix this by having both options.
@MatissJanis @Bhautik2902 @DavidHeiniluoma Are you ok with that ?
I ran into this same issue and have some additional info on when exactly this happens and when not:
- Due date of scheduled TX > 2 days in the future, then TX in linked rule is ignored.
- Due date of scheduled TX <= 2 days in the future, then TX in linked rule is posted.
Here's a video that demonstrates this:
(NOTE: In the video I incorrectly wrote MAY in all the notes, but it's actually JUNE)
https://github.com/user-attachments/assets/9a4e9de1-adf0-4e76-b296-5c3dc377902a
EDIT:
In the last message in the video I say Even though that rule's TX doesn't have a date set..
With that I mean that the linked TX in the rule doesn't have a date set, but only the rule itself has.
And that date is always automatically adjusted whenever the schedule's date changes.
So what I wanted to say with that message in the video is that there is no fixed date in the prepared TX that would clash with the schedules' / rule's date.
@radtriste, while working on this, please take a moment to review this comment, if you haven’t already. I believe it’s important that this fix not only resolves the current issues but also lays a foundation for easily addressing any related issues that may arise in the future.
I did come up with a workaround for anyone else hitting this issue. I figured I'd share in case anyone needs it:
- Post transaction from the schedule
- Unlink the transaction from the schedule
- Change the date of the transaction to be the normally scheduled date
- Select the transaction (the check box to the left) and select "Run Rules" from the transaction menu in the upper right
- This should re-associate it to the schedule and apply all the splits
- Change the date back to the actual posted date
I did come up with a workaround for anyone else hitting this issue. I figured I'd share in case anyone needs it:
- Post transaction from the schedule
- Unlink the transaction from the schedule
- Change the date of the transaction to be the normally scheduled date
- Select the transaction (the check box to the left) and select "Run Rules" from the transaction menu in the upper right
- This should re-associate it to the schedule and apply all the splits
- Change the date back to the actual posted date
You could also temporarily set the schedule's date to today before posting it. That should save you a few steps and only requires you to remember its original date. I.e.:
- Change the schedule's date to today (but memorize what it was before)
- Post it
- Change the schedule's date to the appropriate next date, based on what it was in step 1 (before you changed it to today)
As commented on #4705 (comment), I will try to fix this by having both options.
@radtriste Can I suggest that instead of just those options, there be another to just pretend that the transaction is posted as scheduled (even if the schedule was supposed to be on January 1 but instead the user logs in on January 10 for example)? The reason is to not make managing the budget a daily chore. For example, one can take a few minutes over the weekend to process any "missed" schedules by referring back to receipts/statements/etc instead of having to do it on the schedule date itself.
I realize there is option to add the transaction automatically, but that might not be applicable in all situations or cause clutter with many schedules running. Anyways, thanks for your contributions.
Thank to @matt-fidd, this should would happen only on Post transaction today. But that is more then a way how the rule are detecting the transactions and this could be quite complex...
Do we want to keep this issue ?
Pretty sure this has been fixed in https://github.com/actualbudget/actual/pull/5870