← All work Endura AI — founder
Multi-Agent Financial Automation
Agentic bookkeeping and reconciliation for chartered accountants
PythonLangGraphDSPyPydanticGeminiRAG
- Problem
- Month-end close for a chartered accountant is days of moving data between Tally, bank statements, and QuickBooks, categorizing transactions by hand. The work is high-volume, rule-shaped, and unforgiving of errors — a bad categorization is an audit finding, not a bug report.
- My role
- Founder and sole engineer. Architecture, agents, integrations, and the extraction pipeline.
- Approach
- Structured extraction over free-form generation. Documents parse through Gemini, but every output is forced through DSPy and Pydantic schemas, so an unparseable record fails loudly instead of arriving plausible and wrong. Retrieval is tenant-isolated at client, company, and folder scope — slower to build than a shared index, but the only version defensible for accounting data.
- Outcome
- The reconciliation agent ingested 10,000+ bank transactions with confidence-scored auto-categorization, collapsing manual month-end reconciliation from 7–8 days to 3–4 hours.
The domain constraint
Why accounting is a bad fit for confident-sounding LLM output, and what
“audit-grade” had to mean in practice.
Isolation as an architecture, not a filter
The client/company/folder scoping — how it’s enforced in the retrieval layer
rather than checked afterwards, and what that cost you.
Confidence scoring
How the reconciliation agent decides what it can auto-categorize and what it
escalates. The threshold, and how you picked it.
What I learned shipping this alone
Optional. Founder projects earn their place partly through what you learned.