Baza wiedzy Trawers ERP

Drukarki fiskalne. Aspekty techniczne

Patrz też: Drukarki fiskalne. Fiskalizacja sprzedaży 1. Opis ogólny i podstawowe pojęcia 2. Proces fiskalizacji sprzedaży 3. Przygotowanie programu do fiskalizacji 3.1 Typ (protokół) drukarki 3.2 Metoda komunikacji z drukarką 3.3 Stawki PTU/VAT 3.4 Karta odbiorcy: Fiskalizować = [T] 3.5 Pozostałe parametry 3.6 Pozostałe funkcje 4. Kody błędów i sytuacje wyjątkowe 5. Konfiguracja na platformie Linux 5.1 Opis ogólny 5.2 Drukarka przy terminalu - metoda bezpośrednia 5.3 Drukarka fiskalna przy terminalu - tunel SSH 5.4 Drukarka fiskalna podłączona przez port USB do komputera z systemem Linux 6. Rozwiązania specjalne 6.1 Jedna drukarka dla kilku terminali 7. Konfiguracja drukarki fiskalnej 8. Tematy powiązane

1. Opis ogólny i podstawowe pojęcia

Fiskalizacją sprzedaży na drukarce fiskalnej zajmuje się moduł ND Drukarka fiskalna. Moduł ND powinien być w konfiguracji programu. Architektura programu Trawers Funkcje modułu (fiskalizacja, parametry itp.) są w menu programu: NA Sprzedaż, należności Moduł ND umożliwia fiskalizację, tj. drukowanie paragonów fiskalnych na drukarce na podstawie dokumentów sprzedaży: faktur i paragonów. Fiskalizować można natychmiast po zarejestrowaniu faktury i paragonu. Można także fiskalizować oddzielnie, jeden lub wiele dokumentów.
Podstawowe pojęcia
drukarka fiskalna Drukarka paragonów fiskalnych. Odpowiednio sterowana, nalicza wartości sprzedaży i podatku PTU. Wartości zapamiętywane są w pamięci fiskalnej. Program wysyła do drukarki: * nazwę towaru (do 40 znaków) * kod stawki PTU (A..G) * wartość pozycji brutto (do 10 cyfr) Moduł fiskalny drukarki sumuje kwoty brutto dla poszczególnych stawek PTU i wartość naliczonego PTU. dokumenty korygujące: faktura, paragon Urządzenia fiskalne nie rejestrują dokumentów korygujących, zmniejszających sprzedaż (na minus). Gdy skutkują one zwrotem całości lub części należności (zapłaty) to zwroty te można ująć w odrębnej ewidencji: NA > Okresowe > Zwroty sprzedaży fiskalizowanej [NA_ZRS12]. Ujęte są faktury i paragony korygujące wystawione do sprzedaży sfiskalizowanej. Dokumentów korygujących o wartości dodatniej (zwiększenie sprzedaży) nie można fiskalizowować. Operacje należy zarejestrować jako fakturę sprzedaży a nie jako fakturę korygującą fiskalizacja Zapisanie informacji w pamieci fiskalnej urzadzenia. Fiskalizowac mozna dokumenty sprzedaży (faktury i paragony) znajdujace sie w systemie NA. Dokument musi spełniać następujące warunki: * zawiera co najmniej jedną pozycję sprzedaży * pozycje są zatwierdzone modul fiskalny Cześć składowa kasy lub drukarki fiskalnej odpowiedzialna za gromadzenie informacji o wielkości sprzedaży i naliczonego podatku PTU/VAT. Budowa i funkcje modulu musza spelniac wymagania Ministra Finansow, np. tylko uprawniona osoba moze dokonywac serwisu. Moduly fiskalne rejestruja tylko sprzedaż. Nie dopuszczaja rejestracji zwrotow ani korekt transakcji po zakonczeniu wydruku paragonu fiskalnego. nazwa fiskalna asortymentu Zwykle 40-znakowa lub krótsza nazwa, zapamiętywana wraz z kodem PTU w urządzeniu fiskalnym. Podczas bieżącej sesji fiskalizacji nie można dwukrotnie zmienić kodu stawki dla jednej nazwy. Program automatycznie doda nr stawki PTU na końcu nazwy, gdy sprzedaż [RC] Np. Surowiec tartaczny - dąb|01 Długość nazwy, np. 40, 24, 16, podaje się w parametrach. Gdy odbywa się fiskalizacja rozliczenia zaliczki, to program wysyła jako nazwę pozycji paragonu tekst: Zaliczka-fakturowanie PTU [xx] W miejscu [xx] jest nr PTU, np. [01] paragon fiskalny Dowód sprzedaży drukowany na drukarce fiskalnej. Zawiera informacje o sprzedającym (firmie), sprzedanych towarach (numer, nazwa, cena, ilość, wartość), o stawce PTU i wartości podatku, łącznej kwocie sprzedaży i podatku. PTU stawka A,B,C,D,E,F,G Kod stawki. symboliczne oznaczenie stawek PTU: A=23%,B=8%,C=5%,D=0%,E=zw raport dzienny i okresowy Suma sprzedaży i naliczonego podatku w dniu i w podanym okresie

2. Proces fiskalizacji sprzedaży

2.1 Opis ogólny

