eKasa: pridať využitie aj pre občanov

Urcite, posli mi foto toho blocku a ja ti poslem ake data treba dat do jednotlivych fieldov.

Dalsia vec je napr., ze toto nefunguje pre blocky napr. z Oliva Group cerpacich stanic, ktore vobec negeneruju QR kod, ani svoje data nezapisuju do eKasy.

Vztahuje sa totiz na nich zakon o DPH pre online systemy bez obsluhy clovekom , ktore momentalne nevygeneruju ani QR, ani OFF-line id dokladu, co zbytocne komplikuje proces spracovania dokladov pre DPH.

Riesil som to uz s financnou spravou, ale je nevyhnutna zmena zakona o DPH, pricom tato vlada sa drzi len na vlasku, takze neriesi ani kopec dalsic zlepseni , ktore by boli potrebne.

1 Like

Tu je odpoved od Financnej spravy, defacto iba pravne odovodnenie aktualneho stavu:

Júl 6 (pred 5 mesiacmi)

Dobrý deň,

ďakujeme za Váš názor a podnet,

a v zmysle zákona č. 289/ 2008 Z. z. o používaní elektronickej registračnej pokladnice uvádzame nasledovné:

V prípade, ak dochádza k predaju určitého tovaru/ služby prostredníctvom automatov, ktoré spĺňajú podmienku samoobslužných zariadení (podnikateľ za predaj tohto tovaru/ služby od zákazníkov neprijíma tržbu v hotovosti, ale prostredníctvom predmetných automatov), potom sa k tomuto automatu vzťahuje výnimka z používania pokladnice e-kasa klient.

Legislatíva:

V zmysle § 3 ods. 2 zákona č. 289/2008 Z. z. sa povinnosť evidencie tržieb v pokladnici e-kasa klient nevzťahuje na predaj tovaru, ako aj na poskytovanie služieb prostredníctvom predajných automatov.

Podľa § 2 písm. b) zákona č. 289/ 2008 Z. z. o používaní elektronickej registračnej pokladnice sa na účely tohto zákona rozumie pokladnicou e-kasa klient

  1. on-line registračná pokladnica,
  2. virtuálna registračná pokladnica.

Podľa § 2 písm. c) zákona č. 289/ 2008 Z. z. o používaní elektronickej registračnej pokladnice sa na účely tohto zákona rozumie on-line registračnou pokladnicou súbor pokladničného programu, chráneného dátového úložiska, hardvérových prostriedkov, ktoré zabezpečujú komunikáciu so systémom e-kasa prostredníctvom integračného rozhrania, ktoré zverejní Finančné riaditeľstvo Slovenskej republiky (ďalej len „finančné riaditeľstvo“) na svojom webovom sídle, a ďalších prostriedkov, ktoré zabezpečujú plnenie povinností podľa tohto zákona.

Podľa § 2 písm. d) zákona č. 289/ 2008 Z. z. o používaní elektronickej registračnej pokladnice sa na účely tohto zákona rozumie virtuálnou registračnou pokladnicou služba zriadená finančným riaditeľstvom, ktorá komunikuje prostredníctvom koncového zariadenia a ktorá je poskytovaná výlučne prostredníctvom

  1. mobilných aplikácií, ktorých vlastníkom je finančné riaditeľstvo a
  2. klientskeho prostredia zriadeného finančným riaditeľstvom na svojom webovom sídle.

Uvedená odpoveď má informatívny charakter a bola vypracovaná na základe informácií poskytnutých daňovým subjektom v jeho žiadosti.

S pozdravom
Centrum podpory pre dane
Finančné riaditeľstvo SR

Ja som im napisal toto:

Jún 28 (pred 5 mesiacmi)

Chcem Vas poziadat, aby ste standardizovali proces vydavania danovych dokladov pre online systemy bez obsluhy clovekom (navrhli zmenu zakona o DPH), ktore momentalne nevygeneruju ani QR, ani OFF-line id dokladu, co zbytocne komplikuje proces spracovania dokladov pre DPH.

Systemu su pripojene online, t.z. realizuju platby, preto by bolo vhodne, ak by automaticky zaregistrovali blocek, resp. transakciu vo VRP a aby tieto doklady boli dohladatelne pomocou ID na financnej sprave.

Dakujem.

