Wysyłanie faktur sprzedaży do KSEF 2.0 (Krajowy System E-Faktur)

Konfiguracja KSEF dla programu Smart System

Aby móc przekazywać faktury do systemu KSEF należy wpierw zalogować się do Aplikacji Podatnika (wersja testowa/przedprodukcyjna (demo)) i wygenerować w niej tzw. token czyli pewnego rodzaju hasło, które umożliwi programowi zewnętrznemu jakim jest Smart System przekazywanie faktur w Twoim imieniu do systemu KSEF lub odbiór faktur zakupu. Token musi zawierać uprawnienia „wystawianie faktur” i „przeglądanie faktur”, aby program Smart System działał poprawnie. Poniżej przykład z Aplikacji Podatnika, w której generowany jest właśnie taki token:

Po uzyskaniu tokena z Aplikacji Podatnika należy przekopiować go do programu Smart System. W zależności od tego w ilu magazynach generujemy faktury to trzeba w definicji każdego z nich wkleić ten token. Trzeba to zrobić w menu Konfiguracja/Definiowanie magazynów:

Uwaga! Jeśli Smart System używamy jako sprzedawcy dla kilku podmiotów wówczas trzeba wygenerować osobny token dla każdego podmiotu w Aplikacji Podatnika oraz odpowiednio ustawić pole „Podatnik KSEF”. Dzięki temu dokumenty sprzedaży utworzone w danym magazynie będą przesyłane na konta danego podatnika KSEF.

Pole Rodzaj tokena może mieć 3 różne wartości do wyboru, które musimy wziąć pod uwagę.

  • ze środowiska testowego 2.0 – to wybieramy jak chcemy tylko testować (więcej o tym niżej)
  • ze środowiska demo 2.0 – to wybieramy jak chcemy tylko testować (więcej o tym niżej)
  • ze środowiska produkcyjnego 2.0 – to wybieramy jak chcemy już na prawdę przekazywać oficjalnie dane do KSEF

Następnie trzeba uzupełnić pole Klucz prywatny. Aby to zrobić musimy wrócić z powrotem do Aplikacji Podatnika, aby wygenerować certyfikat. Będzie to jednak konieczne tylko jeśli wystawiamy faktury sprzedażowe (a jeśli tylko odbieramy faktury zakupu nie musimy tego pola uzupełniać).  I ponownie jeśli Smart System jest używany dla kilku podmiotów sprzedających to osobno dla każdego z nich należy wygenerować klucz prywatny. A zatem w Aplikacji Podatnika składamy wniosek o wydanie certyfikatu: podajemy nazwę i ustalamy hasło do klucza prywatnego:

 

Następnie po naciśnięciu przycisku Generuj zapiszemy na dysku lokalnym plik z kluczem prywatnym. Plik będzie potrzebny za chwilę w programie Smart System. W kolejnym kroku ustalamy przeznaczenie certyfikatu. Tu musimy wybrać „Podpis linku do weryfikacji wystawcy” i klikamy „Wyślij wniosek …”. Po chwili na liście wniosków będzie nasz certyfikat:

Następnie wracamy do Smart System do okna definiowania magazynu i naciskamy przycisk „…” obok pola klucza prywatnego i wybieramy uprzednio zapisany klucz prywatny z pliku, potem program zapyta się o hasło, a na końcu trzeba wpisać nr seryjny certyfikatu do podpisywania linku. Ostatecznie konfiguracja na magazynie została dokonana i trzeba zapisać dane:

Następnie należy ustalić jakie rodzaje dokumentów będą przekazywane do systemu KSEF. W tym celu należy przejść do menu „Konfiguracja/Dokumenty i wydruki/Zarządzanie typami dokumentów”, a potem otworzyć ustawienia danego typu np. Faktury i ustawić „Objęty wysyłką do KSEF” w parametrze „KSEF: Wysyłanie dokumentu”