Fiskalizacja polega na wysyłaniu do drukarki fiskalnej kolejnych pozycji faktury sprzedaży, paragonu (sprzedaży gotówkowej) i faktury zaliczkowej. Warunki fiskalizacji: * Zainstalowana jest drukarka fiskalna * Stawki PTU w drukarce są zgodne ze stawkami PTU na fakturach Patrz parametry drukarki * Sprzedaż jest dla odbiorcy, u którego w karcie podano: Fiskalizować = [T] Proszę też podać: Nr ceny = [4] [5] [6] (Brutto) * Dokumenty są zatwierdzone i zawierają pozycje podlegające fiskalizacji, gdyż nie fiskalizuje się np. pozycji opisu dodatkowego [D] * Na dokumentach sprzedaży ceny bazowe powinny być cenami brutto. Nie ma możliwości zapewnienia poprawnej fiskalizacji z cenami netto (błąd 20) Patrz opis niżej: Błąd 20 Fiskalizacja następuje natychmiast po zarejestrowaniu i zatwierdzeniu dokumentu sprzedaży. Można tak skonfigurować proces (param oper 0624), że wybranie klawisza: Fiskalizuj, jednocześnie, automatycznie, zatwierdza dokument. W wyjątkowych sytuacjach, np. w przypadku awarii drukarki, można fiskalizować dokumenty globalnie, np. na koniec dnia. Fiskalizować można na trzy sposoby: 1. W locie Tuż po zarejestrowaniu (i zatwierdzeniu) faktury lub paragonu sprzedaży 2. Seryjnie Zbiorcze fiskalizowanie dokumentow ze wskazanego zakresu 3. Ręcznie Wybrany dokument fiskalizowany jest pozycja po pozycji, bądź tworzony jest paragon fiskalny nie powiązany z żadnym dokumentem sprzedaży Szczegółowy opis funkcji fiskalizacji: Drukarki fiskalne. Fiskalizacja sprzedaży

3. Przygotowanie programu do fiskalizacji

Program Trawers przygotowuje się do fiskalizacji ustalając parametry: NA > Sprzedaż > Drukarka fiskalna > Parametry [NA_PDF10] Parametry powiązane są z operatorem. To znaczy, że operatorzy np. w różnych oddziałach mogą używać różnych modeli drukarek i różnych metod fiskalizacji. Podstawowe parametry, to typ (model) drukarki i metoda komunikacji.

3.1 Typ (protokół) drukarki)

Typ (protokół) drukarki wybiera się z listy typów. Na liście znajdują się te, które współpracują z programem Trawers. Na rynku dominują drukarki z oprogramowaniem w standardzie Posnet (Thermal) i Elzab. Istnieje więc duże prawdopodobieństwo, że każda drukarka będzie pracować z Trawersem. Wybierając typ drukarki wybiera się protokół a nie konkretny model. Różne modele drukarek obsługują wiele protokółów, np. * drukarki firmy Posnet: protokół THERMAL(stary) i protokół POSNET(nowy) * drukarki firmy Novitus: protokół NOVITUS (zbliżony do THERMAL) * drukarki firmy Elzab: protokół ELZAB, ELZABSTX, THERMAL * drukarki firmy Emar: protokół zbliżony do THERMAL Trawers obsługuje protokoły Thermal oraz Elzab. Przy czym pewne funkcje dostępne są tylko dla protokołu Thermal: NIP nabywcy, numery LOT/SER. Drukarki firmy Posnet mają dwa protokoły: Posnet oraz Thermal. Do pracy z Trawersem należy w drukarce ustawić protokół: Thermal. Producenci drukarek, w tym firma Posnet, deklarują zgodność wstecz. Tzn. program sprawdzony na poprzednim modelu drukarki, na pewno będzie pracował z nowym modelem. Co najwyżej nie będzie wykorzystywał nowszych właściwości. Jednakże w poszczególnych modelach drukarek mogą być użyte protokoły wymiany danych odbiegające od standardu zastosowanego w Trawersie. W przypadku wątpliwości prosimy o kontakt z lokalnym Partnerem firmy Tres, który będzie instalował drukarkę lub samemu sprawdzić podstawowe funkcje programu we współpracy z konkretnym modelem drukarki. Zwykle dystrybutorzy drukarek dają je do testowania na pewien czas. Obecnie można stosować (wg informacji otrzymanych od Klientów i Partnerów): [1] Nie ma drukarki fiskalnej [2] Protokół Thermal (DF300 do 17.00) [3] Protokół Thermal (DF300 od 17.01) [4] Protokół Elzab (5 stawek PTU) [5] Protokół Elzab (7 stawek PTU) [6] Protokół Thermal (1.01 Starsze drukarki) [7] Protokół Thermal (Emar) [8] Protokół Thermal (od 1.02) Rabat wg PTU, NIP nabywcy [9] Protokół Thermal (Novitus) Rabat wg PTU, NIP nabywcy [T] Testy - symulacja pracy drukarki Aby fiskalizować pozycje z minusem (-), np. [U] Rabat od całej faktury lub rozliczenie zaliczki (-) na fakturze końcowej, to drukarka musi być przygotowana do wydrukowania wartości ujemnej (-) Taką możliwość mają drukarki Posnet Thermal od wersji 1.02 i inne używające protokołu Thermal. (W opisach drukarek wskazuje się właściwość: Udzielanie rabatu na pozycje paragonu) W parametrach trzeba wskazać typ (protokół) drukarki: [8] Protokół Thermal (od 1.02) Rabat wg PTU, NIP nabywcy NOTE: Gdy podłączona jest drukarka Posnet, to proszę sprawdzić, czy rzeczywiście oprogramowanie drukarki jest w wersji od 1.02 Do sprawdzenia służy funkcja: Informacje z drukarki: stawki, typ.

3.2 Metoda komunikacji z drukarką

