Categorize Bank Transactions in Excel: Bank Statement Categorizer for CSV and QuickBooks

Automatically sort bank statement transactions into income and expense categories

PDF, JPG, PNG, BMP, HEIC, TIFF, MT940

Upload your bank statement

Extract:
Free to preview, no sign-up
Excel (XLSX) & CSV output
Keeps running balance, validates totals
Secure HTTPS upload

To categorize bank transactions in Excel from a statement, upload the PDF and the converter extracts every line, then assigns each transaction an income or expense category (sales, fees, software, meals, travel, payroll, and more) before you export to Excel or CSV. You skip the manual tagging and get a clean, category-tagged sheet ready for bookkeeping, a Schedule C, or a profit and loss report. It works on statements from any US bank or card, and you can adjust any category in the exported file.

Why Categorize Bank Statement Transactions?

Transaction categorization is essential for accurate financial reporting, tax preparation, and business analysis. Automatically organize bank statement transactions into meaningful categories to streamline accounting workflows.

Manual Categorization Challenges

Manually categorizing transactions presents several difficulties:

  • Time-intensive process requiring hours of manual work
  • Inconsistent categorization across different transactions
  • Human error leading to misclassified transactions
  • Difficulty maintaining consistent category standards
  • Limited scalability for high transaction volumes

Manual categorization processes are inefficient and error-prone, making automated solutions valuable for businesses and accounting professionals.

Automated Categorization Benefits

Automated transaction categorization provides:

Consistent category assignment
Time savings through automation
Reduced categorization errors
Standardized financial reporting

Our system uses intelligent pattern recognition to automatically categorize transactions based on merchant names, descriptions, and transaction patterns.

How Transaction Categorization Works

Extract Transactions

Upload your bank statement PDF and our system extracts all transaction data including dates, descriptions, and amounts.

Smart Categorization

Transactions are automatically categorized into income and expense categories based on merchant names, transaction patterns, and descriptions.

Export Categorized Data

Download your categorized transactions in Excel or CSV format, ready for import into accounting software or further analysis.

Transaction Categories

Income Categories

  • Sales Revenue
  • Service Income
  • Interest Income
  • Other Income

Expense Categories

  • Office Supplies
  • Utilities
  • Marketing & Advertising
  • Travel & Meals
  • Software & Subscriptions
  • Professional Services

Small Business Owners

Automatically categorize business transactions for monthly financial reports and tax preparation.

Accountants

Save time on client bookkeeping by automating transaction categorization from bank statements.

Financial Analysts

Quickly organize transaction data for expense analysis and budget tracking.

How to Categorize Bank Transactions in Excel

To categorize bank transactions in Excel, get the statement into rows first, then add a category column and tag each line. The fastest path is to convert the PDF with the PDF bank statement to Excel converter, which turns the document into date, description, debit, credit, and balance columns. From there you label each transaction by merchant. Here is the workflow most bookkeepers use:

  1. 1Convert the statement PDF so every transaction is a clean row with the amount in its own column. Use bank statement converter for one upload that handles any bank or card.
  2. 2Select your data and use Format as Table so you can sort and filter. Add a column named Category to the right of the amounts.
  3. 3Sort by Description, then tag repeat merchants in one pass. A VLOOKUP or XLOOKUP against a small keyword-to-category list can auto-fill the common ones.
  4. 4Build a PivotTable to total spend by category. Those totals map straight onto a profit and loss report or, for a sole proprietor, a Schedule C tax categorization.

The Excel formula that auto-categorizes by merchant keyword

Manual tagging only stays manageable for a month or two. The scalable version is a two column lookup table on a second sheet, one row per keyword, and a single formula that scans the description for the first keyword it matches. Build the lookup table like this:

Keyword (column A)Category (column B)
SHELL, CHEVRON, EXXON, BPCar and truck expenses
DELTA, UNITED, MARRIOTT, HILTONTravel
ADOBE, GOOGLE, MICROSOFT, ZOOMSoftware and subscriptions
STAPLES, AMAZON, OFFICE DEPOTOffice expense
GUSTO, ADP, PAYCHEXPayroll
TRANSFER, ZELLE, XFERTransfer (not an expense)

