Categorise and reconcile a year of transactions in an afternoon

An agent sorts a year of bank transactions into your chart of accounts while you approve each category in batches.

For anyone whose books are a year behind · 9 steps · 7 min

How it works today.

You export twelve months of transactions from your bank as a CSV. You open last year's tax return to remind yourself which expenses went where. Then you click through every line—sometimes five hundred of them—dragging each into Advertising or Office Supplies or Travel, second-guessing whether the SaaS charge is Software or Subscriptions, toggling back to the prior year whenever the category name escapes you.

Three hours in, the rows blur together. You start batching anything under fifty dollars into Miscellaneous because the marginal cost of deciding has gone vertical. By the time you reach December you have forgotten the rules you set in January, and the chart of accounts is a Jenga tower of half-consistent choices that your accountant will question in March.

Before you start.

All of it has to be true, or step one fails in a way that is annoying to debug.

  • A CSV export of transactions from your bank or accounting platform, covering the period you want to categorise.
  • A chart of accounts—either from last year's return or from your bookkeeping software—listing every category you are allowed to use.
  • Access to a builder tool (Zapier, Make, n8n) or a generalist agent (Claude, ChatGPT, Relay) that can read spreadsheets and write structured output.
  • Write access to a shared spreadsheet where the agent will post proposed categories and you will approve or override them.

The steps.

  1. Upload the transaction CSV and chart of accounts to a shared spreadsheet

    Create a new Google Sheet or Excel file with two tabs: one for the raw bank export, one for your chart of accounts. Paste the transactions into the first tab exactly as exported—do not rename columns yet. Paste your category list into the second tab, one category per row. If you have subcategories or account codes, include those in adjacent columns so the agent can match the structure your accountant expects.

  2. Add a column for proposed category and a column for approval status

    In the transactions tab, insert two new columns to the right of the description: "Proposed Category" and "Status". Leave them blank for now. These will hold the agent's suggestions and your sign-off. If your export already has a category column from a prior year, keep it visible so the agent can learn from past decisions.

  3. Connect the spreadsheet to your agent and give it read access to both tabs

    In your builder or agent platform, create a new workflow or chat session. Authorize it to read the spreadsheet. If you are using a builder, set the trigger to manual or on-demand; if you are using a generalist agent, share the sheet link and confirm it can see both tabs. Do not grant write access yet—this step is only to verify the connection and let the agent preview the data structure.

  4. Prompt the agent to propose categories for every uncategorised transaction

    Run the agent with the prompt below. It will read each transaction description, compare it to your chart of accounts, and write a proposed category into the new column. The agent should also flag any line it cannot match with confidence. After the run completes, scan the "Proposed Category" column for blanks or obvious errors before moving to approval.

    Paste this
    Read every row in the Transactions tab where the Proposed Category column is empty. For each row, examine the description, amount, and date. Match it to the closest category in the Chart of Accounts tab. Write your proposed category into the Proposed Category column. If the description is ambiguous or does not fit any category, write "REVIEW" and leave a note explaining why. Do not change any other column. Process all rows in a single pass.
  5. Review the proposed categories in batches and mark approved rows

    Sort the spreadsheet by Proposed Category so identical suggestions group together. Work through each category block: if the agent correctly classified a merchant or expense type, type "Approved" into the Status column for all those rows at once. If a category is wrong, overwrite the Proposed Category cell with the correct one, then mark it Approved. Leave "REVIEW" rows for last—these usually need context only you have, like whether a conference fee is Travel or Professional Development.

  6. Prompt the agent to learn from your corrections and re-propose the flagged rows

    Once you have approved the clear-cut transactions, ask the agent to try again on anything still marked "REVIEW". This time it can see which corrections you made in the approved rows, so it has better examples. After the second pass, you will likely have fewer than twenty lines left to categorise by hand.

    Paste this
    Read all rows in the Transactions tab where Status is "REVIEW". Look at the rows where Status is "Approved" to see which categories I chose for similar descriptions or merchants. Propose a category for each REVIEW row based on those examples. Write your new proposal into the Proposed Category column and change Status to "Proposed" so I know to check it. Do not alter any row already marked Approved.
  7. Manually categorise any remaining ambiguous transactions

    For the last few rows—usually one-off purchases, refunds, or transfers—assign categories yourself. These are the transactions that genuinely require your judgement: a charge that spans two categories, a personal expense mixed into a business account, or a vendor you know will ask questions at audit time. Mark them Approved when done.

  8. Export the approved categories and import them into your accounting system

    Filter the spreadsheet to show only rows where Status is "Approved". Export that subset as a CSV with columns for date, description, amount, and category. Import the file into your bookkeeping software using its bulk-import or CSV-match feature. Verify that the category column maps to the correct field in the import wizard. If your software does not support bulk category updates, copy and paste the Proposed Category column into the native transaction list and save.

  9. Spot-check a sample of categorised transactions inside your accounting platform

    Open your accounting software and pull a report grouped by category—profit and loss or expense by type. Pick three or four categories the agent handled heavily, like Software or Meals, and drill into the transaction list. Confirm that the line items make sense and that nothing wildly inappropriate landed in a tax-sensitive bucket. If you find a pattern of errors, note the merchant or keyword so you can add a rule for next time.

What you keep.

Automating the typing does not move the accountability. These stay with a person.

  • Approving every proposed category before it goes into your books or your tax return.
  • Deciding the final category for ambiguous transactions—refunds, split expenses, or anything that might trigger an audit question.
  • Reconciling the categorised totals against your bank statement to confirm nothing was dropped or double-counted.
  • Signing off on the import into your accounting system and confirming the chart of accounts still matches your accountant's expectations.

Once it works.

The first run is the demo. These are where the time actually comes back.

Run it on a loop

Run this workflow monthly instead of annually so each batch is fifty transactions instead of five hundred, and the agent's suggestions stay accurate to your current spending patterns.

Fire it from an event

Set the agent to propose categories automatically whenever your bank export updates, so the Proposed Category column is already populated when you sit down to review.

Put it on a schedule

Schedule a recurring approval session—first Friday of each month—so categorisation never falls a quarter behind and you still remember what each charge was for.

Scale it wider

If you run multiple entities or bank accounts, duplicate the workflow for each and let the agent learn separate category patterns per entity, then consolidate approvals in a single review session.

The work this replaces.

These are the O*NET work activities this workflow covers, and the categories of tool that address them.

Addressed by builders, tools and auth, generalist agents