Expense Tracking

Lesson 2 of 3

Setting Up Expense Categories

Estimated time: 4 minutes

Setting Up Expense Categories

Before you start logging expenses, you need to tell OpenClaw how to categorize them. Good categories make the difference between a useful monthly report and a wall of uncategorized line items.

Prerequisites

    Category Architecture

      Incoming Expense              Category Engine            Categorized Entry
      ┌──────────────┐          ┌─────────────────┐          ┌──────────────┐
      │ "$45 lunch   │          │  Match against:  │          │ $45.00       │
      │  at The      │─────────>│  • Keywords      │─────────>│ The Kitchen  │
      │  Kitchen     │          │  • Vendor rules  │          │ Category:    │
      │  with client"│          │  • Context clues │          │  Client Meals│
      └──────────────┘          └─────────────────┘          └──────────────┘
    

    OpenClaw uses a combination of keyword matching, vendor recognition, and contextual clues to assign categories. You define the categories and optional rules — the AI handles the edge cases.

    Define Your Categories

    Start with a simple category structure. You can always refine it later.

    openclaw.config.yaml

    Start Simple

    Don't over-engineer your categories on day one. Start with 5-7 categories. After a month of data, you'll see patterns that suggest where to split or merge. OpenClaw lets you recategorize past expenses when you restructure.

    Add Vendor Rules

    For vendors you use regularly, set up direct mappings so categorization is instant and accurate.

    openclaw.config.yaml

    The note field makes OpenClaw ask a follow-up question when the category is ambiguous. For Starbucks, it'll ask: "Was this a client meeting or personal?"

    Set Monthly Budgets (Optional)

    Add spending limits per category to get alerts when you're approaching a threshold.

    openclaw.config.yaml

    When you hit 80% of a category's budget, OpenClaw posts a heads-up.

    Budget Alert

    Test Your Configuration

    Verify categories are working with a quick test.

    Terminal
    openclaw expenses test-categories
    Test Output

    If you travel internationally or work with clients in other countries, enable multi-currency tracking.

    openclaw.config.yaml

    When you log "$45" it's USD. When you log "45 EUR" or send a receipt in Euros, OpenClaw converts and stores both the original and converted amounts.

    For teams, you can define shared categories with per-person budgets.

    expenses:
      team_mode: true
      per_person_budgets:
        Client Meals: 300
        Travel: 1000
      shared_report_channel: "#finance"
    

    Each team member tracks their own expenses. A combined report is posted to the shared channel at month-end.

    Knowledge Check

    Why does OpenClaw ask a follow-up question for some expenses like Starbucks?