← all repositories
sakowicz/actual-ai

Outsourced bookkeeping, self-hosted

This sidecar feeds uncategorized Actual Budget transactions to OpenAI, Anthropic, Ollama, or another compatible LLM, then writes back the guesses while flagging anything it couldn’t figure out.

★530 stars TypeScript Domain Apps
actual-ai
Not currently ranked — collecting fresh signals.
star history

What it does actual-ai sits alongside Actual Budget and sends uncategorized transactions to an LLM—OpenAI, Anthropic, Google, Ollama, OpenRouter, or Groq—based on description, amount, and notes. It runs on a cron schedule, syncs accounts first, and marks every processed transaction in its notes so you can spot machine-made decisions at a glance. If a transaction stumps the model, it is tagged as “not guessed” and skipped in future runs.

The interesting bit The project treats merchant ambiguity as a search problem: it can hit the web via ValueSerp or a self-hosted DuckDuckGo alternative to look up unfamiliar vendors before asking the LLM to decide. It also defaults to dry-run mode, which means it will happily tell you what it would do without touching your budget until you explicitly disable the training wheels.

Key highlights

  • Supports multiple LLM providers (OpenAI, Anthropic, Google, Ollama, OpenRouter, Groq) via environment-driven configuration.
  • Optional web-search tooling to research unfamiliar merchants before classification.
  • Can suggest and auto-create new budget categories when existing ones don’t fit.
  • Dry-run mode is on by default: proposed changes are logged, not applied.
  • Built-in rate-limiting with per-provider defaults and manual overrides.

Caveats

  • OpenRouter tool-calling is disabled by default because some gateway/model combinations return unstable responses.
  • The README is essentially a long environment-variable reference; architectural details are sparse.

Verdict Good fit if you already run Actual Budget and want to automate the tedious work of categorizing imports. Skip it if you are looking for a standalone budgeting tool; this is strictly glue between two other systems.

Frequently asked

What is sakowicz/actual-ai?
This sidecar feeds uncategorized Actual Budget transactions to OpenAI, Anthropic, Ollama, or another compatible LLM, then writes back the guesses while flagging anything it couldn’t figure out.
Is actual-ai open source?
Yes — sakowicz/actual-ai is open source, released under the MIT license.
What language is actual-ai written in?
sakowicz/actual-ai is primarily written in TypeScript.
How popular is actual-ai?
sakowicz/actual-ai has 530 stars on GitHub.
Where can I find actual-ai?
sakowicz/actual-ai is on GitHub at https://github.com/sakowicz/actual-ai.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.