[Bug]: Sync pulls one day prior to earliest transaction, causing a cycle that continues #1128

Closed
opened 2026-02-28 19:33:04 -06:00 by GiteaMirror · 15 comments
Owner

Originally created by @Ruharc on GitHub (Jun 3, 2024).

Verified issue does not already exist?

  • I have searched and found no existing issue
  • I will be providing steps how to reproduce the bug (in most cases this will also mean uploading a demo budget file)

What happened?

Edit: I am using SimpleFin for the bank sync

I ran through this issue with youngcw on Discord, so I will be posting my screenshots and things I used to reproduce this that I discussed with them.
I wanted to start fresh in June so I cleared out all of my Accounts transactions. I put in a Starting Balance transaction with my balance amount that was June 1st. I cleared everything out of my account except for that one then I ran the sync. It pulled everything going back to and including May 31st. Then I ran the sync a second time and it included May 30th. It feels like each time it syncs it is seeing more transactions from earlier and adding in extra ones that it didn't get before.

It is basically always resetting the pull filter to include 1 day previous to whatever the earliest transaction in my ledger, including the extra ones that it pulled. I have verified this in the logs as well both on my regular budget file and in a brand new budget file.

Step 1. Started with this in Actual
image

Step 2. Clicked Sync, Actual Docker logs show this
image

Step 3. Actual now shows this
image

Step 4. Clicked Sync again without changing anything in Actual. Logs now show this.
image

Step 5. Actual now shows this.
image

This continues as long as there is no gap of days for the transactions it is pulling. It keeps grabbing all the transactions 1 day prior to the earliest transaction in the ledger. If there is a gap with no transactions then it has nothing to pull so it doesn't reset the date range to the day prior on the next sync.

I have verified this on multiple accounts with different banks and on multiple budget files.

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Chrome, Desktop App (Electron)

Operating System

Windows 11

Originally created by @Ruharc on GitHub (Jun 3, 2024). ### Verified issue does not already exist? - [X] I have searched and found no existing issue - [X] I will be providing steps how to reproduce the bug (in most cases this will also mean uploading a demo budget file) ### What happened? Edit: I am using SimpleFin for the bank sync I ran through this issue with _youngcw_ on Discord, so I will be posting my screenshots and things I used to reproduce this that I discussed with them. I wanted to start fresh in June so I cleared out all of my Accounts transactions. I put in a Starting Balance transaction with my balance amount that was June 1st. I cleared everything out of my account except for that one then I ran the sync. It pulled everything going back to and including May 31st. Then I ran the sync a second time and it included May 30th. It feels like each time it syncs it is seeing more transactions from earlier and adding in extra ones that it didn't get before. It is basically always resetting the pull filter to include 1 day previous to whatever the earliest transaction in my ledger, including the extra ones that it pulled. I have verified this in the logs as well both on my regular budget file and in a brand new budget file. Step 1. Started with this in Actual ![image](https://github.com/actualbudget/actual/assets/16546580/d2e96fb2-a03c-421a-ba58-75f531c66a45) Step 2. Clicked Sync, Actual Docker logs show this ![image](https://github.com/actualbudget/actual/assets/16546580/e69e1949-630d-48c1-8d5b-9f9ff6383174) Step 3. Actual now shows this ![image](https://github.com/actualbudget/actual/assets/16546580/b11e56b5-4025-40a3-b0e3-5a3ba2624b38) Step 4. Clicked Sync again without changing anything in Actual. Logs now show this. ![image](https://github.com/actualbudget/actual/assets/16546580/ad655c73-b078-4958-b6fe-19a1bff312e3) Step 5. Actual now shows this. ![image](https://github.com/actualbudget/actual/assets/16546580/716d6eb8-3933-4352-af41-d1c79de379e0) This continues as long as there is no gap of days for the transactions it is pulling. It keeps grabbing all the transactions 1 day prior to the earliest transaction in the ledger. If there is a gap with no transactions then it has nothing to pull so it doesn't reset the date range to the day prior on the next sync. I have verified this on multiple accounts with different banks and on multiple budget files. ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Chrome, Desktop App (Electron) ### Operating System Windows 11
GiteaMirror added the bug label 2026-02-28 19:33:04 -06:00
Author
Owner

@jclapadula commented on GitHub (Jun 5, 2024):

If it was not always like this, I think GoCardless might have changed the behavior of the API.

I'm not sure how it used to work, but now when you get transactions from dateStart, it brings transactions with bookingDate >dateStart (correct) but also with valueDate > startDate. So if a transaction has valueDate one day after the bookingDate, it will bring transactions that happened before the specified startDate...

@jclapadula commented on GitHub (Jun 5, 2024): If it was not always like this, I think GoCardless might have changed the behavior of the API. I'm not sure how it used to work, but now when you get transactions from dateStart, it brings transactions with bookingDate >dateStart (correct) but **also with valueDate > startDate**. So if a transaction has valueDate one day after the bookingDate, it will bring transactions that happened before the specified startDate...
Author
Owner

@Ruharc commented on GitHub (Jun 5, 2024):

