vas3k/TaxHacker

★ 6,714⑂ 1,093

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

About vas3k/TaxHacker

vas3k/TaxHacker is an open-source project on GitHub, mainly written in TypeScript. Self-hosted AI accounting app. LLM analyzer for receipts, invoices, transactions with custom prompts and categories It currently holds 6,714 stars and 1,093 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Local & On-Device AI board.

GitHub Repository Details

Repository vas3k/TaxHacker · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/vas3k/TaxHacker/blob/HEAD/


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.

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.

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.

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.

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.

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.

🛳 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:

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

Environment Variables

Configure TaxHacker for your specific needs with these environment variables:

| Variable | Required | Description | Example | |----------|----------|-------------|---------| | UPLOAD_PATH | Yes | Local directory for file uploads and storage | ./data/uploads | | DATABASE_URL | Yes | PostgreSQL connection string | postgresql://user@localhost:5432/taxhacker | | PORT | No | Port to run the application on | 7331 (default) | | BASE_URL | No | Base URL for the application | http://localhost:7331 | | SELF_HOSTED_MODE | No | Set to "true" for self-hosting: enables auto-login, custom API keys, and additional features | true | | DISABLE_SIGNUP | No | Disable new user registration on your instance | false | | BETTER_AUTH_SECRET | Recommended | Secret key for authentication and email credential encryption (minimum 16 characters). In self-hosted Docker, TaxHacker auto-generates and persists one in ./data/.better_auth_secret if unset. | your-secure-random-key | | POSTGRES_PASSWORD | Yes (docker-compose.build.yml) | Password for the bundled Postgres when building locally — used in both POSTGRES_PASSWORD and DATABASE_URL | output of openssl rand -hex 24 | | POSTGRES_USER | No (docker-compose.build.yml) | Database user (defaults to postgres) | postgres | | POSTGRES_DB | No (docker-compose.build.yml) | Database name (defaults to taxhacker) | taxhacker |

💡 Need internet access with authentication? See docs/self-hosted-public-access.md for a workaround (yes, it's cursed).

⌨️ Local Development

We use:

Set up your local development environment:

# Clone the repository
git clone https://github.com/vas3k/TaxHacker.git
cd TaxHacker

Install dependencies

npm install

Set up environment variables

cp .env.example .env

Edit .env with your configuration

Make sure to set DATABASE_URL to your PostgreSQL connection string

Example: postgresql://user@localhost:5432/taxhacker

Initialize the database

npx prisma generate && npx prisma migrate dev

Start the development server

npm run dev

Visit http://localhost:7331 to see your local TaxHacker instance in action.

For a production build, instead of npm run dev use the following commands:

# Build the application
npm run build

Start the production server

npm run start

🤝 Contributing

No AI-slop PRs. Please open a new Issue and discuss the details with maintainers before sending new changes.

❤️ Support the Project

If TaxHacker has helped you save time or manage your finances better, consider supporting its development! Your donations help us maintain the project, add new features, and keep it free and open source. Every contribution helps ensure we can keep improving and maintaining this tool for the community:

Thank the TaxHacker devs

📄 License

TaxHacker is licensed under the MIT License.

GitHub Stars & Activity

6,714Stars
1,093Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars6,714
Forks1,093
Open issues0
Primary languageTypeScript
License-
Stars gained today0
Created-
Last pushed-

Trending History

Trending statusnot on today's boards

Related AI Projects

1

ChatGPTNextWeb / NextChat

TypeScript★ 88,790⑂ 59,030
2

chatboxai / chatbox

TypeScript★ 41,812⑂ 4,252
3

dyad-sh / dyad

TypeScript★ 21,587⑂ 2,639
4

lidge-jun / opencodex

TypeScript★ 15,561⑂ 1,180
5

browseros-ai / BrowserOS

TypeScript★ 13,720⑂ 1,460
6

getumbrel / llama-gpt

TypeScript★ 10,937⑂ 704
7

miurla / morphic

TypeScript★ 9,133⑂ 2,348
8

n4ze3m / page-assist

TypeScript★ 8,220⑂ 784

More AI Rankings