Od tego momentu każda nowa faktura będzie miała domyślnie status objęcia wysyłką do KSEF.
Ważna uwaga! KSEF bardzo pilnuje, aby nie wystąpiły duplikaty numerów faktur wśród faktur przesyłanych do KSEF. Zatem jeśli wybierzesz kilka rodzajów dokumentów do wysyłki do KSEF upewnij się ma 100%, że wszystkie razem mają unikalną numerację. Przykład sytuacji błędnej jeśli masz typ Faktura z numeracją numer/rok i drugi typ np. Faktura 2 z drugą numeracją numer/rok to dzisiaj rozróżniasz je bo na wydruku widzisz napis faktura lub faktura 2, ale to definitywnie nie wystarczy dla KSEF i nie powinno się włączać obu rodzajów dokumentów do wysyłki do KSEF. Muszą one mieć numerację ze wspólnego numeratora i to by było wówczas do zaakceptowania – wtedy na jednym magazynie będzie wspólna numeracja tych dwóch dokumentów i nie wystąpią duplikaty, natomiast jeśli do tego na różnych magazynach też chcesz z tych dokumentów wysyłać do KSEF to w numeracji musi być coś co rozróżni również numerację pod względem magazynów np. do formatu numeracji dodaj skrót magazynu.

W wyniku przeprowadzeniu powyższej konfiguracji w module Sprzedaż w oprogramowaniu Smart System, lista dokumentów sprzedaży zmieni wygląd i pojawi się w niej dodatkowa kolumna „Nr KSEF”, w której zwrotnie po wysłaniu dokumentu do KSEF będziemy widzieli otrzymywany stamtąd numer:

Będziemy mieli możliwość również pozostawienia na liście dokumentów, które jeszcze nie zostały przekazane do KSEF albo miały błędy i zostały zwrócone do poprawki. Do wyszukania takich dokumentów będzie służyła opcja filtrowania listy: „Tylko KSEF w toku”.

Utworzenie nowego dokumentu spowoduje automatyczne zaznaczenie „Objęty wysyłką do KSEF”:

Dokument z tą opcją zostanie wkrótce przekazywany do KSEF oraz na jego wydruku zobaczymy dwa kody QR. Pierwszy kod z napisem OFFLINE służy do weryfikacji faktury przez nabywcę po jej przesłaniu do KSeF, drugi z napisem CERTYFIKAT służy do potwierdzenia autentyczności wystawcy faktury na podstawie certyfikatu KSeF. Nabywca może użyć np. telefonu komórkowego by zeskanować każdy z tych kodów i otworzy mu się strona z potwierdzeniem przesłania faktury/autentyczności wystawcy.

Możemy również zobaczyć, że niewysłany do KSEF dokument charakteryzuje się symbolem koperty w kolumnie Nr KSEF.
W ten sposób tworzymy kolejne faktury, aby na koniec dnia wysłać je wszystkie jedną paczką do KSEF. Ten proces zostanie opisany w następnym rozdziale.
Póki dokument nie został wysłany do KSEF możemy go poprawiać tak jak niegdyś to robiliśmy (z uwzględnieniem dotychczasowych zasad blokowania dokumentu). Należy jednak w tym aspekcie bardzo uważać gdyż każda zmiana w dokumencie powoduje, że dotychczasowy kod QR przestaje być ważny i wymagane jest ponowne wydrukowanie dokumentu (no chyba, że dokument jeszcze nie został wydrukowany to nie ma problemu). Szczególnie ważna jest sytuacja gdy wydrukowaliśmy dokument i wręczyliśmy nabywcy, a potem jeszcze dokonujemy jakichś poprawek w nim. Jeśli w takiej sytuacji nie wydrukujemy ponownie dokumentu to przekazany zostanie do KSEF dokument w wersji która obowiązywała do ostatniego wydruku (czyli tego który mieliśmy dać klientowi).
W momencie ponownego wydruku weryfikowane jest, że robimy to po raz kolejny i w przypadku wykrycia zmian w zawartości przekazywanej do KSEF dostajemy komunikat informujący o tym żeby nie zapomnieć odebrać od klienta poprzedniej wersji dokumentu.
Po wysłaniu do KSEF dokument jest trwale blokowany i ewentualnie odblokowywany tylko jeśli wysyłka zwróci błąd.
Jeśli robisz korektę to dokument korygowany musi być wcześniej wysłany do KSEF i otrzymać swój nr KSEF – nie dotyczy to sytuacji korygowanego, który nigdy nie miał być wysyłany do KSEF (np. sprzed uruchomienia KSEF). Jeśli dokument jest już zablokowany z powodu przekazania do KSEF to analogicznie nie można go anulować ani usunąć, można wtedy tylko utworzyć dokument korygujący.

