Open-source CLI uses Claude Haiku to automate Xero expense auditing

A developer has built an open-source Python CLI tool that uses Claude Haiku to automate expense auditing for Xero accounting software. The tool is designed to reduce time spent on manual expense checking tasks like verifying descriptions, tax codes, currency conversions, and receipt matching.
Design approach and cost
The tool follows a "deterministic code first, then AI to fill in the gaps" design principle. Users configure rules for common issues like missing fields, invalid tax rates, duplicates, and zero amounts. Claude Haiku is only called when structured data is lacking, such as with unstructured receipts. This approach keeps LLM usage costs to a few cents per audit run.
Specific Haiku use cases
- Triaging flagged bills: After rules flag issues, Haiku reviews bills and returns structured JSON suggestions with confidence scores. Suggestions below 0.7 confidence are filtered out.
- Receipt vision: Haiku reads receipt/invoice images to extract supplier names and line item descriptions. Supplier names are matched against existing Xero contacts.
- Foreign currency detection: Haiku identifies currency from receipts, then deterministic code fetches historical ECB rates, converts amounts, and attaches rate CSV files as audit evidence.
- Natural-language bill editing: Instead of clicking through Xero's interface, users can type English instructions like "set description to monthly subscription fee," and Haiku converts these to JSON patches.
Implementation details
The tool runs on Claude Haiku 4.5 and includes a human-in-the-loop approach where nothing auto-applies unless the user explicitly uses the --auto-correct flag. The developer notes this pattern of "rules first, LLM as fallback" has worked well for structured-but-messy business automation tasks.
The project is available on GitHub at https://github.com/logicalicy/xero-expense-audit, and the developer has written a detailed explanation of their approach at https://blog.mariohayashi.com/p/using-ai-to-make-xero-expense-auditing.
📖 Read the full source: r/ClaudeAI
👀 See Also

Developer shares CLI tools that work well with Claude Code
A developer switched from MCPs to CLIs for working with Claude Code, finding that Claude handles CLI commands effectively due to training on shell scripts and documentation. They shared specific CLIs they use daily, including gh, ripgrep, stripe, supabase, vercel, sentry-cli, and neon.

Warp Terminal Goes Open Source with Agentic Dev Environment
Warp is now open-source, rebranding as an agentic development environment with a built-in coding agent and support for bringing your own CLI agents like Claude Code, Codex, and Gemini CLI.

Synapse: Real-Time Dashboard for Visualizing Claude Code Agent Sessions
Synapse is a real-time dashboard that visualizes Claude Code agent sessions as interactive node graphs, showing agent spawns, tool calls, and subagents. It requires Node.js and Claude, installs via npm, and offers multiple analysis views and remote approval features.

Open-source Agent OS: Rust-based OS for AI agents with WASM sandboxing and Hands feature
An open-source operating system for AI agents has been released with 137k lines of Rust code under MIT license. The system runs agents in WASM sandboxes with 16 security layers and introduces 'Hands' for scheduled, autonomous agent operation.