##For English - below ⬇️
Aplikacja mobilna do zarządzania fakturami elektronicznymi w systemie KSeF (Krajowy System e-Faktur)
KSeF Invoice App to kompleksowa aplikacja mobilna stworzona w technologii .NET MAUI, która umożliwia przedsiębiorcom i firmom:
- 🏢 Zarządzanie danymi własnej firmy (firm)
- 👥 Prowadzenie bazy klientów
- 📦 Katalogowanie produktów i usług
- 📄 Tworzenie i wysyłanie faktur elektronicznych do systemu KSeF
- 📊 Monitorowanie statusu wysłanych faktur
- 🔄 Integrację z testowym i produkcyjnym środowiskiem KSeF
Autorstwa Przemysława Przybyszewskiego - Praca inżynierska
UWAGA: Dane wprowadzane do aplikacji muszą być prawidłowe. Użycie nieprawidłowych danych może prowadzić do błędów oraz (używając serwisów produkcyjnych KSeF) konsekwencji prawnych zgodnie z przepisami podatkowymi RP.
- Dodawanie i edycja danych własnej firmy
- Przechowywanie tokenów autoryzacyjnych KSeF
- Konfiguracja danych kontaktowych i adresowych
- Dodawanie nowych klientów (osoby fizyczne i podmioty prawne)
- Edytowanie danych klientów
- Zarządzanie danymi kontaktowymi i adresowymi
- Usuwanie niepotrzebnych rekordów
- Tworzenie bazy produktów i usług
- Określanie cen i stawek VAT
- Kategoryzacja według rodzaju (towar/usługa)
- Ustawienie jednostek miary
- Intuicyjny kreator faktury z dynamicznym dodawaniem pozycji
- Automatyczne obliczanie wartości netto, brutto i VAT
- Obsługa różnych stawek podatkowych (23%, 8%, 5%, 0%, zw, np, oo)
- Walidacja danych przed wysyłką
- Wysyłka faktur do testowego i produkcyjnego środowiska KSeF
- Monitorowanie statusu przetwarzania faktur
- Pobieranie numerów referencyjnych KSeF
- Generowanie linków do weryfikacji faktur
- Przeglądanie wysłanych faktur
- Sprawdzanie statusów w czasie rzeczywistym
- Przechowywanie XML-i wysłanych dokumentów
- Framework: .NET MAUI (Multi-platform App UI)
- Wersja .NET: 8.0
- Baza danych: SQLite z sqlite-net-pcl
- Wzorce: MVVM (Model-View-ViewModel)
- DI: Wbudowany Dependency Injection
- UI: XAML z Material Design
- Messaging: CommunityToolkit.Mvvm
Aplikacja wykorzystuje wzorzec MVVM z:
- Models: Klasy reprezentujące dane (BaseFaktura, ClientEntities, Product, MyBusinessEntities)
- Views: Widoki XAML definiujące interfejs użytkownika
- ViewModels: Logika prezentacji i wiązanie danych z obsługą komunikatów
- Services: Warstwa usług (LocalDbService, XmlCreationService, KsefApiService)
- SQLite: Lokalna baza danych na urządzeniu
- sqlite-net-pcl: ORM do zarządzania danymi
- Automatyczne migracje: Tworzenie i aktualizacja schematu
- Seed Data: Wypełnianie przykładowymi danymi w trybie DEBUG
Dla użytkowników:
- Telefon z systemem Android 5.0+ (API 21+)
- Minimum 50 MB wolnego miejsca
- Połączenie internetowe (do wysyłki faktur)
-
Środowisko testowe (domyślne):
- URL:
https://ksef-test.mf.gov.pl
- Klucz publiczny: automatycznie konfigurowany
- Wymagany token autoryzacyjny
- URL:
-
Środowisko produkcyjne (wymagana zmiana w kodzie):
- URL:
https://ksef.mf.gov.pl
- Klucz publiczny produkcyjny
- Ważny token produkcyjny
- URL:
- Przy pierwszym uruchomieniu aplikacja utworzy lokalną bazę danych
- W trybie DEBUG zostaną załadowane przykładowe dane
- Należy skonfigurować dane własnej firmy w pierwszej kolejności
- Przejdź do sekcji "Moja firma"
- Naciśnij "Dodaj firmę"
- Wypełnij wszystkie wymagane pola:
- NIP (format: 1234567890)
- Nazwa pełna
- Adres (ulica, numer, kod pocztowy, miejscowość)
- Dane kontaktowe (telefon, email)
- Token KSeF
- Zapisz dane
- Przejdź do sekcji "Klienci"
- Naciśnij "Dodaj klienta"
- Wypełnij dane klienta:
- Typ: osoba fizyczna lub podmiot prawny
- NIP (opcjonalny dla osób fizycznych)
- Dane osobowe/firmowe
- Adres i kontakt
- Zapisz klienta
- Przejdź do sekcji "Produkty"
- Naciśnij "Dodaj produkt"
- Wprowadź dane:
- Nazwa i opis
- Cena netto
- Stawka VAT
- Rodzaj (towar/usługa)
- Jednostka miary
- Zapisz produkt
- Przejdź do sekcji "Nowa faktura"
- Wybierz klienta z listy
- Dodaj pozycje faktury:
- Wybierz produkt z listy
- Ustaw ilość przyciskami +/-
- Sprawdź automatycznie obliczone wartości
- Dodaj kolejne pozycje przyciskiem "+"
- Sprawdź podsumowanie
- Naciśnij "Wyślij do KSeF"
- W aplikacji: sekcja "Historia faktur"
- Online:
- Wejdź na ksef-test.mf.gov.pl
- Zaloguj się przy użyciu NIP
- Przejdź do "Lista faktur" lub "Historia sesji"
Środowisko testowe (domyślne)ksefApiUrl = "https://ksef-test.mf.gov.pl";
ksefApiKey = "-----BEGIN PUBLIC KEY-----\r\n[TEST_KEY]\r\n-----END PUBLIC KEY-----";
Środowisko produkcyjneksefApiUrl = "https://ksef.mf.gov.pl";
ksefApiKey = "-----BEGIN PUBLIC KEY-----\r\n[PRODUCTION_KEY]\r\n-----END PUBLIC KEY-----";
Aplikacja obsługuje wszystkie statusy określone w specyfikacji KSeF:
- 200-299: Faktura zaakceptowana
- 300-399: Faktura w trakcie przetwarzania
- 400+: Błędy walidacji lub przetwarzania
- Obsługa faktur korygujących
- Export do PDF
- Backup danych do chmury
- Obsługa wielu firm
- Wersja iOS
Jeśli napotkasz problemy, utwórz issue w repozytorium GitHub z:
- Opisem problemu
- Krokami do reprodukcji
- Logami błędów (jeśli dostępne)
- Informacjami o środowisku
KSeF Invoice App is a comprehensive mobile application built using .NET MAUI technology that enables entrepreneurs and companies to:
- 🏢 Manage their own company data (or multiple companies)
- 👥 Maintain a customer database
- 📦 Catalog products and services
- 📄 Create and send electronic invoices to the KSeF system
- 📊 Monitor the status of sent invoices
- 🔄 Integrate with both the test and production KSeF environments
Created by Przemysław Przybyszewski – Engineering thesis project
WARNING: All data entered into the application must be correct. Using invalid data may result in errors and (when using the production KSeF services) legal consequences under Polish tax law.
- Add and edit your company's details
- Store KSeF authorization tokens
- Configure contact and address data
- Add new customers (individuals and legal entities)
- Edit customer data
- Manage contact and address information
- Delete unnecessary records
- Create a database of products and services
- Define prices and VAT rates
- Categorize by type (product/service)
- Set units of measure
- Intuitive invoice wizard with dynamic item addition
- Automatic calculation of net, gross, and VAT values
- Support for various tax rates (23%, 8%, 5%, 0%, zw, np, oo)
- Data validation before sending
- Send invoices to KSeF test and production environments
- Monitor processing status
- Retrieve KSeF reference numbers
- Generate verification links for invoices
- View sent invoices
- Check real-time statuses
- Store XMLs of sent documents
- Framework: .NET MAUI (Multi-platform App UI)
- .NET Version: 8.0
- Database: SQLite with sqlite-net-pcl
- Pattern: MVVM (Model-View-ViewModel)
- DI: Built-in Dependency Injection
- UI: XAML with Material Design
- Messaging: CommunityToolkit.Mvvm
The app uses MVVM with:
- Models: Data classes (e.g., BaseFaktura, ClientEntities, Product, MyBusinessEntities)
- Views: XAML views defining the UI
- ViewModels: Presentation logic and data binding with message handling
- Services: Logic layer (e.g., LocalDbService, XmlCreationService, KsefApiService)
- SQLite: Local on-device database
- sqlite-net-pcl: ORM for data management
- Auto migrations: Schema creation and updates
- Seed Data: Populated with sample data in DEBUG mode
For Users:
- Android phone with Android 5.0+ (API 21+)
- Minimum 50 MB free space
- Internet connection (for invoice sending)
-
Test environment (default):
- URL: https://ksef-test.mf.gov.pl
- Public key: auto-configured
- Requires authorization token
-
Production environment (requires code change):
- URL: https://ksef.mf.gov.pl
- Production public key
- Valid production token
ksefApiUrl = "https://ksef-test.mf.gov.pl";
ksefApiKey = "-----BEGIN PUBLIC KEY-----\n[TEST_KEY]\n-----END PUBLIC KEY-----";
ksefApiUrl = "https://ksef.mf.gov.pl";
ksefApiKey = "-----BEGIN PUBLIC KEY-----\n[PRODUCTION_KEY]\n-----END PUBLIC KEY-----";
- 200–299: Invoice accepted
- 300–399: Invoice in processing
- 400+: Validation or processing errors
- Numeric Control with validation and responsive design
- Dynamic item addition with auto-calculations
- Error handling with validation and logging
Planned Features:
- Corrective invoice support
- PDF export
- Cloud data backup
- Multi-company support
- iOS version
Report issues on GitHub with steps to reproduce and error logs.
- https://www.podatki.gov.pl/ksef/
- https://ksef-test.mf.gov.pl/
- https://www.podatki.gov.pl/media/9876/specyfikacja-oprogramowania-interfejsowego.pdf
- https://docs.microsoft.com/dotnet/maui/
DISCLAIMER: This app is for educational purposes. Always test before production use.