Dokumentacja

Przewodnik po aplikacji KSeFka

CLI — interfejs wiersza poleceń#

KSeFka dostarcza CLI (ksefka) do zarządzania fakturami, kontrahentami i danymi bezpośrednio z terminala lub skryptów. Większość komend wymaga licencji PRO (bez niej działają m.in. status, authorize i lista produktów). Każda instalacja ma 30 dni okresu próbnego, wspólnego z aplikacją i MCP; rusza przy pierwszym uruchomieniu aplikacji albo pierwszej komendzie CLI.

Instalacja#

CLI jest dołączone do instalatora KSeFka, ale nie włącza się samo. Otwórz Ustawienia → CLI i kliknij "Zainstaluj CLI" — dopiero wtedy polecenie ksefka pojawia się w terminalu. Na Windows instalator aplikacji dodaje katalog instalacji do zmiennej PATH, więc nic więcej nie trzeba ustawiać.

Kolejne wersje CLI aplikacja podmienia sama, o ile CLI jest już zainstalowane.

Weryfikacja instalacji:

ksefka --version

Opcje globalne#

OpcjaOpis
--env <środowisko>Środowisko KSeF: test, demo, production (domyślnie: production)
--company <nip>NIP firmy, gdy masz skonfigurowanych kilka firm
--helpWyświetl pomoc dla komendy

Jak znaleźć pomoc#

Każda komenda ma wbudowaną dokumentację:

ksefka --help                    # lista wszystkich komend
ksefka <komenda> --help          # szczegóły konkretnej komendy

Komendy#

KomendaOpis
Faktury
list-invoicesLista faktur z filtrowaniem
get-invoiceSzczegóły faktury z pozycjami
create-invoiceUtwórz fakturę z pliku JSON lub stdin
finalizePrzenieś fakturę roboczą do stanu "gotowa do wysłania"
unfinalizeCofnij finalizację faktury do wersji roboczej
copy-invoiceSkopiuj fakturę jako nowy szkic z dzisiejszą datą
openOtwórz fakturę w aplikacji desktopowej
payment-fileWygeneruj plik przelewów (Elixir-0) dla faktur otrzymanych — PRO, 1 darmowy eksport
Kontrahenci
list-contractorsLista kontrahentów z wyszukiwaniem
get-contractorSzczegóły kontrahenta
create-contractorDodaj kontrahenta z pliku JSON lub stdin
update-contractorZaktualizuj dane kontrahenta
delete-contractorUsuń (dezaktywuj) kontrahenta
Produkty
list-productsLista produktów/usług z katalogu
get-productSzczegóły produktu
create-productDodaj produkt do katalogu — flagi --vat-exemption-reason-type i --vat-exemption-reason zapisują podstawę zwolnienia przy stawce zw.; dostępne też w update-product
Raporty
monthly-summaryPodsumowanie miesięczne (przychody/koszty)
dashboard-statsStatystyki bieżącego miesiąca
Inne
mcpUruchom serwer MCP (stdio)

Wejście JSON#

Komendy tworzące obiekty (np. create-invoice, create-contractor) przyjmują dane jako:

# z pliku
ksefka create-invoice --file faktura.json

# ze stdin (pipe)
cat faktura.json | ksefka create-invoice --file -

# lub przekierowanie
ksefka create-invoice --file - < faktura.json

Strukturę JSON znajdziesz w pomocy komendy: ksefka create-invoice --help.

Kody wyjścia#

Komendy zwracają wynik jako JSON na stdout, w polu data. Skrypt rozpoznaje, co się stało, po kodzie wyjścia:

  • 0 — komenda wykonała pracę w całości
  • 1 — komenda nie wykonała pracy; na stdout zamiast data jest { "error": "..." }
  • 2 — błędne wywołanie (nieznana flaga, brak argumentu); opis na stderr, nic na stdout
  • 3 — komenda wykonała część pracy. Wynik jest na stdout jak przy kodzie 0, a podsumowanie problemów na stderr. Obecnie tak kończy się tylko process-recurring, gdy choć jeden harmonogram został bez faktury: data zawiera wynik każdego harmonogramu, obok są liczniki generated_count i failed_count, a stderr wymienia nieudane harmonogramy z powodem.
# cron: alarm, gdy process-recurring nie wykonał pracy albo któryś harmonogram został bez faktury
ksefka process-recurring > /tmp/cykliczne.json || echo "process-recurring: kod $?" | mail -s "KSeFka" ja@firma.pl