Określa sposób przesyłania danych pomiędzy programem a drukarką. Możliwe są dwie metody komunikacji:
a) Przez port szeregowy COM
Dotyczy portów COM fizycznych oraz wirtualnych przez USB. Metoda ma zastosowanie, gdy drukarka fiskalna podłączona jest do komputera, na którym uruchamiany jest program Trawers. Metoda używana jest przede wszystkim w systemie Windows (Trawers: odmiana -W) Można użyć także w systemie Linux (Trawers: odmiana -X), gdy drukarka podłączona jest do serwera, np. w fazie testów. W tej metodzie Trawers komunikuje się z drukarką fiskalną bezpośrednio przez port COM.
b) Przez połączenie TCP/IP
Metoda dostępna jest w systemie Linux (-X). Ma zastosowanie, gdy drukarka podłączona jest do terminala, z którego zdalnie na serwerze, uruchamiany jest program Trawers. Na terminalu uruchamiany jest dodatkowy program przekierowujący informacje z połączenia TCP/IP do portu szeregowego COM, np. serproxy. Trawers komunikuje się z drukarką pośrednio poprzez ten program. Połączenie Trawersa z tym programem może być bezpośrednie, np. w sieci lokalnej lub poprzez tunel SSH, np. dla sieci rozległej. Parametry połączenia TCP/IP podaje się w oddzielnej pozycji menu. Patrz opis niżej: Konfiguracja na platformie Linux

3.3 Stawki PTU/VAT

Wskazuje się powiązanie stawek PTU w programie, z ich odpowiednikami w drukarce fiskalnej. Należy przydzielić stawki zapisane w tabeli stawek PTU z literami (A..G) oznaczającymi kolejne stawki w drukarce. W tabeli trzeba wpisać stawki PTU takie same jakie odczytano z drukarki. Stawki zapisane w drukarce odczytuje się w funkcji: Informacje z drukarki: stawki, typ. Od 01.08.2019, zgodnie z rozporządzeniem MF, w urządzeniu stawki muszą być zdefiniowane następująco: Stawka A: stawka podstawowa 23% albo 22% Stawka B: stawka obniżona 8% albo 7% Stawka C: stawka obniżona 5% Stawka D: stawka obniżona 0% Stawka E: zwolnienie od podatku Stawka F: pozostałe Stawka G: pozostałe Dlatego należy w Parametrach drukarki operatora ustalić: (dla drukarek zgodnych z protokołem Thermal): - Liczba stawek PTU w drukarce: 7 - ustalić stawki A..G jak wyżej W stawce zwolnionej należy wpisać: 100 W stawce nieaktywnej należy wpisać: 101 - Podać symbol Stawki Zwolnionej: Od 01.08.2019: [E] Do 01.08.2019: [Z] (G)

3.4 Karta odbiorcy: Fiskalizować = [T]

Wskaźnik [T] wpisuje się do karty odbiorcy w zakładce: Dane finansowe Faktury i paragony tego odbiorcy będą fiskalizowane.

3.5 Pozostałe parametry

Oczekiwanie na odpowiedź
Program zgłasza komunikat: Brak informacji z drukarki, gdy w podanym czasie z drukarki nie nadejdzie prawidlowa odpowiedz. Czas, po ktorym zwracana jest odpowiedz zalezy od modelu drukarki, oraz od uzytej metody komunikacji. W szczegolności dla polaczenia TCP/IP w sieci rozleglej moze okazac sie konieczne zwiekszenie tego czasu. Zalecany czas, to 10 sek.
Opóźnienie pozycji paragonu (sek.)
Czas, w którym drukarka przetwarza jedną pozycję paragonu. Jeśli zostanie ustawiona zbyt mała wartość, to może zdarzyć się, że do drukarki przekazane zostaną dane dotyczące kolejnych pozycji, zanim zostanie wydrukowana pozycja bieżąca. Zalecana wartość to 0.75 sek.
Zawsze sprawdzaj odpowiedź T/N (DFPar15)
Domyślna i zalecana wartość [T] powoduje, że po wysłaniu każdej pozycji paragonu, z drukarki pobierana jest informacja o statusie wykonanej operacji. W przypadku wystapienia jakiegokolwiek błedu, w szczególności błędu stawki PTU towaru, informacja ta jest natychmiast dostępna. Taki tryb pracy, zapewniając szczegółową kontrolę poprawności, oznacza jednak pewne wydłużenie czasu wydruku paragonu. W sytuacji, gdy dokumenty są poprawnie fiskalizowane a czas wydruku jest rzeczywiście zbyt długi, to można wyłączyć tę opcję [N]. Po wyłączeniu, kontrola błędów przeprowadzana będzie co 10 pozycji paragonu i nie będzie precyzyjna informacja o powstałych błędach. Gdy wystąpi błąd, to pojawi się informacja, ale jest treść będzie ogólna. Np. gdy na 2-iej pozycji paragonu wystapił błąd 18: błąd stawki PTU, to sprawdzenie odpowiedzi dopiero po pozycji 10-ej zwróci błąd nr 4: Błąd danych. Dlatego zaleca się sprawdzanie odpowiedzi [T].
Otwórz szufladę przed i po wydruku T/N
Program wysyła sygnał otwarcia szuflady, przed lub po wydrukowaniu paragonu fiskalnego. 0722 [1] Otwiera szufladę przed wydrukiem 0723 [1] Otwiera szufladę po wydruku
Napis na wyświetlaczu
Np. Dziękujemy, zapraszamy ponownie
Zaokrąglenie kwot na drukarce
* Do jednostek groszy * Do dziesiątek groszy * Do jednostek złotych
Długość nazwy fiskalnej
Maksymalna długość jaką mogą mieć nazwy asortymentu, np. 40 znaków. Poprawność nazw i długości można sprawdzić w funkcji: c) Sprawdzanie nazw fiskalnych asortymentu
Drukować jednostki miar
[T] W linii paragonu, razem z ilością, wydrukuje jednostkę miary [N] Nie wydrukuje jednostki miary Nie wszystkie drukarki pozwalają na wydruk jednostki miary Proszę sprawdzić doświadczalnie Pozwalają m.in. drukarki standardu Posnet Thermal od wersji 1.04
Drukować LOT/SER
[T] W linii paragonu, pod nazwą towaru, wydrukuje nr partii/serii (LOT/SER) zapisany w pozycji paragonu/faktury [N] Nie wydrukuje LOT/SER Nr LOT/SER na paragonie można wydrukować w programie Trawers, na drukarkach z protokołem Thermal od wersji 1.04 Numer drukuje się na paragonie w linii oznaczonej: <opis towaru>
Drukować NIP nabywcy [DFPAR21]
[T] W stopce paragonu fiskalnego program wydrukuje NIP nabywcy. FP FQ Paragon sprzedaży i korygujący NIP trzeba wpisać w nagłówku dokumentu. Pole: [NIPNAB] FA FK Faktura sprzedaży i korygująca. Program odczyta NIP z karty odbiorcy [N] Nie wydrukuje --> faktura uproszczona * NIP nabywcy drukuje program Trawers5 i Trawers6 GUI * Można wydrukować tylko na drukarce z protokołem Thermal (patrz opis wyżej) * Wersja protokołu Thermal musi umożliwiać wydruk NIP-u nabywcy (polecenie [th_trnipset]) min. POSNET THERMAL FV EJ 1.03, HS FV EJ 1.03 min. POSNET THERMAL HS FV EJ 1.03 min. POSNET THERMAL FV 3.04 * NIP nabywcy operator wpisuje w nagłówku [FP] Paragon i [FQ] Paragon korygujący. Zapis można zmienić bezpośrednio po zarejestrowaniu dokumentu w menu: F2-cd i w funkcji: Korekta Po sfiskalizowaniu dokumentu nie można zmienić NIP-u nabywcy
Faktura uproszczona
Paragon fiskalny z NIP nabywcy, można uznać jako fakturę uproszczoną, gdy kwota transakcji nie przekracza 450 PLN lub 100 EUR. Na podstawie faktury uproszczonej można dokonać odliczenia PTU/VAT. PTU/VAT Opis ogólny

