Repolode
vas3k

vas3k/TaxHacker

Self-hosted accounting app that uses LLMs to extract data from receipts, invoices and PDFs into a structured transaction database.

Open-source alternative to:ExpensifyXero

Stars
6,753
Forks
1,117
Open issues
41
Last commit
22 days ago

What is it?

TaxHacker is a self-hosted accounting app aimed at freelancers, indie hackers and small businesses. You upload photos of receipts, invoices or PDFs, and an LLM recognizes and extracts fields such as merchant, date, amounts, taxes and line items, then saves them into a table-like database that can be filtered and exported to CSV.

The app supports OpenAI, Google Gemini, Mistral, and local OpenAI-compatible endpoints such as Ollama, LM Studio, vLLM and LocalAI. Users can define custom fields, categories and projects, and write their own prompts for both system-level and field-specific extraction. Currency detection and conversion use historical exchange rates from the transaction date, covering 170+ fiat currencies and 14 cryptocurrencies.

Deployment uses Docker Compose with PostgreSQL 17+, and the stack is Next.js 15+, Prisma and TypeScript. Local development requires Ghostscript and GraphicsMagick for PDF processing. The project is described as in early development.

Key features

  • 01Extracts merchant, date, amounts, taxes and line items from photos and PDFs using an LLM.
  • 02Supports OpenAI, Gemini, Mistral and local OpenAI-compatible models like Ollama.
  • 03Converts currencies using historical exchange rates, including cryptocurrencies.
  • 04Lets you define custom fields, categories, projects and extraction prompts.
  • 05Exports filtered transactions to CSV along with attached documents.
  • 06Deploys with Docker Compose and PostgreSQL.

Use cases

  • Freelancers tracking receipts and invoices for tax filing.
  • Small businesses wanting structured expense records without manual data entry.
  • Users who want to keep financial documents on their own server with a local LLM.
  • Teams extracting custom fields such as project codes from documents.

Quick start

  1. 1

    Download the Docker Compose file

    curl -O https://raw.githubusercontent.com/vas3k/TaxHacker/main/docker-compose.yml
  2. 2

    Start the app with Docker Compose

    docker compose up

Things to know

  • README says the project is in early development and used at your own risk.
  • Requires a PostgreSQL database and an LLM API key or a local LLM for extraction.
  • Local LLM OCR results are not guaranteed to be accurate.

Topics

FAQ

What is TaxHacker?
Self-hosted accounting app that uses LLMs to extract data from receipts, invoices and PDFs into a structured transaction database. TaxHacker is a self-hosted accounting app aimed at freelancers, indie hackers and small businesses. You upload photos of receipts, invoices or PDFs, and an LLM recognizes and extracts fields such as merchant, date, amounts, taxes and line items, then saves them into a table-like database that can be filtered and exported to CSV.
Is TaxHacker free to use? What license does it have?
TaxHacker is open source under the MIT license. Check the license terms before using it in commercial products.
Is TaxHacker still maintained?
Actively maintained. The last commit to TaxHacker was on Sep 28, 2026.
What can I use TaxHacker for?
Freelancers tracking receipts and invoices for tax filing. Small businesses wanting structured expense records without manual data entry. Users who want to keep financial documents on their own server with a local LLM. Teams extracting custom fields such as project codes from documents.
How do I install TaxHacker?
Download the Docker Compose file: curl -O https://raw.githubusercontent.com/vas3k/TaxHacker/main/docker-compose.yml Start the app with Docker Compose: docker compose up
Where can I get TaxHacker?
The source code and installation instructions are on GitHub: https://github.com/vas3k/TaxHacker

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects