{"id":48911690,"url":"https://github.com/machulav/accountant24","last_synced_at":"2026-07-04T01:01:22.968Z","repository":{"id":350955867,"uuid":"1164806064","full_name":"machulav/accountant24","owner":"machulav","description":"Free, local-first AI agent for personal finance","archived":false,"fork":false,"pushed_at":"2026-06-27T21:46:21.000Z","size":17351,"stargazers_count":18,"open_issues_count":4,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-27T23:19:47.818Z","etag":null,"topics":["accounting","ai-agent","bookkeeping","budget-tracker","budgeting","expense-tracker","finance","hledger","ledger","llm","local-first","money","ollama","open-source","personal-finance","pi-coding-agent","plaintext-accounting","privacy","self-hosted","ynab-alternative"],"latest_commit_sha":null,"homepage":"https://accountant24.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/machulav.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-23T14:03:14.000Z","updated_at":"2026-06-22T15:48:48.000Z","dependencies_parsed_at":"2026-06-20T14:01:28.287Z","dependency_job_id":null,"html_url":"https://github.com/machulav/accountant24","commit_stats":null,"previous_names":["machulav/accountant24"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/machulav/accountant24","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machulav%2Faccountant24","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machulav%2Faccountant24/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machulav%2Faccountant24/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machulav%2Faccountant24/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/machulav","download_url":"https://codeload.github.com/machulav/accountant24/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machulav%2Faccountant24/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35106555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accounting","ai-agent","bookkeeping","budget-tracker","budgeting","expense-tracker","finance","hledger","ledger","llm","local-first","money","ollama","open-source","personal-finance","pi-coding-agent","plaintext-accounting","privacy","self-hosted","ynab-alternative"],"created_at":"2026-04-17T00:00:44.119Z","updated_at":"2026-07-04T01:01:22.956Z","avatar_url":"https://github.com/machulav.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Accountant24 - Local-first AI agent for personal finance\n\nTrack spending in plain language, import bank statements and receipts, ask questions about your money. Your data stays as plain text files on your machine. Works with any LLM, including local ones. All changes are versioned with git.\n\n\u003chttps://github.com/user-attachments/assets/02a0f190-b560-4617-b1a8-8fc124417801\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pi.dev/session/#b49481d93d63c99880c0578c2047f12c\"\u003eSession Snapshot #1\u003c/a\u003e\n  \u0026nbsp;·\u0026nbsp;\n  \u003ca href=\"https://pi.dev/session/#d8d6fcd754d85bcdde5515d2ea9d35b2\"\u003eSession Snapshot #2\u003c/a\u003e\n  \u0026nbsp;·\u0026nbsp;\n  \u003ca href=\"https://github.com/machulav/accountant24-demo-ledger\"\u003eDemo Ledger\u003c/a\u003e\n\u003c/p\u003e\n\n## What you can do\n\n### Log spending in natural language\n\n\u003e I spent $45 at Whole Foods yesterday\n\nThe agent figures out the details and adds it to your ledger as a proper double-entry transaction.\n\n### Import from files\n\n\u003e Here is my March bank statement, please add missing transactions: ~/Downloads/statement-march.pdf\n\n\u003e Add transaction from this receipt: ~/Desktop/receipt.jpg\n\nDrop in a PDF bank statement, an invoice, or a photo of a paper receipt. The agent extracts the text, pulls out every transaction, and adds them to your ledger. The original file is archived in your workspace so you can refer back to it later.\n\n### Ask questions about your money\n\n\u003e How much did I spend on food this month?\n\n\u003e What's my net worth?\n\n\u003e Show me all transactions from my last trip to Italy\n\nThe agent checks your ledger and gives you a clear answer.\n\n### Teach the agent as you go\n\n\u003e I'm visiting Italy from April 10th to 15th.\n\u003e Tag all transactions during this period with the 'trip_italy' tag.\n\n\u003e My food budget is $600/month, please notify me when I get close.\n\nTell the agent once — it remembers and applies it when it matters.\n\n### Track every change with git\n\nEvery modification is auto-committed to a local git repo. Review your history anytime, roll back mistakes, or push to a private repo for backup.\n\n## Quick start\n\n### Install\n\n```bash\nbrew install machulav/tap/accountant24\n```\n\n### Run\n\n```bash\na24\n```\n\nOn first launch, Accountant24 creates a `~/Accountant24/` workspace with a pre-configured set of accounts, initializes a git repo, and you're ready to go.\n\n### Log in \u0026 pick a model\n\nUse `/login` to connect your LLM provider, then `/model` to pick a model — and you're ready to start chatting.\n\n### Go fully local (optional)\n\nWant your financial data to never leave your machine? Run a local model with Ollama.\n\n1. [Download and install Ollama](https://ollama.com/download).\n2. Pull a Gemma 4 model:\n\n   ```bash\n   ollama pull gemma4:31b  # requires ~24 GB+ RAM\n   ```\n\n3. Create a `~/Accountant24/models.json` file to register the Ollama provider:\n\n   ```json\n   {\n     \"providers\": {\n       \"ollama\": {\n         \"baseUrl\": \"http://localhost:11434/v1\",\n         \"api\": \"openai-completions\",\n         \"apiKey\": \"ollama\",\n         \"models\": [\n           {\n             \"id\": \"gemma4:31b\",\n             \"name\": \"Gemma 4 (31B)\"\n           }\n         ]\n       }\n     }\n   }\n   ```\n\n4. Restart Accountant24, then use `/model` to select the Gemma 4 model — and start chatting. Nothing leaves your device.\n\n## How it compares\n\n|                 | Accountant24               | YNAB / Monarch     | Actual Budget      | hledger CLI              |\n| --------------- | -------------------------- | ------------------ | ------------------ | ------------------------ |\n| Data format     | Plain text (hledger)       | Proprietary cloud  | SQLite             | Plain text (hledger)     |\n| Data location   | Your machine               | Their servers      | Your machine       | Your machine             |\n| Input method    | Natural language           | Manual entry       | Manual entry       | Manual entry             |\n| AI              | Built-in, learns over time | —                  | —                  | —                        |\n| Memory          | Persistent                 | —                  | —                  | —                        |\n| Version control | Git, built-in              | —                  | —                  | Via manual setup         |\n| Accounting      | Double-entry bookkeeping   | Envelope budgeting | Envelope budgeting | Double-entry bookkeeping |\n| Bank sync       | —                          | Yes                | Yes (via add-ons)  | —                        |\n| Interface       | Chat                       | Web + mobile       | Web + desktop      | CLI                      |\n| Price           | Free                       | $100–$180/yr       | Free               | Free                     |\n| Lock-in         | None (plain text)          | High               | Medium             | None (plain text)        |\n\n## Why I built this\n\nFor years, I managed my personal finances with YNAB. It worked — but every transaction was a manual chore. I'd fall behind, dread catching up, and put it off for weeks at a time.\n\nOne weekend I started playing with hledger and Claude Code, just to see if an agent could handle the bookkeeping for me. I wrote a couple of small skills, and to my surprise, it actually worked — and it was genuinely fun to use.\n\nSo I kept going. I packed everything into a standalone agent, tuned it for this one job, and started using it every day. I'm honestly happier with it than any tool I've used for my money before.\n\nIf it works this well for me, maybe it'll work for you too. That's why I'm releasing it as an open source project.\n\n## Why this stack\n\nEach piece of this puzzle does one thing really well.\n\n**hledger** is a mature accounting engine with proper double-entry bookkeeping. It's fast, reliable, and stores everything in plain text files you fully own. The catch: it has a steep learning curve — journal syntax, report commands, filter expressions. Not something most people want to deal with.\n\n**LLMs** are great at understanding what you mean in plain language. But they hallucinate numbers and can't do accounting on their own. Left alone with a ledger, they'd quietly corrupt your books.\n\n**pi** is the agent framework that glues everything together — sessions, tool execution, LLM communication. It's small, well-designed, and easy to extend.\n\n**git** tracks every change to plain text files — which is exactly what a ledger is. The agent commits your changes as you go, so mistakes are easy to undo, and pushing to a private remote gives you backups.\n\nPut them together and each piece covers the other's weakness. You speak naturally, the LLM figures out what you mean, hledger keeps the math honest, git makes every change traceable, and pi orchestrates the whole thing. That's the combination I ended up with after trying a few alternatives — and it's been working well ever since.\n\n## Credits\n\nAccountant24 wouldn't exist without these projects:\n\n- **[pi](https://github.com/badlogic/pi-mono)** by [Mario Zechner](https://github.com/badlogic) — a minimal but powerful framework for building AI agents.\n- **[hledger](https://hledger.org)** by [Simon Michael](https://github.com/simonmichael) — the accounting engine that makes proper double-entry bookkeeping possible.\n\nBoth are remarkable pieces of software.\n\n## Contributing\n\nThis is a personal project I use every day, and I'd love to hear from anyone else using it. Bug reports, ideas, feedback, pull requests — all welcome. If you're planning a bigger change, open an issue first so we can talk it through.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachulav%2Faccountant24","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmachulav%2Faccountant24","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachulav%2Faccountant24/lists"}