Konfiguracja zawartości przekazywanej do KSEF

W menu Konfiguracja dodano opcję 'Zawartość faktury w KSEF’. Za pomocą tych funkcji możemy sterować tym co nabywca zobaczy w systemie KSEF jeśli prześlemy do niego fakturę.

Tu określamy co ma być, a czego ma nie być widać w KSEF, bo nie wszystko z naszego systemu chcemy prezentować w KSEF.
Na początku mamy jeden wzór ustawień dla wszystkich rodzajów dokumentów przekazywanych do KSEF, ale możemy definiować własne wzory. Będą one jednak przypisane do określonego typu dokumentu sprzedaży. Każdy typ dokumentu sprzedaży może mieć wiele takich wzorów, ale tylko jeden z nich powinien być domyślny. W momencie wydruku dokumentu (bądź wysyłki do KSEF w zależności co pierwsze wystąpiło) jest sprawdzane czy mamy zdefiniowany wzór/wzory dla typu dokumentu. Jeśli tak to jest on używany (jeśli wiele to domyślny), w przeciwnym wypadku jest używany wzór ogólny dla wszystkich typów dokumentów pokazany na powyższym zdjęciu. Taki wzór może być tylko jeden więc nie ma problemu, aby system go wybierał jeśli nie znajdzie innego bardziej szczególnego wzoru. Ponadto możemy w dokumencie sprzedaży ustawić incydentalnie, że dla tej konkretnej faktury używamy innego wzoru niż domyślny. Ta opcja znajduje się w dokumencie sprzedaży w zakładce 'Ewidencje podatkowe’. 

Komunikacja z KSEF

Do komunikacji z KSEF używamy modułu Raporty z pakietu Smart System, w którym mamy do dyspozycji m.in. zakładkę „KSEF – wysyłanie”.

Tam można określić z jakich magazynów będą przekazywane dane do systemu KSEF. Niewybranie magazynu oznacza, że wysyłane będą ze wszystkich magazynów, które zostały skonfigurowane do KSEF i oczywiście jeśli są w nich dokumenty do wysłania. Po wybraniu odpowiednich opcji użycie przycisku „Przekaż faktury sprzedaży do KSEF” spowoduje wysłanie faktur spełniających kryteria do systemu KSEF oraz zwrotnie odebranie z systemu numeru KSEF dla każdego dokumentu. W trakcie wysyłki w oknie komunikatów będzie można śledzić informacje zwracane przez system. Poprawne przesłanie faktury do KSEF oznacza wprowadzenie faktury do obiegu prawnego. Jednocześnie faktura taka staje się widoczna przez odbiorcę (nabywcę z faktury), który od tego momentu może również zobaczyć ją na swoim koncie KSEF.
Proces komunikacji z KSEF zawsze składa się dwóch części: najpierw faktury są wysyłane, a następnie sprawdzane jest czy przesłanym fakturom zostały nadane numery w KSEF. Może się tak zdarzyć (co będzie częste), że zaraz po wysłaniu nie otrzymamy tych numerów. Widać to na powyższym zdjęciu. Wówczas za chwilę możemy ponowić wysyłkę i te numery powinny zostać pobrane i przypisane do naszych faktur. Ostatecznie powinniśmy uzyskać dwa komunikaty:

  • Brak dokumentów oczekujących na sprawdzenie statusu wysłania do KSEF i nadanie numeru.
  • Brak dokumentów do wysłania do KSEF.

