Automated Credit Card Reconciliation — On the Cards You Already Have
Connect any credit card via Plaid, or upload the statement as a PDF. ExpenseBot scans Gmail for vendor receipts as charges happen and auto-matches them by amount, date, and merchant. Charges with no receipt behind them are surfaced before month-end. Reconciliation stops being a chore.
Ramp and Expensify work best once you adopt their cards. ExpenseBot doesn't issue cards at all — it works with the ones you already carry. See the full comparisons: ExpenseBot vs Ramp · ExpenseBot vs Expensify.
60-day free trial • No credit card required • Connect via Plaid
Quick answer: what is automated credit card reconciliation, and how does it work here?
Automated credit card reconciliation means the matching runs continuously in the background instead of by hand at month-end. Connect a card via Plaid or upload a statement as PDF or CSV, and every line is matched against the receipts already captured from your inbox, photos and uploads. Charges with a confident match are tied to their receipt; close-but-not-certain pairs are badged ⚠ Needs review for you to confirm rather than merged on a guess; and charges with no receipt behind them are collected into a Missing Receipts list. That list is the actual deliverable — it's the exact set of purchases still missing documentation. No card switch is required: ExpenseBot doesn't issue cards, so it reconciles whatever cards you already use.
What Is Credit Card Reconciliation?
Credit card reconciliation is the process of comparing every charge on your credit card statement against a receipt or documented business expense. Done well, it confirms the statement is accurate, surfaces duplicate or fraudulent charges, validates that every line is genuinely a business expense (and therefore deductible), and produces an audit-ready record. Done poorly — or not at all — it leaves expenses without proof of purchase and creates a known weak point in IRS Schedule C, CRA T2125, or any auditor's review. The traditional manual flow looks like this: download a CSV from your bank portal, dig through Gmail and Drive for matching receipts, paste them into a spreadsheet line-by-line, color-code mismatches, and chase down the half-dozen vendors whose receipts never arrived. For most owners and bookkeepers it eats the better part of a day each month, and it's the kind of work that gets postponed until the auditor or accountant asks for it. ExpenseBot flips the model: the matching happens continuously in the background, and month-end becomes a quick review instead of a from-scratch project.
How to Reconcile a Credit Card Statement, Step by Step
This is the procedure itself, independent of any software — it is the same six steps whether you work in a spreadsheet, in accounting software, or in ExpenseBot. Steps 1 and 2 are preparation, step 3 is the mechanical part that tools automate, and steps 4 and 5 are where the time actually goes.
- Get the statement for the period you're closing. Download the closed statement from your bank's website as a PDF or CSV, or work from a live card connection. Reconcile one statement period at a time — a month that is still open will keep changing under you.
- Gather the receipts for the same dates. Pull together every receipt covering the statement period: emailed order confirmations and invoices, photos of paper receipts, and anything filed in Drive. This is the side of the job that decides how long the rest takes.
- Match on amount, then date, then merchant. Work down the statement and pair each line with its receipt in that order — exact amount first, then a date within a day or so of the posting date, then the merchant name. Amount is the strongest signal; merchant names are the weakest, because the statement usually shows a legal entity rather than the trading name on the receipt.
- Flag every line you could not match. Keep the unmatched lines in one list rather than leaving gaps in the statement. This list is the real output of reconciliation — it is the exact set of charges with no documentation behind them, and it is what you chase.
- Resolve the unmatched lines. For each one: search your inbox for the vendor's confirmation email, ask the vendor for a duplicate copy, or — where no receipt exists at all — record the business purpose, date, amount and merchant in a note against the charge.
- Categorise what's left, then close the period. Assign each matched charge to an expense category, record refunds and statement credits as negative expenses against the original category rather than as income, confirm the reconciled total agrees with the statement balance, and mark the period closed so the next month starts clean.
What to match on, and in what order. Matching in the wrong order is the most common reason a reconciliation takes all afternoon. Amount is nearly unique within a month; merchant name is the field most likely to disagree between the statement and the receipt.
Month-end reconciliation checklist
- Statement downloaded for the closed period, one card at a time
- Every line matched to a receipt, or moved to the unmatched list
- Unmatched lines chased: inbox searched, duplicates requested, business purpose written down
- Refunds and statement credits recorded as negative expenses, not as income
- Personal charges separated from business ones
- Reconciled total agrees with the closing statement balance
- Period marked closed and exported to wherever the books live
What to Do About a Charge With No Receipt
Every reconciliation ends with a handful of charges nobody can produce paper for. That is normal, and it does not automatically make the expense unclaimable — but it does mean the charge needs something else standing behind it. Work through the options in this order:
- Search your inbox before anything else. Most charges you think have no receipt do have one — filed under the billing entity's name rather than the shop's, or inside a booking confirmation rather than a document called "receipt".
- Ask the vendor for a duplicate. Hotels, airlines, subscription services and most large retailers can reissue a copy from the order or the card's last four digits. This is worth doing for anything material.
- Document the business purpose. Where no copy exists, write down what the charge was for, who it was with, the date, the amount and the merchant, and attach that note to the charge. A contemporaneous note is far stronger than a reconstruction made a year later.
- Decide whether to claim it at all. A small, clearly documented charge is a different proposition from a large one with nothing behind it. Estimates — confirm with your tax professional.
The rules that govern what a tax authority will accept without a receipt are their own topic, and we cover them separately in the guide to claiming expenses when you have no receipts. In ExpenseBot the unmatched charges collect into the Missing Receipts list rather than quietly disappearing, so the set you have to make this decision about is explicit — and keeping receipts organised as they arrive is what keeps that list short in the first place.
Reconciling Multiple Cards, or Multiple Clients
The procedure above does not change when there is more than one card — but the bookkeeping around it does. Reconcile each card against its own statement rather than merging them into one working list: a merged list makes it impossible to prove any single statement balance, which is the point of the exercise. The last four digits of the card are what keep charges attributed correctly when the same merchant appears on two cards in the same month.
For a bookkeeper or accountant carrying several clients, the useful unit of work is not the statement but the exception list — the per-client set of charges still missing documentation. That is what converts an open-ended "please send me everything" request into a finite one the client can actually complete. The bookkeeper workspace and the accountant dashboard both consolidate that status across clients so the month-end pass is one screen rather than one login per client.
Card spend is only half of a full close. The mirror-image job — matching deposits landing in the bank against invoices and income records — follows the same shape and is covered in bank deposit reconciliation.
Bring Your Own Card: Two Ways Teams Run Automated Reconciliation
ExpenseBot is a bring-your-own-card product. It doesn't issue cards, so there is nothing to migrate to — it reconciles the cards a business already carries: bank-issued corporate cards, employee-owned personal cards, vendor accounts like Home Depot Pro, and fleet fuel cards, in the same place. Two operating models cover almost everyone, and they work the same way underneath.
Admin model — one person reconciles the company's cards
The office manager, bookkeeper or finance lead works one reconciliation pass across every company card. On a team plan each member's captured receipts and expenses roll up to the admin's view, so the outstanding items are visible in one place — including which member a missing receipt belongs to — instead of being chased card by card over email. No card migration, no new issuer, and employees keep the cards they have.
Individual model — each person reconciles their own card
Each person connects their own card through Plaid (US and Canadian institutions) or uploads a statement PDF from any bank, anywhere, and reconciles month by month against the receipts captured from their own inbox. This is the model for sole traders, contractors, and small teams where each person owns their own spending — and it's the fallback anywhere Plaid doesn't reach.
The reason this matters is structural rather than a feature checkbox: Ramp and Brex are card-issuing businesses, and their reconciliation is at its best on spending that runs through their own cards. ExpenseBot never asks for that switch — which is why it also covers the accounts a virtual card can't replace, and why it works in Canada, where Ramp and Brex don't operate. Full detail: tracking corporate cards without switching issuers, or the walkthrough in corporate card expense tracking without switching cards.
ExpenseBot does not issue cards, extend credit, or replace your bank in any way — it reads transactions and matches them to receipts.
It Checks Every Week — So You Don't
Reconciliation tools usually wait for you to show up. ExpenseBot works the other way around: once your card is connected, it re-checks your transactions on a weekly schedule and emails you only when something is missing — charges on your statement with no matching expense in your sheet, and deposits with no matching income. Open the email, review the list under Review expenses → Match card activity, and each item is one click: Add to Spreadsheet or Ignore (card payments and transfers are filtered automatically, and Ignore decisions are remembered). Refunds and statement credits get the same treatment, recorded as negative expenses that offset the original charge. No weekly check-in ritual, no month-end archaeology — the gaps come to you.
Automatic weekly reconciliation requires a paid plan with a bank or card connected via Plaid (US and Canadian institutions), and the reconciliation toggle switched on in your bank connection settings. Everyone else can upload statements manually — same matching, on your schedule. Exact conditions: how the weekly missing-transaction alert works.
How ExpenseBot Automates Credit Card Reconciliation
ExpenseBot connects to your credit card through Plaid — the same secure data layer used by Venmo, Robinhood, and Chime — covering 12,000+ banks and credit unions across the US and Canada. Once connected, transactions flow in automatically. In parallel, ExpenseBot's Gmail receipt scanner reads your inbox for vendor receipts: order confirmations, paid invoices, hotel folios, ride receipts, and SaaS billing emails. As receipts arrive, an AI matcher pairs each receipt with the corresponding charge using a multi-layer approach — exact amount and date, then fuzzy merchant tokenization, then a Gemini-based fallback for edge cases like Amazon orders that ship in two parts or Uber rides authorized for one amount and settled for another. What you see on the reconciliation screen is a clean list: matched charges (green), unmatched charges (yellow — missing receipt or possible fraud), and unmatched receipts (gray — likely a personal card). The work shrinks to reviewing the yellow list. No CSV imports, no copy-paste, no parallel spreadsheet to maintain.
What "Automatic Matching" Actually Means Here
"Automatic" is a word every reconciliation tool uses, so it's worth being specific about the mechanics. A statement line and a captured receipt are paired on amount and date — with a ±1 day tolerance, because the posting date on a statement is often a day or two after the purchase date on the receipt — and merchant-name matching does the fuzzy work, so DELTA on the statement still pairs with DELTA AIR LINES 016 on the receipt.
What matters more than the matching is what happens to the charges it can't match. Most tools treat reconciliation as binary — matched or not. There are three outcomes here, and they land in three different places on the reconciliation screen:
Why a charge didn't match. When something lands in Missing Receipts that you're certain you have a receipt for, it's almost always one of four things:
- The merchant bills under a different legal name. The receipt says the trading name; the statement says the holding company.
- The posting date drifted. A weekend purchase posts on Monday, beyond the ±1 day window.
- The charge was split. One order shipped in two parts and posted as two charges against a single receipt total.
- A partial refund landed against it. The net amount on the statement no longer equals the total on the receipt.
Where the Statement Comes From: PDF or CSV Upload
A live card connection is the fastest route, but it isn't the only one, and it isn't the right one for every job. You can download a statement from your bank's website and upload it directly — PDF or CSV — under My Reports → Review expenses → Match card activity. The matching logic is identical either way; only the source of the transactions differs.
Three practical things worth knowing before your first upload:
- One statement at a time, month by month. There's no bulk multi-statement upload, and hand-merging several months into one file causes more problems than it solves. A single continuous export from your bank — a full-year AMEX CSV, for instance — is fine, because it's one export rather than files stitched together.
- Uploading the same statement twice is safe. Overlapping transactions are caught by deduplication on merchant, amount and date within ±1 day, so a re-upload doesn't double-count.
- Card statements give the cleanest results. Nearly every line on a card statement has a receipt behind it. Chequing-account statements work too, but expect unmatched rows for rent, insurance and direct debits that never generated a receipt — that's normal, not an error.
Statement upload and a live bank connection are separate mechanisms. If you want ongoing, hands-off reconciliation instead of monthly uploads, that's the Plaid connection described above — it pulls transactions on a weekly schedule rather than waiting for you to fetch a file. Before your first upload it's worth reading which statement formats work and the upload tips for a clean first match.
Reconciling Backwards: Historical Statements and Catch-Up
The hardest reconciliation job isn't this month's — it's the client who arrives ten months behind with a shoebox and a login. A live bank feed is close to useless here: it shows you what it can reach going forward, and the months you actually need are the ones already gone.
Statement upload is built for exactly this. Work through the months in order, one statement per upload — there's no cap on how many months you can do, just no bulk import. Each period reconciles against whatever receipts were captured for those dates, whether they came from a Gmail scan of the back catalogue, a folder of photos, or forwarded emails.
At the end you have the thing a catch-up engagement actually needs: a per-month Missing Receipts list. That's the chase list — the specific charges, with dates and amounts, that still have no documentation behind them. It's what you send the client instead of "can you find everything for last year?", and it's what turns an open-ended cleanup into a finite one. For bookkeepers running this across several clients at once, the bookkeeper workspace consolidates the status of each into one view.
Works With Every Major Bank in the US and Canada
United States: Chase, American Express, Bank of America, Capital One, Citi, Wells Fargo, Discover, US Bank, PNC, TD Bank USA, Truist, USAA, Navy Federal, plus most regional banks and credit unions.
Canada: RBC, TD Canada Trust, Scotiabank, BMO, CIBC, Desjardins, National Bank, Tangerine, Simplii, plus most provincial credit unions.
ExpenseBot supports business cards, personal cards used for business, and corporate cards. Connection is live — there's no CSV upload step and no monthly statement re-import. New transactions appear in ExpenseBot within hours of posting. If your specific institution isn't in the Plaid network, you can fall back to forwarding statement emails or uploading a CSV; the matching logic is the same either way. Most of our small business and freelancer users have all of their cards connected within ten minutes of signing up.
Credit Card Reconciliation for Accountants
ExpenseBot is free for accountants. The accountant dashboard consolidates every client's reconciliation status into one view: which clients are caught up, which have unmatched charges, and which need a missing-receipt request sent. Instead of logging into seven different bank portals and shuffling email attachments, the accountant works from a single screen that flags exactly what needs attention this month. Unmatched-charge requests can be sent to the client by email directly from ExpenseBot, and clients respond by forwarding the receipt — the system attaches it automatically. For firms doing month-end close across 10–30 small-business clients, this typically reduces the per-client touch from 30+ minutes to under 10. The QuickBooks and Xero exports preserve the same chart of accounts your firm already uses, so handoff to the books is a one-click affair rather than a re-categorization exercise.
Month-End Reconciliation in Minutes, Not Hours
Before ExpenseBot, the typical month-end credit card close looks like this: download the statement CSV, open the receipts folder in Drive, search Gmail one transaction at a time, manually paste matches into a tracker, color-code the mismatches, send "do you have a receipt for X?" emails to partners, then categorize everything for the books. Three to five hours is normal for a small business with one or two cards; it scales linearly with card count. With ExpenseBot, the matching has already run. Open the reconciliation screen on the first of the month, review the Missing Receipts list, forward in any missing receipts or mark them as no-receipt expenses with a note, and approve the month. The work that remains is reviewing what didn't match, not matching from scratch — and the hours that frees up aren't busywork, they were the parts of bookkeeping that get postponed and turn into a stressful catch-up project at tax time.
Export Reconciled Expenses Anywhere
Reconciled expenses export to QuickBooks Online, Xero, Sage, FreshBooks, Google Sheets, or Excel. QuickBooks Desktop IIF is not currently supported, and receipt attachments depend on the destination workflow. Categories map to IRS Schedule C lines (US) or CRA T2125 buckets (Canada) by default, and you can override the mapping per vendor — the rule is remembered for next time. For users who don't run accounting software, the Google Sheet alone is a complete year-end record: one row per transaction, receipt link in the row, category, tax-deductible flag, plus a Schedule C summary tab ready to hand to an accountant. Year-end exports for tax filing are one click.
Built for Real Reconciliation Edge Cases
Real-world reconciliation is full of awkward cases that simple amount-matching breaks on. Amazon orders ship in two boxes and post as two charges; the original confirmation email shows one combined total. Hotel folios authorize $500 and settle at $487. Uber rides charge a tip adjustment a day after the original ride. Refunds and partial refunds appear as separate lines. Annual SaaS renewals look identical to monthly charges from the same vendor. ExpenseBot's matcher handles all of these natively — split-charge detection, fuzzy amount tolerance for hotels and ridesharing, refund linkage, and a recurring-charge memory that keeps annual renewals from being re-classified each year. When a case truly is ambiguous, it's surfaced for human review with the top three candidate matches pre-ranked, so the resolution is one click rather than a Gmail search.
Where Did the Refund Go? Credits & Refunds, Reviewed — Not Guessed
Reconciliation isn't only about charges going out — money also comes back to a card as merchant refunds, statement credits, annual-fee reversals, and cash-back rewards. ExpenseBot doesn't silently fold those into your books or silently drop them. It collects money-back transactions into a review list so nothing disappears and a card payment is never mistaken for a refund.
Open My Reports, go to Review expenses, then select Match card activity. When ExpenseBot's latest card check has unresolved money-back items, a Credits & Refunds (N) button appears. Open it and review each item — date, description, amount, institution, and card ending — then choose one of two actions:
- Add to Spreadsheet — for a real merchant refund, reward, or statement credit. ExpenseBot records it as a negative expense, so it offsets the original spending instead of inflating it.
- Ignore — for a card payment, account transfer, or anything that shouldn't become an expense row. Your choice is remembered, so the same transaction doesn't reappear on the next check.
Nothing is added automatically. Obvious card payments, transfers, loan payments, and funding movements are filtered out before the list is shown; genuinely ambiguous credits are left for you to decide. The Credits & Refunds (N) count reflects the latest completed card check — it isn't a live bank feed — and if one connected institution couldn't be checked, ExpenseBot names it rather than implying the count covers every account. Use Check another period to run a fresh reconciliation; simply opening the list doesn't contact your bank. This is a paid feature that requires a supported bank or credit-card connection. Full walkthrough: how to find and record card refunds and credits.
Add to Spreadsheet (real money back — written as negative expenses):
BLUE BOTTLE REFUND·ANNUAL FEE REFUND·CASH BACK REWARD·AMEX DINING CREDIT
Ignore (moving money between your own accounts — not refunds):
AUTOMATIC PAYMENT - THANK YOU·PAYMENT RECEIVED·TRANSFER FROM CHECKING·CREDIT CARD PAYMENT
How a Refund Should Be Recorded (It's a Negative Expense, Not Income)
A refund isn't income. If you book returned money as income, you overstate both revenue and expenses and distort your category totals — a common bookkeeping mistake. The correct treatment is to record the refund as a negative expense against the same category as the original purchase, so the net spend in that category reflects what you actually kept. In a manual QuickBooks or general-ledger workflow that means creating a credit or a negative line and remembering to code it to the right expense account — easy to forget, easy to miscategorize. When you choose Add to Spreadsheet, ExpenseBot writes the refund as a negative expense for you using the same deduplicated write path as the rest of your expenses, so re-adding won't create a duplicate row. The offset flows automatically into your income and expense totals and your year-end Schedule C (US) or T2125 (Canada) summary.
How Long Do Credit Card Refunds Take?
A credit-card refund usually posts within a few business days, but the timing depends on two separate steps: the merchant issuing the refund on their end, and your card issuer posting it to your account. Many refunds land in three to five business days; some — especially larger returns or disputes — can take one to two billing cycles. Until a refund actually posts, it may show as pending, and pending transactions can still change. That's why ExpenseBot waits for a refund to post before adding it to the durable review list: while a transaction is pending, the card provider can change its identifiers, which would break matching. If a refund from today isn't listed yet, that's expected — check again after it posts, or use Check another period to run a fresh card check once it clears.
Stop dreading the first of the month.
Connect a card, scan Gmail, and watch ExpenseBot match the last 60 days of charges to receipts automatically. See your reconciliation status before you've had your second coffee.
Try ExpenseBot Free →60-day free trial • No credit card required
Credit Card Reconciliation FAQs
What is automated credit card reconciliation?
Automated credit card reconciliation means the matching between statement lines and receipts happens continuously in the background instead of by hand at month-end. In ExpenseBot: the card is connected via Plaid or a statement is uploaded as PDF or CSV, receipts are captured from Gmail, photos and uploads as they arrive, and each charge is paired with its receipt on amount, date (±1 day) and fuzzy merchant name. What's left for a human is the exception list — charges with no receipt behind them, and near-matches badged "Needs review" — not the matching itself.
Do I have to switch card providers to use ExpenseBot?
No. ExpenseBot does not issue cards and has no card of its own to move you onto. It sits on top of whatever cards you already have — your bank's business cards, corporate cards, employee-owned personal cards, vendor accounts like Home Depot Pro, and fleet fuel cards — and adds the receipt-matching layer. Your credit line, rewards program and bank relationship are unchanged. That is the difference from card-issuing platforms such as Ramp and Brex, whose model works best once you adopt their cards.
Can employees use their own credit cards?
Yes. Each person connects their own card via Plaid, or uploads their own statement as a PDF or CSV, and reconciles against the receipts captured from their own inbox. On a team plan, each member's expenses roll up to the admin's view, so the company sees which charges are still missing documentation without anyone having to be issued a new card.
Does it work with our existing corporate cards?
Yes — bank-issued corporate cards are the common case. Connect them through Plaid where the institution is supported (US and Canada), or upload the monthly statement as a PDF or CSV from any bank in any country. The matching logic is identical either way; only the source of the transactions differs. Vendor and fleet accounts that a virtual-card platform can't replace, like Home Depot Pro, reconcile in the same place.
Can I reconcile from a PDF statement instead of connecting a bank?
Yes, and it's the path that works everywhere. Download the statement from your bank's website and upload it under My Reports → Review expenses → Match card activity — PDF or CSV, one statement at a time, month by month. No bank connection is required, so it works for institutions outside Plaid's US and Canadian coverage, and it's the practical way to reconcile months that have already passed.
What platform automatically matches receipts to credit card transactions?
ExpenseBot does. Connect a card via Plaid or upload a statement as PDF or CSV, and each line is matched against the receipts already captured from your inbox, photos and uploads. Matched charges are tied to their receipt, close-but-not-certain pairs are badged "Needs review" for you to confirm, and charges with no receipt behind them are collected into a Missing Receipts list so you know exactly what to chase.
Does credit card reconciliation need a bank connection?
No. You can upload a card statement as a PDF or CSV directly, under My Reports → Review expenses → Match card activity. The matching logic is the same as a live connection. Upload is what makes catching up on prior months practical — a bank feed only shows you what it can reach going forward.
What happens to charges that have no receipt?
They're collected into the Missing Receipts tab. That list is the useful output — it's the exact set of purchases still missing documentation, with dates and amounts, rather than a silent gap you discover at year end. Each item can be resolved by uploading or forwarding the receipt, or Ignored if it isn't an expense.
Why didn't a charge match its receipt?
Usually one of four reasons: the merchant bills under a different legal name than the one printed on the receipt, the statement's posting date landed more than a day after the purchase date, the charge was split across two postings, or a partial refund changed the net amount. Near-matches are surfaced with a "Needs review" badge and an inline comparison for you to confirm, rather than being merged automatically.
Can I upload statements from months I've already passed?
Yes — historical statements are the common case for catching up. Upload one statement at a time, month by month, and each period reconciles against the receipts captured for those dates. There's no cap on how many months you can work through; there's just no bulk multi-statement import.
What happens if I upload the same statement twice?
Nothing is double-counted. Overlapping transactions are caught by deduplication that matches on merchant, amount and date within a one-day tolerance, so re-uploading a statement you've already processed is safe.
What is credit card reconciliation?
Credit card reconciliation is the process of matching every charge on your credit card statement to a receipt or approved business expense. It confirms the statement is accurate, surfaces fraudulent or duplicate charges, and produces audit-ready documentation for tax filing. Without reconciliation, expenses can be deducted without proof — a common audit risk.
How do I reconcile a credit card statement?
Six steps. Download the closed statement for the period; gather the receipts covering the same dates; match each statement line to a receipt on amount first, then date within a day or so, then merchant name; put every line you cannot match into one list; resolve that list by searching your inbox, requesting a duplicate from the vendor, or writing down the business purpose; then categorise what's left, record refunds as negative expenses, check the reconciled total against the closing balance, and close the period.
How often should I reconcile my business credit card?
Monthly, as soon as the statement closes. The statement period is the natural unit because it has a fixed closing balance to check your work against, and because receipts are far easier to find within a few weeks of the purchase than a year later. Waiting until tax time turns a 20-minute monthly task into a multi-day reconstruction project.
What if I can't find a receipt for a charge?
Search your inbox first — most 'missing' receipts are filed under the billing entity's name rather than the shop's. If that fails, ask the vendor for a duplicate; hotels, airlines, subscription services and large retailers can usually reissue one. Where no copy exists at all, write down the business purpose, date, amount and merchant against the charge — a note made at the time is much stronger than a reconstruction later. What a tax authority will accept without a receipt is covered in our guide to claiming expenses with no receipts. Estimates — confirm with your tax professional.
How do I reconcile credit card statements for multiple clients?
Reconcile each card against its own statement rather than merging them, so every statement balance can be proved independently, and use the last four digits of the card to attribute charges when the same merchant appears on two cards. Across clients, the unit of work that matters is the per-client list of charges still missing documentation — that is what turns an open-ended request into a finite one. The bookkeeper workspace and accountant dashboard in ExpenseBot consolidate that status across every client into a single view.
Can I reconcile multiple credit cards in ExpenseBot?
Yes. You can connect multiple credit cards via Plaid and ExpenseBot tracks each one independently. Personal, business, and corporate cards can all live in one ExpenseBot account, each reconciling against its own set of receipts. Multi-card households and small businesses with several cards typically connect 3–8 cards.
Does this work with my Canadian bank?
Yes. Plaid supports major Canadian institutions including RBC, TD, Scotiabank, BMO, CIBC, Desjardins, and National Bank, plus most credit unions. Once connected, transactions flow into ExpenseBot the same way US cards do, and reconciliation runs against your CAD or USD card. Schedule C (US) and T2125 (Canada) reports are both supported.
What happens when a receipt is missing for a charge?
ExpenseBot flags any charge that has no matching receipt as Unmatched. You can drill into the charge, search Gmail manually, upload a photo, forward an email to receipts@expensebot.ai, or mark the charge as a no-receipt expense with a note. Resolving the unmatched list before month-end is the entire month-end close in ExpenseBot.
How is this different from my bank's built-in expense tracker?
Bank tools show transactions but stop there — they don't know what you actually bought. ExpenseBot pairs each transaction with the corresponding vendor receipt found in Gmail, extracts line items, categorizes against IRS Schedule C or CRA T2125 buckets, and exports to QuickBooks, Xero, or a Google Sheet. Reconciliation is the focus, not just a transaction feed.
Is the Plaid connection secure?
Yes. ExpenseBot uses Plaid's standard OAuth flow — your bank credentials are entered directly into the bank's login page hosted by Plaid, never seen or stored by ExpenseBot. Plaid is the same data layer used by Venmo, Robinhood, Chime, and most major fintech apps. ExpenseBot only receives a read-only token for transaction history.
Can my accountant reconcile my credit cards for me?
Yes. The accountant view in ExpenseBot is free and gives a single dashboard across every client. From there, an accountant can see unmatched charges, request missing receipts, and approve the month. Many of our accountant users handle 10–30 small-business clients this way without leaving ExpenseBot.
How long does month-end reconciliation take with ExpenseBot?
Most users finish in 10–20 minutes per card per month, compared to several hours of manual work. The bulk of the work — matching charges to receipts — runs automatically in the background as transactions and emails arrive. Month-end becomes a review of the unmatched list, not a from-scratch matching exercise.
Where can I find a refund that went back to my credit card?
Open My Reports, go to Review expenses, then select "Match card activity". When ExpenseBot's latest card check finds unresolved refunds or credits, a "Credits & Refunds (N)" button appears. Open it to review each refund, statement credit, or reward, then choose Add to Spreadsheet or Ignore for each one.
Is a credit card refund income or a negative expense?
A refund is a negative expense, not income. Recording it as income overstates both your revenue and your expenses. The correct treatment is to offset the original spending category, and that's exactly what ExpenseBot does when you choose Add to Spreadsheet — it writes the refund as a negative expense so your category totals reflect what you actually kept.
Why isn't my credit card payment shown in Credits & Refunds?
ExpenseBot filters obvious card payments, account transfers, loan payments, and funding movements out of the Credits & Refunds list, because those move money between your own accounts — they aren't merchant refunds or rewards. Only genuine money-back items and ambiguous credits are left for you to review, so a payment to your card won't clutter the queue.
Why is a refund from today not showing up yet?
ExpenseBot waits for a card transaction to post before adding it to the durable Credits & Refunds list. While a refund is still pending, the card provider can change its identifiers, which would break matching — so pending items are held back. Once the refund posts, use "Check another period" to run a fresh card check and it will appear.