3.6 Pozostałe funkcje

Informacje z drukarki
Odczytuje informacje zapisane w pamieci drukarki fiskalnej. Są to: tryb pracy, numer unikatowy drukarki, stan znacznika TRF liczba wydrukowanych paragonów, stan gotówki w kasie, symbole i stawki PTU, wartości sprzedaży brutto według poszczególnych stawek PTU
Wyświetlenie zegara
Powoduje wyświetlenie na wyświetlaczu drukarki aktualnej daty i godziny.
Ustawienie zegara
Pozwala ustawić datę i godzinę w drukarce fiskalnej
Raport okresowy
Drukuje raport okresowy, np. z bieżącego miesiąca
Raport dobowy
Drukuje raport dobowy. Tylko z bieżącego dnia
Napis na wyświetlaczu
Wyświetla wpisany napis
Powrót do trybu kasowego
Powrót do trybu kasowego, po wyświetleniu napisu lub zegara i daty
Test komunikacji z drukarką
Sprawdzenie poprawności połączenia z drukarką. Program wykona 10-krotna próbę połączenia z drukarką i wyświetli liczbę udanych połączeń.

4. Kody błędów i sytuacje wyjątkowe

Kody błędów sygnalizowane są przez oprogramowanie drukarki, przekazywane do programu Trawers i wyświetlane w oknie informacyjnym, np. o--------------------------------------o | Drukarka fiskalna operatora AA | | Błąd nr: 40 | o--------------------------------------o Przyczyny błędów i metody naprawy, opisane są w dokumentacjach technicznych drukarek. Czestą przyczyną problemów jest także nieprawidłowe ustalenie parametrów, np. w parametrach wskazano inny typu drukarki niż faktycznie podłączono. Po usunięciu problemu, należy sprawdzić i ew. zmienić zapisy w bazie danych programu Trawers 1. Jeżeli paragon został wydrukowany a w programie pozostał nieoznaczony. Dokument należy oznaczyć jako sfiskalizowany: [NA_PDF10] > Zakładka 2. Jeżeli paragon nie został wydrukowany (został anulowany) a w programie jest oznaczony Dokument należy oznaczyć jako niesfiskalizowany: [NA_PDF10] > Zakładka I sfiskalizować ponownie Komunikat: Błąd PTU - paragon anulowany lub Unieważnienie paragonu Lub podobne, w zalezności od typu drukarki i wersji oprogramownia Najczęstszą przyczyną jest próba dwukrotnej zmiany kodu stawki PTU dla tej nazwy towaru. Rada: Zmienić nazwę towaru na inną niż nazwa już zapamiętana w drukarce z inną stawka PTU. Przykładowe kody błędów drukarek w standardzie Posnet: (źródło: materiały firmy Posnet) 1 - Nie zainicjalizowany zegar RTC 2 - Błąd bajtu kontrolnego 3 - Zła ilość parametrów 4 - Błąd parametru (parametrów) 5 - Błąd operacji z zegarem (RTC) 6 - Błąd operacji z modułem fiskalnym 7 - Błąd daty 8 - Błąd operacji: niezerowe totalizery 9 - Błąd operacji I/O 10 - Zmiana czasu wykracza poza dopuszczalny zakres 11 - Zła ilość wartości PTU lub błąd liczby 12 - Błędny nagłówek 13 - Próba fiskalizacji sfiskalizowanego urządzenia 14 - Próba przesłania do RAM nagłówka dla urz.sfiskal 15 - Błąd w dodatkowych liniach nagłówka 16 - Błędna nazwa (pusta lub za długa) 17 - Błędne oznaczenie ilości (puste lub za długie) 18 - Błędne oznaczenie stawki PTU (lub brak) także próba sprzedaży w stawce nieaktywnej Problem może wynikać z tego, że podjęto próbę fiskalizacji tego samego towaru, ale z inną stawką PTU niż poprzednio. Drukarki pozwalają zwykle kilkakrotnie zmienić stawkę PTU danego towaru. Potem jednak blokują już taką pozycję. Drukarka zapamietuje nazwę fiskalną (zwykle pierwszych 40 znaków) i stawkę PTU powiazaną z tą nazwą. Gdy pojawia się taka nazwa z inną stawką, to drukarka zapamiętuje fakt zmiany. Towar z inną stawką, może być innym towarem niż poprzednio zapamiętany ale ma takie same 40 znaków w nazwie. Dla drukarki jest to ten sam towar. Należy zadbać o unikalność pierwszych 40 znaków w indeksach które są fiskalizowane. Program może sprawdzić, czy nazwy fiskalne są unikalne. Dlugość nazwy, np. 40, 24, 16, podaje się w parametrach drukarki. Problem zmiany powiązania nazwy ze stawką PTU powstaje, gdy sprzedaż tego samego towaru jest możliwa z różnymi stawkami np. 23% i 0% (faktura UE) Po kilkukrotnej zmianie stawki drukarka przestaje fiskalizować. Rozwiązania: * oddzielne stanowisko pracy (z osobną drukarką fiskalną) do sprzedaży do UE ze stawką 0% * od 05/2017 program automatycznie zmienia nazwę towaru, gdy są różne stawki PTU. Nr stawki dopisuje na końcu nazwy. Np. [Towar handlowy |03] <-- stawka 03 Więcej informacji w opisie: RC Reverse Charge (odwrotne obciążenie) Rozliczanie PTU przez nabywcę [RC] Należy też zwrócić uwagę na znaki w nazwie towarów. Znak [/] jest zastępowany znakiem [ ]. W szczególnym przypadku, po zamianie, nazwa może być taka sama jak nazwa innego towaru w innej stawce. To może spowodować błąd 18 19 - Błąd wartości CENA (syntaktyka, zakres lub brak) 20 - Błąd wartości BRUTTO (syntaktyka, zakres lub brak) Patrz opis niżej: parametr 0203 21 - Sekwencja odebrana przy wyłączonym trybie transakcji 22 - Błąd operacji STORNO 23 - Błędna liczba linii paragonu 24 - Przepełnienie bufora drukarki 25 - Błędny kod terminala / kasjera 26 - Błąd kwoty WPŁATA 27 - Błędna suma całkowita TOTAL 28 - Przepełnienie totalizera 29 - Tryb transakcyjny nie włączony 30 - Błąd kwoty WPŁATA 31 - Nadmiar dodawania 32 - Nie można wypłacić więcej niż jest w kasie 33 - Błąd napisu <zmiana> 34 - Błąd napisu <kasjer> 35 - Zerowy stan totalizerów 36 - Już istnieje zapis o tej dacie 37 - Operacja przerwana z klawiatury 38 - Błąd nazwy 39 - Błąd oznaczenia PTU 40 - Brak nagłówka w pamięci RAM
Cena netto i bład 20
Błąd 20, parametr 0203 [1] Parametr 0203 jest stosowany, gdy sprzedaż jest fiskalizowana na drukarce i gdy na fakturze lub paragonie podana jest cena netto. Parametr nie jest stosowany, gdy podana jest cena brutto.
Fiskalizować w cenach brutto
NOTE: Zaleca sie, by dokumenty fiskalizowane miały ceny brutto. Nie ma możliwości zapewnienia poprawnej fiskalizacji z cenami netto. Gdy na dokumencie sprzedaży jest cena netto, to program musi zamienić tę cenę na cenę brutto. Gdyż drukarka fiskalna przyjmuje tylko ceny i wartości brutto Istotny jest tutaj sposób przeliczenia ceny netto na cenę brutto oraz, powiązany z tym, sposób wyliczania kwoty PTU Dlatego wyróżnione są dwa sposoby: [1] Kwotę PTU licz od ceny (netto) [ ] Kwotę PTU licz od wartości (netto) - oznaczenie domyślne Liczenie od wartości netto [ ] może powodować błąd drukarki: Błąd 20 Zmiana parametru na 0203 [1] zmniejsza ryzyko tego błędu drukarki NOTE: Parameter zmienia sposób liczenia kwoty PTU i dalej, brutto. Przy dużych ilościach i małych cenach jest różnica w kwotach PTU obliczonych od ceny netto a kwotach obliczonych od wartości netto. Różnic tych nie można uniknąć. Liczenie od ceny (netto) [1] zmienia kolejność obliczeń i zaokrąglenia. (patrz przykład). Różnice są tym większe, im mniejsze są ceny netto i im większe są ilości. Po każdej cząstkowej operacji, zaokrąglenia są do 2 miejsc dziesiętnych. Dlatego zmianę [ ] --> [1] można zrobić tylko gdy muszą być ceny netto sprzedaży fiskalizowanej i nie można stosować cen brutto Przykład: --------- Założenia: Ilość: 40 sztuk Cena netto: 64.05 Upust: 24 % (upust zmniejsza cenę) PTU: 8 % Parametr 0203 [ ] PTU 8% od wartości netto 40 szt x (64.05 netto - 24% upust) = 1947.20 netto, 2102.98 brutto (upust zmniejsza cenę netto a nie wartość netto) 40 szt. x 64.05 netto - 24% upust = 1947.12 netto i 2102.89 brutto Parametr 0203 [1] PTU 8% od ceny netto 40 szt x ((64.05 netto - 24% upust) + 8% PTU) = 2102.80 brutto netto 1947.20 liczone jak wyżej Przykład pokazuje różnicę wartości brutto. Różnica zależy od od parametru: 0203 [ ] --> 2102.98 0203 [1] --> 2102.80 NOTE: Parametr 0203 nie ma wpływu na proces fiskalizacji już zarejestrowanych dokumentów. Parametr ma wpływ na obliczenia kwot podczas rejestracji dokumentów. Jeśli zarejestrowano dokument i nie można go sfiskalizować, to należy usunąć dokument i zarejestrować jeszcze raz. Gdy dokument jest zatwierdzony i nie można go usunąć, to trzeba ręcznie zmienić kwotę PTU na dokumencie. Funkcja korekty dokumentów NA: F2-cd > Pozycja > Kwoty netto PTU Klawisz F7-zmień Przykład: Ilość 1.500 Cena netto 1 134.15
0203 = [ ] Kwotę PTU licz od wartości (netto)
Wartość netto round(1.500 * 1 134.15, 2) = 1 701.23 Wartość PTU round(1 701.23 * 0.23, 2) = 391.28 (1) Wartość brutto 1 702.23 + 391.28 = 2 029.51
0203 = [1] Kwotę PTU licz od ceny (netto)
Wartość netto round(1.500 * 1 134.15, 2) = 1 701.23 Cena brutto round(1 134.15 * 1.23, 2) = 1 395.00 Wartość brutto round(1 395.00 * 1.500, 2) = 2 029.50 Wartość PTU 2 092.50 - 1 701.23 = 391.27 (2) W funkcji korekty zmienić wartość PTU z (1) na (2), wartość brutto zostanie poprawiona automatycznie.

