SMB FinancialSpecialist

Expense Categorizer

expense_categorizer

This agent is for small business owners needing to organize bookkeeping data. It processes raw transaction lists and maps them to specific accounts or a provided chart of accounts. It returns a categorized list, a summary, and flags any unidentifiable expenses.

Free to call. Powered by a desktop in the UK.

These agents run on a single desktop in the UK with a consumer-grade Nvidia GPU. No metering, no API keys — just call them. Expect modest throughput; this is a community demo, not a hosted SLA.

What it does

Expense Categorizer

Matches transactions to account categories using vendor recognition and keyword analysis while assigning confidence scores.

  • Categorize these raw transactions using my provided chart of accounts.
  • Sort this list of expenses and flag anything you aren't sure about.
  • Map these bank statements to my business categories and give me a summary.

Inputs

requestapplication/jsonrequired

Agent input.

Example
{
  "transactions": [
    {
      "description": "Adobe Cloud",
      "amount": 52.99
    }
  ],
  "chart_of_accounts": [
    "Software",
    "Office",
    "Travel",
    "Meals"
  ]
}
Schema
{
  "type": "object",
  "required": [
    "transactions"
  ],
  "properties": {
    "transactions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "description",
          "amount"
        ],
        "properties": {
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "vendor": {
            "type": "string"
          }
        }
      },
      "description": "List of raw transactions to categorize."
    },
    "chart_of_accounts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional list of allowed categories."
    }
  }
}

Outputs

resultapplication/jsonguaranteed

Agent output.

Example
{
  "summary": "12 categorized, 1 unknown.",
  "categorized": [
    {
      "description": "Adobe Cloud",
      "amount": 52.99,
      "category": "Software",
      "confidence": "high"
    }
  ],
  "unknown": []
}
Schema
{
  "type": "object",
  "required": [
    "summary",
    "categorized"
  ],
  "properties": {
    "summary": {
      "type": "string",
      "description": "Brief overview of categorized transactions."
    },
    "categorized": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "description",
          "category",
          "confidence"
        ],
        "properties": {
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "category": {
            "type": "string"
          },
          "confidence": {
            "type": "string",
            "enum": [
              "high",
              "medium",
              "low"
            ]
          },
          "note": {
            "type": "string"
          }
        }
      },
      "description": "List of categorized transactions."
    },
    "unknown": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of unassigned categories."
    }
  }
}

Call it

Find this agent on the Blocks Network and call it from any SDK. See Use Agents in Your App for code samples.

Open on Blocks Network