Drukarka fiskalna ewidencjuje sprzedaż zawsze w jednej walucie, stąd w naszym kraju zazwyczaj jest to polski złoty (PLN). Zmiana waluty ewidencyjnej np. na euro lub dolary, jest rejestrowana w pamięci fiskalnej i wymaga udziału wyspecjalizowanego serwisanta, więc w jaki sposób ewidencjonować np sporadyczną sprzedaż w EUR czy USD?
Na szczęście drukarki Posnet posiadają mechanizm przeliczania sprzedaży z waluty obcej do waluty ewidencjonowanej i na odwrót. Przykładowo, aby wydrukować paragon na 55 EUR po kursie 4.2988, wystarczy wysłać następujący request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
curl -XPOST 'http://localhost:3050/paragon?fulldebug=true' -H 'Content-type: application/json' -d ' { "lines" : [ { "na": "Tort", "il": 1.0, "vt": 0,"pr": 23643} ], "summary" : { "to": 23643, "fp": 23643 }, "currencies": [ { "wc": 5500, "ra": 4.2988, "na": "Gotówka w Euro", "sb": "EUR", "re": false } ] } |
Wynikiem polecenia będzie następujący wydruk:
Innym przykładem może być paragon na 41 EUR po kursie 4.2988, tym razem za 4 kawy i 5 ciastek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
curl -XPOST 'http://localhost:3050/paragon?fulldebug=true' -H 'Content-type: application/json' -d ' { "lines" : [ { "na": "Kawa", "il": 4.0, "vt": 0,"pr": 1720}, { "na": "Ciastko", "il": 5.0, "vt": 0,"pr": 2149} ], "summary" : { "to": 17625, "fp": 17625 }, "currencies": [ { "wc": 4100, "ra": 4.2988, "na": "Gotówka w Euro", "sb": "EUR", "re": false } ] } |
Dodatkowo możliwe jest mieszanie kilku walut na jednym wydruku:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
curl -XPOST 'http://localhost:3050/paragon?fulldebug=true' -H 'Content-type: application/json' -d ' { "lines" : [ { "na": "Kawa", "il": 4.0, "vt": 0,"pr": 1720}, { "na": "Ciastko", "il": 5.0, "vt": 0,"pr": 2149} ], "summary" : { "to": 17625, "fp": 17625 }, "payments": [ { "ty": 2, "wa": 8598, "na": "VISA .... 0341", "re": false } ], "currencies": [ { "wc": 2100, "ra": 4.2988, "na": "Gotówka w Euro", "sb": "EUR", "re": false } ] } |
AUTOMATYCZNE PRZELICZANIE WALUTY SPRZEDAŻY NA EWIDENCJONOWANĄ
Jeśli natomiast sprzedaż w walucie obcej nie jest sporadyczna, warto ustawić funkcję automatycznego przeliczania każdego wydruku. Zakładając że nasza sprzedaż ma być automatycznie przeliczana na USD po kursie 3.333, należy wykonać poniższy request:
1 2 3 4 5 6 7 |
curl -XPUT 'http://localhost:3050/currencyrate/config?fulldebug=true' -H 'Content-Type: application/json' -d ' { "na": "USD", "di": true, "on": true, "ra": 3.333 }' |
Następnie wszystkie kolejne wydruki, przykładowo:
1 2 3 4 5 6 7 8 9 10 |
curl -XPOST 'http://localhost:3050/paragon?fulldebug=true' -H 'Content-type: application/json' -d ' { "lines" : [ { "na": "Towar 1", "il": 2.0, "vt": 0,"pr": 12000}, { "na": "Towar 2", "il": 1.0, "vt": 0,"pr": 34567} ], "summary" : { "to": 58567 } }' |
Będą automatycznie przeliczane:
W poprzednim przykładzie przeliczenie nastąpiło z waluty przesłanej na ewidencyjną, jakkolwiek można również przeliczać z waluty ewidencyjnej na przesłaną ustawiając parametr “di” na “false“:
1 2 3 4 5 6 7 |
curl -XPUT 'http://localhost:3050/currencyrate/config?fulldebug=true' -H 'Content-Type: application/json' -d ' { "na": "USD", "di": false, "on": true, "ra": 0.30003 }' |
Od teraz wszystkie wydruki będą przeliczane następująco:
Aby wyłączyć automatyczne przeliczanie:
1 2 3 4 |
curl -XPUT 'http://localhost:3050/currencyrate/status?fulldebug=true' -H 'Content-Type: application/json' -d ' { "st": false }' |
lub, alternatywnie:
1 2 3 4 5 6 7 |
curl -XPUT 'http://localhost:3050/currencyrate/config?fulldebug=true' -H 'Content-Type: application/json' -d ' { "na": "USD", "di": false, "on": false, "ra": 0.30003 }' |
W powyższym przykładzie, jeśli pole “on” jest ustawione na “false“, wówczas wszystkie pola oprócz “on” są ignorowane – mogą zwierać dowolne wartości.