5. Konfiguracja na platformie Linux

5.1 Opis ogólny

W wersji na platformie Linux możliwe są następujące konfiguracje: 1) drukarka przy terminalu - metoda bezpośrednia 2) drukarka przy terminalu - tunel SSH W każdym z powyższych przypadków należy upewnić się, że na komputerze, do którego podłączona jest drukarka fiskalna są udostępnione porty szeregowe przez BIOS komputera Przykładowo w BIOS powinny znajdować się następujące wpisy: w menu: Advanced -> Peripherial Configuration Serial Port A [Enabled] Base IO Addres 3F8 Interrupt IRQ4 lub w menu: Integrated Peripherals Onboard Serial Port 1: 3F8/IRQ4

5.2 Drukarka przy terminalu - metoda bezpośrednia

Właściwości: * Drukarka fiskalna podłączona jest do portu szeregowego COM terminala * Port COM udostępniony jest dla połączenia TCP/IP, np. poprzez program serproxy * Trawers komunikuje się bezpośrednio z drukarką poprzez połączenie TCP/IP Na terminalu może znajdować się dowolny system operacyjny, dla którego dostępne jest oprogramowanie udostępniające port COM dla TCP/IP. Sugerowany program: serproxy dostępny jest na platformie Linux oraz Windows. Program serproxy można pobrać z ftp Katalog ftp.tres.pl Dla drukarek Elzab FP600 oraz Omega I należy pobrać pliki z katalogu: https://ftp.tres.pl/fiskalizacja/serproxy/Elzab-FP600-Omega Dla pozostałych drukarek należy pobrać pliki z katalogu: https://ftp.tres.pl/fiskalizacja/serproxy Należy przygotować plik konfiguracyjny programu serproxy. Jeżeli nie są wymagane jakieś szczególne ustawienia, wykorzystać można standardowy plik dostarczany w dystrybucji. Ma on następującą postać: serproxy.cfg --------------------------------------------------------------------- # Config file for serproxy See serproxy README file for documentation # Comm ports used comm_ports=1,2,3,4 # Default settings comm_baud=9600 comm_databits=8 comm_stopbits=1 comm_parity=none # Idle time out in seconds timeout=3000 # Port 1 settings (ttyS0) net_port1=5331 # Port 2 settings (ttyS1) net_port2=5332 # Port 3 settings (ttyS2) net_port3=5333 # Port 4 settings (ttyS3) net_port4=5334 ---------------------------------------------------------------------
a) konfiguracja terminala - Windows
Plik konfiguracyjny serproxy.cfg oraz program serproxy.exe muszą znajdować się w tym samym katalogu. Najlepiej skopiować je do katalogu c: lub c:\Tools Program serproxy.exe uruchamia się z konsoli poleceniem: C:\serproxy W trakcie działania, program wyświetla komunikaty informujące o nawiązaniu połączenia, rozłączeniu oraz o błędach. Wykonywanie programu można przerwać klawiszami Ctrl+C.
b) konfiguracja terminala - Linux
Plik konfiguracyjny serproxy.cfg należy umiescić w katalogu /etc, zaś program serproxy w /usr/bin lub /usr/local/bin. Uruchomienie z konsoli następuje przez wydanie polecenia: # serproxy W przypadku wystąpienia niezgodności bibliotek systemowych, konieczna może okazać się indywidualna kompilacja programu serproxy. W trakcie działania, program wyświetla komunikaty informujące o nawiązaniu połączenia, rozłączeniu oraz o błędach. Wykonywanie programu można przerwać klawiszami Ctrl+C. Pracując z drukarkami firmy Posnet i kompatybilnymi, które używają protokołu XON-XOFF, należy ustawić dodatkowe parametry pracy portu szeregowego. Dla portu 1 (COM1, /dev/ttyS0) wykonuje się to poleceniem: # stty -F /dev/ttyS0 -icanon ixon ixoff -ixany Szczególy polecenia stty znajdują się w podręczniku systemowym ('man stty') Aby przy każdym uruchomieniu terminala nie wpisywać powyższej sekwencji, można umieścić ją w skrypcie startowym, np. w /etc/rc.d/rc.local
c) Parametry fiskalizacji operatora
Wyboru metody fiskalizacji dokonuje się w systemie NA w menu: Sprzedaż > Drukarki fiskalne > Parametry drukarek i inne... 1. Parametry drukarki --------------------- Tu ustala sie parametry drukarki fiskalnej. W polu: Metoda komunikacji należy wybrać: [6] Drukarka przy terminalu - połączenie bezpośrednie TCP/IP 2. Parametry połączenia TCP/IP ------------------------------ Tu ustala sie parametry połączenia z serwerem. Należy podać:
Adres terminala
Adres IP lub nazwę domenową terminala, do którego podłączona jest drukarka, np. 192.168.1.101 lub: drukarka-fisk-01.firma.pl Obsługiwany jest zapis adresu wersji IPv4. Dla wersji IPv6 wymagany jest zapis, w którym ostatnie liczby są postaci Ipv4, np. ::FFFF:192.168.1.101 Port drukarki (TCP/IP)
Numer portu TCP/IP
Port na którym następuje połączenie, np. 5331. Numer portu, musi odpowiadać numerowi podanemu w pliku konfiguracyjnym programu przekierowującego, np. serproxy.
Adres terminala pobierać z połączenia SSH ?
Jeżeli adres IP terminala nie jest stały lecz przydzielany dynamicznie, należy zaznaczyć: [T] Wówczas adres IP terminala zostanie pobrany ze zmiennej środowiskowej SSH_CLIENT. W zależności od dystrybucji Linuksa oraz od wersji ssh, zmienna SSH_CLIENT może nie być widoczna po wydaniu polecenia: # env W takim przypadku po nawiązaniu połączenia ssh należy wykonać polecenie: # export SSH_CLIENT Aby zautomatyzować działanie, można przygotować odpowiednie skrypty startowe. W przypadku korzystania na terminalu z programu PuTTY, w menu: Connection->SSH, w polu: Remote command należy wpisać: export SSH_CLIENT Jeżeli po zalogowaniu ma być uruchomiony program Trawers, to w polu: Remote command należy wpisać: export SSH_CLIENT; trawers5 W parametrach fiskalizacji wyświetlany jest adres, z którego następuje połączenie ssh (ustalany na podstawie zmiennej srodowiskowej SSH_CLIENT). Pojawienie się znaku zapytania w miejscu adresu oznacza, że program pracuje lokalnie, lub że nie można odczytać zawartości zmiennej SSH_CLIENT.

5.3 Drukarka fiskalna przy terminalu - tunel SSH

Fiskalizacja może się odbywać poprzez połączenie SSH. Protokół SSH pozwala na utworzenie tunelu, w którym porty terminala (lokalne) przekierowywane są na porty serwera (zdalne) lub odwrotnie (en: Port forwarding) Metoda ta jest bezpieczniejsza, gdyż transmisja pomiędzy drukarką fiskalną a serwerem prowadzona jest w szyfrowanym tunelu. Przykład -------- Konfiguracja środowiska dla fiskalizacji bezpośredniej w tunelu SSH Poniższy przykład dotyczy konfiguracji dla portu 5331. W parametrach fiskalizacji operatora w Trawers podać: ---------------------------------------------------------- Adres terminala: 127.0.0.1 Port drukarki (TCP/IP): 5331 Adres terminala pobierać z połączenia SSH (T/N): N ---------------------------------------------------------- Na terminalu (Windows) uruchomić program serproxy (net_port1=5331). Na terminalu (Linux) uruchomić program socat. W podpunkcie b) przykład skryptu, a w punkcie 5.4 szersze objaśnienia.
a) na terminalu z Windows skonfigurować PuTTY
W menu : 'Connection / SSH / Tunnels' w grupie: 'Add new forwarded ports' podać: Source port: 5331 Destination: localhost: 5331 oraz oznaczyć: Remote Po dodaniu (Add) na liście 'Forwarded ports:' pojawi się wpis: R5331 localhost:5331 Pozostałe parametry sesji ustawić tak jak dla typowego połączenia z Trawers. NOTE: Jeżeli będzie więcej terminali i każdy będzie miał lokalną drukarkę, to jako port źródłowy (en. Source port) należy wskazać kolejne porty, np. 5332, 5333 itd. Po dodaniu na liście 'Forwarded ports:' pojawi się wpis: R5332 localhost:5331 Port 5332 należy wpisać w parametrach fiskalizacji operatora. W konfiguracji serproxy nie trzeba zmianiać portu.
b) na terminalu z Linuksem
Do połączenia z serwerem użyć polecenia: # ssh -R 5331:localhost:5331 użytkownik@serwer na serwerze linuks w pliku: etc/ssh/sshd_config ustawic parametr: Allow TCP Forwarding = YES Dokładne informacje na temat konfiguracji PuTTY oraz: Port Forwarding: http://the.earth.li/~sgtatham/putty/0.55/htmldoc/Chapter4.html#S4.19 http://www.ssh.com/support/documentation/online/ssh/adminguide/32/ Port_Forwarding.html Przykładowy skrypt z użyciem programu socat, który dla terminala linuxowego, tworzy serwer TCP na porcie 5331. Serwer oczekuje na połaczenia z Trawersa i przekazuje dane do portu szeregowego (tu USB) /dev/ttyACM0 do którego podpięta jest drukarka fiskalna. #!/bin/bash SOCAT_CMD="socat -d -d TCP-LISTEN:5331,reuseaddr,fork /dev/ttyACM0,b9600,raw,echo=0" # Start socat in background sudo bash -c "$SOCAT_CMD &"

