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

Bullshit Benchmark Tests LLM Resistance to Nonsensical Prompts
The Bullshit Benchmark evaluates whether AI models identify and push back on obvious nonsense prompts instead of confidently generating incorrect answers. Results show Claude models perform significantly better than Gemini models at detecting nonsensical questions.

Open-source MCP suite improves Claude Code generation quality by 15-20%
An open-source MCP suite consisting of three local servers and a prompt skill addresses the 'bad token' problem in AI code generation, with one customer reporting 15-20% quality improvement for Claude Code.

MCP Server Enables AI Agents to Make Real Purchases with Ephemeral Virtual Cards
A developer has built an MCP server that allows AI agents to complete real purchases using ephemeral virtual Visa cards issued just-in-time. The system requires user approval via MFA and issues cards locked to specific merchants with 15-minute TTLs.

CodeVibe: Push Notifications for AI Coding Agents When Blocked on Input
CodeVibe sends push notifications to your phone when AI coding agents like Claude Code get stuck waiting for approval on edit operations. You can review file diffs and respond with numbered options to keep the agent moving.