KSeF → CSV → Optima: automatyczny pipeline faktur kosztowych dla biur rachunkowych
Opublikowano: 1 czerwca 2026 · Czas czytania: 9 min
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
-
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.
-
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.
-
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.
-
Ustaw separator i kodowanie
Separator:
;(średnik) dla polskich programów. Kodowanie:Windows-1250dla Optimy < 2024,UTF-8 BOMdla Optimy 2025+. -
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
Biuro rachunkowe: 20 klientów, KSeF, Excel i CSV
Jak jedno biuro rachunkowe obsługuje 20 firm w KSeF — eksport do Excel i CSV bez osobnego logowania.
5 pól z KSeF, których Twój program nie importuje
Numer KSeF, GTU, waluta, opis pozycji, MPP — których pól brakuje w Optimie, Symfonii i wFirmie.
KSeF: Excel czy CSV? Porównanie formatów
Kiedy wybrać Excel, a kiedy CSV do eksportu faktur z KSeF. Tabela porównawcza formatów.
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