Historia zmian

Lista wszystkich wersji aplikacji KSeFka.

KSeFka v0.18.0

30 dni PRO za darmo dla każdej instalacji bez licencji: biała lista VAT, kody QR płatności, pro-formy, faktury cykliczne, CLI i MCP.

Dodane


  • Każda instalacja bez licencji dostaje 30 dni pełnego PRO, wspólne dla aplikacji, CLI i MCP, bez rejestracji i połączenia z siecią, a Ustawienia → Licencja pokazują liczbę pozostałych dni i datę końca (#1322, #1351).
  • Biała lista VAT: około minuty po synchronizacji z KSeF aplikacja sprawdza w wykazie Ministerstwa Finansów rachunki z nowych, nieopłaconych faktur otrzymanych i pokazuje wynik ikoną przy numerze rachunku w szczegółach faktury (PRO) (#1308).
  • Anonimowy sygnał użycia wysyłany przy sprawdzaniu aktualizacji zawiera także rodzaj licencji (`free`, `trial`, `trial_expired` albo `pro`), bez adresu e-mail, dat i tokena (#1324).
  • Szczegóły faktury mają ikonkę kopiowania do schowka przy numerze faktury, numerze KSeF, danych kontrahenta, numerze konta, kwocie brutto i sekcji "Zapłać QR-em", a wartość trafia do schowka w postaci gotowej do wklejenia w bankowości (#1311).
  • Przełącznik "Spoza białej listy" obok "Niezapłacone" i "Poza KSeF" zostawia na liście tylko faktury otrzymane z rachunkiem spoza białej listy VAT, a "Pokaż" w ostrzeżeniu po automatycznym sprawdzeniu otwiera listę z tym filtrem (PRO) (#1314).
  • Faktura wystawiona z numerem, który ma już inna faktura z tego samego roku, dostaje na liście ikonę z podpowiedzią, a jej szczegóły pokazują ramkę z pozostałymi fakturami o tym numerze (#1331).

  • Zmienione


  • Sekcja "Zapłać QR-em" bez licencji PRO pokazuje dane przelewu z faktury (rachunek, tytuł, kwotę), a w miejscu kodu rozmyty przykładowy kod z przyciskiem "Więcej o PRO" zamiast jednej linijki tekstu (#1312).
  • Polityka prywatności i Ustawienia → Prywatność opisują skrót adresu IP, który serwer aktualizacji zapisuje na 30 dni przy pierwszym sprawdzeniu aktualizacji z nowej instalacji (#1354).

  • Poprawione


  • Pasek o końcu okresu próbnego PRO mówi, co dokładnie przestanie działać, zaczynając od faktur cyklicznych, automatycznej wysyłki e-mailem oraz logo i kodu QR na PDF (#1347).
  • Strona /pro i dokumentacja licencji opisują funkcje PRO tak, jak działają w aplikacji, razem z darmowymi limitami pliku przelewów i załączników oraz automatyczną wysyłką e-mailem (#1141).
  • Status licencji i liczba dni okresu próbnego PRO odświeżają się po powrocie do okna aplikacji także na macOS, bez restartu (#1327, #1325).
  • Baner okresu próbnego PRO i pozostałe banery nad treścią strony mają szerokość treści strony, a Pulpit, Kontrahenci, Konta bankowe i Produkty zajmują w szerokim oknie pełną szerokość swojego kontenera (#1328).
  • Nieczytelny albo uszkodzony `preferences.json` nie jest już nadpisywany ustawieniami domyślnymi przez zmianę środowiska ani operacje w tle, więc żadna z nich nie kasuje tokena licencji i wybranego środowiska (#1325).
  • Kurs NBP dla dokumentu w walucie obcej jest pobierany przy jego tworzeniu na każdej ścieżce (CLI, MCP, faktura cykliczna, kopia, zamiana pro-formy), więc faktury w EUR powstają tam bez błędu o brakującym kursie (#994).
  • Faktura z zamiany pro-formy, kopia faktury, faktura cykliczna oraz faktura z CLI i MCP bez numeru dostają kolejny wolny numer z pominięciem numerów zajętych w tym samym roku, także przez szkice (#1098).
  • Faktury cykliczne po zakończeniu okresu próbnego albo unieważnieniu licencji PRO nie powstają już w tle, a harmonogram z minionym terminem aplikacja wstrzymuje do wznowienia przyciskiem "Wznów" po aktywacji PRO (#1340, #1329).
  • Serwer MCP sprawdza licencję PRO przy każdym wywołaniu narzędzia, nie tylko przy starcie, więc sesja uruchomiona w okresie próbnym przestaje działać po jego końcu i odpowiada błędem zaczynającym się od "Funkcja PRO:" (#1340).
  • Po zakończeniu okresu próbnego PRO aplikacja od razu pokazuje aktualny status licencji także wtedy, gdy odmówi zapisu integracji, personalizacji PDF, kodu QR do zapłaty na PDF albo kolejnego załącznika (#1334).
  • Lista faktur pusta przez przełącznik "Niezapłacone" albo "Poza KSeF" pokazuje komunikat "Brak faktur pasujących do kryteriów wyszukiwania" zamiast ekranu nowej firmy z zachętą do utworzenia pierwszej faktury (#1338).
  • Anonimowy sygnał użycia nie gubi już całego sprawdzenia aktualizacji, gdy Redis odrzuci zapis daty pierwszego sprawdzenia instalacji, bo przepadają wtedy tylko liczniki nowych instalacji (#1335).
  • Jednorazowe ustawianie okresów numeracji po aktualizacji ze starszej wersji liczy tylko faktury, bez pro-form (#1142).
  • W szczegółach faktury przy rachunku z numerem i IBAN-em dopisek "(w KSeF)" zastępuje "(aktywny)", a numer konta i IBAN nie zawijają się już w karcie "Dane faktury" (#1310).
  • Log aplikacji (`KSeFka.log`) nie zapisuje już adresów pobierania paczek eksportu KSeF z tokenem dostępu, także w ostrzeżeniu o limicie zapytań i w komunikatach o błędzie pobierania (#1305).
  • KSeFka v0.17.0

    Dodane


  • Przycisk "Pobierz UPO" w szczegółach faktury wystawionej, która ma numer KSeF, ale nie ma UPO, odszukuje w KSeF sesję wysyłki (także z innego programu lub strony Ministerstwa Finansów) i pobiera z niej UPO (#1204).
  • Podstawę zwolnienia z VAT przy produkcie ze stawką "zw" można ustawić także przez `ksefka-cli` (flagi `--vat-exemption-reason-type` i `--vat-exemption-reason` w `create-product` i `update-product`) oraz narzędzie MCP `create_product` (#1206).
  • Przycisk "Zapisz UPO" w szczegółach faktury z UPO zapisuje je jako plik XML `UPO_<numer KSeF>.xml` w postaci zwróconej przez KSeF, do przekazania biuru rachunkowemu (#1287).
  • Adres kontrahenta spoza Polski można wpisać w dwóch wolnych liniach (przełącznik w formularzu kontrahenta i na fakturze), a linie trafiają do XML dla KSeF, na PDF, do pliku Elixir oraz do CLI i MCP (#1192, #1163, #1194).
  • Wolne linie adresu działają także przy podmiocie dodatkowym (Podmiot3) spoza Polski na fakturze i w szablonie, trafiając do XML dla KSeF, na PDF i do podglądu faktury (#1288).
  • Wolne linie adresu działają także przy adresie własnej firmy spoza Polski (Ustawienia, dane firmy, przełącznik "Adres w dwóch wolnych liniach"), a w tym trybie numer budynku, kod pocztowy i miasto nie są wymagane.

  • Zmienione


  • Strona /download na ksefka.com jest przygotowana pod kampanię: opis aplikacji, panel SmartScreen z krokami instalacji i sumą SHA-256, informacja o notaryzacji Apple, sekcje "Wymagania systemowe" i FAQ oraz baner cookies z Consent Mode v2 (#1247).
  • Skrypt wydania `release-local.sh` wznawia nieudane wydanie przez `--continue`, zaczyna od zera przez `--fresh` i pomija platformy zbudowane z tego samego commita, a `just check` wykrywa bajty NUL w plikach źródłowych (#1208, #1258).
  • Blok "Dodatkowe podmioty (Podmiot3)" w formularzach faktury i szablonu korzysta ze wspólnego schematu walidacji i wspólnych pól, bez zmian w wyglądzie i zachowaniu formularzy (#1295).
  • Narzędzie MCP `attach_file` przyjmuje dodatkowe załączniki także w trzydniowym okresie próbnym CLI, nie tylko z licencją PRO, tak jak narzędzia MCP do pro-form (#1290).
  • Pro-formy wymagają licencji PRO, jak zapowiadała aplikacja od wersji 0.13.0, a wystawione wcześniej pro-formy nadal można przeglądać, pobrać jako PDF i anulować (#1096).

  • Poprawione


  • Pomiar odwiedzin na ksefka.com w Google Analytics znów liczy trafienia (#1231).
  • Wyszukiwanie na liście faktur nie znika już po wejściu w fakturę i powrocie przyciskiem "Wróć do listy", a aplikacja czyści je tylko przy zmianie firmy, kierunku albo wyjściu na inną stronę (#1277).
  • Edycja faktury przez payload bez pól powiązań (`advance_invoice_ids`, `original_invoice_ids`, `corrected_invoice_refs`) nie kasuje już zapisanych powiązań z fakturami zaliczkowymi i korygowanymi, bo brak klucza zostawia je bez zmian (#1280).
  • Uszkodzony `preferences.json` nie znika już po cichu, bo aplikacja przy starcie pokazuje komunikat ze ścieżką kopii odłożonej obok pliku i radą, by wpisać klucz licencji PRO ponownie (#1299).
  • Zapis stanu okna oraz plików `pending_action.json` (polecenia z CLI dla aplikacji) i `usage.json` jest atomowy tak samo jak zapis `preferences.json`, przez plik tymczasowy podmieniany dopiero po synchronizacji z dyskiem (#1294).
  • Przycisk "Zapisz UPO" w szczegółach faktury pokazuje się tylko wtedy, gdy aplikacja ma zapisaną treść UPO, a nie już na samą datę przyjęcia (#1298).
  • Zapis pliku `preferences.json` (środowisko KSeF, licencja PRO, okres próbny CLI) jest atomowy, więc awaria w trakcie zapisu nie zostawia już uciętego pliku, który kasował licencję (#1291).
  • Przywracanie kopii zapasowej i import konfiguracji zachowują u kontrahenta znaczniki JST i grupy VAT oraz język e-maili zamiast przywracać wartości domyślne (#1289).
  • Import konfiguracji z nieprawidłowym językiem e-maili kontrahenta nie kończy się już błędem, tylko zamienia go na polski i pokazuje ostrzeżenie z nazwą kontrahenta, jak przy przywracaniu kopii zapasowej (#1297, #1293).
  • Eksport konfiguracji do pliku JSON znów działa, a plik zawiera pełne dane kontrahentów, w tym wolne linie adresu (#1192).
  • Błąd całego przebiegu faktur cyklicznych w tle jest widoczny w aplikacji jako powiadomienie z przyczyną po polsku i notka nad harmonogramami na stronie Cykliczne, zamiast trafiać tylko do logu (#1279).
  • PDF faktury VAT RR, z procedurą marży i uproszczonej ma własny tytuł ("FAKTURA VAT RR", "FAKTURA VAT MARŻA", "FAKTURA UPROSZCZONA") zamiast "FAKTURA VAT", a faktura marżowa pokazuje pod tytułem rodzaj procedury (#1178).
  • Kopiowanie faktury RR lub uproszczonej ("Więcej", "Utwórz nową na podstawie") nie zamienia już dokumentu po cichu w zwykłą fakturę VAT, bo zapis jest zablokowany, dopóki użytkownik nie wybierze typu nowego dokumentu ręcznie (#1182).
  • Lista dokumentów, których nie udało się pobrać z KSeF, zostaje w aplikacji jako baner "Nie wszystkie dokumenty z KSeF zostały pobrane" z pełną listą przyczyn, zamiast znikającego toastu (#1179).
  • Komunikaty walidacyjne wiersza "Dane podstawowe" w formularzu faktury renderują się pod całym wierszem pól, więc trzylinijkowy komunikat pod polem "Typ" nie przesuwa już pól "Kierunek" i "Numer faktury" (#1238).
  • Przyczyny w grupie "Do ponowienia" na liście problemów z synchronizacji KSeF są po polsku (zajęta baza danych, KSeF niedostępny, przekroczony limit zapytań, uszkodzona paczka), a surowy komunikat zostaje pod zwiniętymi "Szczegółami technicznymi" (#1239).
  • Przywracanie kopii zapasowej sprawdza podstawę zwolnienia z VAT przy produktach tak samo jak formularz produktu, CLI i MCP, a każdą poprawkę zgłasza po imporcie jako ostrzeżenie z nazwą produktu (#1245).
  • Przypisanie nazwy do profilu (Ustawienia, Firmy, "Rozdzielanie firm po nazwie") pokazuje przez "Pokaż szczegóły", które dokumenty zostały w kolejce i dlaczego, zamiast podawać samą liczbę (#1240).
  • Pozycja "Zapisz jako szablon" znika przy fakturze rozliczeniowej, korekcie rozliczeniowej i korekcie zaliczkowej, bo szablon nie przechowuje powiązań z konkretnymi dokumentami (#1241).
  • Faktura, której XML aplikacja nie odczytała przy jednorazowym uzupełnianiu danych po aktualizacji, dostaje drugą szansę przy pierwszym uruchomieniu każdej nowszej wersji, zamiast zostawać bez tych danych na stałe (#1256).
  • Przywracanie kopii zapasowej zgłasza w ostrzeżeniach po imporcie każdą wartość produktu, szablonu lub faktury cyklicznej, którą musiało zastąpić domyślną, a szablon bez listy pozycji nie blokuje już listy szablonów ani kolejnej kopii (#1259).
  • Pozycja "Zapisz jako szablon" znika także przy korekcie VAT, a `ksefka-cli create-invoice --from-template` z szablonem korekty lub faktury rozliczeniowej wymaga flagi `--draft`, która otwiera szkic w aplikacji (#1257).
  • Faktura cykliczna nie powstaje już z korekty, faktury rozliczeniowej, faktury RR ani uproszczonej, a zapisany wcześniej harmonogram z takim typem aplikacja wstrzymuje z podaniem powodu zamiast generować dokument bez powiązań (#1262).
  • Ostrzeżenia po przywróceniu kopii zapasowej nazywają pola po polsku (z nazwą z pliku w nawiasie) i podają wartości w zapisie z aplikacji, jak waluta przy kwocie albo "tak" i "nie" przy flagach (#1272).
  • Formularz korekty wystawianej (VAT, zaliczkowej i rozliczeniowej) pokazuje od razu pod listą "Korygowane faktury" komunikat o brakującej fakturze korygowanej, a zatwierdzenie do wysyłki i wysyłka ręczna także sprawdzają to powiązanie (#1261).
  • Dokument z kolejki "Do wysłania", którego nie da się zbudować do wysyłki (korekta bez faktury korygowanej, brak pozycji lub kontrahenta), wraca do szkicu z przyczyną w powiadomieniu, na liście faktur i w szczegółach (#1270).
  • Korektę otrzymaną wpisywaną ręcznie da się zapisać, bo wskazanie faktury korygowanej jest wymagane tylko przy korekcie wystawianej, a fakturę od kontrahenta spoza aplikacji można wpisać w nowych polach pod listą "Korygowane faktury" (#1269).
  • Przebieg faktur cyklicznych w tle zgłasza każdy harmonogram, który został bez faktury, z listą nazw i powodów pod "Pokaż szczegóły", a `ksefka-cli process-recurring` kończy się wtedy kodem wyjścia 3 (#1271).
  • Dokumenty w kolejce "Do wysłania", których nie da się zbudować z winy niepełnych danych firmy, dostają baner z przyczyną i przyciskiem "Otwórz dane firmy", a wysyłka rusza sama po uzupełnieniu danych przy następnej synchronizacji (#1278).
  • KSeFka v0.16.0

    Dodane


  • Szablon faktury dostaje pole "Termin płatności (dni)", a faktura z takiego szablonu startuje z terminem równym dacie wystawienia powiększonej o tę liczbę dni (granicę 120 dni zmienia ustawienie w Ustawienia → Faktury) (#1197).
  • Szablony faktur i faktury cykliczne przyjmują formę płatności "Inne" oraz pozycje innej metody płatności (PayPal, Revolut, Wise), a szablon dostaje pole "Opis płatności" podpowiadane z nazwy i identyfikatora pozycji (#1220, #1219).
  • Faktura wystawiana z zaznaczonym "Zapłacono" dostaje pole "Data zapłaty", domyślnie równe dacie wystawienia, więc do KSeF trafia prawdziwa data wpłaty zamiast daty wystawienia (#1222, #1219).
  • Szablon faktury dostaje ustawienie "Domyślnie zapłacona", a faktura wystawiona z takiego szablonu startuje z zaznaczonym "Zapłacono" i datą zapłaty równą dacie wystawienia (#1221, #1219).
  • Faktury otrzymane i wystawione poza KSeFką pokazują kod weryfikacyjny i link "Weryfikacja faktury w KSeF", liczone lokalnie z treści faktury, a ich PDF drukuje kod QR KSeF i numer KSeF jak faktura wysłana z aplikacji (#1196, #1204).

  • Poprawione


  • Ulica w adresie kontrahenta, firmy i podmiotu trzeciego jest opcjonalna, a bez niej pierwsza linia adresu (w XML-u dla KSeF, na PDF i w podglądzie faktury) to "miejscowość numer", jak adresuje Poczta Polska (#1229).
  • Podsumowanie kwotowe na pulpicie sumuje fakturę pierwotną i różnicę z jej korekty także przy korektach typu "w dacie pierwotnej" i "w innej dacie", zamiast pokazywać samą kwotę korekty (#1214, #1213).
  • Korekta wystawiana z podglądu faktury ("Więcej" → "Wystaw korektę") dostaje datę sprzedaży z faktury pierwotnej zamiast dzisiejszej, więc przy ustawieniu "miesiąc według daty sprzedaży" trafia do okresu faktury pierwotnej (#1215, #1213).
  • Korekta wystawiana z podglądu faktury przepisuje kurs waluty z faktury pierwotnej zamiast pobierać kurs NBP według daty korekty, a formularz pokazuje informację o przepisanym kursie i nie pobiera nowego po zmianie daty (#1216, #1213).
  • Odmowa KSeF (HTTP 429) przy pobieraniu UPO tuż po przyjęciu faktury pokazuje ostrzeżenie z czasem oczekiwania zamiast surowego błędu HTTP, a faktura pozostaje przyjęta z numerem KSeF (#1202, #1204).
  • KSeFka v0.15.1

    Poprawione


  • Synchronizacja z KSeF po przekroczeniu limitu zapytań (HTTP 429) zatrzymuje się do końca czasu oczekiwania zwróconego przez KSeF i pokazuje komunikat z liczbą minut do następnej próby zamiast surowego błędu technicznego (#1202, #1199).
  • Automat synchronizacji nie oferuje już interwału "Co 5 minut" w Ustawieniach, a zapisane wcześniej wartości poniżej 15 minut są traktowane jak 15 minut (#1202).
  • Produkt wybrany "Z katalogu" wchodzi na miejsce pustego pierwszego wiersza pozycji zamiast dopisywać się za nim, więc faktura złożona wyłącznie z produktów katalogu zapisuje się bez ręcznego kasowania pustego wiersza (#1201).

  • Dodane


  • Produkt w katalogu ze stawką zwolnioną przechowuje własną podstawę zwolnienia z VAT (typ podstawy i przepis), którą wnosi na fakturę zamiast podstawy użytej ostatnio w firmie (#1200).
  • KSeFka v0.15.0

    Poprawione


  • Etykieta stawki "n.p. (poza terytorium kraju)" nie nachodzi już na kwotę VAT w podglądzie faktury, bo wąskie kolumny pokazują teraz krótką etykietę taką jak na PDF, a pełną nazwę po najechaniu (#1162).
  • Dla pro-formy nie da się już wygenerować pliku XML w formacie FA(3), także przez CLI i MCP, a próba kończy się komunikatem odsyłającym do akcji "Otrzymano wpłatę" (#1143).
  • Adresy zagraniczne na PDF drukują się w porządku przyjętym w kraju odbiorcy (dla USA "123 Main Street, Apt 12"), a gdy którakolwiek strona faktury jest spoza Polski, pod każdym adresem stoi nazwa kraju (#1163).
  • Faktury uproszczone (paragon z NIP-em do 450 zł) wczytują się przy synchronizacji jako osobny typ "Uproszczona" zamiast znikać, a typ faktury w szczegółach ma czytelną nazwę zamiast surowego kodu ("VAT_CORRECTING", "RR") (#1176).
  • Jedna faktura, której aplikacja nie umie odczytać, nie zabiera już widoku całej listy faktur, pro-form i faktur cyklicznych, tylko zostaje na niej z podstawowymi danymi i ostrzeżeniem, czego nie dało się odczytać (#1181).
  • Faktura z formą płatności "Kompensata" przechodzi wysyłkę do KSeF, bo idzie jako "inna forma płatności" z opisem "Kompensata" zamiast z kodem nieznanym słownikowi FA(3), a forma "Inne" ma obowiązkowe pole "Opis płatności" (#1132).

  • Dodane


  • W sekcji "Konta bankowe" można dodać inną metodę płatności (PayPal, Revolut, Wise, ACH) z własną nazwą, identyfikatorem i opisem, wybierać ją na fakturze jak rachunek i drukować na PDF zamiast numeru rachunku, IBAN i SWIFT (#1160).
  • Kod pocztowy kontrahenta jest wymagany tylko dla adresu w Polsce, a dla adresu zagranicznego jest opcjonalny w formularzu kontrahenta, faktury i szablonu, przechodzi walidację KSeF i drukuje się na PDF bez pustego miejsca (#1161).
  • Formularz faktury, szablon, CLI i MCP oferują pełny słownik form płatności FA(3) z płatnością mobilną (BLIK, Google Pay, Apple Pay), bonem, czekiem i kredytem, a faktury otrzymane zachowują te formy przy synchronizacji zamiast spłaszczać je do "Inne" (#1132, #1112).
  • KSeFka v0.14.0

    Dodane


  • Na fakturze, w szablonie i w kartotece produktów można wybrać stawki VAT dla sprzedaży zagranicznej (`0% WDT`, `0% eksport`, `o.o.`, `n.p.`, `n.p. UE`) zamiast jednego `0%`, które KSeF czytał jako zero krajowe (#1140).
  • Walidacja sumy kontrolnej numeru rachunku bankowego i IBAN przy dodawaniu i edycji rachunku wykrywa od razu pomyłkę w jednej cyfrze i osobnym komunikatem odróżnia błąd formatu od błędu sumy kontrolnej (#1111).
  • Kolumna "VAT w PLN" w podsumowaniu VAT na PDF faktur walutowych pokazuje przeliczenie kwoty VAT na złote dla każdej stawki i w wierszu "Razem" (tylko gdy znany jest kurs) (#916).
  • Pełny słownik kodów krajów FA(3) w polu kraju kontrahenta i siedziby pozwala wyszukać kraj po nazwie albo kodzie ISO, więc kontrahentów z Kanady, Hongkongu, Wielkiej Brytanii czy Chin wybiera się wprost (#1115).

  • Poprawione


  • Faktura bez wybranego kontrahenta i bez wpisanego NIP zapisuje się poprawnie zamiast kończyć się błędem bazy, a dane kontrahenta wpisane ręcznie bez nazwy formularz odrzuca czytelnym komunikatem (#1151).
  • Faktury ze stawką 0% przechodzą wysyłkę do KSeF, bo podsumowanie VAT w XML trafia do właściwych pól schematu FA(3), a historyczne 7% i 22% nie lądują już w polach o innym znaczeniu prawnym (#971).
  • Narzędzie wiersza poleceń `ksefka-cli` działa na Linuksie z pakietu .deb, bo plik trafia do paczki z prawem uruchamiania (#1134).
  • Aplikacja nie ginie już przy starcie na Linuksie z sesją Wayland, bo zapamiętany rozmiar okna jest sprawdzany przed startem i zastępowany wymiarami domyślnymi, gdy wykracza poza rozsądek (#1106).
  • Okno nie otwiera się już większe, niż było przy zamykaniu, bo przy starcie jest przycinane do ekranu, na którym faktycznie ląduje (#1106).
  • Log startowy na Linuksie zapisuje, czy sesja graficzna to Wayland czy X11, zanim pojawi się okno, więc informacja przetrwa awarię przy starcie (#1106).
  • Baner nowej wersji w pasku bocznym pokazuje pod nagłówkiem pierwszą zmianę z danego wydania zamiast powtarzać numer wersji (#1128).
  • KSeFka v0.13.1

    Dodane


  • Kod QR do zapłaty faktury otrzymanej (PRO) w standardzie ZBP wyświetla się w szczegółach nieopłaconej faktury w PLN, a jeden skan w aplikacji banku wypełnia numer rachunku sprzedawcy, kwotę, tytuł i NIP odbiorcy (#1102).
  • Kod QR do zapłaty na PDF faktury wystawionej i pro-formy (PRO) w standardzie ZBP pojawia się w sekcji płatności obok danych do przelewu, po włączeniu dla firmy w Ustawieniach → Personalizacja (#1103).

  • Poprawione


  • Faktura za usługę opłaconą z góry nie wypada już poza swój miesiąc, bo w trybie "Data sprzedaży" okres rozliczeniowy wyznacza miesiąc tylko wtedy, gdy zamknął się najpóźniej w dniu wystawienia (#1109).
  • Foldery miesięczne w ZIP dla księgowej odpowiadają miesiącowi, w którym faktura jest widoczna w aplikacji, a data w nazwie pliku to nadal data wystawienia (#1116).
  • KSeFka v0.13.0

    Dodane


  • Faktury pro-forma mają własną zakładkę "Pro-formy" i numerację `PF/<nr>/<rok>`, akcja "Otrzymano wpłatę" przekształca je w fakturę VAT albo zaliczkową, a KSeF, JPK, pulpit i eksport ZIP dla księgowej ich nie widzą (#955, #915).
  • CLI dostaje podkomendy `proforma list|get|create|convert|cancel`, a serwer MCP narzędzia do pro-form (`list_proformas`, `get_proforma`, `create_proforma`, `convert_proforma`, `cancel_proforma`), więc asystent może wystawić pro-formę i przekształcić ją w fakturę po wpłacie (#1093).

  • Zmienione


  • Kwoty w oknach wyboru faktur zaliczkowych i korygujących, w wyszukiwarce produktów, na liście produktów oraz w szczegółach faktury cyklicznej są formatowane po polsku — przecinek dziesiętny i symbol waluty (np. "1234,56 zł" zamiast "1234.56 PLN"), a od 10 000 również separator tysięcy (#1059, #1060).
  • Potwierdzenie usunięcia faktury cyklicznej korzysta ze spójnego okna aplikacji (obsługuje tryb ciemny, pokazuje stan trwania operacji, przy błędzie pozwala ponowić) zamiast natywnego okna systemowego (#1059, #1060).
  • Serwer MCP wskazuje asystentowi dokumentację użytkownika, więc pytania o działanie funkcji KSeFki są odpowiadane z dokumentacji zamiast zgadywane (#1052, #1053).
  • KSeFka v0.12.0

    Dodane


  • Faktury korygujące z pozycjami „przed korektą / po korekcie" (metoda StanPrzed wg Podręcznika KSeF 2.0 §2.13.4) (#1039).
  • Zbiorcze oznaczanie faktur jako niezapłacone i nieprzeczytane (#1041).
  • Uwierzytelnianie i synchronizacja działają w kontekście jednostki podrzędnej (IDWew, format NIP-XXXXX) ustawionej per firma w Ustawieniach, gdy token lub certyfikat KSeF wystawiono na identyfikator wewnętrzny, a synchronizacja pobiera tylko faktury tej jednostki (#1018).

  • Zmienione


  • Pasek akcji zbiorczych ukrywa nieaktywne przyciski, a zaznaczenie pozostaje po wykonaniu akcji (poza usuwaniem) (#1041).

  • Poprawione


  • Filtr jednostki wewnętrznej (IDWew) obejmuje teraz również sprzedaż, więc faktury wystawione oznaczone IDWew innej jednostki (Podmiot3 w roli wystawcy) są ukrywane, a faktury bez oznaczenia jednostki pozostają widoczne (#1032).
  • KSeFka v0.11.0

    Dodane


  • Filtr faktur zakupu po jednostce wewnętrznej nabywcy (Podmiot3 "Odbiorca" / IDWew), ustawiany per firma, ogranicza listę faktur, liczniki i podsumowania do zakupów wybranej placówki dla firm z kilkoma placówkami na jednym NIP (#1020).
  • Globalne ustawienie daty przypisania faktury do miesiąca — wybór między datą wystawienia a datą sprzedaży (#986).
  • Ustawienia → Prywatność: reset anonimowego identyfikatora użycia (#1005).
  • Przypomnienie o braku terminu płatności przy pierwszym zapisie nowej faktury wystawionej — łagodne potwierdzenie z opcją "Nie pytaj ponownie" (#1004).

  • Zmienione


  • Sprawdzanie aktualizacji odpytuje teraz najpierw `ksefka.com` (anonimowy, zerowalny identyfikator instalacji, bez adresu IP) — zliczanie aktywnych instalacji (#1005).

  • Poprawione


  • Numeracja faktur — druga i kolejna faktura w nowym miesiącu nie kontynuuje już sekwencji z poprzedniego miesiąca (np. po `017/05` czerwiec dawał `018/06` zamiast `002/06`) (#1003).
  • Pole "Typ" w oknie zgłaszania feedbacku pokazuje etykietę zamiast surowej wartości (#1002).
  • Import faktury z XML — dla faktur walutowych VAT 0% bez kursu umownego kurs jest prefillowany z `FaWiersz/KursWaluty`, więc zapis nie jest już blokowany (#996).
  • Faktury z okresem dostawy (`OkresFa`) zamiast pojedynczej daty sprzedaży trafiają teraz do właściwego miesiąca — w trybie „Data sprzedaży" przypisanie korzysta z końca okresu (`P_6_Do`) zamiast wpadać na datę wystawienia (#1000).
  • Stan zwinięcia miesięcy na liście faktur jest zapamiętywany per firma (#1015).
  • Pulpit — podsumowanie miesięczne uwzględnia teraz lokalne faktury otrzymane w sumie kwotowej (#993).
  • KSeFka v0.10.1

    Poprawione


  • Opcjonalny tryb "Rozdzielaj firmy po nazwie" (zakładka Firmy) kieruje każdą fakturę do jednego profilu, więc faktury nie duplikują się już między firmami o tym samym NIP, a istniejące duplikaty porządkuje się na żądanie (#981, #987).
  • Przywracanie faktur z backupu nie kończy się już błędem bazy ("65 values for 66 columns"), a faktury z archiwum są znów poprawnie zapisywane (#988, #990).
  • KSeFka v0.10.0

    Dodane


  • Eksport pliku przelewu w formacie SEPA (pain.001.001.03) dla faktur w walucie EUR (#977, #979).
  • Eksport pliku przelewu w formacie podzielonej płatności (MPP / split payment) Elixir (#975, #976).

  • Poprawione


  • Migracje bazy danych przy aktualizacji przebudowują tabele z wyłączonym egzekwowaniem kluczy obcych i końcową weryfikacją integralności, więc na zapełnionej bazie nie dochodzi do kaskadowego usunięcia powiązanych danych (pozycji faktur, załączników) (#973, #982).
  • KSeFka v0.9.0

    Dodane


  • Eksport pliku przelewu bankowego w formacie Elixir-0 dla faktur otrzymanych — gotowy plik do wczytania w bankowości elektronicznej (#965, #967).

  • Poprawione


  • Synchronizacja KSeF — faktury w walucie obcej z zerowym kursem (`KursWaluty = 0` jako placeholder) nie blokują już synchronizacji (#968, #972).
  • Unikalność numeru KSeF (`invoices.ksef_number`) jest teraz ograniczona do pary `(company_id, ksef_number)` — ten sam numer może wystąpić w różnych firmach (#969, #974).
  • Linki do faktur powiązanych otwierają widok szczegółów zamiast edycji (#963, #964).
  • KSeFka v0.8.1

    Dodane


  • Trwałe przechowywanie tokenów licencji PRO w Postgres (Neon) na backendzie strony (#944, #945).

  • Poprawione


  • Synchronizacja KSeF — faktury z zerowym kursem waluty (`FaWiersz/KursWaluty = 0`, częsty placeholder na fakturach w PLN) nie blokują już całej synchronizacji; kurs 0 jest traktowany jako brak kursu, a kurs ujemny pozostaje błędem (#949, #946).
  • Synchronizacja KSeF — faktury bez podsumowania VAT (`P_13_X`) przy dodatnim `P_15` są teraz pobierane: podsumowanie VAT jest rekonstruowane z pozycji faktury, a gdy brak danych do rekonstrukcji — faktura zapisywana jest z samym brutto, zamiast blokować synchronizację (#950, #946).
  • KSeFka v0.8.0

    Dodane


  • Wiele rachunków bankowych (do 2) na fakturze, w szablonie i przy korekcie — z prefillem przy tworzeniu z szablonu i kopiowaniu/korekcie (#921, #923).
  • Osobna numeracja (opt-in) dla faktur korygujących — własna pula `FKOR/{YYYY}/{MM}/{NNN}` zamiast wspólnego ciągu z fakturami regularnymi (#892).
  • Tryb "w stu" (od ceny brutto) per pozycja faktury i szablonu — toggle Net/Br przy cenie jednostkowej, back-derywacja netto z targetowego brutto (#898).

  • Poprawione


  • PDF pokazuje flagi JST/GV nabywcy pod blokiem nabywcy, gdy są ustawione na TAK, etykieta "Waluta" zmienia się na "Kod waluty", a synchronizacja faktur otrzymanych nie zapisuje już tych flag zawsze jako `false` (#891).
  • Przycisk "Wystaw korektę" i picker pokazują tylko faktury kwalifikujące się jako oryginał (`direction='issued'`, status KSeF `pending`/`accepted`/`synced`), a backend waliduje to też przy tworzeniu (#909).
  • Korekta — prefill zachowuje dosłowne brutto oryginału (przełącza linię w tryb "w stu" gdy wykryje rozbieżność ≥0,005), nawet jeśli oryginał miał inne zaokrąglenie niż KSeFka by sama wyliczyła (#899).
  • Re-edycja draftu z pozycją w trybie "w stu" — pole "Cena brutto" wypełnia się po ponownym otwarciu (seed `wStuTargets` reaguje teraz na zmiany identyczności wierszy) (#899).
  • Pulpit pomija w sumach kwotowych oryginał faktury, gdy istnieje aktywna korekta typu 1 lub 3 (`ksef_status ∈ {accepted, synced}`), także wstecz między miesiącami i tranzytywnie A → B → C (#902).
  • Licznik "Następny NNN" numeru faktury inkrementuje się przy zatwierdzeniu wysyłki, potwierdzeniu KSeF lub synchronizacji, przy nieudanej wysyłce nie rusza, a drafty współdzielą sugerowany numer (#894).

  • Zmienione


  • Multi-account cleanup: zrzucono legacy kolumny `invoices.bank_*` i `invoice_templates.bank_account_id` (migracja 055), wszystkie ścieżki używają już tylko `invoice_bank_accounts` / `template_bank_accounts`, a backup szablonów round-trip-uje pełną listę rachunków (#929).
  • Pulpit liczy sumy kwotowe tylko z faktur o `ksef_status ∈ {accepted, synced}`, pomijając drafty, ready_to_send, sending, pending, rejected i lokalne, a liczniki dokumentów zostają bez zmian (#906).
  • Sugestia numeru w formularzu skacze za fakturami wysłanymi do KSeF i ignoruje drafty, a modal duplikatów dostał trzeci przycisk "Użyj następnego: <X>" (#894).
  • KSeFka v0.7.0

    Dodane


  • Panel „Odzyskiwanie synchronizacji" w Ustawienia → KSeF: ręczne cofnięcie znacznika synchronizacji o 1, 7, 30 dni lub do dowolnej daty (Wybierz datę...) — pozwala ponownie pobrać faktury, które nie zapisały się przy poprzedniej synchronizacji (#850)
  • Webhook HTTP PRO dla nowych faktur otrzymanych z synchronizacji KSeF: Ustawienia → Integracje → URL endpointu (n8n, Make, Zapier, własny serwer) + przycisk „Wyślij testowy event"; payload JSON zawiera `invoice_id`, `ksef_reference_number`, `sync_timestamp`, pełny XML FA(3); nagłówek `X-KSeFka-Event-Type: invoice:received-from-sync` (#884, #886)
  • Event log JSONL PRO dla nowych faktur otrzymanych z synchronizacji KSeF: Ustawienia → Integracje → ścieżka pliku + toggle włączenia; każde zdarzenie dopisywane jako jedna linia JSON (NDJSON) — konsumowalne przez `tail -f`, n8n Watch File, fswatch, własne skrypty; przycisk „Wyczyść plik" do truncate (#884, #887)

  • Poprawione


  • Synchronizacja KSeF: nieudany zapis pojedynczej faktury do bazy nie powoduje już pominięcia jej w kolejnych synchronizacjach inkrementalnych — `last_sync_at` przesuwa się dopiero gdy cały cykl zakończy się czysto (#850)
  • MCP `create_invoice` akceptuje i zapisuje pola `payment_date` oraz `payment_description` (wcześniej były cicho wyrzucane przez deserializację); doc narzędzia rozdziela semantykę `is_paid` (XML Zaplacono=1) od `internal_is_paid` (ustawiane przez `mark_invoice_paid`) (#845)
  • Uwierzytelnianie KSeF wybiera certyfikat typu Authentication zamiast preferować najnowszy aktywny — po wgraniu certyfikatu Offline aplikacja nie próbuje już używać go do logowania (KSeF zwracał błąd 21115); firma z samym certyfikatem Offline nie kwalifikuje się też do background sync (#862)
  • KSeFka v0.6.0

    Dodane


  • Masowy eksport do ZIP (PDF + XML + załączniki) dla faktur zagranicznych spoza KSeF (#832)
  • Filtr "Poza KSeF" na liście faktur + flaga CLI `--only-outside-ksef` (#831, #834)
  • Załączniki w modelu PRO: pierwszy do faktury otrzymanej FREE, reszta PRO (#337, #830)
  • Filtry "Niezapłacone" i "Poza KSeF" jako przyciski toggle zamiast checkboxów (#837, #839)
  • Kafelki Pulpitu (Wystawione, Otrzymane, Szkice, Do wysłania) ograniczone do bieżącego miesiąca (#835, #838)
  • Drugi CTA "Wersja PRO" w Hero landing page obok "Pobierz za darmo" (#841)
  • Endpoint `/healthz` jako static file na landing page (#836, #840)
  • Per-route SEO metadata dla prerenderowanych stron landing page (#844)
  • Audit log transakcji zakupu PRO w Neon Postgres (#826, #828)
  • Komenda `just site-deploy` do publikacji landing page na produkcję

  • Poprawione


  • Automatyczny kurs NBP dla ręcznie wprowadzonych faktur walutowych — zliczane teraz w PLN na Pulpicie (#814, #815)
  • Filtr "Niezapłacone" uwzględnia `is_paid` z KSeF (#819)
  • KSeFka v0.5.0

    Dodane


  • Personalizacja faktury dla użytkowników PRO (#752)
  • Personalizacja UI KSeFki dla użytkowników PRO (#809)
  • Zapamiętywanie ostatnio użytego powodu zwolnienia z VAT per firma (#790)

  • Poprawione


  • Telefon firmy z ustawień jest teraz renderowany na fakturze PDF pod adresem email — wcześniej pole było zbierane, ale nigdy nie trafiało na dokument (#752)
  • Synchronizacja w tle obejmuje wszystkie firmy z poświadczeniami KSeF, nie tylko aktualnie wybraną (#585)
  • Cały kafelek powiadomienia o aktualizacji jest klikalny (#783)
  • Logi diagnostyczne do rozwiązywania problemów z synchronizacją (#808)
  • KSeFka v0.4.8

    Dodane


  • Narzędzia MCP `get_environment` i `switch_environment` — sesyjne odczytanie i przełączenie aktywnego środowiska KSeF (test/demo/production) bez restartu klienta MCP (#800, #801)
  • Narzędzia MCP `list_companies` i `switch_company` — listowanie firm w aktywnym środowisku i sesyjne przełączanie aktywnej firmy bez restartu klienta MCP (#802, #803)
  • Akceptacja aliasu `EU_VAT` dla `tax_id_type` w narzędziu MCP `create_invoice` (kanoniczna wartość pozostaje `VAT_EU`) (#800)
  • Dwujęzyczne opisy narzędzi MCP (angielski + polski) — zapytania w języku polskim poprawnie wyszukują narzędzia przez `tool_search` (#804, #805)

  • Poprawione


  • Lista faktur i statystyki odświeżane po utworzeniu faktury przez MCP bez konieczności ręcznego odświeżenia (#805)
  • KSeFka v0.4.7

    Dodane


  • Wysyłanie faktur e-mailem (SMTP) z konfiguracją per firma (#780, #792)
  • Typ identyfikatora IDWew (identyfikator wewnętrzny) dla Podmiot3 z walidacją formatu (#791, #794)
  • Combobox z podpowiedziami dla podstawy zwolnienia z VAT (#785, #787)
  • Narzędzia MCP do faktur cyklicznych (#630, #778)
  • Generowanie PDF w języku niemieckim (#769, #775)
  • Komenda CLI `ksefka export` do eksportu faktur jako PDF i/lub XML (PRO) (#633)
  • Narzędzie MCP `export_invoice` z parametrami id, format, language, output_dir (#633)

  • Poprawione


  • Zapamiętywanie pozycji i rozmiaru okna przy resize/move z debounce (#776, #781)
  • Checkbox "Zaplacona" ukryty gdy faktura oznaczona jako opłacona w KSeF (#767)
  • KSeFka v0.4.4

    Poprawione


  • Synchronizacja faktur korygujących (KOR) z KSeF: obsługa elementu `StanPrzed` — pary wierszy przed/po korekcie z tym samym `NrWierszaFa` nie powodują już błędu UNIQUE constraint (#751)
  • Deterministyczne sortowanie wierszy korekty: wiersze „przed" zawsze wyświetlane przed wierszami „po" (`ORDER BY line_number, is_before_correction DESC`)
  • Logowanie ostrzeżeń przy nieoczekiwanych wartościach `StanPrzed` zamiast cichego domyślnego `false`
  • Walidacja XSD: nowy test dla faktury korygującej z `StanPrzed` (TypKorekty=2)
  • KSeFka v0.4.3

    Poprawione


  • PDF z KSeF: pole „Uwagi" (notes) pojawia się w PDF — emitowane jako `DodatkowyOpis` w XML FA(3) (#753)
  • PDF z KSeF: kod QR weryfikacyjny pojawia się w PDF — przekazanie `qr_code_url` do generatora (#753)
  • PDF z KSeF: naprawiony layout sekcji QR — tekst i link nie są ucięte (#753)
  • Backward sync: `DodatkowyOpis` z kluczem „Uwagi" parsowany z powrotem do pola `notes` faktury
  • KSeFka v0.4.2

    Dodane


  • Walidacja XSD wygenerowanego XML faktur w testach — 16 fixture'ów pokrywających różne scenariusze (standardowa, korekta, zaliczka, marża, waluta obca, itp.) (#740, #745)

  • Poprawione


  • XML: stawki „oo" i marży nie emitują P_14_10/P_14_11 (nie istnieją w XSD FA(3))
  • XML: `DaneFaKorygowanej` emituje wymagane elementy `NrKSeF`/`NrKSeFN` (choice w XSD)
  • XML: `PMarzy` emituje wymagany znacznik `P_PMarzy=1` przed konkretnym typem marży
  • KSeFka v0.4.0

    Dodane


  • Ostrzeżenie o przeszłej dacie wystawienia przy wysyłaniu faktury do KSeF — dialog z opcją zmiany daty na dzisiejszą (#727)
  • Tworzenie faktury z pliku XML — przycisk "Utwórz z XML" i parsowanie FA(3) (#724)
  • Akcja grupowa "Ustaw jako zapłacone" na liście faktur

  • Zmienione


  • Oznaczenie niezapłaconych/nieprzeczytanych faktur na liście zmienione na border-left
  • Skrócone nazwy przycisków akcji grupowych

  • Poprawione


  • Lepszy komunikat błędu certyfikatu/uwierzytelniania gdy brak aktywnej firmy (#730)
  • Walidacja formatu daty w `update_invoice_issue_date`
  • Surfacowanie ostrzeżeń o brakach w XML do użytkownika
  • Logowanie błędów `try_get(nip)`, surfacowanie błędów DB w warnings
  • Ostrzeżenie przy częściowej aktualizacji batch
  • Windows: uruchamianie GUI bezpośrednio zamiast przez niezarejestrowaną komendę
  • KSeFka v0.3.0

    Dodane


  • Eksport i import danych firmy jako `.tgz` — do backupu albo przeniesienia na inny komputer (#467)
  • Status zapłaty na fakturach: pole w formularzu, checkbox w szczegółach, czerwone tło niezapłaconych na liście, filtr „Tylko niezapłacone"
  • Faktury `ready_to_send` wysyłają się same po każdym syncu z KSeF
  • Sync KSeF odpala się od razu po przełączeniu środowiska, nie trzeba czekać na timer (#373)
  • Faktury cykliczne wymagają licencji PRO (#610)
  • CLI: `mark-paid` / `mark-unpaid`, filtr `--invoice-type` w `list-invoices` (#638), obsługa duplikatów (#632)
  • MCP: `mark_invoice_paid`
  • Import z KSeF odczytuje kurs VAT (`KursWaluty`) z wierszy faktur walutowych (#462)

  • Poprawione


  • **Windows (BREAKING):** Binary zmienione z `KSeFka.exe` na `ksefka-app.exe` — naprawia pętlę uruchamiania przy instalacji CLI (#687). **Trzeba przeinstalować.**
  • **Windows:** Instalator dodaje katalog do `PATH` — CLI działa z każdego terminala (#687)
  • **Windows:** Otwieranie PDF przez plugin Tauri zamiast ręcznego kodu per-platforma
  • Sync wsteczny nadpisywał datę HWM ustawioną przez sync do przodu (#698)
  • Brakujące kolumny JST/GV w bazie — migracja naprawcza (#685)
  • XML: `<Zaplacono>` i `<DataZaplaty>` nie były emitowane; `DataZaplaty` jest wymagane gdy `Zaplacono=1`
  • PDF pokazuje rzeczywistą wersję aplikacji zamiast starej
  • CLI: `--from-nip` nie uzupełniał REGON i kodu kraju z GUS (#628)
  • Kopiowanie faktury i tworzenie korekt gubiło status zapłaty
  • KSeFka v0.2.2

    Dodane


  • Komendy CLI do zarządzania katalogiem produktów: `list-products`, `get-product`, `create-product`, `update-product`, `delete-product` z podwójnym wejściem (flagi lub `--from-json`) (#624)
  • Narzędzia MCP: `list_products`, `get_product`, `create_product`
  • Komendy CLI `finalize-invoice` i `unfinalize-invoice` do zatwierdzania/cofania faktur do wysyłki KSeF (#625)
  • Flaga `--finalize` na `create-invoice` — tworzenie i zatwierdzenie jednym krokiem
  • Narzędzia MCP: `finalize_invoice`, `unfinalize_invoice`
  • Walidacja produktów: stawka VAT, niepusta nazwa, zakres rabatu 0–100%, zaokrąglanie cen
  • Ochrona przed wielokrotnym uruchomieniem aplikacji (`single-instance`) (#639)
  • Obsługa typu faktury `KOR_ROZ` (korekta rozliczeniowej) — sync z KSeF, XML, PDF, formularz (#649)
  • Podmiot3 (dodatkowe podmioty) na fakturach — zwijana sekcja w formularzu, generowanie XML, parsowanie z KSeF, kopiowanie/szablony (#651)
  • Flagi JST/GV na kontrahentach — dynamiczne generowanie w Podmiot2 XML zamiast hardcoded „2" (#652)
  • Komendy CLI `get-contractor`, `create-contractor`, `update-contractor` z flagami `--is-jst`/`--is-gv`
  • Narzędzia MCP: `create_contractor`, `update_contractor`

  • Poprawione


  • Korekta faktury zaliczkowej generuje `KOR_ZAL` zamiast `KOR` w XML (#648)
  • Kurs waluty na fakturze korygującej przepisywany z faktury pierwotnej zgodnie z art. 31b ustawy o VAT (#658)
  • Finalizacja faktur z kontrahentem inline (bez zapisu do bazy kontrahentów) działa poprawnie
  • KSeFka v0.2.1

    Dodane


  • Obsługa faktur korygujących — wystawianie, walidacja numeru KSeF, automatyczne ładowanie pozycji, szczegóły korekty na PDF (#529)
  • Komenda CLI `ksef-authorize` do zapisu tokenu autoryzacyjnego KSeF (#642)
  • Narzędzie MCP `ksef_authorize` do zapisu tokenu KSeF z poziomu AI

  • Poprawione


  • Przycisk „Synchronizuj KSeF" pojawia się gdy skonfigurowany jest token LUB certyfikat (wcześniej tylko certyfikat)
  • KSeFka v0.2.0

    Dodane


    Uwierzytelnianie certyfikatem


  • Wgrywanie certyfikatu KSeF z pliku (.p12/.pfx) zamiast automatycznego generowania (#440)
  • Uwierzytelnianie XAdES z podpisem certyfikatu — jedyna metoda logowania do KSeF
  • Szyfrowanie tokenów zapisanych na dysku algorytmem AES-256-CBC (#440)

  • Wysyłka faktur


  • Status „Gotowa do wysyłki" (ready_to_send) z akcjami finalizacji i cofnięcia finalizacji (#524)
  • Kod QR OFFLINE na PDF-ach faktur gotowych do wysyłki (#525)
  • Wykrywanie awarii KSeF z automatycznym wysyłaniem kolejki po przywróceniu usługi

  • Faktury


  • Obsługa faktur zaliczkowych — powiązanie z fakturą rozliczeniową z automatycznym odliczeniem i przeliczeniem walut (#465, #601)
  • Tworzenie faktur cyklicznych na podstawie istniejącej faktury, dzięki PiotrK (#546)
  • Kopiowanie faktury jako nowej — „Więcej → Utwórz nową na podstawie" w widoku szczegółów, dzięki PawełB (#578)

  • Parsowanie XML


  • Parsowanie i zapis wszystkich pól FA(3) z pobranych faktur (płatność, adnotacje, metadane)
  • Parsowanie kwot brutto (P_9B/P_11A) w pozycjach faktur (#538)
  • Rozpoznawanie statusu „Zapłacono" z XML-a zsynchronizowanych faktur (#399)
  • Jednorazowy backfill pól dla wcześniej zsynchronizowanych faktur

  • CLI i MCP


  • Narzędzie CLI do odczytu bazy danych z wiersza poleceń (#310)
  • Serwer MCP do integracji z AI (ChatGPT, Claude Desktop, itp.) (#312)
  • Automatyczna aktualizacja CLI po aktualizacji aplikacji (#426)
  • CLI bundlowany jako sidecar Tauri z UI instalacji/deinstalacji (#414)
  • 3-dniowy trial PRO dla CLI (#418)
  • Sprawdzanie licencji PRO w komendach CLI

  • Licencja PRO


  • Infrastruktura licencji PRO (#387)

  • Interfejs użytkownika


  • Załączniki plików dla faktur otrzymanych (#447)
  • Skróty klawiszowe do nawigacji i akcji (#371)
  • Przycisk szybkiej synchronizacji na liście faktur (#397)
  • Kafelki dashboardu klikalne — przejście do filtrowanej listy faktur
  • Filtr statusu w pasku wyszukiwania faktur
  • Kolumny tabeli faktur z możliwością zmiany szerokości (#464)
  • Ukrywanie pola konta bankowego dla metod płatności bez przelewu (#363)
  • Obcinanie długich nazw pozycji z tooltipem po najechaniu
  • Ukrywanie kolumny Rabat gdy nieużywana
  • Kafelkowy układ szczegółów faktury — pozycje na pełną szerokość
  • Ostrzeżenie o zapłacie z numerem faktury w szczegółach
  • Status „Lokalny" dla faktur otrzymanych (#490)
  • Zwijane adnotacje i puste stany na dashboardzie (#474)
  • Subtelne animacje wejścia i mikrointerakcje przy hover

  • Inne


  • Zmiana identyfikatora aplikacji z `pl.zalun.ksefka` na `pl.nod.ksefka` z automatyczną migracją danych
  • Domyślne środowisko KSeF ustawione na produkcję (#384)
  • Trwałe przechowywanie UPO w osobnej tabeli (#374)

  • Poprawione


  • Przełączanie środowisk test/produkcja trwa natychmiastowo zamiast do minuty (#598)
  • Dashboard odświeża statystyki po usunięciu, edycji i tworzeniu faktur (#515)
  • Podwójne ostrzeżenie o środowisku testowym przy przełączaniu (#596)
  • Cache XML czyszczony przy zapisie faktury — edycje odzwierciedlane w KSeF (#600)
  • Formularz faktury z szablonu nie resetuje pól kontrahenta edytowanych ręcznie (#575)
  • Automatyczny numer faktury czyszczony przy zmianie kierunku na „Otrzymana" (#493)
  • Widok faktury rozciąga się na pełną szerokość okna
  • Przycisk „Przeładuj z XML" zamiast mylącego „Pobierz ponownie z KSeF"

  • Zmienione


  • Ustawienia przeniesione do paska narzędzi jako przycisk z ikoną
  • Kolejność zakładek faktur: Wszystkie → Wystawione → Otrzymane
  • KSeFka v0.1.3

    Zmienione


  • Wsparcie dla Intel Mac (x86_64) w procesie wydawania — osobne natywne binaria dla Apple Silicon i Intel (#338)
  • Strona pobierania pokazuje dwa przyciski macOS (Apple Silicon / Intel) z automatycznym wykrywaniem architektury
  • Wzmocnione zabezpieczenia workflow: walidacja artefaktów, `latest.json` publikowany jako ostatni krok
  • Skill do automatyzacji wydawania nowych wersji
  • KSeFka v0.1.0

    Pierwsza publiczna wersja KSeFka.

    Dodane


  • Integracja z KSeF (Krajowy System e-Faktur) — synchronizacja, wysyłka, pobieranie faktur
  • Zarządzanie firmami z obsługą wielu firm i środowisk (test/demo/produkcja)
  • Tworzenie i edycja faktur z pełnym wsparciem schematu FA(3)
  • Generowanie PDF z kodem QR i metadanymi KSeF
  • Generowanie XML zgodnego ze schematem FA(3) do wysyłki do KSeF
  • Zarządzanie kontrahentami z wyszukiwaniem NIP przez GUS BIR1
  • Zarządzanie kontami bankowymi z obsługą IBAN/SWIFT
  • Synchronizacja przyrostowa i wsteczna z KSeF
  • Automatyczna synchronizacja w tle z konfigurowalnymi ustawieniami
  • Obsługa walut obcych z automatycznym kursem NBP
  • Szablony faktur (zapisywanie i stosowanie)
  • Wyszukiwanie faktur z filtrami syntaktycznymi
  • Akcje grupowe na fakturach (PDF, oznacz jako przeczytane)
  • Dashboard ze statystykami i podsumowaniem miesięcznym
  • Panel powiadomień z historią
  • Ciemny motyw z obsługą motywu systemowego
  • Skalowanie rozmiaru czcionki (Cmd+/Cmd-/Cmd+0)
  • Automatyczne aktualizacje przez GitHub Releases
  • Formularz opinii i zgłaszania błędów
  • Podpisywanie kodu i notaryzacja macOS