intelligent-budget-trackerIntelligent budget tracking and financial management library for AI agents - expense tracking, income management, budgets, savings goals, and LLM-powered insights
Install via ClawdBot CLI:
clawdbot install enjuguna/intelligent-budget-trackerA TypeScript library for AI agents to track expenses, income, budgets, and savings goals with LLM-powered natural language parsing. No frontend required - designed for programmatic use by agents and bots.
```bash
npm install agent-money-tracker
```
```typescript
import { clawhub } from 'agent-money-tracker';
// Initialize (required before any operations)
await clawhub.initialize();
// Or with custom storage path
await clawhub.initialize('/path/to/data');
```
```typescript
// Add an expense
await clawhub.addExpense(50, 'Food & Dining', 'Grocery shopping', {
date: '2026-01-31',
tags: ['weekly', 'essentials'],
merchant: 'Whole Foods'
});
// Natural language input
await clawhub.addFromNaturalLanguage('spent $45 on uber yesterday');
// Get recent expenses
const expenses = clawhub.getExpenses({ limit: 10 });
// Filter by category and date range
const foodExpenses = clawhub.getExpenses({
category: 'Food & Dining',
startDate: '2026-01-01',
endDate: '2026-01-31'
});
```
```typescript
// Add income
await clawhub.addIncome(5000, 'Salary', 'January salary', {
date: '2026-01-15'
});
// Add freelance income
await clawhub.addIncome(500, 'Freelance', 'Website project');
// Get all income
const income = clawhub.getIncome();
```
```typescript
// Create a monthly budget
await clawhub.createBudget('Food Budget', 'Food & Dining', 500, 'monthly', 0.8);
// Check budget status
const status = clawhub.getBudgetStatus();
// Returns: [{ budgetName, spent, limit, remaining, percentageUsed, status }]
// Get budget alerts
const alerts = clawhub.checkBudgetAlerts();
// Returns warnings when threshold or limit exceeded
// Get smart budget suggestions
const suggestions = clawhub.suggestBudgetLimits();
// Returns: [{ category, suggested, average, max }]
```
```typescript
// Create a savings goal
await clawhub.createGoal('Emergency Fund', 10000, {
description: '6 months expenses',
deadline: '2026-12-31',
priority: 'high'
});
// Add contribution
await clawhub.contributeToGoal('goal_abc123', 500, 'January savings');
// Check progress
const progress = clawhub.getGoalProgress();
// Returns: [{ goalName, targetAmount, currentAmount, percentageComplete, daysRemaining, onTrack }]
```
```typescript
// Monthly spending summary
const summary = clawhub.getSpendingSummary();
// Returns: { totalExpenses, totalIncome, netSavings, expensesByCategory, incomeByCategory }
// View monthly trends
const trends = clawhub.getMonthlyTrends(12);
// Returns: [{ date, expenses, income, netSavings }]
// Full monthly report
const report = clawhub.generateMonthlyReport(2026, 1);
// Compare to last month
const comparison = clawhub.compareToLastMonth();
// Returns: { expenseChange, incomeChange, topIncreases, topDecreases }
```
```typescript
// Generate AI-powered insights
const insights = await clawhub.generateInsights();
// Returns insights like:
// - "⚠️ Your dining expenses are 3x higher than usual"
// - "💡 Cancel unused subscriptions to save $50/month"
// - "🏆 You've tracked expenses for 7 consecutive days!"
// Get unread insights
const unreadInsights = clawhub.getInsights();
```
```typescript
// Create recurring expense (e.g., Netflix subscription)
await clawhub.createRecurring(
'expense', 15.99, 'Subscriptions', 'Netflix', 'monthly',
{ startDate: '2026-02-01' }
);
// Create recurring income (e.g., salary)
await clawhub.createRecurring(
'income', 5000, 'Salary', 'Monthly salary', 'monthly'
);
// Process due recurring transactions
await clawhub.processRecurring();
```
```typescript
// Get statistics
const stats = clawhub.getStats();
// Returns: { totalTransactions, totalExpenses, totalIncome, netSavings, avgExpense, topCategory }
// Get available categories
const categories = clawhub.getCategories();
// Export data
const jsonData = await clawhub.exportData();
// Create backup
const backupPath = await clawhub.backup();
// Get storage location
const dataPath = clawhub.getDataPath();
```
| Category | Icon |
|----------|------|
| Food & Dining | 🍔 |
| Transportation | 🚗 |
| Shopping | 🛍️ |
| Bills & Utilities | 💡 |
| Entertainment | 🎬 |
| Health & Fitness | 💪 |
| Education | 📚 |
| Personal Care | 💄 |
| Subscriptions | 📱 |
| Category | Icon |
|----------|------|
| Salary | 💰 |
| Freelance | 💻 |
| Investments | 📈 |
| Gifts | 🎁 |
Data is stored in platform-specific locations:
| Platform | Default Path |
|----------|-------------|
| Windows | %APPDATA%\clawhub |
| macOS | ~/Library/Application Support/clawhub |
| Linux | ~/.local/share/clawhub |
Override with environment variable:
```bash
export CLAWHUB_DATA_PATH=/custom/path
```
| Method | Description |
|--------|-------------|
| initialize(path?) | Initialize the budget tracker |
| addExpense(amount, category, description, options?) | Add expense |
| addIncome(amount, category, description, options?) | Add income |
| addFromNaturalLanguage(text) | Parse and add from natural language |
| createBudget(name, category, limit, period, threshold?) | Create budget |
| getBudgetStatus() | Get all budget statuses |
| checkBudgetAlerts() | Get budget warnings/alerts |
| createGoal(name, target, options?) | Create savings goal |
| contributeToGoal(goalId, amount, note?) | Add to goal |
| getGoalProgress() | Get all goal progress |
| getSpendingSummary(start?, end?) | Get spending breakdown |
| getMonthlyTrends(months?) | Get monthly trend data |
| generateMonthlyReport(year?, month?) | Generate full report |
| generateInsights() | Generate AI insights |
| createRecurring(type, amount, category, desc, freq, options?) | Create recurring |
| processRecurring() | Process due recurring transactions |
| getStats() | Get transaction statistics |
| exportData() | Export all data as JSON |
| backup() | Create timestamped backup |
Generated Mar 1, 2026
An AI chatbot that helps individuals track daily expenses and income via natural language, offering budget alerts and savings goal progress. It can be integrated into messaging apps to provide real-time financial insights and monthly reports, making personal budgeting effortless.
A tool for small business owners to monitor business expenses, income, and budgets programmatically. It automates recurring transactions like subscriptions and salaries, generates analytics for tax preparation, and offers AI-powered insights to optimize cash flow.
A dashboard for freelancers to track project income, categorize expenses, and set savings goals for taxes or emergencies. It uses natural language parsing to log transactions quickly and provides trends to compare monthly earnings and spending patterns.
An educational platform that teaches budgeting skills by simulating real-world financial scenarios. Students can use the library to add expenses and income, create budgets, and receive AI-generated insights on spending habits, enhancing financial literacy.
Offer the library as a cloud-based service with premium features like advanced analytics, team collaboration, and API access. Charge monthly or annual subscriptions based on usage tiers, targeting small businesses and developers building financial apps.
License the technology to banks, fintech companies, or app developers for integration into their existing products. Provide customization options and support services, generating revenue through licensing fees and maintenance contracts.
Offer a free open-source version with core features like expense tracking and basic budgets, while monetizing advanced capabilities such as AI insights, recurring transactions, and detailed reports through paid upgrades or enterprise plans.
💬 Integration Tip
Start by initializing the tracker with a custom storage path for data persistence, then use natural language parsing to quickly add transactions in chatbot applications.
Query Copilot Money personal finance data (accounts, transactions, net worth, holdings, asset allocation) and refresh bank connections. Use when the user asks about finances, account balances, recent transactions, net worth, investment allocation, or wants to sync/refresh bank data.
Stripe API integration with managed OAuth. Manage customers, subscriptions, invoices, products, prices, and payments. Use this skill when users want to process payments, manage billing, or handle subscriptions with Stripe. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key.
QuickBooks API integration with managed OAuth. Manage customers, invoices, payments, bills, and run financial reports. Use this skill when users want to interact with QuickBooks accounting data. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Advanced financial calculator with future value tables, present value, discount calculations, markup pricing, and compound interest. Use when calculating investment growth, pricing strategies, loan values, discounts, or comparing financial scenarios across different rates and time periods. Includes both CLI and interactive web UI.
Track expenses via natural language, get spending summaries, set budgets
Query and manage personal finances via the official Actual Budget Node.js API. Use for budget queries, transaction imports/exports, account management, categorization, rules, schedules, and bank sync with self-hosted Actual Budget instances.