How to Use Claude Code for Personal Finance: The Obsidian + Python Tax Workflow

How to Use Claude Code for Personal Finance: The Obsidian + Python Tax Workflow

A developer's workflow combining Claude Code, Obsidian vaults, and Python scripts to automate tax document analysis and calculation.

GAla Smith & AI Research Desk·3h ago·4 min read·4 views·AI-Generated
Share:
Source: mrafayaleem.comvia hn_claude_cliSingle Source

The Technique — Claude Code as a Personal Finance Agent

A developer documented a workflow using Claude Code CLI and Obsidian to handle personal tax filing in Canada. Instead of just asking Claude questions, they created a structured environment where Claude could act as an agent with access to documents, code, and context.

The core setup: an Obsidian vault serving as the central workspace, with folders for each tax year and person. Within each folder, they placed key files:

  • CLAUDE.md — Instructions and context for Claude
  • PLAN.md — Tax strategy and calculations
  • FILED.md — Final submission details
  • Actual tax documents (PDFs, receipts, forms)

Why It Works — Context + Deterministic Calculation

This workflow succeeds because it separates Claude's strengths:

  1. Context understanding — Claude reads PDFs, extracts relevant numbers, and understands tax concepts
  2. Deterministic calculation — Python scripts handle the actual math, ensuring accuracy
  3. Persistent workspace — Obsidian keeps everything organized and accessible

The developer used Python libraries like markitdown[all] (Microsoft's open-source library for information extraction) to help Claude process PDFs. They also created custom bash functions for quick Claude invocations.

How To Apply It — Build Your Own Financial Agent

Here's how to adapt this workflow for your own use:

1. Set up your Obsidian vault structure:

financial_vault/
├── CLAUDE.md
├── main.py
├── pyproject.toml
├── 2024/
│   ├── taxes/
│   │   ├── CLAUDE.md
│   │   ├── PLAN.md
│   │   ├── documents/
│   │   └── calculations.py
│   └── investments/
└── scripts/
    └── pdf_extract.py

2. Create your root CLAUDE.md:

# Financial Analysis Workspace

## Available Tools
- Python 3.11+ with uv for dependency management
- markitdown library for PDF extraction
- Custom scripts in ./scripts/

## Workflow
1. First examine the folder structure
2. Use Python to extract data from PDFs when needed
3. Create calculations in separate .py files
4. Update PLAN.md with findings

## Rules
- Always verify extracted numbers
- Keep calculations deterministic
- Document assumptions

3. Install the essential Python tools:

# Using uv for fast dependency management
uv init
uv add markitdown[all] pandas numpy

# Create a helper script for Claude to use
cat > scripts/pdf_extract.py << 'EOF'
import markitdown
from pathlib import Path

def extract_financial_data(pdf_path):
    """Extract text and tables from financial PDFs"""
    result = markitdown.convert(pdf_path)
    return result.text, result.tables
EOF

4. Work with Claude Code in the vault:

# Navigate to your vault
cd ~/obsidian_vault

# Start Claude Code with context
claude code --context .

# Then give instructions like:
"Analyze the T4 forms in taxes/2024/documents/ and calculate total income"

Beyond Taxes — Generalizing the Pattern

This pattern works for any document-heavy analysis:

  • Investment portfolio review — Process brokerage statements
  • Expense tracking — Analyze bank/credit card statements
  • Contract review — Extract terms and dates from agreements
  • Research compilation — Organize and summarize multiple sources

The key insight: Claude Code isn't just for software projects. When you give it a structured workspace with the right tools (Python for calculation, Obsidian for organization), it becomes a powerful agent for personal data analysis.

What Changed — A New Use Case Emerges

This developer's experience shows Claude Code moving beyond traditional coding tasks into personal productivity and data analysis. The March 28th update to Claude Code (v2.1.85) with performance fixes and conditional hooks makes these longer, document-heavy workflows more reliable.

What It Means For You — Claude Code as a Data Assistant

You can now use Claude Code for tasks that previously required manual data entry or specialized software. The combination of:

  • Claude's ability to understand documents
  • Python's calculation reliability
  • Obsidian's organizational flexibility

Creates a system where you're not just asking questions—you're building a repeatable analysis pipeline.

Try It Now — Start Small

Begin with a single document type:

# Create a test workspace
mkdir ~/finance_test && cd ~/finance_test

# Add one PDF and a simple CLAUDE.md
echo "Extract the total amount from this receipt" > CLAUDE.md

# Let Claude analyze it
claude code --context . "What's the total on this receipt?"

Once this works, expand to your actual financial documents using the Obsidian vault structure described above.

AI Analysis

This workflow reveals three actionable shifts for Claude Code users: 1. **Treat Claude Code as a workspace manager, not just a code generator.** The Obsidian vault structure with `CLAUDE.md`, `PLAN.md`, and `FILED.md` files creates a persistent context that survives across sessions. Implement this by creating standardized folder templates for different project types (not just taxes—consider client projects, research papers, or home renovation planning). 2. **Delegate extraction to Python, not prompts.** Instead of asking Claude to "read this PDF," set up Python scripts with libraries like `markitdown` that Claude can call. This follows the trend we covered in "6 Months of Claude Code: The Python Setup That Actually Works"—deterministic tools for deterministic tasks, LLM for understanding and orchestration. 3. **Use Obsidian as your agent's "desktop."** If you're working with multiple document types (PDFs, images, markdown), Obsidian provides unified viewing and linking. This is particularly valuable given Claude Code's recent improvements to MCP server integration—you could potentially connect Obsidian plugins directly to Claude's workflow. **Specific command to try today:** `claude code --context ./your_vault "Create a CLAUDE.md and PLAN.md structure for analyzing my investment statements"`—then populate it with actual documents.
Enjoyed this article?
Share:

Related Articles

More in Products & Launches

View all