TaxHacker is a free, open source finance & accounting project written in TypeScript and released under MIT. It has 6,706 GitHub stars, 1,092 forks and 42 open issues, and was last pushed 3 days ago. On this registry it ranks #9 of 34 tracked projects in Finance & Accounting, with 5 head-to-head comparisons available. It gained 6 stars over the last 3 tracked days.

What is TaxHacker?

TaxHacker is a self-hosted, MIT-licensed AI accounting application written in TypeScript that reads receipts, invoices and PDFs and turns them into structured expense and income records for freelancers, indie-hackers and small businesses.

What it is

TaxHacker lives in the self-hosted open-source finance and accounting ecosystem, alongside the self-hosted business tools that small operators run on their own hardware. It is an accounting app built around a large language model analyzer: documents go in, and the extraction pipeline returns product names, amounts, items, dates, merchants and taxes, which are stored in a structured Excel-like database. The project ships under the MIT licence, is written in TypeScript, and points to taxhacker.app as its homepage and demo.

The concrete problem it solves is manual expense and income tracking. Instead of typing receipt data into a spreadsheet or a bookkeeping ledger by hand, a user photographs a receipt or uploads an invoice PDF, and TaxHacker recognizes, extracts, categorizes and stores the information automatically. That replaces the manual transcription step between a paper or PDF document and a structured, filterable table, including the currency conversion arithmetic that normally has to be looked up per transaction.

Key capabilities

  • AI data extraction pulls dates, amounts, vendors and line items from store receipts, restaurant bills, invoices, bank statements, letters and handwritten receipts.
  • Choice of LLM backend: OpenAI, Google Gemini, Mistral, or a local LLM in the self-hosted version.
  • Local models supported through an OpenAI-compatible API endpoint, with Ollama, LM Studio, vLLM and LocalAI named in the README.
  • Automatic currency detection and conversion using historical exchange rates from the actual transaction date, covering 170+ world currencies and 14 cryptocurrencies including BTC, ETH, LTC and DOT.
  • Custom fields defined with the user's own AI prompts, plus fully customizable categories and projects.
  • Item splitting extracts individual items from an invoice and splits them into separate transactions.
  • Documents can sit in "unsorted" until processed manually or with AI, and the app provides built-in filtering, multi-project support, custom categories and import/export.

Who uses it and how

  • Freelancers and indie-hackers who need expense and income tracking without a bookkeeping service.
  • Small businesses running several projects or entities, using multi-project support and custom categories to keep records separated for reporting and tax filing.
  • Privacy-conscious self-hosters who run a local LLM through an OpenAI-compatible endpoint so documents never leave their own infrastructure.
  • Operators handling mixed-language and mixed-currency paperwork, since the app claims to handle any language and any currency, with manual currency entry available when needed.

Getting started

The README excerpt provided here does not include an install command, a Docker image name or a compose file, so the exact deployment method is not stated in the facts available. The project is self-hosted, and taxhacker.app hosts the landing page and a demo video at https://taxhacker.app/landing/video.mp4.

How it compares

No competing paid products are named in the facts provided, and no similar accounting tools are named either, so TaxHacker stands alone in this registry on the evidence available. What can be said is that it is MIT-licensed and self-hosted, which places data ownership and cost control with the operator rather than with a vendor.

When to use it — and when not to

A self-hoster must run the application and supply their own LLM access, whether that is an OpenAI, Gemini or Mistral key or a local OpenAI-compatible endpoint; the README states that the user alone is responsible for the quality and privacy of their data, and that local models must be good at OCR tasks because results are not guaranteed. The project is explicitly described as still in early development and to be used at the user's own risk, so it is a poor fit for anyone who needs guaranteed accuracy or a vendor-managed service. The README excerpt available here is sparse beyond the feature sections, which is itself a reason to check the repository before committing to it.

project readme (upstream, from github) — read inline


TaxHacker: Self-Hosted AI Accounting

GitHub Stars License Support Us

[!NOTE] ☝️ I'm currently looking for a job! Particularly interested in companies in Berlin or remote positions in Germany. Here's my CV and Linkedin profile. Thank you 🙏

TaxHacker is a self-hosted accounting app designed for freelancers, indie-hackers, and small businesses who want to save time and automate expense and income tracking using the power of modern AI.

Upload photos of receipts, invoices, or PDFs, and TaxHacker will automatically recognize and extract all the important data you need for accounting: product names, amounts, items, dates, merchants, taxes, and save it into a structured Excel-like database. You can even create custom fields with your own AI prompts to extract any specific information you need.

The app features automatic currency conversion (including crypto!) based on historical exchange rates from the transaction date. With built-in filtering, multi-project support, import/export capabilities, and custom categories, TaxHacker simplifies reporting and makes tax filing a bit easier.

🎥 Watch demo video

Dashboard

[!IMPORTANT]

This project is still in early development. Use at your own risk! Star us to get notified about new features and bugfixes ⭐️

✨ Features

1 Analyze photos and invoices with AI

Currency Conversion