które oznaczają, że wszystko zakończyło się poprawnie i nie ma nowych dokumentów do wysyłki:

Obsługa sytuacji błędnych

Może się zdarzyć, że na fakturze jest jakiś błąd, który uniemożliwia wysyłkę takiej faktury. O takiej sytuacji będziemy informowaniu na dwóch etapach:

  • przy wydruku – tu weryfikowane będzie spełnienie podstawowych kryteriów związanych z przygotowanie danych XML do wysyłki do KSEF.
  • przy wysyłaniu do KSEF – system KSEF będzie przeprowadzał dodatkowe weryfikacje, a w przypadku błędu będzie trzeba obserwować okno z komunikatami.

W przypadku rozpoznania błędu przy wysyłaniu do pola z numerem KSEF zostanie wstawiona informacja „<wystąpił błąd>” oraz w oknie z komunikatami wysyłki będą widoczne szczegóły, na podstawie których będziemy wiedzieć mniej więcej gdzie trzeba poprawić fakturę. Taką informację również uzyskamy poprzez próbę eksportu dokumentu sprzedaży do pliku XML oraz przy próbie wydruku. Opcja eksportu do XML dostępna jest w liście faktur.

Faktura zwrócona z KSEF z błędem staje się ponownie edycyjna i możemy na nią wprowadzić odpowiednie poprawki. Każdy zapis dokumentu oznaczonego jako błędny kasuje informację o błędzie i faktura ponownie będzie podlegała wysyłce do KSEF przy kolejnej próbie komunikacji z KSEF. W ostateczności możemy również błędną fakturę tymczasowo wykluczyć z KSEF odznaczając opcję 'Objęty wysyłką do KSEF’.

Jak często wysyłać do KSEF?

Program Smart System wysyła faktury w trybie offline co oznacza, że mamy obowiązek ich wysłania nie później niż w następnym dniu roboczym po dniu ich wystawienia.

Testowanie

Jak już zostało wspomniane w sekcji dotyczącej konfiguracji KSEF w oknie danych magazynu można wybrać rodzaj tokenów. Wśród nich można wybrać tokeny z różnych środowisk: produkcyjne to oficjalne środowisko do przekazywania faktur. Środowisko demo to środowisko w którym musimy logować się oficjalnymi danymi, ale służy ono do testowania naszej aplikacji. Na tym środowisku sprawdzamy czy działa nam komunikacja z KSEF i jak wygląda przesłana faktura po stronie KSEF. Do tego celu możemy użyć bazy produkcyjnej (tej którą na co dzień używamy w pracy). Gdy wszystko przetestujemy możemy za pomocą jednej funkcji posprzątać wszystko po testach. W tym celu w liście faktur jest opcja: „Usuń dane testowe KSEF”. To usuwa tylko z naszej bazy danych te informacje, które zostały wygenerowane w procesie komunikacji z KSEF czyniąc wszystkie dokumenty wysłane do KSEF gotowymi do ponownej wysyłki. Po zastosowaniu tej funkcji ostatecznie można włączyć przekazywanie do środowiska produkcyjnego i wówczas te faktury, które zostały przekazane na środowisko demo zostaną przekazane na oficjalne środowisko produkcyjne.
Jest jeszcze trzecie środowisko, środowisko testowe. Ono jest publiczne więc aby je używać należało by utworzyć w programie Smart System osobną pustą bazę danych, a potem skonfigurować do pracy ze środowiskiem testowym oraz wprowadzać tam wymyślone dane, aby sprawdzić działanie komunikacji.

Mam fakturę od dostawcy, czy mogę ją również wprowadzić np. jako PZ do magazynu?

Tak, zapraszamy do dalszej lektury bloga.