KSeF → CSV → Optima: automatyczny pipeline faktur kosztowych dla biur rachunkowych

Opublikowano: 1 czerwca 2026 · Czas czytania: 9 min

Schemat pipeline KSeF do CSV do Optima — automatyczny import faktur kosztowych

W skrócie

  • Problem: Wbudowane importy KSeF w programach księgowych mają ograniczone pola i wymagają osobnego logowania per klient. Optima nie importuje numeru KSeF, GTU ani waluty oryginalnej.
  • Rozwiązanie: Automatyczny CSV z KSeF Import z pełnym zestawem 22 pól, gotowy do importu w Optimie, Symfonii, wFirmie i Insert.
  • Efekt: 200 faktur kosztowych w Optimie w 5 minut zamiast ręcznego wklepywania. Jeden plik per klient per miesiąc.
  • Dla kogo: Biura rachunkowe obsługujące 5-20 firm w Optimie, Symfonii lub wFirmie, które szukają szybszego sposobu na import faktur z KSeF.

Twoja Optima ma wbudowany import KSeF. Ale czy importuje WSZYSTKO, czego potrzebujesz? Numer KSeF, oznaczenia GTU, walutę oryginalną, pełne opisy pozycji? W większości przypadków odpowiedź brzmi: nie. A jeśli obsługujesz 10 klientów, to 10 razy logujesz się do KSeF, 10 razy otwierasz inną bazę Optimy, 10 razy klikasz "Importuj". Przy 20 klientach — to połowa dnia.

Jest szybszy sposób: automatyczny CSV z KSeF Import, który zawiera wszystkie pola z XML FA(3), gotowy do importu jednym kliknięciem. Jeden plik, wszystkie dane, 5 minut na klienta. Jeśli obsługujesz 20 klientów, sprawdź jak zarządzać 20 NIPami z jednego panelu.

Co potrafi wbudowany import KSeF w Optimie — i czego nie potrafi

Comarch Optima od wersji 2024.1 oferuje natywną integrację z KSeF. Wygląda obiecująco — do momentu, gdy porównasz to z tym, czego naprawdę potrzebujesz w codziennej pracy biura rachunkowego:

  • Pobiera faktury po zalogowaniu certyfikatem klienta
  • Tworzy dokumenty w rejestrze VAT automatycznie
  • Wymaga osobnego logowania per baza klienta — 20 klientów = 20 sesji
  • Nie wszystkie pola XML mapowane (zależy od wersji Optimy i licencji)
  • Brak batch processing wielu klientów naraz — każdą bazę otwierasz osobno
  • Optima musi być otwarta na danej bazie klienta w momencie importu
  • Numer KSeF trafia jako atrybut, nie jako widoczne pole w rejestrze
  • GTU, waluta oryginalna, pełne opisy pozycji — często pomijane lub obcinane

Dla jednego klienta z 20 fakturami miesięcznie — wbudowany import wystarcza. Dla biura rachunkowego z 10-20 klientami — to wąskie gardło, które generuje godziny mechanicznej pracy.

Dlaczego CSV daje więcej kontroli niż bezpośredni import

Plik CSV to pośrednik, który rozwiązuje 4 problemy naraz:

  • Audytowalność: CSV to plik — możesz go zarchiwizować, podpiąć do dokumentacji klienta, wysłać mailem do weryfikacji. Bezpośredni import nie zostawia śladu poza wpisem w rejestrze.
  • Pola: eksport CSV z KSeF Import zawiera 22 kolumny (vs ~12 w standardowym imporcie KSeF w Optimie). Każde pole z XML FA(3) ma swoją kolumnę — numer KSeF, GTU, waluta, kurs NBP, MPP, opis pozycji.
  • Batch: jeden plik CSV per klient per miesiąc — pobrany automatycznie, bez logowania do KSeF. Przy 20 klientach: 20 plików gotowych w 5 minut.
  • Kompatybilność: ten sam CSV działa w Optimie, Symfonii, wFirmie, Insert, Rewizorze. Zmieniasz program księgowy — CSV nadal działa. Nie wiesz, czy wybrać Excel czy CSV? Sprawdź porównanie formatów.