Super, dik za rýchlu reakciu.
Skús mi teda poslať napríklad tento:
2AC245D5-F486472B-77A6008D-D30C3443-96225EE2:88820233545530002:221122084927:696:68.63

Ak by si mohol, napíš mi prosím celý JSON Body {}, ktorý ti na tento konkrétny off-line QR funguje.

Ďakujem

Takto to ma vyzerat:

{
“okp”: “2AC245D5-F486472B-77A6008D-D30C3443-96225EE2”,
“cashRegisterCode”: “88820233545530002”,
“issueDateFormatted”: “22.11.2022 08:49:27”,
“receiptNumber”: 696,
“totalAmount”: 68.63
}

Vysledok mi prisiel nasledovny:

{
“returnValue”: 0,
“receipt”: {
“receiptId”: “O-41ACDB5025954A58ACDB5025954A586E”,
“ico”: “46376038”,
“cashRegisterCode”: “88820233545530002”,
“issueDate”: “22.11.2022 08:49:27”,
“createDate”: “22.11.2022 08:49:27”,
“customerId”: null,
“dic”: “2023354553”,
“icDph”: “SK2023354553”,
“invoiceNumber”: null,
“okp”: “2AC245D5-F486472B-77A6008D-D30C3443-96225EE2”,
“paragon”: false,
“paragonNumber”: null,
“pkp”: “aDfK9cFCJgQnlRHW356s1MXbQlzehwoLkvLVWKk5cdFqP8gUavp9JTg8vIDdJQZ90oE2i5OICQKjkvDs7NH5JzpTfczaEZsAyTFi3VIPaiwSok1cf/vf9xfjL+lHi0Jy+TFufVy837I4ABtsiz/ufWDfmC+K3sn3Dkdc498ryws/kL2ifFanobrni4LwbOfpCl3WAaZy2uSS4ok2B+2sGQ2ckn4sYdhNMHnumpg8E/pQIWBZvZLSCRppetF5kZwbH3smEzCkfrS0mSVxNL/cId9BJB0GaTimbm3DlsCU67OR/SZxO+hrv2VHu8ha+0DdM915t5vOeRVEOBhqntNK+w==”,
“receiptNumber”: 696,
“type”: “PD”,
“taxBaseBasic”: 57.1900,
“taxBaseReduced”: null,
“totalPrice”: 68.6300,
“freeTaxAmount”: null,
“vatAmountBasic”: 11.4400,
“vatAmountReduced”: null,
“vatRateBasic”: 20.0000,
“vatRateReduced”: null,
“items”: [
{
“name”: “Nemrznúca kvapalina -20 ˇC Grand X 5L”,
“itemType”: “K”,
“quantity”: 3,
“vatRate”: 20.00,
“price”: 22.5
},
{
“name”: “Up. pás 2t/6m Klasik hr.hák-zosiln. račňa IM”,
“itemType”: “K”,
“quantity”: 2,
“vatRate”: 20.00,
“price”: 15.8
},
{
“name”: “Adaptér 13/7p. 12V JH005CH E1334”,
“itemType”: “K”,
“quantity”: 1,
“vatRate”: 20.00,
“price”: 5.9
},
{
“name”: “Sada na opravu defektu”,
“itemType”: “K”,
“quantity”: 1,
“vatRate”: 20.00,
“price”: 4.9
},
{
“name”: “Strmeň 12.37 H=37mm sklopný pozink.”,
“itemType”: “K”,
“quantity”: 4,
“vatRate”: 20.00,
“price”: 1.12
},
{
“name”: “Strmeň 07.21 H-21mm pozinkovaný”,
“itemType”: “K”,
“quantity”: 4,
“vatRate”: 20.00,
“price”: 1.24
},
{
“name”: “Guma zaisťovacia 80cm 2.ks E361703”,
“itemType”: “K”,
“quantity”: 1,
“vatRate”: 20.00,
“price”: 3.3
},
{
“name”: “BC-gum. up. lano 2ks 100cm 3022EURDAT/Atr.”,
“itemType”: “K”,
“quantity”: 1,
“vatRate”: 20.00,
“price”: 4.9
},
{
“name”: “Destilovaná voda 5l Dynamax”,
“itemType”: “K”,
“quantity”: 3,
“vatRate”: 20.00,
“price”: 8.97
}
],
“organization”: {
“buildingNumber”: null,
“country”: “Slovensko”,
“dic”: “2023354553”,
“icDph”: “SK2023354553”,
“ico”: “46376038”,
“municipality”: “Bratislava - mestská časť Nové Mesto”,
“name”: “TCI Slovakia s.r.o.”,
“postalCode”: “83103”,
“propertyRegistrationNumber”: “2”,
“streetName”: “Osadná”,
“vatPayer”: true
},
“unit”: {
“cashRegisterCode”: “88820233545530002”,
“buildingNumber”: null,
“country”: “Slovensko”,
“municipality”: “Bratislava”,
“postalCode”: “83104”,
“propertyRegistrationNumber”: “39”,
“streetName”: “Stará Vajnorská”,
“name”: null,
“unitType”: “STANDARD”
},
“exemption”: false
},
“searchIdentification”: {
“createDate”: 1670504541191,
“bucket”: 0,
“internalReceiptId”: “2AC245D5-F486472B-77A6008D-D30C3443-96225EE2:88820233545530002:696:2022-11-22T08:49:27+01:00:68.63”,
“searchUuid”: “8d3d86a0-76f8-11ed-b624-e3d0db37f2c6”
}
}