With the keywords in Rules!A:A and the categories in Rules!B:B, put this in the Category column next to your first transaction, where C2 is the description cell:

=IFERROR(INDEX(Rules!B:B,MATCH(TRUE,ISNUMBER(SEARCH(Rules!A:A,C2)),0)),"Uncategorized")

In Microsoft 365 and Excel 2021 that formula spills on its own. In older versions it is an array formula, so confirm it with Ctrl, Shift and Enter rather than Enter alone. SEARCH is deliberately case insensitive, which matters because bank descriptions arrive in a mix of upper and lower case. Anything the lookup misses lands as Uncategorized, so you filter that column, add the new merchant to the rules sheet, and the count falls every month instead of the work repeating.

Two habits keep the totals honest. Put the more specific keyword above the general one, because MATCH stops at the first hit, and give transfers between your own accounts their own category so they never inflate income or expenses. That single mistake is the most common reason a categorized sheet shows revenue the business never earned, and it is worth reading up on how to categorize transfers between bank accounts before you close a year.

If you would rather skip the manual tagging, the categorization tool above assigns categories during conversion, so the sheet arrives already labeled. You can still edit any category in Excel afterward. Working in Google Workspace instead? The bank statement to Google Sheets converter produces the same clean, taggable rows.

How can I automate expense categorization and summing from PDF bank statements?

Automate it in two stages: extraction and totaling. Convert the statement PDFs into rows with a categorizer that assigns a category during extraction, then let a single SUMIFS formula or one PivotTable total each category. Once the rules exist, a month of statements goes from roughly an hour of tagging to under five minutes, and the same rules run again next month.

The stage people skip is the second one. A categorized sheet with no totals still leaves you scrolling, and hand-typed subtotals break the moment a new row appears. With a Category column in D and amounts in E, one formula gives you a live total per category, where H2 holds the category name you are totaling:

=SUMIFS($E:$E,$D:$D,H2)

Drag that down a short list of your categories and you have a running expense summary that updates itself as rows are added. To split the same list by month, add a criteria pair on the date column, or drop a PivotTable over the table with Category on rows and Amount in values. Both survive new data; a typed subtotal does not.

What is the best solution for extracting and categorizing expenses from a PDF business statement?

It depends on how many statements you have and whether the PDFs are digital or scanned. The table below is an honest read on the four routes, including where the free ones are genuinely enough. Nothing here is free-versus-paid marketing: Power Query really is capable, and it really does stop at scans.

Route Setup effort Handles scanned PDFs New merchants Best for
Type the categories in by hand None Only if you retype the rows too Handled, but you pay for it every month One statement, one time
Excel keyword lookup (the INDEX and SEARCH formula above) 30 to 60 minutes to build the rules sheet No, Power Query has no OCR Land as Uncategorized until you add a keyword One business, digital PDFs, a stable vendor list
Bank rules in QuickBooks Online or Xero A few minutes per recurring vendor Not applicable, the feed supplies the data Sit in For review until you code them once Live books where the bank feed already reaches the account
Categorize during conversion (the tool on this page) Upload and go, optional saved template Yes, OCR reads scans and phone photos Matched from the description, edit any line in the export Closed periods, catch-up work, several clients a month

The dividing line is the bank feed. If the feed reaches the account and the period is current, QuickBooks or Xero rules are the right answer and you do not need a converter at all. The moment you are working from PDFs, because the period is closed, the feed only goes back 90 days, or the client sends paper, extraction has to happen first and categorizing during that step saves the second pass. For a year of catch-up across several accounts, batch bank statement conversion handles the whole folder in one upload.

What is the best tool for sorting debits and credits from bank statements by description, date and balance changes?

