Documentation (English)
Most up to date documentation is in Czech.
USED ABBRIVIATIONS
DIC - Tax identification number
DIC pověřujícího - Appointing Tax identification number, special case when merchant is selling items that belong to other Tax payer.
Official government documentation for protocol: http://www.etrzby.cz/assets/cs/prilohy/EET\_popis\_rozhrani\_v3.1.1\_EN.pdf
REQUIREMENTS
- .NET 4.5 and higher is required
ACTIVATION OF MODULE LICENSE
1) Fill license information to file eet-licence.txt
2) Fill configuration file
3) Start program (exe) and verify that license was successfuly verified. If license was successfuly registered, eetout.txt contains error 1005. This means that license was succesfully registered and receipt in eetin.txt was omitted and not sent.
USING EET MODULE FROM OTHER SOFTWARE
After starting eet.exe input data are loaded from eetin.txt
in order, to detect whether process is still sendig receipts to EET, file pracuji.txt is created.
After finishing EET communication with EET server, file pracuji.txt is deleted and output is filled into eetout.txt.
In software environments which can not detect whether eet.exe is still running, pracuji.txt can be checked if exists.
When pracuji.exe does not exists, EET communication output was created.
PLAYGROUND (EET TEST) ENVIRONMENT
DIČ of sender has to be CZ1212121218 which belongs to digital certificate 01000003.p12
Playground can be used only if 1. row of eet.txt is set to true
Test certificates are available here http://www.etrzby.cz/cs/technicka-specifikace\
IMPORTANT NOTICE OF INPUT DATA
Number fileds have to be filled with 0 even though they are empty
Number of input rows has to be exactly the same as below
LICENSE eet-licence.txt
license
ICO that bought the license (SW company)
constant 1
license digital signature (leave empty when registering the product)
CONFIGURATION eet.txt
debug mode - true = test environment, does not officialy records sales, false = production environment, used only with client certificates, officially records sales
timeout MS - minimum 2000, response timeout for EET server.
certificate path - system path to digital certificate
certificate password - certificate password playground e.g. 01000003.p12 has password "eet"
SENDING AND RECORDING SALES USING eetin.txt
prvni_zaslani - BOOLEAN, TRUE = first send attempt, FALSE = second and each other sent attempt
overeni - test rezim BOOLEAN, TRUE = verification regime (special regime that only validates date, if used, it does not returns FIK), FALSE = used for production, officially records sales (sales record)
dic_popl - DIC of merchant, STRING 12
dic_poverujiciho - DIC pověřujícího merchant, STRING 12
id_provoz - ID store, INT 1-999999
id_pokl - ID POS, STRING 20
porad_cis - receipt number, STRING 20
dat_trzba - date of sale e.g. 2016-11-09T04:2528+01:00, DATE in format ISO8601
celk_trzba - total sale record, DECIMAL
zakl_nepodl_dph - Total amount for performance exempted from VAT, other performance, DECIMAL
zakl_dan1 - Total tax base - basic VAT rate, DECIMAL
dan1 - Total VAT - basic VAT rate, DECIMAL
zakl_dan2 - Total tax base - first reduced VAT rate, DECIMAL
dan2 - Total VAT - first reduced VAT rate, DECIMAL
zakl_dan3 - Total tax base - second reduced VAT rate, DECIMAL
dan3 - Total VAT - second reduced VAT rate, DECIMAL
cest_sluz -Total amount under the VAT scheme for travel service, DECIMAL
pouzit_zboz1 - Total amount under the VAT scheme for the sale of used goods - basic VAT rate, DECIMAL
pouzit_zboz2 - Total amount under the VAT scheme for the sale of used goods - first reduced VAT rate, DECIMAL
pouzit_zboz3 - Total amount under the VAT scheme for the sale of used goods - second reduced VAT rate, DECIMAL
urceno_cerp_zuct - Total amount of payments intended for subsequent drawing or settlement, DECIMAL
cerp_zuct - Total amount of payments which are payments subsequently drawn or settled, DECIMAL
rezim - Sale regime (FALSE - regular regime), (true - simplified regime which requires permit from Tax Office, allows customer to send unsent records up to 5 days)
OUTPUT eetout.txt
porad_cisl - receipt number, to verify
PKP - signature code (is printed when FIK is not available)
BKP - secure code (has to be printed on each receipt)
FIK - online code (EET record, means that Tax Office officially recorded the sale, is printed when available).
UUID - Unique identification of XML communication, do not print this on receipt, this is recommended to save to DB.
Error code - see errors
ERRORS
- (EET server errors) see http://www.etrzby.cz/assets/cs/prilohy/EET\_popis\_rozhrani\_v3.1.1.pdf
-1 - Docasna technicka chyba zpracovani – odeslete prosim datovou zpravu pozdeji (system unavailable)
0 - Datovou zpravu evidovane trzby v overovacim modu se podarilo zpracovat (Sale record was successfully recoreded by Tax Office)
1 - )**
2 - Kodovani XML neni platne )*** (invalid XML)
3 - XML zprava nevyhovela kontrole XML schematu (XML message does not comply with XML scheme) This error occurs often when sale record attributes in eetin.exe are not in valid format.
4 - Neplatny podpis SOAP zpravy (Invalid SOAP signature)
5 - Neplatny kontrolni bezpecnostni kod poplatnika (BKP) (Invalid BKP code)
6 - DIC poplatnika ma chybnou strukturu (invalid DIC)
7 - Datova zprava je prilis velka (Sale record message is too large)
8 - Datova zprava nebyla zpracovana kvuli technicke chybe nebochybe dat (Sale record couldn't be recorded due to technical or data error)
9 – 999 )**
)* Texty chybových zpráv budou v souladu s kódováním znaků ve všech datových zprávách EET uvedeny bez diakritiky – viz 3.1 Kódování datových položek. (Errors are send without diacritic, without special Czech characters)
)** Rezervováno pro budoucí použití. (Reserved for further ussage)
)*** Podle situace je možné na tuto chybu reagovat i navrácením technické chyby, např. tzv. SOAP fault, nebo dokonce ignorováním datové zprávy, pokud je podezření, že se jedná o kybernetický útok (This message can occure in format e.g. SOAP fault, or request can be completely ignore when suspicious cyber attacks occur)
Seznam chyb (ze zpracovani EET modul)
1001 - Internet není k dispozici (internet unavailable)
1002 - Chyba ověření licence (RSA) (License signature error)
1003 - Neošetřená výjimka (Unhandled exception)
1004 - Chybné údaje licence (Invalid license info)
1005 - První spuštění - EET modul byl zaregistrován, účtenka nebyla odeslána. (Module was registered, receipt was not sent)
1006 - Neplatná licence EET modulu. (Invalid license)
1007 - Překročena mezní doba odezvy (Send timeout was reached)
1008 - Odpověď je null (EET response is null)
KREDIT
Module uses library https://github.com/l-ra/openeet