Skip to main content

PACMAN - Privacy-first Automated Calculation & Management of Numbers. Local-first tax automation for freelancers and landlords.

Project description

PACMAN

Privacy-first Automated Calculation & Management of Numbers

Lokales Steuer-Framework für alle Unternehmensklassen in Deutschland. 100% offline. Deine Daten verlassen niemals dein Gerät.

Features

  • 100% Offline - Keine Cloud, keine Telemetrie, keine externen APIs
  • Alle Unternehmensformen - Freiberufler, Einzelunternehmer, GmbH, UG, Vermietung
  • Bank-Import - Deutsche Bank, Sparkasse, ING, N26, DKB (+ generisches CSV)
  • Automatische Kategorisierung - YAML-basierte Regeln, individuell anpassbar
  • ELSTER-ready Export - Excel/CSV für EÜR, Anlage G, S, V und mehr
  • Erweiterbar - Eigene Profile und Regeln für jeden Use Case
  • Dashboard - Streamlit-basierte visuelle Übersicht

Unterstützte Banken

Bank Format Status
Deutsche Bank CSV (Semikolon) ✅ Stabil
Sparkasse CSV ✅ Stabil
ING-DiBa CSV ✅ Stabil
N26 CSV ✅ Stabil
DKB CSV ✅ Stabil
Generic CSV Konfigurierbar ✅ Stabil

Profile & Steuerformulare

Basis-Profile (Rechtsform)

Profil Beschreibung Formulare
freiberufler Freiberufler (§18 EStG) Anlage S, EÜR
einzelunternehmer Gewerbetreibende Anlage G, EÜR
kleinunternehmer §19 UStG (ohne USt) Anlage G/S, EÜR
vermieter Vermietung & Verpachtung Anlage V
gmbh_geschaeftsfuehrer GF mit GmbH-Beteiligung Anlage N, KAP
nebenberuflich Angestellt + Selbständig Anlage N + S/G

Branchen-Profile (spezialisierte Regeln)

Profil Beschreibung Besonderheiten
it_freelancer Software-Entwickler, DevOps GitHub, Cloud, AI-Tools
berater_coach Unternehmensberater, Trainer Tagessätze, Reisekosten
content_creator YouTube, Influencer, Podcast AdSense, Sponsoring, Equipment
e_commerce Online-Handel, Amazon FBA Wareneinkauf, Versand, OSS
handwerker Handwerksbetrieb Material, Fahrzeug, BG
kuenstler Designer, Fotograf, Musiker KSK, 7% USt, VG Wort
heilberufler Arzt, Therapeut, HP USt-befreit, Versorgungswerk

Eigene Profile können per YAML definiert werden - das Framework passt sich an deinen Use Case an.

Dokumentation

Installation

# Repository klonen
git clone https://github.com/yourusername/pacman.git
cd pacman

# Virtual Environment
python3 -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows

# Installieren
pip install -e ".[dashboard]"

# Prüfen
pacman --version

Schnellstart

# 1. Projekt erstellen (Profil wählen: freiberufler, einzelunternehmer, etc.)
pacman init --profile freiberufler --year 2024 --path ~/steuer-2024

# 2. Bank-Export kopieren & importieren
cp ~/Downloads/umsaetze.csv ~/steuer-2024/import/
pacman import ~/steuer-2024/import/ --project ~/steuer-2024

# 3. Automatisch kategorisieren
pacman categorize --project ~/steuer-2024

# 4. Status prüfen
pacman status --project ~/steuer-2024

# 5. Berechnen & exportieren
pacman calculate --project ~/steuer-2024
pacman export --format xlsx --project ~/steuer-2024

Für Vermieter (zusätzlich)

# Mieter für automatische Mieteinnahmen-Erkennung
pacman tenants add "Max Müller" --project ~/steuer-2024

Dashboard starten

pacman dashboard --project ~/steuer-2024

Öffnet automatisch im Browser unter http://localhost:8501

CLI Referenz

pacman --help                    # Hilfe anzeigen
pacman --version                 # Version anzeigen
pacman --privacy                 # Privacy-Garantien anzeigen

pacman init                      # Neues Projekt erstellen
pacman import <path>             # Transaktionen importieren
pacman categorize                # Automatisch kategorisieren
pacman tenants <add|remove|list> # Mieter verwalten
pacman calculate                 # Steuer berechnen
pacman export                    # ELSTER-Export erstellen
pacman status                    # Projekt-Status anzeigen
pacman dashboard                 # Web-Dashboard starten

Privacy-Garantien

PACMAN macht niemals Netzwerk-Requests:

  • ✅ Kein Internet-Zugriff
  • ✅ Keine Telemetrie
  • ✅ Keine Cloud-Speicherung
  • ✅ Keine externen APIs
  • ✅ Vollständig auditierbar (AGPL-3.0)
pacman --privacy  # Garantien anzeigen

Projektstruktur

~/steuer-2024/
├── config.yaml           # Projekt-Konfiguration
├── transactions.json     # Kategorisierte Buchungen
├── import/               # Bank-CSVs hier ablegen
└── export/               # Generierte Exports
    └── ELSTER_Werte_2024.xlsx

Eigene Regeln

Regeln in YAML erstellen:

rules:
  - id: my_client_income
    name: "Einnahmen Hauptkunde"
    priority: 10
    conditions:
      - field: counterparty
        operator: contains
        value: "Firma XYZ GmbH"
    category: business_income
    subcategory: kunde_xyz
    confidence: 1.0

Operatoren

  • equals - Exakte Übereinstimmung
  • contains - Enthält (case-insensitive)
  • regex - Regulärer Ausdruck
  • gt, lt, gte, lte - Numerisch
  • in_list - In Liste (z.B. $config.tenants)

Kategorien

  • rental_income / rental_expense - Vermietung
  • business_income / business_expense - Gewerblich
  • deductible - Sonderausgaben
  • private - Nicht steuerrelevant
  • passthrough - Durchlaufposten

Development

# Tests (342 Tests, 75% Coverage)
PACMAN_TESTING=1 python -m pytest tests/ -v --cov=src/pacman

# Linting
ruff check src/
mypy src/

Test Coverage

Modul Coverage
Core Models 84%
Germany Plugin 99%
CLI 89%
Tax Constants 100%
Utils 100%
Importers 65-85%
Dashboard 14%

Lizenz

AGPL-3.0 - Siehe LICENSE


Hinweis: PACMAN ersetzt keine Steuerberatung. Für verbindliche Auskünfte wende dich an einen Steuerberater.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pacman_tax-0.2.0.tar.gz (126.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pacman_tax-0.2.0-py3-none-any.whl (88.9 kB view details)

Uploaded Python 3

File details

Details for the file pacman_tax-0.2.0.tar.gz.

File metadata

  • Download URL: pacman_tax-0.2.0.tar.gz
  • Upload date:
  • Size: 126.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for pacman_tax-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0c462b45b061c5a3deddd00c43cc8a5ec89088f7463bb798706ce663f6b33fc5
MD5 fd6d333b423952ca8b62a5ae5a9a7d3c
BLAKE2b-256 152770f9da306465f0e06d2b9b4ce20266b305d012e523ca01817732b61bf796

See more details on using hashes here.

File details

Details for the file pacman_tax-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pacman_tax-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 88.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for pacman_tax-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f71828e27e1e6e386b70251e8f7722993aacdc6c432eb31f956899cf3038623
MD5 52f4b9a6864be61e01045169de958b96
BLAKE2b-256 08f3a73a4c6c2210ec6bf99a1c1790360663d21197977d38d78cbeaefb59c110

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page