Classification Rules

Customize how the Statement Compiler categorizes your transactions

4 min read Updated Jan 9, 2025

Classification Rules allow you to customize how the Statement Compiler categorizes your transactions. Create rules to automatically classify transactions based on merchant names, descriptions, or amounts.

How Rules Work

When the compiler processes transactions, it checks them against your rules in priority order. The first matching rule determines the category.

Rule Components

Each rule consists of:

  • Name — A descriptive name for the rule
  • Match Type — How to match transactions (contains, exact, starts with, regex)
  • Match Value — The text or pattern to match
  • Category — The category to assign when matched
  • Priority — Order in which rules are checked (lower = higher priority)

Creating Rules

From the Rules Editor

  1. Navigate to Compile → Rules
  2. Click Add Rule
  3. Configure your rule:
    • Enter a descriptive name
    • Select the match type
    • Enter the match value (merchant name, keyword, etc.)
    • Choose the target category
  4. Click Save

From Transaction Review

When reviewing compiled transactions, you can create rules on the fly:

  1. Find a miscategorized transaction
  2. Click the category to edit
  3. Select the correct category
  4. Check "Create rule for similar transactions"
  5. The system will suggest a rule based on the transaction

Match Types

Contains

Matches if the transaction description contains the specified text.

Match: "GRAB"
Matches: "GRABFOOD ORDER #123", "GRAB TRANSPORT"

Exact Match

Matches only if the description exactly matches.

Match: "PETRON STATION"
Matches: "PETRON STATION"
Does not match: "PETRON STATION KL"

Starts With

Matches if the description begins with the specified text.

Match: "TNG"
Matches: "TNG EWALLET", "TNG RELOAD"
Does not match: "RELOAD TNG"

Regex

For advanced users, match using regular expressions.

Match: "SHOPEE\s*\d+"
Matches: "SHOPEE 12345", "SHOPEE  67890"

Common Categories

The compiler supports 30+ expense categories. Here are the most commonly used:

Business Expenses

Category Use For
Office Supplies Stationery, equipment
Professional Fees Legal, accounting, consulting
Marketing Advertising, promotions
Travel Transport, accommodation
Meals & Entertainment Client meals, team events
Utilities Internet, phone, electricity
Software & Subscriptions SaaS tools, services

Revenue Categories

Category Use For
Sales Revenue Product/service income
Interest Income Bank interest
Other Income Refunds, misc income

Transfer Categories

Category Use For
Inter-Account Transfer Transfers between own accounts
Owner's Drawing Personal withdrawals
Capital Injection Personal funds into business

Rule Priority

Rules are checked in priority order (1 = highest priority). When multiple rules could match a transaction, the highest priority rule wins.

Best Practices

  1. Specific rules first — Put specific merchant rules at high priority
  2. General rules last — Broad category rules should have lower priority
  3. Test your rules — Use the preview feature before saving

Bulk Rule Management

Import Rules

Import rules from a CSV file:

  1. Go to Compile → Rules
  2. Click Import
  3. Upload your CSV with columns: name, match_type, match_value, category, priority

Export Rules

Export your rules to share or backup:

  1. Go to Compile → Rules
  2. Click Export
  3. Download the CSV file

Rule Suggestions

The compiler learns from your corrections. When you reclassify transactions, it may suggest new rules:

  • High confidence — The system is confident this rule will be accurate
  • Medium confidence — Review the suggested match pattern
  • Low confidence — Consider a more specific match

Tips for Effective Rules

Be Specific

Good: "PETRON PETRONAS KL"
Avoid: "PETRO" (too broad, may match unrelated transactions)

Handle Variations

Many merchants have multiple transaction formats:

Rule 1: Contains "GRABFOOD" → Meals
Rule 2: Contains "GRAB CAR" → Transport
Rule 3: Contains "GRAB PAY" → Software & Subscriptions

Use Regex for Complex Patterns

"TNG.*TOLL" → Travel (matches TNG tolls specifically)
"LAZADA\s*#?\d+" → E-commerce Sales

Troubleshooting

Rule Not Matching

  • Check the match type is correct
  • Verify the exact text in the transaction description
  • Check rule priority (higher priority rules may be overriding)

Too Many Matches

  • Make your match value more specific
  • Use exact match instead of contains
  • Add additional rules for different cases
classification rulestransaction categoriesstatement compilerautomation