
Why Bank Sync Isn't Real Time, and What Actually Happens
Plaid typically checks a bank one to four times a day, and purchases take days to post. Why synced budgets lag, why pending rows move, and what a new bank adds.
Transactions land in the wrong category because the category they arrive with describes the store, not what you bought, and because merchant names from banks are often missing or cluttered with dates and reference numbers. The fix is to correct each wrong one inside the app, so it learns that merchant, and to check that the next purchase from the same place follows your fix.
Below: the six usual causes, what to do when your app keeps getting it wrong, and exactly what Spense learns from a fix.
The bank’s category describes the store, not what you bought
Transactions usually arrive with a category attached by the bank data, and it is about the kind of business. A big-box store is a store, whether you bought milk or a TV there. That label is a good first guess and a poor final answer.
The merchant name is missing or messy
Some transactions arrive with a clean merchant name. Many don’t: transfers, checks, payment apps and small shops often come through as a bank description full of dates and reference numbers, and an app that matches on the raw text sees a new name every time.
One place, many purposes
An online marketplace, a warehouse club or a pharmacy sells a bit of everything. Any rule that files a merchant in one category will be wrong for some of its purchases.
One-off purchases
A rule built from your usual purchases catches the unusual one too: the gift bought at your grocery store, the work lunch you’ll be paid back for.
Your categories aren’t the bank’s
You may budget for Kids, Home or Date nights. The bank data has no idea what those are, so anything that belongs there has to be taught.
The app learned the wrong lesson from a fix
If an app learned a fix for the bank’s whole category, correcting one refund that was mislabelled as income could send your next paycheck somewhere strange. A fix should teach the narrowest thing that is true: this merchant, or this exact source.
Spense is no exception to the first one. In Auto, a transaction from a new merchant is first filed by the category it arrives with: a store that comes through as a superstore goes to Shopping, even when the trip was mostly groceries. A transaction with neither a merchant name nor a category lands in Uncategorized until you file it. Both are a guess you correct once.
Fix it in the app, not in your head
Change the category on the transaction itself, using the app’s own edit. A mental note, or a separate spreadsheet, fixes this month and teaches the app nothing, so the same merchant lands wrong next time.
Check that the fix sticks
When the next purchase from the same place comes in, look where it landed. If it followed your fix, the app learns per merchant and you will only fix each place once. If it didn’t, find out why before you fix it again: some apps only change the one row, and then you’re fixing rows, not teaching rules.
Merge categories that are too fine
If you keep moving things between Fast food and Restaurants, you have one category, not two. Fewer, broader categories leave less room for wrong.
Let the odd one-off be
For a store you shop at for many reasons, file it where most of the money goes and fix the big exceptions by hand. Chasing every $8 exception costs more time than it saves.
Don’t rewrite history unless it matters
Fixes usually apply going forward. If last month’s numbers are what you need, edit the few large transactions that are wrong; leave the small ones.
If the real problem is the time all this takes, the steps for cutting the weekly sorting down are in how to stop categorizing transactions by hand every week.
In Spense you fix a transaction from the Spending tab: swipe the row right, tap the pencil, pick the category you meant and save. The fix a wrong category guide walks through it. Here is what that one fix teaches:
| The transaction has | Spense remembers your fix for |
|---|---|
| A merchant name | That merchant |
| No merchant name | Its bank description, with dates, amounts and reference numbers dropped |
| Only numbers in the description | Nothing: there is no source to recognize next time |
| A category from the bank | Never the whole category: one fix can't move unrelated transactions |
Dropping the parts that change is what makes a fix stick for transactions without a merchant. Three real description shapes:
| From the bank | What Spense matches on | What it means |
|---|---|---|
| PURCHASE AUTHORIZED ON 09/28 PPY*Positiv | purchase authorized on ppy*positiv | The date is dropped, so next month’s charge matches. |
| ZELLE TO DOE JANE ON 09/12 REF # PP0QWERTY | zelle to doe jane on ref | The date and the reference number are dropped; the person stays. |
| ATM WITHDRAWAL AUTHORIZED ON 09/29 14815 | atm withdrawal authorized on | The date and the machine number are dropped, so every withdrawal like it shares one rule: a fix here moves the next one too. |
So PURCHASE AUTHORIZED ON 09/28 PPY*Positiv and PURCHASE AUTHORIZED ON 10/05 PPY*Positiv are one source to Spense, and a fix to the first carries to the second.
Three more rules worth knowing:
If the category you need doesn't exist yet, you can add, rename or delete categories in Classic, and the Spense Method explains how the two modes, Auto and Classic, divide the work between you and the app.
Wrong categories come from labels that describe the store, from messy merchant names and from purchases that don't fit the pattern. Fix each one where the app can learn from it, check that the next one follows, keep your categories broad, and let small one-offs go. With an app that learns per merchant, there are fewer to fix every month.
Not in Spense. A fix changes that transaction and where the next one from the same source goes. Past transactions keep the category they already had, so if an older one matters, edit it as well.
Three usual reasons. The description may be generic: every check or cash withdrawal looks much the same once the numbers are gone, so they share one rule. The description may be nothing but numbers, which gives Spense nothing to remember. Or the merchant is a store you file in different places, and Spense follows your latest choice.
No. Spense never turns a fix into a rule for the bank’s whole category, so correcting one mislabelled transaction can’t move unrelated ones. It learns the merchant, or the cleaned-up description when there is no merchant.
Classic files nothing without you: each new transaction from a linked bank waits in Review. What can be wrong there is the suggestion. Change the category before you approve, and the next transaction from that merchant arrives with your new choice already picked.
$2.99/month or $24.99/year. New accounts start with a 14-day free trial, no card needed.
Correct a category once and Spense remembers that merchant. Free for 14 days, no card.
Keep exploring envelope budgeting and financial wellness

Plaid typically checks a bank one to four times a day, and purchases take days to post. Why synced budgets lag, why pending rows move, and what a new bank adds.

Start by measuring last month, not by cutting back. A first week in seven short jobs, one month sorted into nine categories, and four rules for transactions.

Let the bank collect, let the app sort, and read the month once. What a useful monthly summary shows, and the by-hand route if you'd rather not link a bank.