> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tight.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bank Transactions

> Query and analyze bank transactions using Model Context Protocol tools

## Overview

Tight Bank Transactions MCP tools enable AI assistants and agents to search, review, and update bank transactions. This allows users to categorize transactions, add notes, and request bookkeeper reviews, all through conversational AI interactions.

With these tools, you can build AI-powered accounting experiences where users ask questions like "Show me all uncategorized transactions from last month" or "Categorize this coffee shop expense as a recruitment expense."

## Available Tools

### Query Bank Transactions

The `query_bank_transactions` tool searches for bank transactions based on multiple criteria. You can filter transactions by amount, date, description, vendor, category, review status, and more.

<Accordion title="Parameters">
  <ParamField path="amount" type="number | range">
    Search for transactions with a specific amount or within an amount range (e.g., "\$50-\$100")
  </ParamField>

  <ParamField path="date" type="date | date range">
    Filter transactions by specific date or date range (e.g., "last month", "January 2025", "2025-01-01 to 2025-01-31")
  </ParamField>

  <ParamField path="description" type="string">
    Fuzzy search on the bank description field
  </ParamField>

  <ParamField path="notes" type="string">
    Fuzzy search on user-added notes attached to transactions
  </ParamField>

  <ParamField path="dimensionValue" type="string">
    Filter transactions belonging to specific dimension values
  </ParamField>

  <ParamField path="vendor" type="string">
    Search for transactions associated with specific vendors or customers
  </ParamField>

  <ParamField path="category" type="string">
    Filter transactions by accounting category or account (e.g., "Meals & Entertainment", "Office Supplies")
  </ParamField>

  <ParamField path="splits" type="object">
    Search for transactions that are split across multiple categories or amounts
  </ParamField>

  <ParamField path="reviewStatus" type="string">
    Filter by review status (e.g., "needs review", "reviewed by bookkeeper", "pending bookkeeper review")
  </ParamField>

  <ParamField path="type" type="string">
    Filter by transaction type: Expense, Revenue, Transfer, Tax Payment, Invoice Payment, Bill Payment, etc.
  </ParamField>
</Accordion>

<Tip>
  You can combine multiple search criteria to narrow results. For example, search for "uncategorized expenses over \$100 from last week" by combining amount, date, category, and type filters.
</Tip>

### Get Bank Transaction Details

The `get_bank_transaction` tool retrieves detailed information about a specific bank transaction. Use this tool to inspect transaction details before making updates or to discuss categorization decisions with the user.

This tool returns comprehensive transaction data including:

* Transaction amount and date
* Bank description and user-added notes
* Current categorization (vendor, category, dimensionValue)
* Split information if applicable
* Review status and history
* Related invoice or bill payments
* Attachments and receipts

<Note>
  This tool is essential for conversational workflows where users want to discuss a specific transaction with the AI before making changes. The detailed context helps the AI provide informed categorization suggestions.
</Note>

### Update Bank Transaction

The `update_bank_transaction` tool modifies any field on a bank transaction. This is the primary tool for categorizing expenses, adding notes, splitting transactions, and managing review workflows.

<Accordion title="Parameters">
  <ParamField path="dimensionValue" type="string">
    Assign or update the dimension value for tracking transactions across different parts of the business
  </ParamField>

  <ParamField path="vendor" type="string">
    Set or update the vendor or customer associated with the transaction
  </ParamField>

  <ParamField path="category" type="string">
    Update the accounting category or account for the transaction (e.g., "Travel", "Office Supplies", "Professional Services")
  </ParamField>

  <ParamField path="splits" type="array">
    Split a transaction across multiple categories, dimensionValues, or customers. Each split can have its own amount, category, and allocation.
  </ParamField>

  <ParamField path="reviewStatus" type="string">
    Request review from a bookkeeper or mark a transaction as reviewed
  </ParamField>

  <ParamField path="notes" type="string">
    Add or update notes on the transaction for additional context or documentation
  </ParamField>
</Accordion>

## Common Workflows

### Categorizing Transactions Needing Review

One of the most common workflows is identifying transactions that need categorization and applying the appropriate category:

1. **Query** for transactions needing review using `query_bank_transactions` with the `reviewStatus` filter set to "NEEDS\_REVIEW"
2. **Review** each transaction using `get_bank_transaction` to understand the context
3. **Update** the transaction with the appropriate category using `update_bank_transaction`

This workflow helps business owners stay on top of their bookkeeping by ensuring all transactions are properly categorized for tax reporting and financial analysis.

### Splitting Complex Transactions

Some transactions need to be split across multiple categories or business segments:

1. **Get** the full transaction details to understand the total amount
2. **Update** with split information, specifying amounts and categories for each split
3. **Add notes** documenting the reason for the split

<Tip>
  Splits are common for transactions like business trips (split between travel, meals, and lodging) or bulk purchases from retailers like Amazon (split by category: office supplies, equipment, etc.).
</Tip>

## Examples

### "What transactions need my review?"

**AI uses:** `query_bank_transactions` with:

* `reviewStatus`: "needs review"

**AI responds:** "You have 8 transactions that need your review. Here are the highlights:

* \$1,245.00 from 'TECH SOLUTIONS INC' on January 10th
* \$687.50 from 'AMAZON.COM' on January 9th
* \$450.00 from 'OFFICE DEPOT' on January 8th

Would you like me to walk through these one by one?"

***

### "Can you recategorize this transaction as Business Meals?"

**AI uses:** `update_bank_transaction` with:

* `category`: "Business Meals"

**AI responds:** "I've recategorized this transaction as Business Meals. The \$67.43 expense from 'OLIVE GARDEN' on January 11th is now properly categorized in your books."

<Note>
  The AI should identify which transaction the user is referring to from context in the conversation. If ambiguous, the AI should use `query_bank_transactions` to find the most recent transaction or ask for clarification.
</Note>

***

### "What was my most recent transaction from Ace Hardware?"

**AI uses:** `query_bank_transactions` with:

* `vendor`: "Ace Hardware" or `description`: "Ace Hardware"
* Sort by date (most recent first)
* Limit to 1 result

**AI responds:** "Your most recent transaction from Ace Hardware was \$124.87 on January 9th. It's currently categorized as 'Repairs & Maintenance'. The bank description shows 'ACE HARDWARE #2847'. Would you like to see more details or update the categorization?"

***

### "Can you find all transactions similar to the one I just edited?"

**AI uses:** Multiple `query_bank_transactions` calls based on the recently edited transaction's attributes:

* Same vendor
* Similar amount range (±20%)
* Same or similar description pattern
* Within a relevant time window

**AI responds:** "I found 5 transactions similar to the one you just edited (the \$89.00 'SHELL GAS STATION' transaction you categorized as 'Vehicle Expenses'):

1. \$92.50 from 'SHELL GAS STATION' on January 8th - currently uncategorized
2. \$85.00 from 'SHELL GAS STATION' on January 5th - currently uncategorized
3. \$78.45 from 'SHELL GAS STATION' on December 29th - categorized as 'Auto & Travel'
4. \$95.20 from 'CHEVRON' on January 7th - currently uncategorized
5. \$88.00 from 'BP GAS' on January 4th - currently uncategorized

Would you like me to categorize all the uncategorized gas station purchases as 'Vehicle Expenses'?"