I should have mentioned that I am using SimpleFin for the sync not GoCardless. I'm not sure if this changes what the problem could be. I will update the initial post with this information as well.

@Ruharc commented on GitHub (Jun 5, 2024): I should have mentioned that I am using SimpleFin for the sync not GoCardless. I'm not sure if this changes what the problem could be. I will update the initial post with this information as well.
Author
Owner

@kennylarsen commented on GitHub (Jun 27, 2024):

Can confirm it is an issue with GoCardless though...at least with Amex in the UK.

@kennylarsen commented on GitHub (Jun 27, 2024): Can confirm it is an issue with GoCardless though...at least with Amex in the UK.
Author
Owner

@youngcw commented on GitHub (Jun 27, 2024):

I think likely what needs to happen is that the incoming transactions get filtered internally instead of just trusting that the returned data is in the right date range

@youngcw commented on GitHub (Jun 27, 2024): I think likely what needs to happen is that the incoming transactions get filtered internally instead of just trusting that the returned data is in the right date range
Author
Owner

@pavekovt commented on GitHub (Oct 24, 2024):

Can confirm on GoCardless using a Latvian bank account. Running in Docker, if that changes anything.

@pavekovt commented on GitHub (Oct 24, 2024): Can confirm on GoCardless using a Latvian bank account. Running in Docker, if that changes anything.
Author
Owner

@pavekovt commented on GitHub (Oct 25, 2024):

Is there any workaround for this?

@pavekovt commented on GitHub (Oct 25, 2024): Is there any workaround for this?
Author
Owner

@epikaan commented on GitHub (Nov 23, 2024):

Same issue with Gocardless connected to Amex UK. It just keeps pulling old transactions even through I set a starting balance.

@epikaan commented on GitHub (Nov 23, 2024): Same issue with Gocardless connected to Amex UK. It just keeps pulling old transactions even through I set a starting balance.
Author
Owner

@pavekovt commented on GitHub (Nov 25, 2024):

I still haven't found any reliable workaround.
However, it works as expected with Swedbank LV, only Revolut LV doesn't this -1 day transaction pull.

@pavekovt commented on GitHub (Nov 25, 2024): I still haven't found any reliable workaround. However, it works as expected with Swedbank LV, only Revolut LV doesn't this -1 day transaction pull.
Author
Owner

@Ruharc commented on GitHub (Dec 5, 2024):

I can confirm this is still a problem. I suppose a workaround would be to have a rule that could delete all transaction prior to the Starting Date after sync. This way it doesn't keep the chain going continuously adding transactions going back. I do't think rules can delete transactions though can they?

@Ruharc commented on GitHub (Dec 5, 2024): I can confirm this is still a problem. I suppose a workaround would be to have a rule that could delete all transaction prior to the Starting Date after sync. This way it doesn't keep the chain going continuously adding transactions going back. I do't think rules can delete transactions though can they?
Author
Owner

@Ruharc commented on GitHub (Dec 5, 2024):

Ok new update. This appears to have been fixed in the edge version, and should be fixed in 24.12 that is supposed to be released tomorrow!

@Ruharc commented on GitHub (Dec 5, 2024): Ok new update. This appears to have been fixed in the edge version, and should be fixed in 24.12 that is supposed to be released tomorrow!
Author
Owner

@pavekovt commented on GitHub (Dec 6, 2024):

Once released will test on my end

@pavekovt commented on GitHub (Dec 6, 2024): Once released will test on my end
Author
Owner

@matt-fidd commented on GitHub (Dec 7, 2024):

This is confirmed as fixed in v24.12.0

@matt-fidd commented on GitHub (Dec 7, 2024): This is confirmed as fixed in v24.12.0
Author
Owner

@pavekovt commented on GitHub (Dec 7, 2024):

Well, it still pulls -1 day transactions on Revolut LV on v24.12.0. Can someone verify too @Ruharc, @giorgiooriani?
Please reopen.

@pavekovt commented on GitHub (Dec 7, 2024): Well, it still pulls -1 day transactions on Revolut LV on v24.12.0. Can someone verify too @Ruharc, @giorgiooriani? Please reopen.
Author
Owner

@Ruharc commented on GitHub (Dec 13, 2024):

I can confirm that for all of my accounts that are syncing it is only pulling from the Starting Balance transaction forward. This is using SimpleFin on the latest 24.12.0 on Unraid.

@Ruharc commented on GitHub (Dec 13, 2024): I can confirm that for all of my accounts that are syncing it is only pulling from the Starting Balance transaction forward. This is using SimpleFin on the latest 24.12.0 on Unraid.
Author
Owner

@frank20a commented on GitHub (Mar 28, 2025):

Using v25.3.1 and getting this problem. Also, if I do not delete the transactions before my starting balance and then re-sync, it wll pull even earlier transactions. I think this issue should be reopened.

edit: Using GoCardless

@frank20a commented on GitHub (Mar 28, 2025): Using v25.3.1 and getting this problem. Also, if I do not delete the transactions before my starting balance and then re-sync, it wll pull even earlier transactions. I think this issue should be reopened. edit: Using GoCardless
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#1128