Sync Data Repairs
When a bank sync re-delivers the same transaction, Budgie finds the duplicate imported rows and soft-deletes only the copies — your own entries stay exactly as they are.
Why duplicates appear at all
A bank API can hand back the same transaction twice: a retried request, a resync window that overlaps the last one, a connection that re-downloads a statement. Neither row is wrong on its own — they simply describe the same event, and you see it twice.
The Sync Data Repairs screen is where you see that damage and undo it. It scans each bank-sync source, shows the duplicate count per source before changing anything, and soft-deletes only the duplicated imported rows once you confirm.
What you get
A dedicated Settings screen scans every bank-sync source and shows the duplicate count before it changes anything
Soft-deletes duplicated imported rows only — anything you typed yourself is left exactly as it is
A per-source list so you can see which connection produced the duplicates
No repair runs until you confirm on the repair card — no background cleanup
An explicit empty state, “No sync repairs found”, when there is nothing to fix
Runs against the local database — no upload, no server
Frequently Asked Questions
What does a sync data repair actually do?
Will it touch transactions I entered by hand?
Does it run automatically?
What if there is nothing to repair?
Why do duplicates appear at all?
Related Features
Read More on the Blog
Ready to take Budgie for a spin?
Join the waitlist — be first to try the offline-first expense tracker.