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