Case Study · Transaction Categorization
How we helped a consulting firm cut transaction categorization time from 3 weeks to 4 hrs
Small consulting firm · 4 bank accounts · 1,750+ annual transactions · 350+ paper receipts
97.6%
reduction in time spent on reconciliations
4 hrs
current process duration with Rima
99.7%
transaction categorization coverage
About the company
The client is a small consulting firm operating across multiple business lines with mixed personal and business expenditures. Their financial activity spans four bank accounts, over 1,750 annual bank transactions, and hundreds of paper receipts collected throughout the year.
As the business grew, the year-end bookkeeping reconciliation became an increasingly painful bottleneck, consuming weeks of professional accounting time and delaying tax filings.
The challenge
The annual reconciliation required processing approximately 1,750 transactions spanning fragmented data sources — bank statements, credit card statements, paper receipts, emailed invoices, and handwritten notes.
- Over 350 paper receipts in PDF format, many faded, crumpled, or partially illegible
- 1,750+ bank and credit card transactions across four accounts (personal checking, business checking, operating, and credit card)
- Receipts from 80+ unique vendors across multiple locations, each with different tax rates
- Mixed business, personal, and mixed-use items requiring careful classification
- Charge accounts with monthly bulk payments, e-Transfers, cash, and split transactions
The team needed a system that could:
- Extract financial data from receipts of varying quality and format
- Categorize every transaction to the correct Chart of Accounts code
- Match receipts to bank transactions with high accuracy
- Flag items requiring accountant review (capital assets, personal expenses, etc.)
- Produce an ERP (Xero)-ready upload Excel with separate sheets per bank account
The solution
Rima implemented a multi-step Blueprint structured as five sequential agents, each with quality gates requiring explicit approval before proceeding.
Agent 1 — Bank Statement Extraction
Automated extraction of all transactions from bank statement PDFs across four accounts, with penny-perfect validation against statement totals.
Agent 2 — Receipt OCR & Data Extraction
Vision-based reading of 356 paper receipts — extracting vendor name, date, line items, subtotal, tax, total, and payment method. Receipts were classified by data quality and deduplicated automatically.
Agent 3 — Transaction Categorization
Every transaction was mapped to one of 10 Chart of Accounts codes using vendor-keyword rules with business vs. personal classification. Restaurant receipts were categorized by guest count (3+ guests = entertainment at 50% deductibility). Hardware purchases flagged as mixed-use for accountant determination.
Agent 4 — Receipt-to-Bank Matching
An 8-priority waterfall matched receipts to bank transactions using exact amounts, date proximity, vendor keywords, tip-difference matching for restaurants, and loyalty-points-adjusted matching. Non-bank payment methods (cash, charge accounts, e-Transfers) were categorized separately rather than marked as unmatched.
Agent 5 — Workpaper Generation
A complete Excel workbook was produced with reconciliation details, one upload sheet per bank account, excluded items with reasons, and an accountant flags sheet identifying capital assets, personal expenses, and items requiring professional judgment.
The results
Reduction in time
Reconciliation and categorization went from 3 weeks to under 4 hours of supervised AI processing.
Volume processed
1,752 bank transactions categorized and matched against 356 receipts, mapped to 10 Chart of Accounts codes.
Match accuracy
236 of 267 matchable receipts (88.4%) correctly matched on first automated pass. After quality review, zero false positives in the final deliverable.
Categorization coverage
298 of 299 financially meaningful receipts (99.7%) successfully categorized to Chart of Accounts codes with zero unmatched vendors.
Accountant efficiency
72 items were pre-flagged for accountant review (capital assets, personal expenses, billing anomalies), eliminating the need to manually scan all 1,752 transactions.
Tax compliance
Tax rates correctly applied by vendor location, with tax only recorded when explicitly printed on the receipt — never reverse-calculated.
Why Rima outperformed general-purpose LLMs
Earlier attempts using general-purpose LLMs produced inconsistent outputs requiring full re-verification. Common failure modes included hallucinated bank matches, incorrectly computed tax amounts, and receipts matched to transactions from completely different vendors.
Rima built a Blueprint with multi-step agents tailored to this specific workflow, incorporating lessons learned during the initial reconciliation:
- Vendor-specific matching rules (loyalty point redemptions, tip-adjusted restaurant matching, monthly charge account bulk payments)
- Tax rate tables applied by vendor location, not client location
- Deduplication logic for terminal-plus-itemized receipt pairs, multiple scans, and packing-slip vs. invoice disambiguation
- Quality gates between agents requiring explicit approval before proceeding
- State persistence across sessions — the workflow resumes after interruption without data loss
The Takeaway
Accountants and bookkeepers often spend significant time on work that lives outside their ERP: matching paper receipts to bank feeds, categorizing ambiguous transactions, chasing missing documentation, and building reconciliation workpapers in spreadsheets. This work is too complex for simple rules-based automation but too repetitive for skilled professionals to spend weeks on. By leveraging an AI-forward workspace like Rima, teams can codify their domain expertise into Blueprints that execute in minutes what previously took days or weeks.
Ready to see results like this at your firm?