Commands within a receipt
Commands that have command paragonBegin at the beginning and paragonEnd at the end.
Line numbering is controlled as MOD10.
paragonBegin
command for the beginning of the receipt, for eKasa receipt has to be the first
paragonBegin:[0];[1];[2];[3];[4];[5]
[0] - line number
[1] - sale type
0 = retail (prices are entered with VAT)
1 = wholesale (prices are entered without VAT))
2 = internal receipt (without trimming)
3 = internal receipt (bin)
4 = training receipt, retail - in every third line text "NEPLATNÝ DOKLAD"("INVALID RECEIPT") is being printed, receipt is communicated on SFS
5 = DEPOSIT/WITHDRAWAL - "VKLAD"("DEPOSIT") is printed at the beginning of the receipt
6 = internal receipt
9 = payment of a claim
[2] - transmission type
0 - line
1 - block
[3] - receipt type
0 - positive receipt
[4] - VAT recapitulation type
0 - abridged
1 - McD
[5] - graphic header
0 - without graphic header
1-6 - graphic header number from NV memory of the printer
paragonEnd
command for the end of the receipt, for eKasa receipt has to be the last
paragonEnd:[0];[1]
[0] - line number
[1] - graphic footer
0 - without graphic footer
1-6 - grahic footer number from NV memory of the printer
itemSale
itemSale:[0];[1];[2];[3];[4];[5];[6]
[0] - line number
[1] - goods name - if the number of characters is exceeded, it declares a parameter error in the command
[2] - TOTAL price per item - max 999999.99 (max two decimal numbers, the others will be cut)
[3] - VAT rate
[4] - quantity - max 99999.999
[5] - unit price - max. 8 characters (999999.99 or 9999.9999,...)
[6] - quantity unit - max 3 characters
accuracy of the calculation Total Price = Quantity * UPrice is not checked, value Total Price is accumulated in local registers
itemReturn
itemReturn:[0];[1];[2];[3];[4];[5];[6];[7]
[0] - line number
[1] - goods name - if the number of characters is exceeded, it declares a parameter error in the command
[2] - TOTAL price per item - max 999999.99 (max two decimal numbers, the others will be cut)
[3] - VAT rate
[4] - quantity - max 99999.999
[5] - unit price - max. 8 characters (999999.99 or 9999.9999,...)
[6] - qantity unit - max 3 characters
[7] - counter receipt number - max 44 characters *
restrictions on this operation resulting from the wording Z 289/2008 provides its own cash register program, not eKasa
* CounterreceiptNumber: 44 characters - verification code of an enterpreneur (OKP) / 34 characters - unique receipt identifier (UID) / In case of receipt issued on ERP according to the law in force until 1.4.2019 the serial number of the cash receipt is stated.
Implementation recommendation: - operation RETURN can be used only on items that were on previous closed receipts. This function can be implemented simply so that operation RETURN is possible to use only for items, that are not in the current opened receipt.
itemVoid
itemVoid:[0];[1];[2];[3];[4];[5];[6];[7]
[0] - line number
[1] - goods name - if the number of characters is exceeded, it declares a parameter error in the command
[2] - TOTAL price per item - max 999999.99 (max two decimal numbers, the others will be cut)
[3] - VAT rate
[4] - quantity - max 99999.999
[5] - unit price - max. 8 characters (999999.99 or 9999.9999,...)
[6] - quantity unit - max 3 characters
[7] - counter receipt number - max 44 characters *
restrictions on this operation resulting from the wording Z 289/2008 provides its own cash register program, not eKasa
* CounterreceiptNumber: 44 characters - verification code of an enterpreneur (OKP) / 34 characters - unique receipt identifier (UID) / In case of receipt issued on ERP according to the law in force until 1.4.2019 the serial number of the cash receipt is stated.
Implementation recommendation: - operation CANCELATION(STORNO) is possible to use only on goods/items that were already on previous closec receipts. This function can be implemented simply so that operation RETURN is possible to use only for items, that are not in the current opened receipt.
itemNegative
itemNegative:[0];[1];[2];[3];[4];[5];[6]
[0] - line number
[1] - goods name - if the number of characters is exceeded, it declares a parameter error in the command
[2] - TOTAL price per item - max 999999.99 (max two decimal numbers, the others will be cut)
[3] - VAT rate - possible to use only rate "EXEMPT", the other rates declare a parameter error in the command
[4] - quantity - max 99999.999
[5] - unit price - max. 8 characters (999999.99 or 9999.9999,...)
[6] - quantity unit - max 3 characters
accuracy of the calculation Total Price = Quantity * UPrice is not checked, Total Price value is accumulated in local registers.
the summary of returned packaging is printed outside the VAT register, under the breakdown - designation "VO"
itemDiscount
itemDiscount:[0];[1];[2];[3];[4]
[0] - line number
[1] - operation description - max 18 characters
[2] - operation type - 0-3
0 - value discount
1 - value surcharge
2 - % discount
3 - % surcharge
[3] - discount value - for OperationType 0,1 is the format 9999999.99, for OperationType 2,3 is format 99.99; discount value cannot be higher than value of the item
[4] - VAT rate
subtotalDiscount
subTotalDiscount:[0];[1];[2];[3];[4]
[0] - line number
[1] - operation description - max 18 characters
[2] - operation type - 0-1
0 - value discount
1 - value surcharge
[3] - discount value - for OperationType 0,1 is the format 9999999.99
[4] - VAT rate
VAT has to be entered, the discount is limited to the turnover in the given tax category within the receipt
subtotal
subTotal:[0];[1];[2]
[0] - line number
[1] - description - max 20 characters
[2] - attribute - 0-1
0 - print subtotal with VAT
1 - print subtotal without VAT
in case of the amount without VAT it is marker “*” e.g. 125.60*
payment
payment:[0];[1];[2];[3];[4];[5]
[0] - line number
[1] - payment method number - 1-8,16; order can be changed, legal rounding of cash payment method is set on payment method 16
default payment settings:
1 - Card
2 - Cheque
3 - Meal ticket
4 - International currency
5 - PAYMENT METHOD 5
6 - PAYMENT METHOD 6
7 - PAYMENT METHOD 7
8 - PAYMENT METHOD 8
16 - Cash
[2] - total - max. 9999999.99, in case of use "0" the entire remaining unpaid amount will be used
[3] - amount offered - max. 9999999.99, in case of use "0" the entire remaining unpaid amount will be used
[4] - rate - 0 = is not a foreign currency or exchange rate = xx.xxxx for conversion.
[5] - description - max 10 characters
when setting up each payment method, rounding to the minimum payment method is also entered.
depositeInDrawer
depositeInDrawer:[0];[1];[2];[3];[4]
[0] - line number
[1] - operation desription - max 20 characters
[2] - operation type - 0-1
0 - DEPOSIT
1 - WITHDRAWAL
[3] - total amount
[4] - payment method number
printAnnouncement
printAnnouncement:[0];[1]
[0] - line number
[1] - text - number of characters is variable based on the printer driver type/F41/
Double width is expressed by character "~1F" before an active character; it is possible to insert ESC sequences from permitted list in the format ~1B~xx~xx
On the tax receipt the string(line) entered will be printed in a section bellow the recapitulation. It is possible to print any number of these notifications before the command End of Receipt
In internal receipt it is possible to use only this command any number of times between the commands Beginning of Receipt and End of Receipt
printAnnouncementNF
printAnnouncement:[0];[1]
[0] - line number
[1] - text - number of characters is variable based on the printer driver type/F41/
Double width is expressed by character "~1F" before an active character; it is possible to insert ESC sequences from permitted list in the format ~1B~xx~xx
On the tax receipt the string(line) entered will be printed in a section S2 for input of items. It is primarily intended for entering serial numbers. It generates special character “#“ at the end of the line (40-th position), to distinguish from “fiscal data”.
It is possible to print any number of these notifications before the first command Total
itemDiscount2
itemDiscount2:[0];[1];[2];[3];[4];[5]
[0] - line number
[1] - operation description - max 18 characters
[2] - operation type - 0-3
0 - value discount
1 - value surcharge
2 - % discount
3 - % surcharge
[3] - discount value - for OperationType 0,1 is format 9999999.99, for OperationType 2,3 is format 99.99; discount value cannot be higher than value of the item
[4] - VAT rate
[5] - TotalZ - for Type2 commands is value TotalZ ignored and the amount of the parameter DiscountValue is used.
subtotalDiscount2
subTotalDiscount:[0];[1];[2];[3];[4];[5]
[0] - line number
[1] - operation description - max 18 characters
[2] - operation type - 0-1
0 - value discount
1 - value surcharge
[3] - discount value - for OperationType 0,1 is format 9999999.99
[4] - totalZ - for Type2 commands is the value TotalZ used for the turnover calculation. The remaining fields are used only to create a statement on the receipt.
[5] - VAT rate
VAT must be entered, the discount is limited to the turnover in the given tax category within the receipt.
popis0Dph
popis0Dph:[0]
[0] - type - 0-5
0 - PDP (tax liability transfer)
1 - OOD (exempt from tax)
2 - CK (travel agencies)
3 - PT (used goods)
4 - UD (a work of art)
5 - ZPS (collectibles and antiques)
Description is linked to the previous item (itemSale, itemReturn,...).
If it is not at 0% VAT, it is rejected.
An additional description of the reason must be created using free text (printAnnouncementNF).
setTransactionId
setTransactionID:[0]
[0] - internal code of the POS app - Setting the parent app internal code ID (uniqueness is solved by the application).
setTransactionId2
setTransactionID2:[0]
[0] - internal code of the POS app - Setting the parent app internal code ID (uniqueness is solved by the application).
odpocitanaZaloha
odpocitanaZaloha:[0];[1];[2];[3]
[0] - name - number of characters variable based on printer driver type/F41/
[1] - quantity - max 999999.99
[2] - VAT - has to be the same as the item being sold
[3] - amount - may be higher than item value, the receipt goes into negative numbers
the price is automatically deducted - is always negative
vymenaPoukazu
vymenaPoukazu:[0];[1];[2];[3];[4]
[0] - voucher name - number of characters variable based on printer driver type/F41/
[1] - quantity - max 999999.99
[2] - tax rate - must be the same as the item being sold otherwise it will not be applied to the sum of the items
[3] - amount - max 999999.99
[4] - voucher number -
the price is automatically deducted - is always negative
The voucher exchange command switches to the status S43, in which only commands vymenaPoukazu (i.e. it is possible to pay for a receipt with more than one voucher) and payment are allowed.
It is not possible to overpay the receipt with an exchange voucher (it is not possible to refund money for an exchange voucher) i.e. it can only be used if the total amount for the receipt is higher than 0. Even in case if the receipt is paid fully by an exchange voucher (possibly overpaid) to complete the receipt command payment must be used.
printDisplay
printDisplay:[0];[1]
[0] - display type - 0-1
0 - internal
1 - external
[1] - text - max 40 characters
ESC: enter in the format 1Bxx~xx
clearDisplay
clearDisplay:[0]
[0] - 0-1
0 - internal
1 - external
printDisplay2
printDisplay2:[0];[1]
[0] - display type - 0-1
0 - internal
1 - external
[1] - text - max 120 characters
ESC: enter in the format 1Bxx~xx
setInvoiceNumber
setInvoiceNumber:[0]
[0] - invoice number - max 50 characters
printIssuedParagon
printIssuedParagon:[0];[1]
[0] - paragon serial number - max 9999999999
[1] - date and time of paragon issuance - DDMMRRRRhhmmss
printBC
printBC:[0];[1]
[0] - code type - 0-6, 65-72
[1] - data - max 40 characters
For information on supported code types and lengths, see the documentation for each printer type in the command GS k (1DH 68H).
freeID
freeID:[0];[1]
[0] - print ID - 0-1
0 - does not print
1 - prints
[1] - data - max 40 characters from 20H to FFH
setSellerID
setSellerID:[0];[1]
[0] - number - 1-12 characters
[1] - type - 0-1
0 - TIN
1 - VAT registration number
The command is linked to the previous item (itemSale, itemReturn,...)
printQRCode
printQRCode:[0]
[0] - text - max 350 chars
setPreline
setPreline:[0]
[0] - text - number of characters variable based on printer driver type/F41/
It is printed below the item processed by sales commands: PredajPoložky, Zľava/Prirážka, Storno položky,... It will reset after application. ALPHA 1-40. Double width is expressed by the character "~1F" before the active character.
setPostline
setPostline:[0]
[0] - text - number of characters variable based on printer driver type/F41/
It is printed below the item processed by sales commands: PredajPoložky, Zľava/Prirážka, Storno položky,... It will reset after application. ALPHA 1-40. Double width is expressed by the character "~1F" before the active character.
Last modified: 23 februára 2026