TaxHacker is a self-hosted AI accounting app that extracts data from receipts/invoices, supports multi-currency conversion, and customizable LLM prompts, with Docker deployment and local development guidance.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
TaxHacker is a self-hosted accounting app designed to automate expense and income tracking using AI. It accepts photos of receipts, invoices, or PDFs, extracts data (dates, amounts, vendors, line items), and stores it in a structured database. It supports custom fields, categories, projects, and AI prompts for extraction.
How it works
Users upload or snap documents; the app uses AI to extract key fields, categorize transactions, and store data in a database. It includes multi-currency support with historical exchange rates, and can use local or external LLMs (OpenAI, Gemini, Mistral, or self-hosted options). It offers full-text search, advanced filtering, and export capabilities. The self-hosted mode provides data privacy with local storage and a Docker-based deployment.
Getting started
Environment and deployment:
# Self-hosted Docker deployment
curl -O https://raw.githubusercontent.com/vas3k/TaxHacker/main/docker-compose.yml
docker compose up
Environment variables (example):
services:
app:
image: ghcr.io/vas3k/taxhacker:latest
ports:
- "7331:7331"
environment:
- SELF_HOSTED_MODE=true
- UPLOAD_PATH=/app/data/uploads
- DATABASE_URL=postgresql://postgres:postgres@localhost:5432/taxhacker
volumes:
- ./data:/app/data
restart: unless-stopped
Or set up locally for development:
# Local development steps
git clone https://github.com/vas3k/TaxHacker.git
cd TaxHacker
npm install
cp .env.example .env
# edit .env as needed, especially DATABASE_URL
npx prisma generate && npx prisma migrate dev
npm run dev
Visit http://localhost:7331
Production build:
npm run build
npm run start
Recent releases
Latest versions include v0.8.5 (2026-07-20) with a full changelog, v0.8.2 (2026-07-07) adding a new sidebar and transaction filter fixes, v0.8.0 (2026-07-06) with smart transaction deduplication, and v0.7.0 (2026-04-03) introducing Local LLMs.
Traction
Stars: 6578; Forks: 1076; Open issues: 38
Behind the repo
No startup/company-specific details provided beyond repository ownership (vas3k).
Caveats
License: MIT. The README notes the project is still in early development and to use at your own risk.