5.4 Drukarka fiskalna podłączona przez port USB do komputera z systemem Linux

System Trawers obsługuje tylko drukarki fiskalne podłączone przez klasyczne porty szeregowe COM (np. COM1, COM2 itd.). Współczesne drukarki często korzystają z portu USB, który system Linux rozpoznaje jako urządzenie szeregowe, np. /dev/ttyACM0 lub /dev/ttyUSB0. Aby umożliwić Trawersowi współpracę z taką drukarką, należy stworzyć wirtualny port szeregowy COM (np. /dev/ttyS3) i przekierować dane z niego do rzeczywistego portu USB drukarki. W tym celu wykorzystujemy narzędzie socat, które umożliwia tworzenie wirtualnych portów i przekierowywanie danych między nimi. Aby umożliwić połączenie drukarki fiskalnej z Trawersem w systemie Linux, należy przejść przez kilka kroków przygotowawczych oraz konfiguracyjnych. Poniżej znajduje się instrukcja, wraz z wyjaśnieniem każdego z kroków oraz wzorcowym skryptem: 1. Sprawdzić, czy jest zainstalowany socat Socat to narzędzie służące do tworzenia wirtualnych portów szeregowych i przekierowań między nimi. sudo apt update sudo apt install socat 2. Dodać użytkownika do grupy dialout (grupa uucp w przypadku Arch Linux) Grupa dialout ma dostęp do portów szeregowych. Dzięki temu użytkownik nie będzie musiał używać sudo do korzystania z portów takich jak /dev/ttyS3. sudo usermod -aG dialout $USER Po wykonaniu tego kroku należy ponownie zalogować się lub zrestartować komputer, aby zmiana zaczęła działać. 3. Zidentyfikować urządzenia drukarki Drukarka fiskalna powinna być podłączona przez USB i pojawić się jako urządzenie szeregowe, np. /dev/ttyACM0, /dev/ttyUSB0 lub inne. Można porównać listę dostępnych portów przed i po podłączeniu drukarki: ls /dev/ttyACM* /dev/ttyUSB* Alternatywnie używając dmesg: dmesg | grep tty Należy upewnić się, że wskazane jest właściwe urządzenie w skrypcie (np. /dev/ttyACM0). 4. Skrypt #!/bin/bash SOCAT_CMD="socat PTY,link=/dev/ttyS3,raw,echo=0 OPEN:/dev/ttyACM0,raw,echo=0" # Start socat in background sudo bash -c "$SOCAT_CMD &" # Wait briefly for the device to be created sleep 0.5 # Fix permissions sudo chgrp dialout /dev/ttyS3 sudo chmod 660 /dev/ttyS3 Za pomocą powyższego skryptu wykonywane są następujące kroki: Utworzenie wirtualnego portu szeregowego /dev/ttyS3 i przekierowanie jego danych do fizycznego portu /dev/ttyACM0 (czyli portu, gdzie podłączona jest drukarka). Ustawienie odpowiednich uprawnień, by użytkownik z grupy dialout miał dostęp do drukarki. 5. Zapisanie skryptu i nadanie mu prawa wykonania Skrypt należy zapisać jako plik, np. start-fiscal-printer.sh: nano start-fiscal-printer.sh Nadać prawa do uruchamiania: chmod +x start-fiscal-printer.sh 6. Uruchomienie skryptu Skrypt można uruchomić za pomocą polecenia: ./start-fiscal-printer.sh Ponieważ socat jest uruchamiany z sudo, użytkownić zostanie poproszony o hasło administratora. 7. Sprawdzenie działania Po uruchomieniu skryptu powinien pojawić się nowy port /dev/ttyS3. Można to sprawdzić za pomocą polecenia: ls -l /dev/ttyS3 Powinien być dostępny, należeć do grupy dialout, i mieć prawa rw-rw----. 8. Korzystanie z drukarki W programie Trawers ustawić odpowiedni typ (protokół) drukarki oraz odpowiednią metodę komunikacji, w tym przykładzie port COM:4 (COM:[n+1] względem ttyS[n]). NA sprzedaż i należności > Sprzedaż > Drukarki fiskalne > b Parametry drukarek i inne funkcje pomocnicze operatora > [wybór operatora] > 1 Parametry drukarki (Opcjonalnie) Zatrzymywanie socat Aby zakończyć działanie socat: sudo pkill socat Poniższy diagram ilustruje, jak wygląda komunikacja Trawersa z drukarką fiskalną w opisanym scenariuszu: o-------------------------o | Serwer | | o---------------------o | | | ERP Trawers | | | | (wymaga portu COM) | | | o---------o-----------o | o-----------|-------------o /dev/ttyS3 (wirtualny COM) | [socat przekierowanie danych] | /dev/ttyACM0 (rzeczywisty port USB drukarki) | o-----------------------o | Drukarka fiskalna USB | o-----------------------o

