Skip to content

Repository files navigation

accountant

Selbst-gehostete Buchhaltung für österreichische EPUs, Freiberufler und Kleinunternehmer. Ein Docker-Container, SQLite, keine Cloud. Dazu ein KI-Assistent, der lokal läuft und Fragen zu deinen Daten beantwortet oder nach Bestätigung bucht.

License Stack

Dashboard

Schnellstart

Nur die App:

cp .env.example .env      # SESSION_SECRET setzen: openssl rand -hex 32
docker compose up -d

Komplettpaket mit lokalem LLM (Ollama) und Paperless-ngx, vorkonfiguriert:

cp .env.example .env
docker compose -f docker-compose.full.yml up -d
docker compose -f docker-compose.full.yml exec ollama ollama pull llama3.2:3b

Dann http://localhost:6002 öffnen. Erster Login admin / admin, wird sofort zur Änderung gezwungen. Hinter einem HTTPS-Reverse-Proxy zusätzlich SESSION_COOKIE_SECURE=true setzen.

Funktionen

Rechnungen nach §11 UStG (Reverse-Charge, Kleinunternehmer), Festschreibung nach §131 BAO mit Audit-Log, Mahnwesen, Projekte mit Zeiterfassung, Ausgaben mit Beleg-OCR und Paperless-ngx, Angebote, wiederkehrende Rechnungen, AT-Steuer (UVA, ZM, SVS- und ESt-Vorschau, BMD- und Finanzamt-Export), Anlagen mit AfA, Reisekosten, Kassabuch, XRechnung 3.0, Bank-Abgleich, automatische Backups und der lokale KI-Assistent.

Wie alles im Detail funktioniert, steht im Handbuch (38 Kapitel, auch in der App unter „Handbuch" eingebaut). Direkt zu den wichtigsten:

KI-Assistent

Frag in normaler Sprache, auch umgangssprachlich. Der Assistent holt die echten Daten und antwortet mit sauberen Tabellen, Schreibvorgänge erst nach deiner Bestätigung.

KI-Assistent

Läuft gegen jeden OpenAI-kompatiblen Endpoint: Ollama, llama.cpp, LM Studio oder llama-tq (llama.cpp-Fork mit mehr Durchsatz). Deine Daten bleiben auf dem Server. Funktioniert mit kleinen Modellen ab 3B. Endpoint setzt du per Umgebungsvariable (im Komplettpaket schon gesetzt) oder in der App unter Firma → KI-Assistent. Details: Handbuch, Kapitel 11.

Konfiguration

Variable Default Zweck
SESSION_SECRET zufällig In Produktion fest setzen, sonst gehen Sessions bei Neustart verloren
SESSION_COOKIE_SECURE false true hinter HTTPS-Reverse-Proxy
DATA_DIR ./data Persistente Daten (SQLite, Sessions, Suchindex)
PORT 6002 Lauschport
LLM_BASE_URL, LLM_MODEL leer KI-Endpoint, im Komplettpaket vorbelegt
PAPERLESS_URL, PAPERLESS_TOKEN leer Paperless-Anbindung, URL im Komplettpaket vorbelegt

Entwicklung

npm install
npm run dev-node     # Express + SQLite auf Port 6002
npm run dev          # Angular Dev-Server, /api wird auf 6002 geproxyt

Tests mit npm test, Produktions-Build mit npm run build. Geteilte Entities in src/shared/entities, Server in src/server, App in src/app.

Lizenz

AGPL-3.0-only. Wer accountant verändert und über ein Netzwerk anbietet, muss die geänderte Quelle den Nutzern zugänglich machen (§13 AGPL). Für die eigene Firma self-hosted gibt es außer der Lizenz-Notice nichts zu beachten.

About

CRM/Selbstbuch für AT-EPUs mit lokalem KI-Assistenten. Paragraf 11 UStG, UVA, Mahnwesen, Projekte, Paperless-ngx. Angular + Express + SQLite. AGPL-3.0.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages