Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
To categorize transactions from a bank 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.
Last updated July 2026
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.
Manually categorizing transactions presents several difficulties:
Manual categorization processes are inefficient and error-prone, making automated solutions valuable for businesses and accounting professionals.
Automated transaction categorization provides:
Our system uses intelligent pattern recognition to automatically categorize transactions based on merchant names, descriptions, and transaction patterns.
Upload your bank statement PDF and our system extracts all transaction data including dates, descriptions, and amounts.
Transactions are automatically categorized into income and expense categories based on merchant names, transaction patterns, and descriptions.
Download your categorized transactions in Excel or CSV format, ready for import into accounting software or further analysis.
Automatically categorize business transactions for monthly financial reports and tax preparation.
Save time on client bookkeeping by automating transaction categorization from bank statements.
Quickly organize transaction data for expense analysis and budget tracking.
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:
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, BP | Car and truck expenses |
| DELTA, UNITED, MARRIOTT, HILTON | Travel |
| ADOBE, GOOGLE, MICROSOFT, ZOOM | Software and subscriptions |
| STAPLES, AMAZON, OFFICE DEPOT | Office expense |
| GUSTO, ADP, PAYCHEX | Payroll |
| TRANSFER, ZELLE, XFER | Transfer (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.
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:
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.
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:
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.
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.
Owner transfers, credit card payments, and account-to-account moves are not income or expense. Tag them as transfers so revenue is not overstated.
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.
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 |
|---|---|---|
| Advertising | Line 8 | Google Ads, Meta, print, sponsorships |
| Contract labor | Line 11 | Payments to freelancers and 1099 contractors |
| Insurance | Line 15 | Liability, professional, business property policies |
| Interest | Line 16 | Business loan and line-of-credit interest |
| Legal and professional | Line 17 | Accountant, attorney, bookkeeping fees |
| Office expense | Line 18 | Software subscriptions, supplies, postage |
| Rent or lease | Line 20 | Office rent, equipment leases |
| Supplies | Line 22 | Materials and supplies consumed in the work |
| Travel | Line 24a | Flights, hotels, rideshare for business trips |
| Meals | Line 24b | Business meals (generally 50 percent deductible) |
| Utilities | Line 25 | Phone, internet, electricity for the business |
| Bank and merchant fees | Line 27a | Account fees, Stripe and Square processing fees |
| Transfers and owner draws | Not on Schedule C | Account 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.
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, Notion | Software / office expense | Line 18 |
| Google Ads, Meta, LinkedIn Ads, sponsorship payments | Advertising | Line 8 |
| Uber, Lyft, Delta, United, hotels, Airbnb (business trips) | Travel | Line 24a |
| Restaurants, DoorDash, coffee shops (business meals) | Meals | Line 24b |
| Gusto, ADP, Paychex, payroll ACH debits | Wages / contract labor | Line 26 / 11 |
| Stripe fee, Square fee, PayPal fee, monthly service charge, wire fee | Bank and merchant fees | Line 27a |
| Verizon, Comcast, AT&T, utility ACH debits | Utilities | Line 25 |
| Stripe payout, Square deposit, customer ACH credit, mobile deposit | Income / gross receipts | Line 1 |
| Transfer to savings, Zelle to owner, card payment, loan principal | Transfer / 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.
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.
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.
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 subscriptions | Same charge every month, safe to auto-code |
| An ad platform or marketing vendor | Advertising | Deductible marketing spend, keep it separate |
| A payment processor fee or discount | Merchant fees | Netted from payouts, easy to miss otherwise |
| Maintenance, wire, or overdraft fee | Bank fees | Deductible and simple to total on its own |
| A transfer to your own savings or card | Transfer (not an expense) | Tag both sides so it nets to zero |
| Owner name or a personal charge | Owner draw or personal | Keeps personal spending out of the books |
| A customer or invoice reference | Sales income | Separates 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.
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.
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. Pro and Elite users can save a custom template so the same rules apply to every statement, which keeps categories consistent month to month.
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.
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.
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.
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.
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.
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.
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 Pro and Elite users can save them as a reusable template.
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.
Yes, Pro and Elite users can create custom categorization templates. The exported Excel file can also be edited to adjust categories as needed.
We support PDF bank statements from all major banks. Categorized transactions can be exported in Excel (XLSX) or CSV format.
Yes. We use bank-level encryption and process your statements securely. Files are automatically deleted after processing.
From the same family of tools
Get started converting bank statements to spreadsheets.
USD
per month
billed as
$288 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
Scale statement conversion across your team with automation.
USD
per month
billed as
$888 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
Enterprise-grade bank statement conversion and controls.
USD
per month
billed as
$ yearly
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |