Bank Feeds
Connect Mercury or your bank through Plaid so new transactions flow in on their own — no file downloads.
On this page
Bank feeds automatically import transactions from your bank into NP Ledger: no file downloads or manual uploads required. Instead of exporting a statement and uploading it each time, your bank sends new transactions directly.
Manual imports work, but they require you to log into your bank, download a file, and upload it to NP Ledger every time you want to reconcile. Bank feeds get rid of those steps. New transactions appear on their own, so your books stay more up to date and reconciliation is faster.
NP Ledger supports bank feeds for two providers:
- Plaid (secure bank connection) — for traditional US banks including Chase, Bank of America, Wells Fargo, Capital One, Citi, USAA, Live Oak Bank, and thousands of credit unions
- Mercury (direct API connection) — for Mercury banking customers
Both providers sync transactions daily at no additional cost.
- Set up the bank account in NP Ledger first. See Adding Your Bank Accounts. The bank feed needs to know which account to import into.
- For Plaid: No preparation needed. You'll sign in to your bank through a secure window, so have your online-banking login handy. NP Ledger never sees your banking username or password.
- For Mercury: Have your Mercury API token ready. In Mercury, go to Settings → API Tokens → Create API Token and choose Read Only access. Leave the IP allowlist blank — read-only tokens don't require one. A read-only token cannot move money.
Connecting a traditional bank via Plaid
Plaid is the secure service that handles the bank sign-in for you. You log in to your bank; NP Ledger only receives the transactions, never your username or password.
- Go to Bank & Cash (in the sidebar).
- Open Feed Settings for the bank account you want to connect (gear icon, or "Feed Settings" on the account page).
- Click "Connect Bank." A secure Plaid window (Plaid Link) opens.
- Choose your bank and sign in. Search for your bank, then log in. For many larger banks — Chase and others — Plaid sends you to your bank's own website to approve access and brings you back to NP Ledger. This is normal; your login stays on your bank's own site.
- Pick the account. If your bank returns more than one account, NP Ledger shows a short list — choose the one that matches the account you're setting up here. Plaid only offers accounts of the right kind, so a checking or savings feed won't list a credit card or investment account. If the bank returns only one matching account, NP Ledger goes straight to the next step.
- Confirm if NP Ledger flags a mismatch. If the account you connected clearly doesn't line up with the bank name or last four digits on file for this NP Ledger account, NP Ledger shows a warning with the two side by side — what's on file versus what you connected. If it really is the right account (the bank renamed it, say, or you never entered the number), choose Connect anyway; if not, cancel and reconnect with the correct account. When the account matches, you won't see this step — you go straight to connected.
That's it. The connection is encrypted and stored, and NP Ledger starts checking for new transactions daily.
Watch the phone-number step — go through Plaid with the organization's account only. Plaid may ask for your mobile number so it can recognize you next time. If you've used Plaid before with a personal bank — for a budgeting app, say — it can offer those personal accounts here. NP Ledger only offers accounts of the right kind and warns you when what you connect clearly doesn't match the account on file, but treat those as a backstop, not a guarantee — a personal checking account can still look like a match. Connect only the organization's account. If you do connect the wrong one, disconnect it in Feed Settings and reconnect the right account. To stop Plaid from offering a personal account at all, sign in at my.plaid.com, open Connections, and remove the accounts you don't want it to remember.
Plaid connects to more than 12,000 US banks and credit unions. If yours isn't listed, you can still use manual CSV/OFX import.
Reconnecting an older bank feed? NP Ledger recently moved its traditional-bank connection to Plaid. If a bank you connected in the past stopped bringing in new transactions, just reconnect it once with Connect Bank above. Your existing transactions and reconciliations are untouched — the feed picks up from where it left off.
Connecting your Mercury account
- Go to Bank & Cash (in the sidebar).
- Click the gear icon or "Feed Settings" next to the Mercury bank account you want to connect.
- Enter your Mercury API token in the connection form.
- Click "Connect & Select Account." NP Ledger validates the token and shows your Mercury accounts.
- Select the Mercury account that corresponds to this bank account in NP Ledger.
- Click "Connect Account." Your API token is encrypted and stored securely.
That's it. You're connected, and NP Ledger will now check for new transactions daily.
Importing your transaction history
When you first connect an account, you usually want some history right away — not just tomorrow's automatic sync. How you pull it in depends on the provider.
Plaid brings in the history your bank makes available as soon as you connect. After that, Sync latest transactions (on Feed Settings) grabs anything new since the last sync. There's no date range to pick — Plaid keeps track of where it left off for you, so a sync never re-pulls or skips anything.
Mercury lets you pull a specific window with Import from bank, and it asks for a date range only. You never enter a statement date or ending balance to import; those belong to reconciliation, which is a separate, optional step.
- Open the bank account (Bank & Cash → click the account name) or go to Feed Settings.
- Click "Import from bank" (on the account page) or "Import a date range" (on Feed Settings).
- Pick a date range. The first time, NP Ledger suggests the last 12 months. There's a "Pull all available history" shortcut if you want to go back further.
- Click "Import transactions." NP Ledger pulls that range, skips anything already imported, and drops you into the review screen to match the new transactions.
You can re-run an import over the same or an overlapping range safely — duplicates are detected and skipped. Large ranges are fetched in batches so nothing is dropped.
Note: The import path can auto-create a fiscal year if the history you bring in reaches back farther than your current books. That is intentional for batch history loads. Reconciliation is stricter: if a statement date has no covering fiscal year, NP Ledger asks you to create the missing period before you confirm anything. Import is a batch job; reconciliation is a one-line review.
How automatic sync works
- Daily sync: NP Ledger checks all connected bank feeds once a day (at 6:00 AM UTC) for new transactions.
- New transactions are imported and appear in your reconciliation workflow as unmatched items.
- The dashboard shows a "Bank Transactions" indicator when new unmatched transactions are available, with a count per bank account. This includes transactions from both Mercury and Plaid.
- Duplicates are automatically detected. If a transaction was already imported (via bank feed or manual import), it won't be imported again, even across different import methods.
Reviewing synced transactions
- Check the dashboard for a bank transactions badge showing new items.
- Click "Review" to go to the reconciliation page for that bank account.
- Match or create transactions as you normally would during reconciliation.
Synced transactions work exactly like manually imported ones: you review, match, and reconcile in the same workflow.
Speeding up recurring lines with booking rules
If the same kind of line keeps showing up — your payroll provider, a card processor's payouts, a monthly software bill — NP Ledger can pre-fill the Record form for you so you're just confirming instead of typing it all out again.
There are two kinds of booking rules, and both only ever pre-fill the form. Nothing is booked on its own; you still confirm each line.
- Learned rules happen on their own. The first time you record a line from a counterparty, NP Ledger remembers how you coded it — the type, category, fund, and any contact — and pre-fills the next line from that same counterparty.
- Manual rules are ones you set up yourself, for lines where the name changes a little each time (say a payroll line that reads
GUSTO PAYROLL 4X9Zone week andGUSTO PAYROLL 7B2Qthe next). You give NP Ledger a bit of text to watch for — "gusto" — and tell it how to book anything whose description contains that text.
To set up or review your rules, go to Settings → Organization → Bank Feed Booking Rules. From there you can:
- Add a manual rule. Give it a name, the text a line's description must contain, and how to book it (type, category, fund, and for transfers, the account the money moves with). The type decides which lines it applies to — donations and sales match money coming in, expenses match money going out, and transfers match either.
- Reorder your manual rules. When more than one could match, the one nearest the top wins — so put the more specific rule above the general one.
- Fix a learned rule. If NP Ledger learned something you'd rather it forget, deactivate it to stop the pre-fill, or delete it outright.
Think of it as teaching NP Ledger your habits once, so it stops asking you the same question every month.
Managing your connection
From the Bank Feed Settings page (gear icon on any bank account):
- View connection status: See whether Mercury or Plaid is connected, when it last synced, and the connected account.
- Import a date range (Mercury): Click "Import a date range" to pull a specific window of history (date range only — no statement balance). Great for backfilling after you first connect. See Importing your transaction history above.
- Sync latest transactions (Plaid): Click "Sync latest transactions" to fetch new transactions right away instead of waiting for the daily run.
- Update your API token (Mercury): If you rotate your Mercury API token, expand "Update API Token," enter the new token, and save.
- Disconnect: Click "Disconnect" to remove the stored connection. Existing imported transactions are not affected.
Re-authenticating your Plaid connection
Banks periodically ask you to sign in again to keep a connection alive. When that happens:
- NP Ledger detects it (either through a failed sync or a signal from your bank).
- The Bank Feed Settings page shows a "Needs Re-auth" warning with a yellow badge.
- Click "Re-authenticate" to open the secure Plaid window again.
- Log in with your bank to refresh the connection.
- The connection resumes: daily syncs continue on their own, and no history is lost.
This is a normal part of bank security. Most banks ask for this every few weeks to a few months.
What happens if your connection becomes invalid
Mercury: If Mercury rejects your API token (for example, if you revoked it), NP Ledger automatically deactivates the connection. Enter a new API token in Bank Feed Settings to reconnect.
Plaid: If your bank expires the connection, NP Ledger marks it as "Needs Re-auth." Click "Re-authenticate" in Bank Feed Settings to reconnect. No data is lost — syncs resume from where they left off.
In both cases:
- The dashboard shows a warning that the bank feed needs attention.
- No further syncs will be attempted until you reconnect.
- The Bank Feed Settings page shows "Connected" with a green badge after setup
- The "Last synced" date updates after each successful sync
- New transactions appear in your reconciliation workflow
- The dashboard badge shows the correct count of unmatched transactions
- Connecting a personal account by mistake. Plaid can offer accounts you've connected with it before, including personal ones. NP Ledger only offers accounts of the right kind and warns you on a clear mismatch, but connect the organization's account that matches the NP Ledger account you're setting up — a wrong or personal account pulls its transactions into this ledger and has to be undone by hand. If it happens, disconnect it in Feed Settings and reconnect the right account.
- Forgetting to reconcile after sync. Bank feeds bring transactions in on their own, but you still need to reconcile — match the imported transactions to your books and verify the balance.
- Revoking access without updating NP Ledger. If you rotate your Mercury API token, or revoke your bank's access to Plaid, update or re-authenticate in Bank Feed Settings. Otherwise the connection will be deactivated.
- Expecting instant sync. The daily sync runs once at 6:00 AM UTC. If you need transactions right now, use Sync latest transactions (Plaid) or Import from bank with a date range (Mercury).
- Thinking you must start a reconciliation to import. You don't. A Mercury import only asks for a date range, and Plaid syncs on its own. Entering a statement date and ending balance happens later, and only if you choose to reconcile to a statement.
Tip: Bank feeds and manual imports work together. You can rely on the bank feed for daily automated imports and still do a manual import any time you need transactions immediately: NP Ledger won't import the same transaction twice.
Open the AI Help panel and try:
- "How do I connect my Mercury account?"
- "How do I connect my bank via Plaid?"
- "Why does my bank connection need re-authentication?"
- "When does the automatic sync run?"
- "How do I update my API key?"
- "Which banks does Plaid support?"
- "How do I set up a booking rule for a recurring bank line?"
- "How do I stop NP Ledger from pre-filling a line the wrong way?"
Related
Was this page helpful?
Ready to try NP Ledger?
Native fund accounting, Form 990 support, and smarter bookkeeping for nonprofits.