Any tool that puts debit, credit, and running balance in separate numeric columns rather than one signed amount column. That is what lets you sort by description to group a merchant, sort by date to find a page-break gap, and check that opening balance plus credits minus debits equals the closing balance printed on the statement. Exports that collapse debit and credit into a single column, or drop the balance entirely, make that third check impossible, which is why the running balance extraction matters more than it looks. Once the columns are right, Excel's own sort and filter do the rest.

Every month I spend hours converting credit card statements into expense reports for QuickBooks. What would you recommend?

Stop typing the statement and split the job in two: let a converter read the card PDF into categorized rows, then let QuickBooks bank rules do the posting. Upload the statement above, review the category on each line in the Excel export, and upload the same file to QuickBooks Online as a CSV, or as a QBO file on the Plus plan. A 60 line card statement becomes a ten minute review instead of an evening.

One thing trips people up. The QuickBooks Online bank upload only reads date, description and amount (or separate credit and debit columns), so a category column in your CSV does not carry across. The categorized spreadsheet is still worth keeping, because it is your expense report and your review copy, but the categories inside QuickBooks come from bank rules. Set one rule per recurring merchant the first month, using the same category names you use in the spreadsheet, and from the second month most lines arrive already coded in For review.

If you handle several cards or several clients, the Plus plan adds bulk upload of up to 50 statements at once and saved categorization templates, so every statement comes back with the same category list. The credit card statement to Excel converter covers card layouts in more detail, and the QuickBooks bank statement converter walks through the upload screen.

How can I categorize discretionary expenses using account statements and transaction tags?

Add a second tag column beside the category and mark each row fixed or discretionary, then filter on that tag. Fixed means rent, payroll, insurance, loan payments, and the software you cannot switch off. Discretionary means the spending you could actually cut next month: meals, travel upgrades, ad-hoc tools, and trial subscriptions.

Two tags beat one long category list because they answer different questions. The category tells you where the money went for the tax return; the fixed or discretionary tag tells you how much of the month is genuinely under your control. A firm with $42,000 of monthly outflow and $9,000 tagged discretionary is in a very different position from one with the same total and $1,500, even though both have identical Schedule C categories.

Build it in the same pass as the extraction. With Category in column D, a Fixed or Discretionary tag in column F, and amounts in column E, one formula totals the controllable half:

=SUMIFS($E:$E,$F:$F,"Discretionary")

Two traps ruin this number more often than anything else. The first is transfers: money moved between your own accounts is not spending, and if it lands in the discretionary bucket the total is inflated by whatever you swept to savings that month. Tag transfers separately and exclude them. The second is owner draws and card payments, which are settlements of spending already recorded elsewhere. Counting both the card payment and the card's own transactions double counts the entire month.

On a bank statement the merchant description is the only signal you get, so the tag has to be driven off it. That is what a bank statement categorizer does during conversion: it reads the description, assigns the category, and you add the fixed or discretionary tag once per recurring vendor rather than once per line. Review the tags quarterly, because vendors migrate between the two columns. A tool bought for one project becomes a fixed subscription the moment it renews on autopay, and a fixed cost you renegotiate can move back.

How to Categorize Bank Transactions in QuickBooks Online

To categorize bank transactions in QuickBooks Online, you first need the transactions inside QuickBooks, then you assign each one to an account and let bank rules handle the repeats. When the bank feed does not reach the account, or you are working from a PDF statement for a closed or historical period, convert the statement to a QuickBooks-ready CSV first, upload it, and categorize from there. The steps most bookkeepers follow:

  1. 1Convert the statement PDF to a clean CSV with date, description, and amount columns using the tool above, or send it straight to a QuickBooks file with a bank statement to QuickBooks converter.
  2. 2In QuickBooks Online go to Transactions, then Bank transactions, choose the account, and use Upload from file to bring the CSV in. Map the Date, Description, and Amount columns when prompted.
  3. 3On the For review tab, open each transaction and pick the category, which in QuickBooks means the account from your chart of accounts, then confirm it to post to the register.
  4. 4Create bank rules under the Rules tab that match a keyword in the description to a fixed category and payee, so every future transaction from that vendor is categorized automatically.

