I taught my AI to scan emails, download invoices, and register expenses in Odoo. Then I let a free Chinese model do the heavy lifting.
The problem
Running a one-person tech company in Germany means tracking every expense. German tax law lets you deduct business costs — but only with proper invoices. No PDF, no deduction. The Finanzamt doesn't negotiate.
The problem: invoices arrive everywhere. Email PDFs, HTML receipts, web portals. Dozens of SaaS subscriptions, servers, travel. Keeping up is tedious and I'm bad at it.
So I made Asere do it.
The first attempt went wrong
He tried creating vendor bills in Odoo — wrong model entirely. Expenses live in hr.expense, not account.move. Then he registered an expense without an invoice attached. That's when I added the golden rule: no PDF, no expense. Period.
We turned the whole process into an OpenClaw skill: how to connect to Odoo's API, create the record, download the PDF from Gmail, attach it, categorize it. Every field name, every product category, every edge case — documented.
The real trick
I had three months of untracked invoices. Instead of burning Claude tokens, I spawned GLM-5-Turbo — a free model from Z.ai — as a sub-agent. Mission: scan 30+ emails, find the real expenses, download PDFs, create Odoo records.
Four minutes later: 12 expenses registered, every PDF attached, zero hallucinated amounts. It correctly skipped $0.00 invoices, emails without attachments, and potential duplicates.
I audited everything. 13/13 passed.
The pattern matters more than the use case
- Do it manually once — hit the edge cases
- Codify the knowledge into a skill
- Delegate volume to a cheap model
- Verify with a smart model
- Add rules for every failure
Today it's expenses. Tomorrow it's tax reports or contract review. Same stack: smart orchestrator, cheap workhorse, verification layer.
We didn't replace the accountant. We eliminated the 4 hours a month I spent downloading PDFs and typing numbers into fields.
The AI is more consistent at it than I ever was.
15 expenses registered | €221.84 + $65.84 USD | 15 min first run, 4 min after that.