Mapowanie pól: KSeF → CSV → Twój program księgowy

Poniższa tabela pokazuje, które pola z XML KSeF trafiają do CSV i jak radzi sobie z nimi każdy program księgowy przy imporcie:

Pole KSeF (XML) Kolumna CSV Optima Symfonia wFirma Insert
P_1 (numer faktury) numer_faktury
KsefReferenceNumber numer_ksef ⚠ atrybut ⚠ opcjonalnie
P_2 (data wystawienia) data_wystawienia
DaneSprzedawcy NIP nip_sprzedawcy
DaneSprzedawcy Nazwa nazwa_sprzedawcy
P_13_1..P_15 (netto/VAT) netto_23, vat_23...
KodWaluty waluta ⚠ ręcznie
GTU_01..GTU_13 gtu ⚠ atrybut ⚠ opcjonalnie
MPP (split payment) mpp
FaWiersz P_7 (opis) opis_pozycji ⚠ ucina

Legenda: = importuje poprawnie, = częściowo lub wymaga dodatkowej konfiguracji, = nie importuje. CSV z KSeF Import zawiera wszystkie te pola w każdym eksporcie — niezależnie od programu docelowego.

Krok po kroku: konfiguracja CSV w KSeF Import

  1. Wgraj certyfikat klienta

    W zakładce Certyfikaty uploaduj plik .p12 klienta. Certyfikat jest szyfrowany AES-256-GCM — nie mamy dostępu do formy jawnej. System przeprowadza 3-stopniową walidację: plik + hasło, klucz prywatny, test autoryzacji w API KSeF.

  2. Ustaw harmonogram synchronizacji

    System automatycznie pobiera nowe faktury z KSeF co 2h (plan Grupa) lub co 15 min (plan Biuro). Pierwsze pobranie sięga wstecz do 90 dni.

  3. Wybierz kolumny eksportu per klient

    W zakładce Pola eksportu zaznacz, które z 22 dostępnych kolumn mają trafić do CSV. Dla Optimy: numer_faktury, numer_ksef, data_wystawienia, nip_sprzedawcy, nazwa_sprzedawcy, netto per stawka, VAT per stawka, gtu, mpp. Konfiguracja per klient — jeden szablon na stałe.

  4. Ustaw separator i kodowanie

    Separator: ; (średnik) dla polskich programów. Kodowanie: Windows-1250 dla Optimy < 2024, UTF-8 BOM dla Optimy 2025+.

  5. Pobierz CSV i importuj do Optimy

    W zakładce Eksport Excel/CSV/PDF kliknij "Pobierz CSV". Plik otwiera się w Excelu (podgląd) lub importujesz bezpośrednio: Optima → Rejestry → Import → Z pliku CSV. 200 faktur = 5 minut.

Separator, kodowanie, nagłówki — 3 technikalia, które się mylą

90% problemów z importem CSV do Optimy to jeden z tych trzech błędów:

1. Separator: średnik vs przecinek

Polskie programy księgowe (Optima, Symfonia, Insert) oczekują średnika (;) jako separatora kolumn. Powód: w polskim Excelu przecinek jest separatorem dziesiętnym (1 234,56 PLN), więc użycie go jako separatora kolumn powoduje przesunięcie danych. KSeF Import domyślnie generuje CSV ze średnikiem.

2. Kodowanie: Windows-1250 vs UTF-8 BOM

Starsze wersje Optimy (< 2024) nie rozpoznają UTF-8 — polskie znaki (ą, ę, ś, ż) zamieniają się w krzaczki. Rozwiązanie: kodowanie Windows-1250. Optima 2025+ i Symfonia Handle preferują UTF-8 z BOM (Byte Order Mark) — trzy bajty na początku pliku, które mówią Excelu, że to UTF-8. KSeF Import pozwala wybrać kodowanie przy eksporcie.

3. Nagłówki: nazwy kolumn muszą pasować 1:1