The category you assign in QuickBooks is really an account on your chart of accounts, so align those account names to the way you file taxes and the year-end reports fall out cleanly. For a walkthrough of the upload itself, see how to import bank transactions into QuickBooks Online. If you would rather have software read the receipts behind those charges and code them for you before they ever reach the books, a dedicated expense management platform automates that side of the workflow.

Best Practices for Transaction Categorization from Bank Statement PDFs

The best practice for categorizing bank statement transactions is to use a consistent, tax-aligned chart of categories and apply it the same way every month. Inconsistent labels are the main reason year-end totals do not tie out. These habits keep the data clean and audit-ready:

Match your tax form

Name expense categories after the lines on Schedule C or your business return (advertising, supplies, meals, contract labor) so totals carry over without remapping at tax time.

Keep fees and interest separate

Put bank fees, interest, and merchant processing on their own rows. They are deductible and easy to miss when they are buried inside a generic bucket.

Separate transfers from income

Owner transfers, credit card payments, and account-to-account moves are not income or expense. Tag them as transfers so revenue is not overstated.

Review the uncategorized pile

Filter for blanks or an "Other" bucket at month end. A small uncategorized list is normal; a large one means a rule or keyword is missing.

Once categories are set, the same sheet feeds the rest of your workflow: hand it to a client, drop it into a bookkeeping workflow, use it for expense tracking, or import it into accounting software. If your books live in Xero, the same rules apply on the reconcile screen: see how to categorize bank transactions in Xero. If your books live in QuickBooks, you can also convert and categorize statements straight to a QuickBooks-ready file with a bank statement to QuickBooks converter. Mission-driven organizations add a second axis on top of the category, coding each line by function too: see how to categorize bank transactions for a nonprofit. Your category set also shifts with the entity you file as: a single-member LLC maps to Schedule C, an S corp splits owner salary from distributions, and a rental property follows Schedule E.

Common Bank Transaction Categories and Where They Go on a Schedule C

Most business bank transactions map to a small set of categories that line up with IRS Schedule C. Using these standard buckets keeps year-end totals tax-ready and consistent from month to month. This reference shows the common categories, the Schedule C line they map to, and the kinds of transactions that belong in each.

Category Schedule C line Example transactions
AdvertisingLine 8Google Ads, Meta, print, sponsorships
Contract laborLine 11Payments to freelancers and 1099 contractors
InsuranceLine 15Liability, professional, business property policies
InterestLine 16Business loan and line-of-credit interest
Legal and professionalLine 17Accountant, attorney, bookkeeping fees
Office expenseLine 18Software subscriptions, supplies, postage
Rent or leaseLine 20Office rent, equipment leases
SuppliesLine 22Materials and supplies consumed in the work
TravelLine 24aFlights, hotels, rideshare for business trips
MealsLine 24bBusiness meals (generally 50 percent deductible)
UtilitiesLine 25Phone, internet, electricity for the business
Bank and merchant feesLine 27aAccount fees, Stripe and Square processing fees
Transfers and owner drawsNot on Schedule CAccount moves, owner draws, loan principal, card payments

The last row matters as much as the rest: transfers between your own accounts, owner draws, loan principal, and credit card payoffs move through the statement but are not income or expense, so tag them out before you total anything. Once every line carries a category, the sheet is ready for a profit and loss report or a P&L built straight from the statements.

How to tell what category a transaction belongs to

Bank statement descriptions are terse and inconsistent, so the fastest way to categorize is to read the merchant or ACH descriptor and match it to a category. The table below maps the description patterns you see most often on US business statements to the category and Schedule C line they usually belong to. Sort your exported sheet by description and code each repeat payee once, then apply it to every matching row.

