What the source did
- His French accounting software, Dougs, had no public API, MCP or CLI. Before, his agents worked on the books through Python scripts and a browser session cookie that expired every few weeks.
- Had one Opus agent build a CLI while a second agent reviewed every change: 245 tests and about 30 hours from idea to npm. He open-sourced it as dougs-cli (MIT).
- Then pointed it at his real books. In one afternoon, uncategorised operations went from 183 to 4, 22 missing invoices were pulled from Gmail and attached, about 60 changes were written to Dougs, and 3 overdue VAT returns came to light.
- VAT on foreign software: invoices from Meta ads, Claude, Google Cloud and Hostinger said reverse charge but had been booked with deductible French VAT. Before his VAT refund claim, the agent went through all 34 and fixed each one booked wrong.
- Missing receipts: it reads the business inbox read-only, pulls the PDFs, matches each to its bank line by amount, date and vendor, and shows him the list before uploading anything.
- Odd transactions (a subsidy tranche, money sent straight back, a foreign client's payment): it asks him once, books it, and writes the treatment down so next month it happens without asking.
- Money questions like monthly spend on one tool, or which subscriptions to pause, get answered from the ledger with the operations behind the number.
- Guardrails: nothing reaches Dougs until he approves the plan, months with a filed VAT return are never touched, every write is read back and checked, and the password only goes to Dougs. It doesn't file the VAT return or replace the accountant.
- Heads-up: dougs-cli is unofficial and uses the same private interface as the Dougs web app, which can change. Its README says dougs doctor tells you when it has, and that nothing in it is tax advice.
“Nothing reaches Dougs until I approve the plan.”— Tom Eberle (@eberle_tom), X
Summary written by Agent Cookbook from the original post. See the original for the full context. How we source recipes
Our notes
- What it takes
- A coding agent that can run commands, a CLI or API for your accounting tool (his: dougs-cli for Dougs), and read-only access to the inbox where invoices land.
- Where it breaks
- The accounting app changing its private interface, and VAT edge cases the agent shouldn't settle on its own.
- Human checkpoint
- You approve every plan before anything is written, and you file the VAT return yourself.
- Tools involved
- A coding agent (Claude Code, Codex or Cursor), dougs-cli, Dougs account, Node.js 22.13+, Gmail (read-only)
✓ Verified Source link checked and still live. Notes by Thomas, editor. How we verify
Get their template
Made and published by Tom Eberle. Start here; it is their original, not ours.
Their prompt
From Tom Eberle (@eberle_tom) Their exact wording: the one-line ask from his Oct 14 post. Source ↗
Our adapted version
Ours Our version: the same jobs and rules Tom described, written for any accounting tool your agent can reach. Not his wording; his CLI and its skill are linked above. Fill in the [BRACKETS].
Approval rule
Set it up
- Install dougs-cli (Node.js 22.13 or newer) and run dougs login with your own Dougs credentials. If you use another accounting tool, check what CLI, API or MCP your agent can use instead.
- Ask your agent his one-line prompt, or to read the dougs skill and tell you what needs attention.
- Read the list it gives back. Start with overdue returns.
- Give it read-only access to the inbox where invoices land, then ask it to find and match the month's missing receipts.
- Review the plan line by line and approve it. Nothing is written before that.
- Have it check VAT on foreign subscriptions before any refund claim.
- Each time it asks how to book something unusual, answer once and let it write the rule down.
- Before filing, ask it to compare the VAT return with your books, then file it yourself.
Common failures
- Agents working through a copied browser session cookie that expires every few weeks. A real CLI fixed that for him.
- Foreign software invoices booked with deductible local VAT when they fall under reverse charge.
- Uploading receipts before checking each match against its bank line.
- Edits landing in months whose VAT return was already filed.
- The accounting app changing its private interface without notice; the README's dougs doctor check is there for that.
Variations
- A reply in the thread suggests exporting every write the agent made, with before and after values, as the working paper for a VAT refund review. The README says the CLI keeps a report of what changed.
- Have it set rules so recurring subscriptions are always categorised the same way, applied each month after your OK (one of the jobs in the README).
- No API for your own tool? He says in a reply that most painful UIs can become MCPs or CLIs; his was built by one agent and reviewed by another.
Get the 10 best agent setups. Free.
Plus new recipes every week. One email, no spam.
Unsubscribe anytime. Privacy