Optima przy imporcie CSV mapuje kolumny po nazwie nagłówka. Jeśli kolumna w CSV nazywa się netto_23%, a Optima szuka Netto 23 — pole zostanie pominięte. KSeF Import generuje nagłówki kompatybilne z najpopularniejszymi programami. Jeśli Twoja Optima ma niestandardowe mapowanie, możesz zmienić nazwy kolumn w ustawieniach eksportu.

Ile czasu oszczędza biuro rachunkowe?

Czynność Ręcznie (15 klientów) Z KSeF Import CSV
Logowanie do KSeF per klient 15 × 3 min = 45 min 0 min (automatyczne)
Otwarcie bazy Optimy per klient 15 × 5 min = 75 min 15 × 2 min = 30 min
Import faktur (150 szt./klient) 15 × 30 min = 7,5 h 15 × 5 min = 75 min
Weryfikacja brakujących pól ~2 h (GTU, numery KSeF) 0 min (pola kompletne)
RAZEM / miesiąc ~12 godzin ~2 godziny

Przy stawce 100-150 PLN/h za pracę księgowego — oszczędność 1 000-1 500 PLN miesięcznie. Plan Grupa (5 NIP-ów): 99 PLN/msc. Plan Biuro (20 NIP-ów): 299 PLN/msc. Zwrot w pierwszym miesiącu.

FAQ — najczęstsze pytania

Czy mogę użyć tego samego CSV w Optimie i Symfonii?

Tak, jeśli obie aplikacje mają skonfigurowany ten sam format importu (separator średnik, kodowanie UTF-8 BOM, te same nazwy nagłówków). W praktyce Optima i Symfonia mają nieco inne oczekiwania co do nazw kolumn, więc najlepiej stworzyć dwa szablony eksportu w KSeF Import — jeden "Optima", drugi "Symfonia". Zmiana szablonu to jedno kliknięcie, nie trzeba ponownie pobierać danych.

Co gdy Optima nie rozpoznaje kolumny z CSV?

Najczęstszy powód: nazwa nagłówka w CSV nie zgadza się z oczekiwanym polem w Optimie. Sprawdź w ustawieniach importu Optimy (Rejestry → Import → Konfiguracja), jakich nazw kolumn oczekuje. W KSeF Import możesz zmienić nagłówki kolumn w szablonie eksportu. Drugi powód: kodowanie — Optima < 2024 wymaga Windows-1250, nie UTF-8.

Czy CSV obsługuje faktury korygujące?

Tak. Faktury korygujące (KOR, KOR_ZAL, KOR_ROZ) mają w CSV dodatkową kolumnę numer_korygowanej z numerem faktury pierwotnej. Typ dokumentu (kolumna typ_faktury) oznacza KOR/KOR_ZAL/KOR_ROZ. Optima przy imporcie może automatycznie powiązać korektę z fakturą źródłową, jeśli numer faktury korygowanej jest w CSV.

Jaki jest limit wierszy w jednym pliku CSV?

Z perspektywy KSeF Import — brak limitu. Plik CSV zawiera tyle wierszy, ile faktur za dany okres. W praktyce Excel obsługuje do 1 048 576 wierszy, a Optima importuje pliki CSV do ~65 000 wierszy bez problemu. Przy 200 fakturach miesięcznie — nie ma ryzyka przekroczenia.

Czy mogę automatycznie wysyłać CSV mailem do księgowej co miesiąc?

Aktualnie KSeF Import umożliwia ręczne pobranie CSV z dashboardu. Automatyczne raporty mailowe z załącznikiem CSV są w planach na Q3 2026. Na razie najszybszy flow: otwórz zakładkę Eksport, wybierz miesiąc, kliknij "Pobierz CSV", wyślij plik mailem. Zajmuje 30 sekund per klient.

Powiązane artykuły

Artykuł przygotowany przez zespół KSeF Import (ANTENA Sp. z o.o.)

Skonfiguruj pipeline KSeF → CSV → Optima w 10 minut

7-dniowy okres próbny, bez karty kredytowej.

Wypróbuj za darmo