Dal som si to cez https://reqbin.com/ a vrátilo mi toto:
{
“returnValue”: -1,
“errorCode”: “-2”,
“errorDescription”: “Zlé vstupné hodnoty.”
}

Online doklad mi pekne potiahne, ale hocijaký offline ma trestá a netuším prečo.

Ja to pustam cez postmana, on tam vyzera, ze pridava nejake hidden parametre do requestu:

Ked som nechal postmana vygenerovat curl, takisto to nechce na terminaly ist.

Vygenerovany python kod je vsak uz spustitelny a dostavam korektny response.

import requests
import json

url = “https://ekasa.financnasprava.sk/mdu/api/v1/opd/receipt/find

payload = json.dumps({
“okp”: “2AC245D5-F486472B-77A6008D-D30C3443-96225EE2”,
“cashRegisterCode”: “88820233545530002”,
“issueDateFormatted”: “22.11.2022 08:49:27”,
“receiptNumber”: 696,
“totalAmount”: 68.63
})
headers = {
‘Content-Type’: ‘application/json’
}

response = requests.request(“POST”, url, headers=headers, data=payload)

print(response.text)

Ach jo… potrebujem to do PHP a nádejal som sa, že keď mi ide On-Line doklad, tak s prstom v nose pôjde aj Off-Line. Cez CURL a bez kryštáľovej gule zjavne nie ;(

Ak náhodou máte niekto zmáknuté funkčné dopyty na off-line doklad v PHP, prosím podeľte sa.
@Matus_Ivanecky Ďakujem za pomoc

Staci tam pridat User-Agent do hlavicky a uz to prechadza:

curl -X POST ‘https://ekasa.financnasprava.sk/mdu/api/v1/opd/receipt/find
-H “Content-Type: application/json”
-H “User-Agent: Mozilla/6.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3”
–data-raw ‘{
“okp”: “2AC245D5-F486472B-77A6008D-D30C3443-96225EE2”,
“cashRegisterCode”: “88820233545530002”,
“issueDateFormatted”: “22.11.2022 08:49:27”,
“receiptNumber”: 696,
“totalAmount”: 68.63
}’

Php kod to vygenerolvalo nasl:

<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://ekasa.financnasprava.sk/mdu/api/v1/opd/receipt/find', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS =>'{ "okp": "2AC245D5-F486472B-77A6008D-D30C3443-96225EE2", "cashRegisterCode": "88820233545530002", "issueDateFormatted": "22.11.2022 08:49:27", "receiptNumber": 696, "totalAmount": 68.63 }', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'User-Agent: Mozilla/6.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
1 Like

Fajne, vyriešil si mi bolehlav. Rád by som ti prispel na dáku kávu/pivo alebo sa ti dáko inak odvďačil, ak je ako.

1 Like

Niet za co, zaujimalo ma tiez, preco ten curl neprechadza.

1 Like

Aplikácia od finančnej správy Over doklad podľa komentárov prestala fungovať pred pár týždňami.
Takže asi rozvoj aby vedelo ukladať/triediť bločky už nemôžeme čakať.
https://play.google.com/store/apps/details?id=sk.financnasprava.opd

Zdravím všetkých,
stretol som sa dnes (asi) s obmedzením na počet requestov (cca 100 behom dnešného dňa):
{
“returnValue”: -1,
“errorCode”: “-39”,
“errorDescription”: "Overovanie dokladu je pre Vás momentálne zablokované. Akciu opakujte neskôr prosím. "
}
Máte s tým prosím niekto skúsenosti?

Vďaka.

Ľ.

Ak by to bolo slusne oficialne API, tak by to bola polozka do dokumentacia: “z dovodu ochrany pred pretazenim a zneuzivaninm API je limit X requestov za Y minut na 1 IP; v pripade, ze nastane takato situcaia, v odpovedi bude uvedene XXX a nasledovny postup je taky a taky” atd. a pod.

Ale ak tomu dobre rozumiem, tu sa zatial bavime o “shroedinger API”, t.j. aj je aj nie je, aj sa pouzivat moze aj sa nemoze, atd. V zasade teda tema “Open API” a vieme o tom, vid “API na bločky z eKasaKatalóg štátnych OPEN API .

(V starsom prevedeni boli/su podobne problemy s API katastra, vid napr. “Príklad druhý, dobrý: Mapový klient ZBGIS” v OpenData API nemusí byť nič špeciálne - Projekt OpenData - Opendata)

Vyskočila mi reklama na komerčnú aplikáciu na bločky.
Mobilná aplikácia na skenovanie bločkov

Pomocou mobilnej aplikácie Doklado uložíte bloček do digitálneho archívu za menej ako 5 sekúnd. Bločky sú hneď po uložení pripravené na export do účtovného programu.

Spracovanie 70 ks bločkov a faktúr v cene
Nad 70 ks je cena za spracovaný doklad 0,20 € / 0,24 € s DPH

Po dlhšom čase som vyskúšal štátnu apku Over Doklad, neprekvapivo je nefunkčná, peniaze za ňu sa tak javia ako “účelne” vynaložené. API je stále neverejné, rate ban stále aktívny, po cca 100 bločkoch spracovávaných dávkovo zablokuje na čas IP. Medzičasom sa tu objavilo niekoľko aplikácií, ktoré neoficiálne API využívajú aj komerčne. Prosto banánistan.

1 Like

To je aj na trestne oznamenie, ak je naozaj aplikácia nefunkcna.

Tuto ma naozaj bude zaujimat, ze naco toto stat robil, ked na trhu existuje X hotovych rieseni a tvarime sa, ze OpenAPI oficialne ani nemoze existovat.

Som fakt, ze zvedavy na posudenie MIRRI. 95/2019 Z.z. - Zákon o informačných technológiách ... - SLOV-LEX To si asi vypytam infoziadostou.

Plus

2 Likes

Mohli dohodnúť, že na reklamáciu stačí ID bločku/QR kód bez ohľadu v akej aplikácii bude uložený/zobrazený.
Teraz im už len stačí výrazne obmedziť API ktoré ani oficiálne nebolo, alebo zavrieť pre prístup z vonku a štátna aplikácia sa rýchlo rozšíri, výzva bude splnená.


„Súčasne finančná správa na tejto novinke spolupracovala s ministerstvom financií a so Slovenskou obchodnou inšpekciou. Výsledkom tejto spolupráce je uistenie, že reklamácia produktov a služieb prostredníctvom aplikácie ePeňaženka je pre obchodníkov povinná,“ uvádza štát.

Aplikáciu aj interný backoffice systém finančnej správy vyvinul vysúťažený dodávateľ – spoločnosť Asseco Central Europe, pričom práce trvali 15 mesiacov. Náklady dosiahli necelých 24-tisíc eur s DPH, no k tomu treba ešte prirátať ďalších asi 100-tisíc za šesťmesačnú podporu prevádzky.

„Budeme zbierať skúsenosti od používateľov a obchodníkov a po šiestich mesiacoch budeme pripravovať ďalší rozvoj,“ povedal počas tlačovej konferencie prezident finančnej správy Jiří Žežulka.

Teraz za najväčšiu výzvu považuje prijatie a rozšírenie aplikácie medzi ľudí, pričom chce dosiahnuť jej „používanie širokými masami“.

V najbližšom čase sa chce sústrediť na riešenie dopytov a prípadných problémov zo strany používateľov a pripravenosť svojho callcentra a zamestnancov podieľajúcich sa na štandardnej prevádzke systému.

1 Like