Description on the statement Category Schedule C line
Adobe, Microsoft, Google Workspace, Zoom, QuickBooks, NotionSoftware / office expenseLine 18
Google Ads, Meta, LinkedIn Ads, sponsorship paymentsAdvertisingLine 8
Uber, Lyft, Delta, United, hotels, Airbnb (business trips)TravelLine 24a
Restaurants, DoorDash, coffee shops (business meals)MealsLine 24b
Gusto, ADP, Paychex, payroll ACH debitsWages / contract laborLine 26 / 11
Stripe fee, Square fee, PayPal fee, monthly service charge, wire feeBank and merchant feesLine 27a
Verizon, Comcast, AT&T, utility ACH debitsUtilitiesLine 25
Stripe payout, Square deposit, customer ACH credit, mobile depositIncome / gross receiptsLine 1
Transfer to savings, Zelle to owner, card payment, loan principalTransfer / owner draw (exclude)Not on Schedule C

When a descriptor is ambiguous (a plain "POS purchase" or a generic ACH ID), open the merchant or check the amount against a recurring pattern before you code it. The converter applies these rules automatically during extraction, so the export arrives with a first-pass category on every line and you only review the exceptions.

How to Categorize Transactions Across Multiple Accounts and Months

To categorize transactions across several accounts and months, use one consistent category list for all of them and keep each statement's account and period labeled so nothing gets mixed together. This is the situation most bookkeepers hit during a catch-up: a checking account, a savings account, and two credit cards, each with a year of PDFs. The workflow that scales is to convert every statement the same way, stack the categorized rows into one sheet with an Account column and a Month column, then total by category across the whole set.

  1. 1Convert each statement with the tool above so every account produces the same date, description, amount, and category columns. Add an Account column and a Month column to each export before you combine them.
  2. 2Apply the same category names everywhere. A charge coded Software on the checking account and Subscriptions on the card will not total together, so pick one label and reuse it.
  3. 3Tag transfers between your own accounts on both sides so a move from checking to savings is not counted as an expense on one and income on the other. This is the single most common error in a multi-account catch-up.
  4. 4Build one PivotTable over the combined sheet with Category in rows and Month in columns to see spend by category over time, ready for a profit and loss or a tax return.

Remember that a bank statement only ever shows cash as it moves, so these totals are a cash-basis picture of the business: see cash basis versus accrual accounting for what that means at tax time. If you are reconstructing a full year from scratch, the catch-up bookkeeping converter walks through the same multi-statement process end to end.

Transaction Categorization Rules to Set Up

A categorization rule maps a word or phrase in the transaction description to a category, so the same vendor is coded the same way every time. Set up a short list of rules for the vendors and patterns you see most, and the bulk of a statement categorizes itself. Here are the rules most US small businesses and bookkeepers start with.

If the description contains Assign the category Why
A recurring SaaS name (the tool, the host, the CRM)Software and subscriptionsSame charge every month, safe to auto-code
An ad platform or marketing vendorAdvertisingDeductible marketing spend, keep it separate
A payment processor fee or discountMerchant feesNetted from payouts, easy to miss otherwise
Maintenance, wire, or overdraft feeBank feesDeductible and simple to total on its own
A transfer to your own savings or cardTransfer (not an expense)Tag both sides so it nets to zero
Owner name or a personal chargeOwner draw or personalKeeps personal spending out of the books
A customer or invoice referenceSales incomeSeparates real revenue from transfers in

Start with rules for your highest-frequency vendors, then review whatever is left uncategorized and add a rule when a pattern shows up more than once. Keep transfers and owner draws out of your income and expense totals, because miscoding them is the fastest way to overstate profit. When the year is categorized, you can send it straight to a bank statement to Excel for taxes workflow to total deductions for a Schedule C.

Frequently Asked Questions

How do I categorize transactions in a bank statement?

Upload the statement PDF and the converter extracts every transaction into rows, then assigns each one an income or expense category based on the merchant and description. Export the result to Excel or CSV with the categories already filled in, and adjust any line in the file if you want a different label.

How do I categorize bank transactions automatically?

