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?
It scans each bank-sync source for duplicate imported transactions and soft-deletes the duplicated rows. Only imported copies are candidates; the repair shows the count per source first so you can decide.
Will it touch transactions I entered by hand?
No. The repair works on imported rows only. Manual transactions are never touched — that is exactly what the confirmation card promises before you press Repair.
Does it run automatically?
No. You open the screen, review the counts, and confirm on the repair card. Nothing changes before that.
What if there is nothing to repair?
The screen says “No sync repairs found” and leaves your data alone.
Why do duplicates appear at all?
Bank APIs can re-deliver a transaction after a retry or an overlapping resync window. The repair finds those repeated imported rows and removes the copies, not the original event.

Ready to take Budgie for a spin?

Join the waitlist — be first to try the offline-first expense tracker.