6.1 Jedna drukarka dla kilku terminali

Potrzeba
W oddziale są dwa terminale A i B i tylko jedna drukarka fiskalna podłączona do terminala A Jak umożliwić fiskalizację z terminala B na drukarce fiskalnej podłączonej do terminala A ?
Rozwiązanie
a) Trawers -X (Linux) W parametrach fiskalizacji operatora pracującego na terminalu B podać adres IP terminala A

7. Konfiguracja drukarki fiskalnej

Konfiguracja drukarki fiskalnej na przykładzie Posnet Thermal XL2 3.03 a) Drukarka podłączona przez interfejs szeregowy COM b) Drukarka podłączona przez USB [OK] > 2 Konfiguracja > 1 Parametry ogólne > 7 Funkcje komunik. > 1 > Interfejs PC Wybrać: [Interfejs] COM 1 - bezpośrednie połączenie z portem COM USB - połączenie USB (wirtualny port COM - potrzebne sterowniki Posnet) TCP/IP - połączenie sieciowe (nie obsługiwane w Trawersie) [Protokół] THERMAL - obsługiwany w Trawersie POSNET - nie obsługiwany w Trawersie Ustalić parametry połączenia szeregowego COM (USB): [OK] > 2 Konfiguracja > 1 Parametry ogólne > 2 Konfig. sprzętu > 7 Porty komunik. > 1 COM [Prędkość] 9600 [Bit stop] 1 [Parzystość] Brak [Sterow. przepływem] XON/XOFF NOTE: parametr [Bity danych] (comm_databits) ma stałą wartość: 8

8. Tematy powiązane

Drukarki fiskalne. Fiskalizacja sprzedaży Utrzymanie instalacji IT PTU/VAT Opis ogólny Słowa kluczowe #Sprzedaż-Fiskalizacja #Raporty-FormatyDanych