Snap a photo of any receipt or upload an invoice PDF, and TaxHacker will automatically recognize, extract, categorize, and store all the information in a structured database.

  • Upload and organize your docs: Store multiple documents in "unsorted" until you're ready to process them manually or with AI assistance
  • AI data extraction: Use AI to automatically pull key information like dates, amounts, vendors, and line items
  • Auto-categorization: Transactions are automatically sorted into relevant categories based on their content
  • Item splitting: Extract individual items from invoices and split them into separate transactions when needed
  • Structured storage: Everything gets saved in an organized database for easy filtering and retrieval
  • Choose your LLM: You can use OpenAI, Google Gemini, or Mistral or even your local LLM (in the self-hosted version). Only you're responsible for the quality and privacy of your data.

TaxHacker works with a wide variety of documents, including store receipts, restaurant bills, invoices, bank statements, letters, even handwritten receipts. It handles any language and any currency with ease.

2 Multi-currency support with automatic conversion (even crypto!)

Currency Conversion

TaxHacker automatically detects currencies in your documents and converts them to your base currency using historical exchange rates.

  • Foreight currency detection: Automatically identify the currency used in any document
  • Historical rates: Get conversion rates from the actual transaction date
  • All-world coverage: Support for 170+ world currencies and 14 popular cryptocurrencies (BTC, ETH, LTC, DOT, and more)
  • Flexible input: Manual entry is always available when you need more control

3 Use your own LLM: Ollama, LM Studio, vLLM, LocalAI etc

It's compatible with your local LLM OpenAI-compatible API endpoint. Just make sure that your local model is good in OCR tasks, results are not guaranteed :)

Local LLMs

4 Organize your transactions using fully customizable categories, projects and fields

Transactions Table

Adapt TaxHacker to your unique needs with unlimited customization options. Create custom fields, projects, and categories that better suit your specific needs, idustry standards or country.

  • Custom categories and projecst: Create your own categories and projects to group your transactions in any convenient way
  • Custom fields: You can create unlimited number of custom fields to extraxt more information from your invoices (it's like creating extra columns in Excel)
  • Full-text search: Search through the actual content of recognized documents
  • Advanced filtering: Find exactly what you need with search and filter options
  • AI-powered extraction: Write your own prompts to extract any custom information from documents
  • Bulk operations: Process multiple documents or transactions at once

5 Customize any LLM prompt. Even system ones

Custom Categories

Take full control of how TaxHacker's AI processes your documents. Write custom AI prompts for fields, categories, and projects, or modify the built-in ones to match your specific needs.

  • Customizable system prompts: Modify the general prompt template in settings to suit your business
  • Field or project-specific prompts: Create custom extraction rules for your industry-specific documents
  • Full control: Adjust field extraction priorities and naming conventions to match your workflow
  • Industry optimization: Fine-tune the AI to understand your specific type of business documents
  • Full transparency: Every aspect of the AI extraction process is under your control and can be changed right in settings

TaxHacker is 100% adaptable and tunable to your unique requirements — whether you need to extract emails, addresses, project codes, or any other custom information from your documents.

6 Flexible data filtering and export

Data Export

Once your documents are processed, easily view, filter, and export your complete transaction history exactly how you need it.

  • Advanced filtering: Filter by date ranges, categories, projects, amounts, and any custom fields
  • Flexible exports: Export filtered transactions to CSV with all attached documents included
  • Tax-ready reports: Generate comprehensive reports for your accountant or tax advisor
  • Data portability: Download complete data archives to migrate to other services—your data stays yours

7 Self-hosted mode for data privacy

Self-hosting

Keep complete control over your financial data with local storage and self-hosting options. TaxHacker respects your privacy and gives you full ownership of your information.

  • Home server ready: Host on your own infrastructure for maximum privacy and control
  • Docker native: Simple setup with provided Docker containers and compose files
  • Data ownership: Your financial documents never leaves your control
  • No vendor lock-in: Export everything and migrate whenever you want
  • Transparent operations: Full access to source code and complete operational transparency

🛳 Deployment and Self-hosting

TaxHacker can be easily self-hosted on your own infrastructure for complete control over your data and application environment. We provide a Docker image and Docker Compose setup that makes deployment simple:

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

docker compose up

The Docker Compose setup includes:

  • TaxHacker application container
  • PostgreSQL 17+ database (or connect to your existing database)
  • Automatic database migrations on startup
  • Volume mounts for persistent data storage
  • Production-ready configuration
  • no-new-privileges security option on all containers

New Docker images are automatically built and published with every release. You can use specific version tags (e.g., v1.0.0) or latest for the most recent version.

For advanced setups, you can customize the Docker Compose configuration to fit your infrastructure. The default configuration uses the pre-built image from GitHub Container Registry, but you can also build locally using the provided Dockerfile.

Example custom configuration:

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-stopp

readme truncated — read the full docs on github

Frequently asked questions

Is TaxHacker free to use?

TaxHacker is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does TaxHacker do?

Self-hosted AI accounting app. LLM analyzer for receipts, invoices, transactions with custom prompts and categories

What is TaxHacker written in?

TaxHacker is primarily written in TypeScript. Its source is publicly available at https://github.com/vas3k/TaxHacker, and it has 6,706 GitHub stars.