# Annas Rechnungsmanager Buchhaltungs- und Rechnungsverwaltungssystem für Mandanten. ## Features - **Mandantenverwaltung** — Mehrere Unternehmen verwalten - **Rechnungen** — Erstellen, verwalten, als PDF exportieren (§14 UStG konform) - **Kundenverwaltung** — Kundenstammdaten pro Mandant - **Steuerberichte** — USt-Voranmeldung, monatliche & quartalsweise Auswertungen ## Tech Stack - **React Router v7** (Framework Mode, SSR) + TypeScript - **MariaDB / MySQL** via Prisma ORM - **Cookie-Session-Auth** (bcryptjs, kein NextAuth) - **Tailwind CSS v4** + shadcn/ui - **@react-pdf/renderer** für PDF-Generierung - **Docker** für die Datenbank ## Setup ### 1. Voraussetzungen - Node.js 20+ - Docker (für MariaDB) ### 2. Installation ```bash npm install ``` ### 3. Umgebungsvariablen konfigurieren ```bash cp .env.example .env # DATABASE_URL und AUTH_SECRET in .env anpassen ``` ### 4. Datenbank einrichten ```bash npx prisma migrate dev --name init npx prisma db seed ``` **Demo-Zugangsdaten:** `anna@example.de` / `demo123` ### 5. Entwicklungsserver starten ```bash npm run dev ``` Startet Docker (PostgreSQL) und den Vite-Dev-Server. Öffne [http://localhost:5173](http://localhost:5173) ## Datenbank-Kommandos ```bash npm run db:migrate # Migrationen ausführen npm run db:seed # Demo-Daten einspielen npm run db:studio # Prisma Studio öffnen ``` ## Rechnungs-Compliance (§14 UStG) Alle PDFs enthalten die gesetzlich vorgeschriebenen Pflichtangaben: - Name & Anschrift Rechnungssteller und -empfänger - Steuernummer / USt-IdNr. des Ausstellers - Rechnungsdatum & Rechnungsnummer (fortlaufend) - Leistungsdatum / Lieferdatum - Leistungsbeschreibung - Nettobetrag, USt-Satz, USt-Betrag, Bruttobetrag