Automatic categorization happens during conversion: the tool reads each transaction description and matches it to a category such as software, meals, travel, payroll, or fees. Plus plan subscribers and above can save a custom template so the same rules apply to every statement, which keeps categories consistent month to month.

Can I categorize bank statement transactions for taxes?

Yes. Name your categories after the lines on Schedule C or your business return, and the exported totals carry straight into your filing. Keeping fees, interest, and transfers on separate rows means you capture every deduction and do not overstate income at tax time.

How do I separate business and personal transactions in one account?

Add a Business or Personal flag next to each row, then categorize only the business lines so a commingled account still produces a clean Schedule C. The converter labels every transaction during extraction, which makes the business rows easy to spot and pull, while owner draws and personal charges get tagged as non-deductible so they never land in an expense total. Splitting them in the sheet is the fastest way to untangle a mixed account without a second bank login.

How do I categorize bank transactions in QuickBooks Online?

Get the transactions into QuickBooks first, then assign each one to an account and let bank rules handle the repeats. When the bank feed does not cover the account, convert the statement PDF to a CSV and use Transactions, Bank transactions, Upload from file, mapping the Date, Description, and Amount columns. On the For review tab, pick the category (which is the account from your chart of accounts) for each line, then build rules under the Rules tab so future transactions from the same vendor code themselves.

How do I categorize transactions from multiple bank accounts?

Convert every account the same way so they share the same columns, then stack the categorized rows into one sheet with an Account column and a Month column. Use one consistent category list across all accounts, and tag transfers between your own accounts on both sides so a move from checking to savings is not counted as income or expense. A single PivotTable over the combined sheet then totals each category across every account and month.

How do I categorize financial transactions?

Categorize financial transactions by reading the merchant or ACH descriptor on each line and matching it to a standard bucket: income, cost of goods, or an operating expense such as software, meals, travel, payroll, or fees. Code every recurring payee once, apply it to all its rows, and tag transfers and owner draws separately so they never inflate income. The converter applies these matches during extraction, so the export arrives with a first-pass category on every line.

What is the best software to categorize bank transactions automatically?

It depends on where your transactions start. For statement PDFs, a converter that categorizes during extraction is fastest because the export arrives already tagged. For ongoing books with a live bank feed, the bank rules in QuickBooks Online or Xero win. For card and receipt heavy teams, an expense platform codes spend at the point of purchase. See the full breakdown in best software to categorize bank transactions automatically.

What transaction categorization rules should I set up?

Set up rules that map a keyword in the description to a fixed category, for example "Gusto" to payroll, "Google Ads" to advertising, and "Stripe fee" to merchant fees. Keep one rule per recurring vendor, align every category name to a Schedule C line, and add a transfer rule for account-to-account moves. Consistent rules are what make year-end totals tie out, and Plus plan subscribers and above can save them as a reusable template.

How do I categorize bank transactions in Excel without typing every line?

Build a two column rules sheet of keyword and category, then use one lookup formula that scans each description for the first keyword it matches. Everything it misses lands as Uncategorized, so you filter that column, add the new merchant once, and the list shrinks every month instead of the work repeating. The formula and the setup are in the Excel section above.

Is there a bank statement categorizer that works on scanned PDFs?

Yes, but only one with OCR. A scanned statement or a phone photo is an image, so copy and paste and Excel Power Query both fail on it because there is no text layer to read. Upload the scan as a PDF, JPG, PNG, HEIC, or TIFF here and it comes back as categorized rows in the same format as a digital PDF.

How accurate is automatic transaction categorization?

Our system uses advanced pattern recognition to categorize transactions with high accuracy. You can review and adjust categories in the exported Excel file as needed.

Can I customize the categories?

Yes, Plus plan subscribers and above can create custom categorization templates. The exported Excel file can also be edited to adjust categories as needed.

What file formats are supported?

We support PDF bank statements from all major banks. Categorized transactions can be exported in Excel (XLSX) or CSV format.

Is my financial data secure?

Yes. Uploads are encrypted in transit and processed securely, and you can delete your uploaded statements and exports from your account at any time.