Bank & Statement Import
Bring bank transactions into your books through live feeds, PDF extraction, or file uploads -- with intelligent matching that handles categorization for you.
Overview
Kantivo provides three distinct approaches for pulling bank data into your desktop accounting system: live bank feeds, PDF statement extraction, and CSV/Excel file uploads. You can rely on a single method or combine all three depending on your banking situation.
Once transactions arrive, Kantivo's intelligent matching engine categorizes them using your saved rules and learned patterns. The matching engine improves over time, reducing manual categorization with every import.
Bank Feed (Automatic Sync)
Linking your financial institution directly to Kantivo gives you on-demand access to new transactions without manual file handling. This is the fastest path from bank to books on your desktop.
How to Connect Your Bank
- Open the Bank Import section from the sidebar menu
- Select 🏦 Connect New Bank
- Type your bank's name in the search field and pick the correct match
- Authenticate through the secure, encrypted Teller widget (your credentials never touch Kantivo)
- Choose which accounts you want linked
- Connected accounts appear under "Manage Bank Connections"
Mapping Bank Accounts
Once connected, each bank account needs to be paired with a corresponding entry in your local Chart of Accounts:
- Locate the account under Unmapped Bank Accounts
- Press Map Account
- Pick the appropriate local account (for instance, "Business Checking")
- The account shifts to Mapped Bank Accounts and becomes eligible for syncing
Syncing Transactions
- Press ⚙️ Initialize to define the starting date for your first retrieval
- Press 🔄 Sync to pull the latest transactions into Kantivo
- Retrieved transactions are routed into the Transaction Matching pipeline
- Use 🔄 Sync All to refresh every mapped account simultaneously
Resetting Sync
If you need to re-fetch transactions from a different starting point, press ↺ Reset on the relevant mapped account and select a new date.
Backup Bank Connection (Stripe Financial Connections)
Some financial institutions only respond to specific aggregator networks. Kantivo solves this by bundling a secondary bank connection path -- powered by Stripe Financial Connections -- into every subscription. When the primary aggregator can't see your bank, the alternate route usually finds it on the first attempt.
When to Use the Backup Connection
- The primary aggregator search returns no results for your bank
- Your bank appears in the search but fails the credentials handshake
- You receive a "this institution is not supported" message from the primary path
- An existing connection has gone permanently stale and reconnecting through the same network keeps failing
How to Use the Backup Connection
- Open the Bank Sync screen from the sidebar
- Scroll to the Backup Bank Connection panel beneath your existing connections
- Press 🔁 Connect via Stripe
- Search for and select your bank inside the secure Stripe widget
- Authenticate with your bank credentials -- they never touch Kantivo or our servers
- Pick the accounts you want linked, then return to the Bank Sync screen
- Map the new accounts the same way you map any other bank connection
Tier Limits
The backup connection includes generous monthly refresh and account limits, scaled to your plan tier:
| Tier | Linked Accounts | Refreshes / Month |
|---|---|---|
| Trial | 1 | 5 |
| Basic | 2 | 15 |
| Pro | 5 | 15 |
| Accountant Pro | 15 | 30 |
| Enterprise | 30 | 30 |
If you reach a limit, the screen will tell you exactly which one and when it resets.
Multi-Client Workflow (Bookkeepers & Accountants)
If you keep books for multiple clients on a single Kantivo installation, you'll quickly accumulate dozens of bank connections -- and several of them may share the same institution. To keep them straight, every connection supports a custom label, and the mapping dropdown includes a live search filter.
Connection Labels
A connection label is a free-text identifier attached to a bank connection. By default, Kantivo uses the active company name when a connection is first mapped to an account, but you can override that any time.
- Open the Manage Bank Connections panel on the Bank Sync screen
- Locate the connection you want to label
- Press the ✏️ pencil icon next to the institution name
- Type the new label (typically the client's company name)
- Press Save -- the label takes effect immediately across the entire interface
Searching the Mapping Dropdown
When you open the bank account mapping dropdown, a search box sits at the top. Start typing and the list filters in real time. The filter checks:
- The connection label (typically the client name)
- The institution name (e.g. "Wells Fargo")
- The account name returned by the bank
- The last four digits of the account
Empty groups are hidden automatically as you narrow the search, so you only see relevant matches.
Adding More Connections to the Same Installation
The ➕ Connect Another Bank button lives directly inside the Manage Bank Connections panel, making it easy to chain together client connections without leaving the screen.
Client Bank Link Invitations
If you manage books for clients who do not have their own Kantivo installation, you can invite them to connect their bank account remotely. The client authenticates on their own device and the linked account flows back to your installation — their credentials are never visible to you.
How to Send an Invitation
- Open Bank & Statement Import and expand Manage Bank Connections.
- Click Request Client Bank Link (next to Connect Another Bank).
- Enter the client's email address and, optionally, their name and a personal message.
- Click Send Invitation. Kantivo emails a secure one-time link valid for 48 hours.
What the Client Sees
- An email with your firm's name and the optional message you wrote.
- A branded page explaining what will happen and reinforcing that their credentials stay private.
- A "Connect My Bank Securely" button that opens Stripe's bank authentication widget.
- After selecting their bank and logging in, a success confirmation — they can close the page.
Claiming Linked Accounts
When the client completes the flow, the invitation status changes to Redeemed and the bank account is stored against your installation. On your next visit to the Bank & Statement Import screen (or manual refresh), Kantivo automatically claims the account into your local bank connections list. A notification confirms how many new accounts were added.
Managing Invitations
Pending and completed invitations appear in the Client Bank Link Invitations panel below your Stripe FC section. From here you can:
- Cancel a pending invitation before the client uses it.
- See which invitations have been redeemed and how many accounts were linked.
- Identify expired invitations that were never used.
Manual Import Methods
For situations where a live feed is not available or not preferred, Kantivo accepts three file-based import formats:
| Method | File Types | Best For |
|---|---|---|
| CSV Import | .csv | The most widely available export format, compatible with virtually every bank |
| Excel Import | .xlsx, .xls | Spreadsheet exports provided by your bank or prepared by your accountant |
| PDF Import | Upload original bank statements -- Kantivo extracts the data automatically |
How to Import CSV/Excel Files
- Go to Bank Import in the sidebar
- Press 📁 Import Transactions
- Browse for your CSV or Excel file
- Specify the Bank Account the transactions belong to
- Confirm the correct Date Format
- Inspect the preview table, then press 🎯 Smart Matching to begin categorization
Statement Bucket (PDF Import)
The Statement Bucket allows you to feed raw PDF bank statements directly into Kantivo's local processing engine. There is no need to convert files to CSV beforehand -- the extraction happens entirely on your desktop.
How to Use Statement Bucket
- Open 🪣 Statement Bucket
- Drag your PDF onto the upload area, or click to select a file manually
- Indicate which financial institution issued the statement
- Press Process Statement
- Verify the extracted transactions and import them into your books
Supported Banks
The PDF parser recognizes statement layouts from most major US banks, including:
- Chase
- Bank of America
- Wells Fargo
- Capital One
- Citi
- US Bank
- PNC
- And many more...
Transaction Matching
Every imported transaction passes through the Transaction Matching pipeline. This is where you review, categorize, and approve items before they are committed to your local PostgreSQL ledger.
How to Access Transaction Matching
- Select 🎯 Transaction Matching from the Bank Import page
- Browse transactions grouped by their current match stage
- Approve items that were auto-categorized, or assign categories manually where needed
- Post approved transactions to your books
Match Stages
Imported transactions are sorted into six stages that reflect how each one was categorized:
| Stage | Meaning | Action Needed |
|---|---|---|
| ✅ Auto | Strong-confidence match derived from established rules | Review and accept |
| 📐 Rule | Categorized by a rule you previously configured | Review and accept |
| 💡 Smart | AI-proposed category based on patterns | Confirm the suggestion or pick a different category |
| 🔍 Review | No automatic match found -- requires your input | Assign the correct account and entity |
| 📋 Existing? | Potentially duplicates a record already in your ledger | Confirm the match or reject it |
| ✔️ Accepted | Approved and queued for posting | Post to your books when ready |
Creating Mapping Rules
Mapping rules let you define conditions that automatically assign accounts and entities to incoming transactions. Once a rule is active, recurring charges and deposits are handled without intervention.
How to Create a Rule
- Open ⚙️ Mapping Rules
- Press ➕ New Rule
- Define your conditions (for example, description contains a keyword, amount equals a value, etc.)
- Select the destination account
- Optionally link a vendor or customer to the rule
- Save your rule
Example Rules
| Condition | Account | Entity |
|---|---|---|
| Description contains "ELECTRIC" | Utilities Expense | - |
| Description contains "STARBUCKS" | Meals & Entertainment | - |
| Description contains "RENT" AND amount = -2500 | Rent Expense | ABC Property Management |
Matches Existing Feature
It is common to record a transaction by hand -- such as a check you wrote -- before the corresponding bank charge clears. The "Matches Existing" detector identifies these potential overlaps so you avoid double-counting.
How It Works
- Kantivo compares each imported transaction against records already in your local database
- Matching criteria include dollar amount, date proximity (within 14 days), and description similarity
- Each potential match displays a confidence percentage between 70% and 100%
What to Do
- Yes, Same Transaction: The import is discarded since the entry already exists in your books
- No, Different Transaction: The item moves to the Review stage for proper categorization
Tips & Best Practices
Before Importing
- Confirm that a corresponding bank account already exists in your Chart of Accounts
- Stick to a consistent date format across all your imports to prevent parsing errors
- Process one month of data at a time for more manageable review sessions
Creating Effective Rules
- Partial keyword matches (like "ELECTRIC") catch vendor name variations automatically
- Combining multiple conditions (description plus amount) increases precision
- Assign priority levels to control the order in which rules are evaluated
Efficient Workflow
- Clear the Auto and Rule stages first -- these are the quickest to approve
- Move to Smart matches next, verifying or adjusting the AI's suggestions
- Tackle Review items last, since they require the most manual attention
- Always inspect the Matches Existing stage before posting to prevent duplicate entries
Troubleshooting
Transactions not importing?
- Confirm the file is a supported type: CSV, Excel (.xlsx/.xls), or PDF
- Double-check that the date format you selected matches the format used in the file
- Verify the file contains the three required columns: date, description, and amount
Duplicate transactions appearing?
- Review the "Matches Existing" stage before approving any imports
- Narrow your date range to avoid overlap with previously imported periods
- Check your import history to ensure the same file has not been uploaded twice
Rules not matching?
- Verify rule priority -- higher-priority rules execute before lower ones
- Confirm the keyword is accurate (matching is case-insensitive but the text must be present)
- Use the built-in "Test Rule" function to validate your conditions against sample data
PDF not extracting correctly?
- Make sure the PDF contains selectable text rather than a scanned image
- Experiment with a different bank format selection in the dropdown
- Reach out to support if your bank's statement layout is not yet recognized
Bank feed not connecting?
- Double-check that your bank login credentials are current
- Determine whether your bank requires multi-factor authentication and complete any extra steps
- Some institutions impose temporary rate limits on external connections -- wait a few minutes and retry
- When your bank is not listed, switch to PDF or CSV import as an alternative
Bank feed showing "Disconnected"?
- Financial institutions periodically require you to re-verify your identity
- Press Reconnect and complete the authentication process again
- If you recently updated your bank password, the old session token may have been revoked