Factos
Ein Klon von InvoiceShelf, neu geschrieben in C# / Blazor (.NET 10): Angebote, Rechnungen, Zahlungen, Ausgaben und Einkauf, mit einer InvoiceShelf-kompatiblen REST-API.
:::caution In Entwicklung
Die Weboberfläche ist durchgängig nutzbar, die API /api/v1 ist jedoch nur teilweise portiert (Bereich Konten). Die mobile App (iOS / Android) liegt in einem separaten Repository.
:::
Funktionen
- Verkauf: Kunden, Artikel, Angebote, Rechnungen, wiederkehrende Rechnungen (Cron), Gutschriften, auf mehrere Rechnungen verteilte Zahlungen, Kundenguthaben.
- Einkauf: Lieferanten, Lieferantenrechnungen und -gutschriften, Zahlungen, Erstattungen.
- Ausgaben und ein Dashboard zum Cashflow.
- PDF (QuestPDF) mit anpassbaren Vorlagen, E-Mail-Versand (SMTP) mit Öffnungsverfolgung, öffentliche Links für Kunden.
- Benutzerdefinierte Felder: Definition, Eingabe und Druck.
- Logo, 4 Oberflächen-Themes, heller / dunkler Modus.
- Drei Datenbanken, bei der Installation wählbar: SQLite, PostgreSQL oder MySQL.
- Import aus einer bestehenden InvoiceShelf-Installation (Konten, Passwörter und API-Tokens bleiben erhalten).
- API-Parität: Ein bestehender InvoiceShelf-API-Client sollte unverändert funktionieren (Sanctum-Bearer-Authentifizierung, Laravel-typische Umschläge und Fehler).
Installation
Docker
docker compose up -d
Aus dem Quellcode
dotnet run --project src/Factos
Verwendung
Erster Start
- Docker: Öffne
http://localhost:8080. Der Einrichtungsassistent führt dich durch Datenbank, Administratorkonto und Unternehmen. Der gesamte persistente Zustand liegt im Volume/app/App_Data. - Aus dem Quellcode: Öffne
http://localhost:5221. Beim ersten Start schreibt der Assistent/setupdie Dateiappsettings.local.jsonund beendet dann den Prozess: Führe den Befehl erneut aus.
Updates
- Schema: Beim Start läuft nie eine Migration. Eine ausstehende Migration leitet auf
/updateum, wo ein Super-Admin sie bestätigt. - Anwendung: Einstellungen › Updates lädt das neueste GitHub-Release herunter.
Roadmap
- Die Endpunkte unter
/api/v1vervollständigen, um volle Parität mit InvoiceShelf zu erreichen - Mobile App (.NET MAUI Blazor Hybrid)
- Plugin-Verwaltung
- Modul für automatische Backups
- Zwei-Faktor-Authentifizierung (TOTP)
- Passkey-Authentifizierung (WebAuthn)