Comm2A PL

Description for communication application for ECRs Euro-500T/TX Handy, Euro-Smart, Euro-Smart Plus, Euro-2100TX, Euro-2300TX, Euro-100T and Euro-200TX

Július Adam

PL document version

Revision History
Revision 1.0023. Feb. 2006JAD

Build of PL document version

For Comm32.dll from version 4.29 and Comm2A from version 3.8.

Revision 1.0123. May 2006JAD

Added description for Euro-2100

Documentation change for Comm32.dll from version 4.31 and Comm2A from version 3.9.

Revision 1.0217. Juli 2006JAD

Illegal characters and roman numbers are converted from text to binary data as 'space'.

Revision 1.037. Aug. 2006JAD

Added hourly report for Euro-2100.

Added new programmable keys "PLU price question" and "Calculator".

Documentation change for Comm32.dll from version 4.34 and Comm2A from version 3.9.0.34.

Revision 1.0419. Apr. 2007JAD

Fixed all known bugs in descriptions.

Revision 1.052. May 2007JAD

Added new cash registers Euro-100T and Euro-200TX.

Revision 1.0622. May 2007JAD

Added support for decimal comma/dot configuration.

Revision 1.078. Oct. 2007JAD

Added new cash register type Euro-2300TX.

Added new commands Section 3.20, “Programming PLU price”, Section 3.21, “Programming PLU stock” and Section 3.28, “Read receipts (PC journal)”, Section 3.12, “Clearing journals in ECR memory”.

Documentation change for Comm32.dll from version 4.45 and Comm2A from version 3.10.2.77.

Revision 1.0817. Oct. 2007JAD

Added new commands Section 3.38, “Reading length of single receipt” and Section 3.39, “Read single receipt (PC journal)” for Euro-2300TX.

Abstract

Document contains description how to use communication application Comm2A. This application can be used with the following ECR types: Euro-500T/TX Handy, Euro-Smart, Euro-Smart Plus, Euro-2100TX, Euro-2300TX, Euro-100T and Euro-200TX


Table of Contents

Introduction
1. License
1. Application Comm2A
1.1. About application Comm2A
1.2. Launching the application
1.3. Configuration file description
1.4. Range select
1.5. ID select
1.6. Error file description
1.7. Error codes (ACK results)
1.8. Separating items and values
2. Representation of data
2.1. Presentation of used types
2.2. ECR types
3. Data in binary form description
3.1. Other ECR parameters
3.2. Commands list
3.3. System flags
3.4. System flags for Euro-2100 and Euro-2300
3.5. System flags for Euro-100T and Euro-200TX
3.6. Cashier names
3.7. Delete PLU sale data
3.8. Secondary currency exchange rate
3.9. PLU structures and commands
3.10. Extended flags for Euro-2100 and Euro-2300
3.11. Extended flags for Euro-100 and Euro-200
3.12. Clearing journals in ECR memory
3.13. Programming returnable packs prices
3.14. EAN-13 bar-codes behavior parameters programming and reading
3.15. Send message for cashier
3.16. Programmable keys
3.17. Programming PLU categories for Euro-100T
3.18. Programming PLU categories for Euro-200TX
3.19. Hourly report clearing
3.20. Programming PLU price
3.21. Programming PLU stock
3.22. Text logo
3.23. Reading TAX report
3.24. Receiving grand totals values
3.25. Financial report
3.26. Cashier sales report
3.27. Reading PLU count with non zero sale
3.28. Read receipts (PC journal)
3.29. Reading data about journals length
3.30. Reading sales data of returnable packs
3.31. Reading sales data of returnable packs for Euro-2100 and Euro-2300
3.32. Reading sales data of returnable packs for Euro-100T
3.33. Reading sales data of returnable packs for Euro-200TX
3.34. Reading content of fiscal memory
3.35. Reading PLU categories report Euro-100T
3.36. Reading PLU categories report Euro-200TX
3.37. Read hourly report
3.38. Reading length of single receipt
3.39. Read single receipt (PC journal)
3.40. Identification data and parameters of ECR
4. Text data format
4.1. Commands list
4.2. Taxes interpretation
4.3. Text receipt logo
4.4. System flags
4.5. Cashier names
4.6. PLU's
4.7. Delete PLU sale data
4.8. Secondary currency exchange rate
4.9. Extended flags flags
4.10. Clearing journals in ECR memory
4.11. Programming returnable packs prices
4.12. EAN-13 bar-codes behavior parameters programming and reading
4.13. Send message for cashier
4.14. Programmable keys
4.15. Programming PLU categories
4.16. Hourly report clearing
4.17. Programming of PLU price
4.18. Programming PLU stock
4.19. Reading TAX report
4.20. Receiving grand totals values (fiscal version)
4.21. Financial report
4.22. Cashier sales report
4.23. Reading PLU count with non zero sale
4.24. Read receipts (PC journal)
4.25. Reading data about journals length
4.26. Reading sales data of returnable packs
4.27. Reading PLU categories report
4.28. Read hourly report
4.29. Reading length of single receipt
4.30. Read single receipt (PC journal)
4.31. Identification data and parameters of ECR
A. Glossary of used terms

Introduction

Table of Contents

1. License

1. License

  1. Free Version License. By receiving and/or using Elcom communication software, you accept the following Free Version User Agreement. This agreement is a binding legal agreement between Elcom s. r. o. and the purchasers, users or evaluators of Elcom software and products. If you do not intend to honor this agreement, remove all installed Elcom software from your computer now.

  2. Free Version Distribution. This Free Version software may be freely distributed, provided that:

    1. Such distribution includes only the original archive supplied by Elcom s. r. o. You may not alter, delete or add any files in the distribution archive (the only exception is in point 3).

    2. No money is charged to the person receiving the software, beyond reasonable cost of packaging and other overhead.

    3. Original files can be distributed included in application software that supports product from Elcom s. r. o.

    For information about redistribution of Elcom communication software visit our web site at http://www.elcom.sk or e-mail us .

  3. Free Version User Agreement. 

    1. Usage and distribution restrictions. The evaluator/user/buyer/owner may not use or distribute Elcom software for any unlawful purpose. The evaluator/user/buyer/owner is not allowed to attempt to disassemble or decompile Elcom Software and products.

    2. Copyright restriction. Elcom name and any logo or graphics file that represents our software may not be used in any way to promote products developed with our software. All parts of Elcom software and products are copyright protected.

    3. Limitation of responsibility. The evaluator/user/buyer/owner of Elcom software will indemnify and defend Elcom against lawsuits, claims, costs associated with defense or accusations that result from the use of Elcom software.

      Elcom is not responsible for any damages whatsoever, including loss of information, interruption of business, personal injury and/or any damage or consequential damage without limitation, incurred before, during or after the use of our products.

Chapter 1. Application Comm2A

1.1. About application Comm2A

The Comm2A.exe application ensures communication between PC and following ECR types: Euro - 1000M/T, Euro - 2000M/T/TE Alpha and Euro - 500T/TX Handy. It is 32-bit Windows application for Windows 95/98/2000/NT/XP. The application allows to transfer all programmed data, including on-line sales from ECR to PC and vice versa, including all reports and other read-only information.

1.2. Launching the application

1.2.1. Use Comm2A with command line parameters

There are three basic forms how to use Comm2A. Each of these forms use other command line arguments.

  1. Use with configuration fileComm2A.exe [/t] [/SK | /CZ | /CZf | /EN | /ENf | /GB | /GBf | /SW | /RO | /PL | /HU | /LV | /MK | /FI | /GR | /SR | /LT | /MN | /DK | /DE] [/cfg_file:file] [/modem_wait:nnnn] [/err_file:file] [/run_file:file] [/cfg:ssssss] [/drm:drm]

    All needed parameters are obtained from configuration file. For all not entered optional command line parameters are used default values.

  2. Use only command line. Comm2A.exe [/t] [/SK | /CZ | /CZf | /EN | /ENf | /GB | /GBf | /SW | /RO | /PL | /HU | /LV | /MK | /FI | /GR | /SR | /LT | /MN | /DK | /DE] /com:n /speed:nnnn /ecr:nn /num:nn /o:nnn [/start:nnn] [/len:nnn] [/cfg:ssssss] [/tel:ttttttt] [/modem_wait:nnnn] /data_file:file [/err_file:file] [/run_file:file] [/drm:drm]

    In this mode must be entered all necessary parameters otherwise the program displays error "Configuration file not found".

  3. Auto-detect ECR. Comm2A.exe /autodetect /num:nn [/com:n] [/speed:nnnn] [/num:nn] [/SK | /CZ | /CZf | /EN | /ENf | /GB | /GBf | /SW | /RO | /PL | /HU | /LV | /MK | /FI | /GR | /SR | /LT | /MN | /DK | /DE] [/err_file:file] [/t]

    This mode is used only to detect type of connected ECR .

It is possible to combine I. and II. form. In this case all parameters that are not entered in II. form will be obtained from configuration file.

Example 1.1. Examples of command line usage

Comm2A.exe /autodetect /num:1 /SW /t

Comm2A.exe /t /GB /com:1 /speed:38400 /ecr:20 /num:1 /o:158 /start:0 /len:2400 /cfg:timeout=1500 "/data_file:PLU report.txt"

Note

Between parameters must be space. Within one parameter can not be used space character. If it is necessary to use space for file names, this commandline parameter must be enclosed in quotation marks.

1.2.2. Description of command line parameters

/SK /CZ /CZf /EN /ENf /GB /GBf /SW /RO /PL /HU /LV /MK /FI /GR /SR /LT /MN /DK /DE

Set up the country. Only one of these parameters at a time.

Table 1.1. Country shortcuts meaning

shortcutcountry
SKSlovakia
CZCzech (non fiscal version)
CZfCzech (fiscal version)
EN, GBgeneric english version (non fiscal)
ENf, GBffiscal english version
SWSweden
RORomania
PLPoland
HUHungary
LVLatvia
MKMacedonia
FIFinland
GRGreece
SRSerbia
LTLithuania
MNMonte Negro
DKDenmark
DEGermany

Comm2A has built country detection, but this depends from settings in operation system and not all operating systems support this feature. The second way how to set national version and do not use command line parameter is installing only one language pack. If there is only one language pack installed, Comm2A change to this specific national version.

National version set priority is:

  1. command line (the only safe method)

  2. language pack

  3. auto-detection from OS

/t

This parameter switches the application to text mode. This means that all data will be read from the text file and written into a text file.

For auto-detection this parameter is used to display detected type of ECR (otherwise is detected type only stored in err_file).

/com:n

Sets up the communication port number, where n is communication port number within 1-255.

/speed:nnnn

Sets up the communication speed, where nnnn is speed, either 9600 or 38400.

/ecr:nn

Sets up the ECR type, where the nn is ID number of particular ECR.

/num:nn

Sets up the ECR number (identification number in a "ECR network"), where nn is number within 1–99.

/o:nnn

Sets up the operation, where nnn is the operation ID number.

/start:nnn

Sets up the first transferred item (parameter is not compulsory for all operations).

/len:nnn

Sets up the number of transferred items (parameter is not compulsory for all operations).

For send text operations (/t) is available auto detection of input file lines.

/cfg_file:file*1

Sets up the position*2 of configuration file.

In case that the configuration file is not specified, the application test at first the actual directory for the configuration file, then application directory and if the cfg file is not found then the default path is used.

Note

The default path to the configuration file is the “Windows” directory (defaults to “C:\WINDOWS” for Windows 95/98/ME/XP and to “C:\WINNT” for Windows NT/2000; it also could be something totally different, this depends on the OS configuration).

/err_file:file*1

Sets up the “error” file position*2. "Error file" = file where operation results are logged.

/run_file:file*1

Sets up the “check” file position*2. "Run file" = file that will be erased after the application ends (can be used to determine if the application is running; the file needs to be created explicitly, it is not created by default).

/data_file:file*1

Sets up the position*2 of data file.

/cfg:ssssss

Setting the configuration string of the communication library, where ssssss is the configuration string.

The string is comprised of individual parameters separated by ';' (semicolon) characters. Parameters could contains also a numeric, or string value if needed. Such parameter is then written as “parameter=value”.

Table 1.2. Supported parameters (marked values in are automatically set during initialisation)

parameter name(s)description
modem+ / modem-sets up default settings for modem communication. modem+ changes break time for 9600 Baud to 1s and timeout to 6s. modem- changes break time for 9600 Baud to 20ms and timeout to 5s.
modemtime=timesets the modem answer time-out for dialling in milliseconds (60 s)
485+ / 485-sets up the usage/disusage of flow control necessary for RS-485 converters
485wait=timesets up the time space between the command that switches the converter and actual start of transmission. Time is specified in microseconds. (Warning: not all PCs support measuring time in microseconds. In this case, the time will be rounded up to nearest whole millisecond) (1 microsecond)
485coef=coefficientsets up the coefficient for switching the 485 converter into state for receiving data. The coefficient is in fact time in which the PC will transmit 1,000 bytes via the communication port divided by the time necessary to send one bit. To transmit one byte, it is necessary to transmit ten bits (start bit, eight data bits and a stop bit) and also account for the time between individual bytes.
timeout=timesets up the time of maximum ECR answer time-out in milliseconds (5s) (changed by modem+/- parameter)
break=timesets up wait time for start communication after break signal in milliseconds (20ms / 1s) (changed by modem+/- parameter)
break384=timesame as break, only for speed of 38 400 Baud (20ms)
break96=timesame as break, only for speed of 9 600 Baud (1s) (changed by modem+/- parameter)
warning+ / warning / warning-Specifies “warning mode”. “+” means – all warnings ends communication. “-” means – no warning ends communication. Without “+”/“-” means programming warnings ends communication (e. g. warning while programming PLUs)
wait_sn=timen” is number from 1 to 3 and time is delay in milliseconds. Meaning of n is: 1 – delay time in wait loop before change state to send (for 485), 2 = time before send of packet, 3 = time after send of packet (after send command to 485 for receive). Default values: s1 = 0, s2 = 0, s3 = 0.
wait_rn=timen” is number from 1 to 3 and time is delay in milliseconds. Meaning of n is: 1 – not used from version 4.30, 2 = wait time in "reading data from COM port loop", 3 = wait time in "wait for read data delay loop". Default values: r1 = 1, r2 = 1, s3 = 0.
decimal=characterThis parameter allow the user to select decimal separator for numbers. Standard value of decimal separator is dot. This configuration is useful if there is a third party software (e. g. MS excel™, OOo Calc™) and this software requires decimal comma (depending on operation system settings) and not decimal dot. This character will be used for both sides conversion (binary->text and text->binary). Decimal separator can be only one character long. If there is given more than one character, then only the first character will be used.
/tel:ttttttt

Sets up the phone number; used only if the library has to create the modem connection.

/modem_wait:nnnn

Sets up the wait time (in ms) between end of dialing and start of communication. This time is necessary for some modems. Default time is 500 ms.

/drm:drm

Sets display and rounding decimal places and method. Meaningful only for text conversions. Meaning of numbers is:

  • d - number of decimal places

  • r - number of places to round

  • m - rounding method

    • 0 - to nearest integer,

    • 1 - always up,

    • 2 - always down,

    • 3 - quarter rounding.

Note

For reading data from PLU is meaningful only decimal places for display. Rounding of numbers is used only when are data transferred to ECR.

/online_wait:time

Time wait time between two online sale commands in milliseconds.

/autodetect

Use this parameter to launch auto-detection of connected ECR. Use of parameters /com:n and/or /speed:nnnn limits the detection to one COM port and/or one communication speed. Use parameter /t to display found ECR also on the screen.

*1: file is the file name (can also contain the path, relative or absolute); if the file and/or path contain spaces, it is necessary to enclose such file name/path in quotes (“file name”).

Example 1.2. Set file name for "data file"

/data_file:"c:\Program Files\Elcom\Comm2A\Com2A.data"

*2: position = file name (and path).

1.3. Configuration file description

  • 1st row contains serial port settings in this format: port:speed,parity,databit,stopbit

    where:

    • port: COM1 – COM255

    • speed: 9600 or 38400

    • parity: n

    • databit: 8

    • stopbit: 1

    Example 1.3. 1st row

    COM2:38400,n,8,1

  • 2nd row contains the information on ECR: numPLU numDPT numCashiers (will be ignored)

    where:

    • numPLU: 1000, 2100, 2400, 6000, 9000 or 10000 (according to ECR type)

    • numDPT: 8, 30 (according to ECR type)

    • numCashiers: 6 (according to national version and ECR type)

  • 3rd row contains data on transferred data: ItemsCount FirstItemIndex ItemSize

    where:

    • ItemsCount: number of transferred items (not used by all commands)

    • FirstItemIndex: index of the first item to be transferred, counted from 0. (not used by all commands)

    • ItemSize: size of single item (in bytes) (will be ignored)

    see the example for 3rd row.

  • 4th row contains: numOperation numECR typeECR dataFile

    where:

  • 5th row (optional line, used only when is needed to call a phone number)

    contains only PhoneNumber.

Example 1.4. Configuration file for reading all (2400) PLUs from ECR (without phone number)

COM2:38400,n,8,1
2400 8 6
2400 0 32
138 1 1 D:\DATA\comm2A.dat

Example 1.5. Configuration file for reading text logo from ECR (with phone number)

COM2:38400,n,8,1
2400 8 6
6 0 24
128 1 1 D:\DATA\comm2A.dat
0512424242

Example 1.6. Parameters for 3rd row

operation ID numberThird row contentsNote
3PLU_count 1PLU-1 34PLU_count = PLU count for transfer, 1PLU-1 = number of 1st PLU – 1
341 9 34example: "transferring PLUs from 10 to 50"
10PLU_count 1PLU-1 30 
10101 99 30example: "transferring PLUs from 100 do 200"
12PLU_count 1PLU-1 1PLU_count = PLU count for erase salled data, 1PLU-1 = number of 1st PLU – 1
12101 99 1example: "erase sale data of PLUs from 100 do 200"
18PLU_count 0 28PLU_count = PLU count of PLUs to by sold through PC ONLINE mode.
29PLU_count 1PLU-1 30 
30PLU_count 1PLU-1 34 
40LinesCount 0 23LinesCount = Lines in message for cashier
131PLU_count 1PLU-1 44 
138PLU_count 1PLU-1 32 
157PLU_count 1PLU-1 32 
158PLU_count 1PLU-1 44 

For all other commands are these values ignored. Also the value of last number (data length) is ignored.

1.4. Range select

Range select means setting of parameters ItemsCount and FirstItemIndex in configuration file and/or use of parameters /start:nnn and /len:nnn in command line.

If the command does not require range select then the values ItemsCount and FirstItemIndex will be ignored. These values in configuration file can be replaced by values from command line (use /start:nnn as replacement for FirstItemIndex and /len:nnn as replacement for ItemsCount).

For the values selecting active range are established these rules:

  • ItemsCount and FirstItemIndex are always of type WORD

  • ItemsCount is in range from 1 to "max_PLU_count".

  • FirstItemIndex is in range from 0 to "max_PLU_count - 1".

  • Command line parameters have higher priority than configuration file parameters.

  • In text mode it is possible to use auto-detection of input file length and entering start and length parameters is not necessary (but they have higher priority than auto-detection parameters, if are given in command line).

  • For Receiving PC journal, Text journal or PLU report with non zero sale are configuration file parameters ignored and will be used auto-detect method to get the actual range for downloading these reports.

  • For receiving programmed PLUs and full PLU report (except PLU with non zero sale) it is always necessary to select the range.

  • For DWORD range select can be used auto-detection (it is not necessary to enter these values).

1.5. ID select

For command of reading length of single receipt must be used "ID select". This value can be set in configuration file or with use of parameter /start:nnn in command line. The value nnn must be set to receipt ID number.

1.6. Error file description

The "Error file" contains result of performed operation.

Table 1.3. Description of application return values (in Error file)

first rowmeaning and content of next rows
0 OK
Communication completed correctly.
2nd row could contain additional information*.
1 ERROR
Error during communication.
2nd row contains value of last received ACK packet (not true for ECR auto-detection).
3rd row could contain additional information*.
2 CANCELLED
Communication aborted by user.
2nd row could contain additional information*.
7 TYPE_OK
ECR type auto-detection successful
2nd row contains communication port and speed.
3rd row contains ID code of detected ECR type.
8 CHANGE_VAT
PLUs are transferred into ECR and at least one VAT assignment was changed – communication completed correctly.
2nd row could contain additional information*.
9 SALE
Communication with ECR not successful – there is an open sale present at the ECR.
2nd row contains value of last received ACK packet.

*: additional information is a string (Line contains characters for each item. The characters are not delimited by spaces).

  • Programming PLUs

    • not transferred PLUs are represented by “*”

    • “A” represents changed VAT for PLU, “N” represents unchanged VAT for PLU

    • “W” - warning – some of PLU data are bad and PLU was not programmed

  • send message to ECR:

    • “P” line is printed, “W” line contains bad character and was not printed

  • all others:

    • “E” - error,

    • “W” - warning,

    • “@” - transfer OK.

    • “T” - Incorrect Tax / VAT level assignment (item but is incorrect and was not accepted by ECR).

    • “D” - Incorrect Department assignment (item but is incorrect and was not accepted by ECR).

    • “U” - Incorrect Unit assignment (item but is incorrect and was not accepted by ECR).

    • “Q” - Incorrect stock or quantity(item but is incorrect and was not accepted by ECR).

    • “V” - Incorrect price (item but is incorrect and was not accepted by ECR).

    • “I” - Index out of range.

    • “C” - Incorrect text string / character (e. g. PLU name).

    • “B” - Incorrect bar code (only for programming PLUs).

    • „?“ - There was any communication error. It was not possible to determine the transfer status to cash register.

All other errors are only displayed to user in DialogBox.

1.7. Error codes (ACK results)

Table 1.4. Error codes description

Error codeDescription
0All OK
1Communication error (wrong check sum, wrong packet, wrong operation...).
2PLU programmed VAT assignment changed.
3Opened receipt (sale in progress) in ECR (communication is not possible).
4VAT assignment is out of range or VAT is not active!
6Sales unit is out of range!
7Quantity or stock value is out of range!
8Price is out of range!
10Command is out of range or not allowed in this mode!
11PLU index is out of range!
12Not right hexadecimal sign code (name of PLU).
17Link out
18Duplicity of PLU names
19Action is not possible. Make daily report.
23Wrong message line! (unsupported characters)
24Message for cashier has more than maximal allowed lines (message cannot be send).
25PLU category assignment is out of range!
26Invalid bar-code
54It is not possible to change data for PLU. Maximal PLU count for programming reached.
55It is not possible to change PLU while the receipt is open (sale in progress) in ECR.
56Journal receipt was not set (command 184) before reading of receipt (command 185).
57Incorrect receipt size (command 185).

1.8. Separating items and values

In text mode is necessary to separate values from each other. For separating these values are used two sorts of separators.

  • ItemSeparator. is used to separate two values for the same logical block, like PLU name and PLU price. In Comm2A is this separator represented by character ';' (semicolon).

  • LineSeparator. is used to separate two logical block of the same meaning (in most cases). This separator is represented as new line (CR + LF = 0x0D, 0x0A).

Chapter 2. Representation of data

2.1. Presentation of used types

2.1.1. Data types

Table 2.1. Definition of data types

type namelength (in bytes)description
BYTE1unsigned number (integer)
WORD2unsigned number (integer), little endian (low byte, high byte)
DWORD4unsigned number (integer), little endian (lowest byte first, highest byte last)
N66signed integer, little endian. Low (first) 47 bits are used for unsigned part of number and last bit is used to determine positive (clear (set to 0)) or negative (set to 1) value. See example of 6 byte integer number.
char1signed integer
int2signed integer, little endian (low byte, high byte)
long4signed integer, little endian (lowest byte first, highest byte last)
double8real number. (compatible with type double in Borland C++ Builder and MS Visual C++ ). If type extension is used then decimal places are not used.
stringvariousText string. Maximal length depends from data type (reserved length = end byte - start byte + 1). If actual string length is less than the reserved length, then the string is null terminated. After string termination (character 0x00) should be only null characters (0x00). See character map for correct interpreting of characters.
n*charnString with exact length n bytes. See character map for correct interpreting of characters. (Most of these types are only numerical values)
BARCODEvariousbar-code stored in compressed BCD form (two numbers on each byte). If the count of numbers is odd, then on the first byte must be the top half of byte be set to zero.

Table 2.2. Extension of definition of numerical data types

type extensiondescription
(1)Number with one decimal place
(2)Number with two decimal places
(3)Number with three decimal places
(*)Number of decimal places for price is selected with first system flag sixth digit in ECR (decimal places for display) in range <0, 3>.
(*2)Number of decimal places for secondary currency (decimal places for display) in range <0, 3>. (See user manual.)
(#)Number of decimal places for amount is selected with second system flag third digit in ECR (decimal places for quantity entering) in range <0, 3>.

Caution

Decimal numbers are represented as whole numbers. Original value is multiplied (for encoding) or divided (for decoding) by number 1 (0 places), 10 (1 place), 100 (2 places), 1000 (3 places), according to number of places we want to use.

Example 2.1. 6 byte integer number

numbersequence of bytes (hexadecimal)
101 00 00 00 00 00
-101 00 00 00 00 80
778995785 DD 76 00 00 00
2001599834113812 90 78 56 34 12
-2001599834113812 90 78 56 34 92

2.1.2. String characters

Table 2.3. Definition of string characters for PL

code in ECRcharacter / meaning
0x7bĄ
0x7cą
0x7dĆ
0x7eć
0x7fĘ
0x80ę
0x81Ł
0x82ł
0x83Ń
0x84ń
0x85Ó
0x86ó
0x87Ś
0x88ś
0x89Ź
0x8aź
0x8bŻ
0x8cż
0x1fdouble width character (character after this character has double width)
0x5b*Roman number "I" (character Ⅰ)
0x5c*Roman number "II" (character Ⅱ)
0x5d*Roman number "III" (character Ⅲ)
0x5e*Roman number "IV" (character Ⅳ)
0x5f*Roman number "V" (character Ⅴ)
0x60*Roman number "VI" (character Ⅵ)
0x20 - 0x7astandard ASCII characters (except character 0x5b-0x60 used for vat assignment)

2.2. ECR types

Table 2.4. ECR types for Comm32.dll

numbertypePLU count
15Euro-500T Handy (from version 3.004, not version 1.xxx)2 000
13Euro-500TX Handy2 000
18Euro-Smart, Euro-Smart Plus2 000
22Euro-21008 000
23Euro-2100TX (with hardware detection)8 000 / 27 000*
29Euro-2300TX6 000 / 25 000*
26Euro-100T1 500
30Euro-200TX2 400 / 10 000*

Note

*: PLU count depends on RAM modules (auto-detection).

Chapter 3. Data in binary form description

Table of Contents

3.1. Other ECR parameters
3.1.1. Taxes
3.2. Commands list
3.3. System flags
3.4. System flags for Euro-2100 and Euro-2300
3.5. System flags for Euro-100T and Euro-200TX
3.6. Cashier names
3.7. Delete PLU sale data
3.8. Secondary currency exchange rate
3.9. PLU structures and commands
3.9.1. PLU commands list
3.9.2. PLU commands for Euro-500 Handy and Euro-Smart
3.9.3. PLU commands for Euro-2100 and Euro-2300
3.9.4. PLU commands for Euro-100T
3.9.5. PLU commands for Euro-200TX
3.10. Extended flags for Euro-2100 and Euro-2300
3.11. Extended flags for Euro-100 and Euro-200
3.12. Clearing journals in ECR memory
3.13. Programming returnable packs prices
3.14. EAN-13 bar-codes behavior parameters programming and reading
3.15. Send message for cashier
3.16. Programmable keys
3.17. Programming PLU categories for Euro-100T
3.18. Programming PLU categories for Euro-200TX
3.19. Hourly report clearing
3.20. Programming PLU price
3.21. Programming PLU stock
3.22. Text logo
3.23. Reading TAX report
3.24. Receiving grand totals values
3.25. Financial report
3.26. Cashier sales report
3.27. Reading PLU count with non zero sale
3.28. Read receipts (PC journal)
3.29. Reading data about journals length
3.30. Reading sales data of returnable packs
3.31. Reading sales data of returnable packs for Euro-2100 and Euro-2300
3.32. Reading sales data of returnable packs for Euro-100T
3.33. Reading sales data of returnable packs for Euro-200TX
3.34. Reading content of fiscal memory
3.35. Reading PLU categories report Euro-100T
3.36. Reading PLU categories report Euro-200TX
3.37. Read hourly report
3.38. Reading length of single receipt
3.39. Read single receipt (PC journal)
3.40. Identification data and parameters of ECR

3.1. Other ECR parameters

In this part are described other parameters for all ECRs and how are they interpreted in ECR.

3.1.1. Taxes

  • all ECRs have seven VAT levels labelled as numbers from 1 to 7,

  • VAT level 0 means inactive / forbiden sale

  • VAT levels from 1 to 7 are programmable VAT levels

  • Depends on VAT level programing witch VAT levels are tax free

  • VAT level with value 100,00% is forbidden VAT level (sale not possible in this VAT level)

3.2. Commands list

Table 3.1. Send to ECR

commanddescriptionEuro-500 HandyEuro Smart, Euro Smart PlusEuro-2100Euro-2300Euro-100TEuro-200TX
TTX
1System flagsxxxxxxx
2Cashier namesxxxxxxx
12Erase PLU sale dataxxxxxxx
17Secondary currency exchange ratexxxxxxx
21Extended flags---xxxx
29PLU without stock state (safety)xxxxxxx
30PLU with stock state (safety)xxxxx-x
33Erase receipts (PC journal)----x--
38Programming returnable packs pricesxxxxxxx
39EAN-13 bar-codes behavior parameters programmingxxxxxxx
40Send message-----xx
46Programmable keys---xxxx
47PLU categories-----xx
51Hourly report (daily) clearing---xxxx
52Hourly report (periodical) clearing---xxxx
60Programming of PLU price----x--
61Programming of PLU stock----x--

Table 3.2. Receive from ECR

commanddescriptionEuro-500 HandyEuro Smart, Euro Smart PlusEuro-2100Euro-2300Euro-100TEuro-200TX
TTX
128Text Logoxxxxxxx
129System flagsxxxxxxx
130Cashier namesxxxxxxx
133TAX report (X report)xxxxxxx
134GTxxxxxxx
135Daily financial report (X report)xxxxxxx
139Cashier sales report (X report)xxxxxxx
145Secondary currency exchange ratexxxxxxx
149Extended flags---xxxx
152Sold PLU count (PLU's with non zero amount)xxxxxxx
157PLU (safety)xxxxxxx
158PLU sale report (safety, X report)xxxxxxx
159PLU with non zero salesxxxxxxx
160Read receipts (PC journal) (X report)----x--
161Read receipts (PC journal) with erase (Z report)----x--
164Journals data length----x--
166Reading sales data of returnable packsxxxxxxx
167EAN-13 bar-codes behavior parameters readingxxxxxxx
170Reading content of fiscal memoryxxxxxxx
174Programmable keys---xxxx
175PLU categories-----xx
179Read hourly report (daily)---xxxx
180Read hourly report (periodical)---xxxx
184Reading length of single receipt----x--
185Read single receipt (PC journal) (X report)----x--
255Read information about current cash register---xxxx

3.3. System flags

Command number:1 - programming, 129 - receiving
Data length:36

0.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for price and TAX displaying (range: <0, 3>)16
1x
2x
3xnumber of decimal places for price rounding (range: <0, 3>)15
4x
5x
6xsystem of rounding 0 – up from 5; 1 – always up; 2 – always down; 3 - quarter rounding11
7x

1.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for TAX rounding (range: <0, 3>)14
1x
2x
3xnumber of decimal places for total price of sale rounding (range: <0, 3>)13
4x
5x
6xprices of PLU are programmed with TAX – without TAX ( 0 – prices with TAX, 1 – prices without TAX)12
7x

Note

Note: 0. and 1. byte is always ignored by ECR (read-only parameters).

2.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for quantity rounding (range: <0, 3>)23
1x
2xnumber of blank lines between receipts (range: <0, 6>)24
3x
4x
5xnumber of logo lines (range: <0, 6>)25
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xquantity multiplying: if 0 then m1 / m2, if 1 then m1 * m226
1xdate format (0 – day month year, 1 – month day year) (parameter is read-only)22
2x0 – not to print / 1 – to print TAX values on sale receipt (parameter is read-only)21
3-not used  
4-
5-
6-
7-

Byte(s)Meaningtypesystem flagdigits
4-7receipt number (range: <1, 9999>)WORD34-9
8ECR number (range: <1, 99>)BYTE32-3

9.Byte In ECR
bitMeaningFlagnumber
0x0 – resets the receipt number after daily report (parameter is read-only)31
1-not used  
2-
3-
4-
5-
6-
7-

10.Byte In ECR
bitMeaningFlagnumber
0xrequired subtotal key pressing before receipt finishing 0 – not required, 1 – required42
1xsubtotal amount printing after subtotal pressing 0 – no, 1 – yes41
2xrequired credit card number entering if paid by Credit 0-not required, 1-required43
3xrequired customer’s payment amount entering 0-not required, 1-required44
4-not used  
5-
6-
7-

ByteMeaningtypesystem flag
11not usedBYTE 

12.Byte In ECR
bitMeaningFlagnumber
0xterminal code for bar code scanner (0 – CR+LF, 1 – CR, 2 – LF)51
1x
2xcommunication speed of bar code scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 – 19200)52
3x
4x
5xcommunication speed of PC (0 – 9600 or 1 – 38400)53
6xtype of electronic scales (bits 0 and 1) - see user manual for scales types54
7x

11.Byte In ECR
bitMeaningFlagnumber
0xtype of electronic scales (bits 2 and 3) - see user manual for scales types54
1x
2xPC ONLINE (0 - PC->ECR, 1 – PC->ECR and ECR->PC) (parameter is read-only)55
3-   
4-
5-
6-
7-

12.Byte In ECR
bitMeaningFlagnumber
0xfont for battery power supply61
1x
2xfont for adapter power supply62
3x
4xgraphical logo printing 0 – no, 1 – yes (parameter is read-only)63
5x0 – large font (2,5 mm high) (parameter is read-only)64
6-not used  
7xstandby mode time (bit 0)65

13.Byte In ECR
bitMeaningFlagnumber
0xstandby mode time (bits 1 and 2): 0 - off , 1 - after 1 min, 2 - after 5min, 3 - after 10min, 4 - after 15min65
1x
2-not used  
3-
4-
5-
6-
7-

Byte(s)Meaningtypesystem flag
16-17value of percent add-on (range: <1, 9999>)WORD(2)7
18-19limit for percent add on entered by ECR keyboard (range: <1, 99>)WORD7
20-21value of percent discount (range: <1, 9999>)WORD(2)8
22-23limit for percent discount entered by ECR keyboard (range: <1, 9999>)WORD8
24-29time: hour:min:sec, hour – two numbers, min – two numbers, sec – two numbers, in internal hexadecimal ECR codes (see example of stored time)6*char9
30-35date: day.month.year, day – two numbers, month – two numbers, year – two numbers, in internal hexadecimal ECR codes (see example of stored date)6*char10

Example 3.1. Time

The time "12:20:32" (24 hour time) is in ECR represented by sequence of bytes: 0x31, 0x32, 0x32, 0x30, 0x33, 0x32

Example 3.2. Date

The date "1st April 1999" (01.04.99) is in ECR represented by sequence of bytes: 0x30, 0x31, 0x30, 0x34, 0x39, 0x39

Important

It is not possible to change date and time from communication.

3.4. System flags for Euro-2100 and Euro-2300

Command number:1 - programming, 129 - receiving
Data length:36

0.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for price and TAX displaying (range: <0, 3>)16
1x
2x
3xnumber of decimal places for price rounding (range: <0, 3>)15
4x
5x
6xsystem of rounding 0 – up from 5; 1 – always up; 2 – always down; 3 - quarter rounding11
7x

1.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for TAX rounding (range: <0, 3>)14
1x
2x
3xnumber of decimal places for total price of sale rounding (range: <0, 3>)13
4x
5x
6xprices of PLU are programmed with TAX – without TAX ( 0 – prices with TAX, 1 – prices without TAX)12
7x

Note

Note: 0. and 1. byte is always ignored by ECR (read-only parameters).

2.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for quantity rounding (range: <0, 3>)23
1x
2xnumber of blank lines between receipts (range: <0, 6>)24
3x
4x
5xnumber of logo lines (range: <0, 9>) low 3 bites25
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xnumber of logo lines (range: <0, 9>) higehst significant bite25
1xquantity multiplying: if 0 then m1 / m2, if 1 then m1 * m226
2xdate format (0 – day month year, 1 – month day year) (parameter is read-only)22
3x0 – not to print / 1 – to print TAX values on sale receipt (parameter is read-only)21
4-not used  
5-
6-
7-

Byte(s)Meaningtypesystem flagdigits
4-7receipt number (range: <1, 9999>)WORD34-9
8ECR number (range: <1, 99>)BYTE32-3

9.Byte In ECR
bitMeaningFlagnumber
0x0 – resets the receipt number after daily report (parameter is read-only)31
1-not used  
2-
3-
4-
5-
6-
7-

10.Byte In ECR
bitMeaningFlagnumber
0xrequired subtotal key pressing before receipt finishing 0 – not required, 1 – required42
1xsubtotal amount printing after subtotal pressing 0 – no, 1 – yes41
2xrequired credit card number entering if paid by Credit 0-not required, 1-required43
3xrequired customer’s payment amount entering 0-not required, 1-required44
4-not used  
5-
6-
7-

ByteMeaningtypesystem flag
11not usedBYTE 

12.Byte In ECR
bitMeaningFlagnumber
0xterminal code for bar code scanner (0 – CR+LF, 1 – CR, 2 – LF)51
1x
2xcommunication speed of bar code scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 – 19200)52
3x
4x
5xcommunication speed of PC (0 – 9600 or 1 – 38400)53
6xtype of primary electronic scales (bits 0 and 1) - see user manual for scales types54
7x

11.Byte In ECR
bitMeaningFlagnumber
0xtype of primary electronic scales (bits 2 and 3) - see user manual for scales types54
1x
2xPC ONLINE (0 - PC->ECR, 1 – PC->ECR and ECR->PC) (parameter is read-only)55
3-   
4-
5-
6-
7-

12.Byte In ECR
bitMeaningFlagnumber
0xfont for battery power supply (not used in Euro-2300)61
1x
2xfont for adapter power supply (not used in Euro-2300)62
3x
4xgraphical logo printing 0 – no, 1 – yes (parameter is read-only)63
5x0 – large font (2,5 mm high) (parameter is read-only)64
6-not used  
7xstandby mode time (bit 0)65

13.Byte In ECR
bitMeaningFlagnumber
0xstandby mode time (bits 1 and 2): 0 - off, 1 - after 1 min, 2 - after 5min, 3 - after 10min, 4 - after 15min65
1x
2-not used  
3-
4-
5-
6-
7-

Byte(s)Meaningtypesystem flag
16-17value of percent add-on (range: <1, 9999>)WORD(2)7
18-19limit for percent add on entered by ECR keyboard (range: <1, 99>)WORD7
20-21value of percent discount (range: <1, 9999>)WORD(2)8
22-23limit for percent discount entered by ECR keyboard (range: <1, 9999>)WORD8
24-29time: hour:min:sec, hour – two numbers, min – two numbers, sec – two numbers, in internal hexadecimal ECR codes (see example of stored time)6*char9
30-35date: day.month.year, day – two numbers, month – two numbers, year – two numbers, in internal hexadecimal ECR codes (see example of stored date)6*char10

Example 3.3. Time

The time "12:20:32" (24 hour time) is in ECR represented by sequence of bytes: 0x31, 0x32, 0x32, 0x30, 0x33, 0x32

Example 3.4. Date

The date "1st April 1999" (01.04.99) is in ECR represented by sequence of bytes: 0x30, 0x31, 0x30, 0x34, 0x39, 0x39

Important

It is not possible to change date and time from communication.

3.5. System flags for Euro-100T and Euro-200TX

Command number:1 - programming, 129 - receiving
Data length:37

0.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for price and TAX displaying (range: <0, 3>)16
1x
2x
3xnumber of decimal places for price rounding (range: <0, 3>)15
4x
5x
6xsystem of rounding 0 – up from 5; 1 – always up; 2 – always down; 3 - quarter rounding11
7x

1.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for TAX rounding (range: <0, 3>)14
1x
2x
3xnumber of decimal places for total price of sale rounding (range: <0, 3>)13
4x
5x
6xprices of PLU are programmed with TAX – without TAX ( 0 – prices with TAX, 1 – prices without TAX)12
7x

Note

Note: 0. and 1. byte is always ignored by ECR (read-only parameters).

2.Byte In ECR
bitMeaningFlagnumber
0xnumber of decimal places for quantity rounding (range: <0, 3>)23
1x
2xnumber of blank lines between receipts (range: <0, 6>)24
3x
4x
5xnumber of logo lines (range: <0, 9>) low 3 bites25
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xnumber of logo lines (range: <0, 9>) higehst significant bite25
1xquantity multiplying: if 0 then m1 / m2, if 1 then m1 * m226
2xdate format (0 – day month year, 1 – month day year) (parameter is read-only)22
3x0 – not to print / 1 – to print TAX values on sale receipt (parameter is read-only)21
4-not used  
5-
6-
7-

Byte(s)Meaningtypesystem flagdigits
4-7receipt number (range: <1, 9999>)DWORD34-9
8ECR number (range: <1, 99>)BYTE32-3

9.Byte In ECR
bitMeaningFlagnumber
0x0 – resets the receipt number after daily report (parameter is read-only)31
1-not used  
2-
3-
4-
5-
6-
7-

10.Byte In ECR
bitMeaningFlagnumber
0xrequired subtotal key pressing before receipt finishing 0 – not required, 1 – required42
1xsubtotal amount printing after subtotal pressing 0 – no, 1 – yes41
2xrequired credit card number entering if paid by Credit 0-not required, 1-required43
3xrequired customer’s payment amount entering 0-not required, 1-required44
4-not used  
5-
6-
7-

11.Byte In ECR
bitMeaningFlagnumber
0xPC communication port*15a1
1x
2x
3xCommunication speed for communication with PC (0 – 9600 or 1 – 38400)5a2
4xPC ONLINE mode (0 - PC->ECR, 1 – PC->ECR and ECR->PC) (parameter is read only and not used)5a3
5-not used  
6-
7-

Note

*1: For Euro-100 is possible to select one of the following ports 0, 1, 2 or 5*2. For Euro-200 is possible to select port in range from 0 to 6*2. Port 0 means that communication is disabled. Numbers from 1 to 4 means RS-232 protocol on communication ports COM1 to COM4. Value 5 means USB port and value 6 means RS-485 protocol on COM2.

*2: Each active device must have a dedicated port. It is not possible to program two devices to work with one port. USB port is technically identical with COM2 and therefore can not be programed USB and COM2 port together.

12.Byte In ECR
bitMeaningFlagnumber
0xnot used  
1xBar-code scanner communication port*45b1
2x
3x
4xCommunication speed of bar-code scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 – 19200)5b2
5x
6x
7xTerminal code for bar-code scanner (0 – CR+LF, 1 – CR, 2 – LF) (bit 0)5b3

Note

*4: For Euro-100 is possible to select port in range from 0 to 2*2 and for Euro-200 ports in range 0 to 4*2. Port 0 means that communication is disabled. Numbers from 1 to 4 means RS-232 protocol on communication ports COM1 to COM4.

13.Byte In ECR
bitMeaningFlagnumber
0xTerminal code for bar-code scanner (0 – CR+LF, 1 – CR, 2 – LF) (bit 1)5b3
1xPrimary scales communication port*55b4
2x
3x
4xType of primary electronic scales - see user manual for scales types5b5
5x
6x
7x

Note

*5: For Euro-100 is possible to select port in range from 0 to 2*2 and for Euro-200 ports in range 0 to 4*2. Port 0 means that communication is disabled. Numbers from 1 to 4 means RS-232 protocol on communication ports COM1 to COM4.

14.Byte In ECR
bitMeaningFlagnumber
0xSecondary scales communication port*55b6
1x
2x
3xType of secondary electronic scales - see user manual for scales types5b7
4x
5x
6x
7-not used  

15.Byte In ECR
bitMeaningFlagnumber
0xfont for battery power supply (parameter is read only)61
1x
2xfont for adapter power supply (parameter is read only)62
3x
4xgraphical logo printing 0 – no, 1 – yes (parameter is read only and not used)63
5x0 – large font (2,5 mm high) (parameter is read only and not used)64
6-not used  
7xstandby mode time (bit 0)65

16.Byte In ECR
bitMeaningFlagnumber
0xstandby mode time (bits 1 and 2): 0 - off, 1 - after 1 min, 2 - after 5min, 3 - after 10min, 4 - after 15min65
1x
2-not used  
3-
4-
5-
6-
7-

Byte(s)Meaningtypesystem flag
17-18value of percent add-on (range: <1, 9999>)WORD(2)7
19-20limit for percent add on entered by ECR keyboard (range: <1, 99>)WORD7
21-22value of percent discount (range: <1, 9999>)WORD(2)8
23-24limit for percent discount entered by ECR keyboard (range: <1, 9999>)WORD8
25-30time: hour:min:sec, hour – two numbers, min – two numbers, sec – two numbers, in internal hexadecimal ECR codes (see example of stored time)6*char9
31-36date: day.month.year, day – two numbers, month – two numbers, year – two numbers, in internal hexadecimal ECR codes (see example of stored date)6*char10

Example 3.5. Time

The time "12:20:32" (24 hour time) is in ECR represented by sequence of bytes: 0x31, 0x32, 0x32, 0x30, 0x33, 0x32

Example 3.6. Date

The date "1st April 1999" (01.04.99) is in ECR represented by sequence of bytes: 0x30, 0x31, 0x30, 0x34, 0x39, 0x39

Important

It is not possible to change date and time from communication.

3.6. Cashier names

Data contains cashier names.

Command number:
2 - programming
130 - receiving
Data length:6 * 10 - for programming and receiving

Note

Only cashiers names can be programmed through computer. Passwords and access rights can be set only by ECR keyboard.

Byte(s)Meaningtyperange
0-9Cashier name (in internal hexadecimal code of ECR)stringcharacters

3.7. Delete PLU sale data

Command number:12
Data length:1

Important

In this commands is used Range select of type Start and Length. Start means first PLU number (start counting from 0). Length means count of PLUs witch sales data should be deleted.

ByteMeaningtyperange
0Print report on ECRBYTE0 - no, 1 - yes

Note

In some versions is print value ignored.

3.8. Secondary currency exchange rate

Data contains secondary currency exchange rate.

Command number:
17 - programming
145 - receiving
Data length:8

Byte(s)Meaningtyperange
0-7Secondary currency exchange ratedouble<0.001, 10000.0>

3.9. PLU structures and commands

Data contains information about PLUs.

3.9.1. PLU commands list

Programming of stock state in ECR has own rules. These rules are in following text marked as *stock and means final state of PLU stock after programming.

Note

If transmitted stock value is more than 1 000 000 000 then the difference of transmitted value and 1 000 000 000 is added to stock value in ECR.

Example 3.7. Adding PLU stock

PLU stock value in ECR is 50. Transmitted value is 1 000 000 050. Data are accepted to ECR and follow operation is done: New stock value = 50 {primal stock} + (1 000 000 050 {transmitted value} - 1 000 000 000) = 100.

If new stock value could be more than 109 – PLU stock in ECR will be not changed.

Note

If transmitted stock value is less than -1 000 000 000 then the difference of absolute value of transmitted data and 1 000 000 000 stock value is deducted in ECR

Example 3.8. Subtracting PLU stock

PLU stock value in ECR is 45. Transmitted value is -1 000 000 030. Data are accepted to ECR and follow operation is done: New stock value = 45 {primal stock} - (1 000 000 030 {transmitted value} - 1 000 000 000) = 15.

If new stock value could be less than 0 – PLU stock in ECR will be not changed.

Important

In all PLU commands is used Range select of type Start and Length. Start means first PLU number (start counting from 0). Length means amount of transmitted PLUs except of command 159 (receive PLU non zero sale report).

3.9.2. PLU commands for Euro-500 Handy and Euro-Smart

3.9.2.1. Programming PLU without stock state for Euro-500 Handy and Euro-Smart

Command number:29 - programming PLU without stock state (safety)
Data length:n * 30

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-8BARCODE7bar-code13 numbers
9-22string14PLU namecharacters
23-25FLAGS3Flags 
26-29DWORD(*)4PLU price<0, 99 999 999>

Important

Name of PLU can not be empty string or duplicated name of already existing PLU.

Name of PLU and assignment to VAT level can be changed only after daily Z-report.

3.9.2.2. Programming PLU with stock state for Euro-500 Handy and Euro-Smart

Command number:30 - programming PLU with stock state (safety)
Data length:n * 34

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-8BARCODE7bar-code13 numbers
9-22string14PLU namecharacters
23-25FLAGS3Flags 
26-29DWORD(*)4PLU price<0, 99 999 999>
30-33long(3)4stock value of particular PLU

<0, 999 999 999>*stock

Important

Name of PLU can not be empty string or duplicated name of already existing PLU.

Name of PLU and assignment to VAT level can be changed only after daily Z-report.

3.9.2.3. Receiving programmed PLUs for Euro-500 Handy and Euro-Smart

Command number:157 - receive programmed PLU (safety)
Data length:n * 32

BytestypelengthMeaning
0-6BARCODE7bar-code
7-20string14PLU name
21-23FLAGS3Flags
24-27DWORD(*)4PLU price
28-31long(3)4stock value of particular PLU

3.9.2.4. Receiving PLU sale report for Euro-500 Handy and Euro-Smart

Command number:158 - receive PLU sale report (safety)
Data length:n * 44

BytestypelengthMeaning
0-6BARCODE7bar-code
7-20string14PLU name
21-23FLAGS3Flags
24-27DWORD(*)4PLU price
28-35double(*)8total sale
36-39long(3)4number of sales
40-43long(3)4stock value of particular PLU

3.9.2.5. Receiving PLU non zero sale report for Euro-500 Handy and Euro-Smart

Command number:159 - receive PLU non zero sale report (safety)
Data length:n * 46

Important

This command use Range select of type Start and Length where Start = 0 and Length = count of plu with non zero sale.

BytestypelengthMeaning
0-1WORD2PLU number
2-8BARCODE7bar-code
9-22string14PLU name
23-25FLAGS3Flags
26-29DWORD(*)4PLU price
30-37double(*)8total sale
38-41long(3)4number of sales
42-45long(3)4stock value of particular PLU

3.9.2.6. PLU flags for Euro-500 Handy, Euro-Smart, Euro-2100 and Euro-2300

0.Byte In ECR
bitMeaningFlagnumber
0xdescriptive PLU (0 - no, 1 - yes) (unused – read only)11
1xsingle PLU sale (0 - no, 1 - yes)12
2xstock status printed on PLU report (0 - no, 1 - yes)24
3xSale in case of negative stock value allowed (0 - no, 1 - yes)25
4xpossibility of fragmentary amount sale (0 - no, 1 - yes)26
5xSale unit (range: <0, 7>)23
6x
7x

1.Byte In ECR
bitMeaningFlagnumber
0xlinked returnable pack (0 - 50)
  • 0 – means no returnable pack is linked

  • 1-50 – this returnable pack is linked

21-2
1x
2x
3x
4x
5x
6x
7xSale features (bit 0)13

2.Byte In ECR
bitMeaningFlagnumber
0xSale features (bit 1) 0 – forbidden 1 – open, 2 – preset, 3 – open and preset13
1xPrice limits (0 - 7; 0 means limit 1 ...)27
2x
3x
4xAssignment to VAT level.21-2
5x
6x
7x

3.9.3. PLU commands for Euro-2100 and Euro-2300

3.9.3.1. Programming PLU without stock state for Euro-2100 and Euro-2300

Command number:29 - programming PLU without stock state (safety)
Data length:n * 38

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-30string20PLU namecharacters
31-33FLAGS3Flags 
34-37DWORD(*)4PLU price<0, 99 999 999>

Important

Name of PLU can not be empty string or duplicated name of already existing PLU.

Name of PLU and assignment to VAT level can be changed only after daily Z-report.

3.9.3.2. Programming PLU with stock state for Euro-2100 and Euro-2300

Command number:30 - programming PLU with stock state (safety)
Data length:n * 42

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-30string20PLU namecharacters
31-33FLAGS3Flags 
34-37DWORD(*)4PLU price<0, 99 999 999>
38-41long(3)4stock value of particular PLU

<0, 999 999 999>*stock

Important

Name of PLU can not be empty string or duplicated name of already existing PLU.

Name of PLU and assignment to VAT level can be changed only after daily Z-report.

3.9.3.3. Receiving programmed PLUs for Euro-2100 and Euro-2300

Command number:157 - receive programmed PLU (safety)
Data length:n * 40

BytestypelengthMeaning
0-8BARCODE9bar-code
9-28string20PLU name
29-31FLAGS3Flags
32-35DWORD(*)4PLU price
36-39long(3)4stock value of particular PLU

3.9.3.4. Receiving PLU sale report for Euro-2100 and Euro-2300

Command number:158 - receive PLU sale report (safety)
Data length:n * 52

BytestypelengthMeaning
0-8BARCODE9bar-code
9-28string20PLU name
29-31FLAGS3Flags
32-35DWORD(*)4PLU price
36-43double(*)8total sale
44-47long(3)4number of sales
48-51long(3)4stock value of particular PLU

3.9.3.5. Receiving PLU non zero sale report for Euro-2100 and Euro-2300

Command number:159 - receive PLU non zero sale report (safety)
Data length:n * 54

Important

This command use Range select of type Start and Length where Start = 0 and Length = count of plu with non zero sale.

BytestypelengthMeaning
0-1WORD2PLU number
2-10BARCODE9bar-code
11-30string20PLU name
31-33FLAGS3Flags
34-37DWORD(*)4PLU price
38-45double(*)8total sale
46-49long(3)4number of sales
50-53long(3)4stock value of particular PLU

3.9.4. PLU commands for Euro-100T

3.9.4.1. Programming PLU without stock state for Euro-100T

Command number:29 - programming PLU without stock state (safety)
Data length:n * 34

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-24string14PLU namecharacters
25-29FLAGS5Flags 
30-33DWORD(*)4PLU price<0, 99 999 999>

Important

Name of PLU can not be empty string or duplicated name of already existing PLU.

Name of PLU and assignment to VAT level can be changed only after daily Z-report.

3.9.4.2. Receiving programmed PLUs for Euro-100T

Command number:157 - receive programmed PLU (safety)
Data length:n * 32

BytestypelengthMeaning
0-8BARCODE9bar-code
9-22string14PLU name
23-27FLAGS5Flags
28-31DWORD(*)4PLU price

3.9.4.3. Receiving PLU sale report for Euro-100T

Command number:158 - receive PLU sale report (safety)
Data length:n * 44

BytestypelengthMeaning
0-8BARCODE9bar-code
9-22string14PLU name
23-27FLAGS5Flags
28-31DWORD(*)4PLU price
32-39double(*)8total sale
40-43long(3)4number of sales

3.9.4.4. Receiving PLU non zero sale report for Euro-100T

Command number:159 - receive PLU non zero sale report (safety)
Data length:n * 46

Important

This command use Range select of type Start and Length where Start = 0 and Length = count of plu with non zero sale.

BytestypelengthMeaning
0-1WORD2PLU number
2-10BARCODE9bar-code
11-24string14PLU name
25-29FLAGS5Flags
30-33DWORD(*)4PLU price
34-41double(*)8total sale
42-45long(3)4number of sales

3.9.4.5. PLU flags for Euro-100

0.Byte In ECR
bitMeaningFlagnumber
0xdescriptive PLU (0 - no, 1 - yes) (unused – read only)11
1xsingle PLU sale (0 - no, 1 - yes)12
2-not used  
3-
4xpossibility of fragmentary amount sale (0 - no, 1 - yes)26
5xSale unit (range: <0, 7>)23
6x
7x

1.Byte In ECR
bitMeaningFlagnumber
0xlinked returnable pack (0 - 50)
  • 0 – means no returnable pack is linked

  • 1-50 – this returnable pack is linked

21-2
1x
2x
3x
4x
5x
6x
7xSale features (bit 0)13

2.Byte In ECR
bitMeaningFlagnumber
0xSale features (bit 1) 0 – forbidden 1 – open, 2 – preset, 3 – open and preset13
1xPrice limits (0 - 7; 0 means limit 1 ...)27
2x
3x
4xAssignment to VAT level.21-2
5x
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xlinked PLU category (0 - 10)
  • 0 – means no PLU category is linked

  • 1-10 – this PLU category is linked

21-2
1x
2x
3x
4x
5x
6-not used27
7-

ByteMeaningtypeflag
4not usedBYTE 

3.9.5. PLU commands for Euro-200TX

3.9.5.1. Programming PLU without stock state for Euro-200TX

Command number:29 - programming PLU without stock state (safety)
Data length:n * 40

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-30string20PLU namecharacters
31-35FLAGS5Flags 
36-39DWORD(*)4PLU price<0, 99 999 999>

Important

Name of PLU can not be empty string or duplicated name of already existing PLU.

Name of PLU and assignment to VAT level can be changed only after daily Z-report.

3.9.5.2. Programming PLU with stock state for Euro-200TX

Command number:30 - programming PLU with stock state (safety)
Data length:n * 44

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-30string20PLU namecharacters
31-35FLAGS5Flags 
36-39DWORD(*)4PLU price<0, 99 999 999>
40-43long(3)4stock value of particular PLU

<0, 999 999 999>*stock

Important

Name of PLU can not be empty string or duplicated name of already existing PLU.

Name of PLU and assignment to VAT level can be changed only after daily Z-report.

3.9.5.3. Receiving programmed PLUs for Euro-200TX

Command number:157 - receive programmed PLU (safety)
Data length:n * 42

BytestypelengthMeaning
0-8BARCODE9bar-code
9-28string20PLU name
29-33FLAGS5Flags
34-37DWORD(*)4PLU price
38-41long(3)4stock value of particular PLU

3.9.5.4. Receiving PLU sale report for Euro-200TX

Command number:158 - receive PLU sale report (safety)
Data length:n * 54

BytestypelengthMeaning
0-8BARCODE9bar-code
9-28string20PLU name
29-33FLAGS5Flags
34-37DWORD(*)4PLU price
38-45double(*)8total sale
46-49long(3)4number of sales
50-53long(3)4stock value of particular PLU

3.9.5.5. Receiving PLU non zero sale report for Euro-200TX

Command number:159 - receive PLU non zero sale report (safety)
Data length:n * 56

Important

This command use Range select of type Start and Length where Start = 0 and Length = count of plu with non zero sale.

BytestypelengthMeaning
0-1WORD2PLU number
2-10BARCODE9bar-code
11-30string20PLU name
31-35FLAGS5Flags
36-39DWORD(*)4PLU price
40-47double(*)8total sale
48-51long(3)4number of sales
52-55long(3)4stock value of particular PLU

3.9.5.6. PLU flags for Euro-200

0.Byte In ECR
bitMeaningFlagnumber
0xdescriptive PLU (0 - no, 1 - yes) (unused – read only)11
1xsingle PLU sale (0 - no, 1 - yes)12
2xstock status printed on PLU report (0 - no, 1 - yes)24
3xSale in case of negative stock value allowed (0 - no, 1 - yes)25
4xpossibility of fragmentary amount sale (0 - no, 1 - yes)26
5xSale unit (range: <0, 7>)23
6x
7x

1.Byte In ECR
bitMeaningFlagnumber
0xlinked returnable pack (0 - 50)
  • 0 – means no returnable pack is linked

  • 1-50 – this returnable pack is linked

21-2
1x
2x
3x
4x
5x
6x
7xSale features (bit 0)13

2.Byte In ECR
bitMeaningFlagnumber
0xSale features (bit 1) 0 – forbidden 1 – open, 2 – preset, 3 – open and preset13
1xPrice limits (0 - 7; 0 means limit 1 ...)27
2x
3x
4xAssignment to VAT level.21-2
5x
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xlinked PLU category (0 - 30)
  • 0 – means no PLU category is linked

  • 1-30 – this PLU category is linked

21-2
1x
2x
3x
4x
5x
6-not used27
7-

ByteMeaningtypeflag
4not usedBYTE 

3.10. Extended flags for Euro-2100 and Euro-2300

Číslo príkazu:
21 - programovanie
149 - príjem
Dĺžka údajov:10

Byte(s)Meaningtypeflagdigit
0-1not used---
2type of secondary electronic scales - see user manual for scales typesBYTE21
3-7not used---

8.&9. Byte In ECR
bitMeaningFlagnumber
0-not used  
1-
2-
3-
4-
5xLook-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes11
6xLook-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes12
7xprinting mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code13
8x
9xprinting mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code14
10x
11xPrint 18-digit bar-codes: 0-no, 1-yes15
12-not used  
13-
14-
15-

3.11. Extended flags for Euro-100 and Euro-200

Číslo príkazu:
21 - programovanie
149 - príjem
Dĺžka údajov:10

Byte(s)Meaningtypeflagdigit
0-7not used---

8.&9. Byte In ECR
bitMeaningFlagnumber
0-not used  
1-
2-
3-
4-
5xLook-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes11
6xLook-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes12
7xprinting mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code13
8x
9xprinting mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code14
10x
11xPrint 18-digit bar-codes: 0-no, 1-yes15
12-not used  
13-
14-
15-

3.12. Clearing journals in ECR memory

Functions are used to delete journal from memory of ECR.

Command number:33 - Clearing data journal in ECR memory
Data length:8

Content of DATABLOCK is not used.

3.13. Programming returnable packs prices

Data contains prices of returnable packs.

Command number:38
Data length:50*4

Byte(s)Meaningtype
0-4returnable pack pricelong(*)

3.14. EAN-13 bar-codes behavior parameters programming and reading

Command number:39 - programming, 167 - receiving
Data length:10*8

DATA consist of 10 items, each 8 B long. Each item describes structure and behavior of EAN13 bar-codes started by prefix “20”, “21”,..., “29”.

Byte(s)Meaningtypeacceptable values
0-1length of array with PLU ID numberWORD4, 5 *
2-3length of array with inner checksumWORD0, 1 *
4-5length of array with quantity, weight or priceWORD4, 5, 6 *
6-7type of bar-code – specifies how will be handled bar-codes with this prefixWORD
0 – unused bar code
1 – quantity bar code
2 – price bar code

Note

*: Sum of first three item values must be 10.

3.15. Send message for cashier

Command is used to send a message to cashier.

Command number:40 - Send cashier message
Data length:lines count * 23

Data are lines printed on ECR as a message for cashier.

Byte(s)Short descriptiontype
0-22line (text line to print on ECR)string

Note

For Euro-100T are used only first 17 characters.

3.16. Programmable keys

Programmable keys function.

Command number:
46 – programming
174 – reading
Data length:
72 * 26 for Euro-2100 and Euro-2300
20 * 26 for Euro-100 and Euro-200

Data content setting for 72 / 20 keys of programmable keyboard (36 / 10 without shift + 36 / 10 with shift). Each key allows to program its name and function keys sequence that will be simulated after its pressing.

Byte(s)Meaningtyperange
0-9key namestringcharacters
10function key codeBYTEvalid codes
11function key codeBYTEvalid codes
12function key codeBYTEvalid codes
13function key codeBYTEvalid codes
14function key codeBYTEvalid codes
15function key codeBYTEvalid codes
16function key codeBYTEvalid codes
17function key codeBYTEvalid codes
18function key codeBYTEvalid codes
19function key codeBYTEvalid codes
20function key codeBYTEvalid codes
21function key codeBYTEvalid codes
22function key codeBYTEvalid codes
23function key codeBYTEvalid codes
24function key codeBYTEvalid codes
25function key codeBYTEvalid codes

Warning

If in the key sequence is only one value invalid than whole key will be refused as invalid.

Codemeaning
dec.hex.
1950xC3empty button (for Euro-2100 and Euro-2300)
1430x8fempty button (for Euro-100 and Euro-200)
480x30button 0
490x31button 1
500x32button 2
510x33button 3
520x34button 4
530x35button 5
540x36button 6
550x37button 7
560x38button 8
570x39button 9
1110x6Fbutton 00
1060x6Abutton DOT
790x4Fbutton RETURNABLE PACK
970x61button KOD1
980x62button KOD2
990x63button KOD3
1000x64button KOD4
1010x65button KOD5
1020x66button KOD6
1030x67button KOD7
1040x68button KOD8
1960xC4button KOD9
1970xC5button KOD10
1220x7Abutton Clear
1100x6Ebutton Void
1210x79button EAN
1080x6Cbutton Scales
1180x76button Drawer
1170x75button Paper feed
1200x78button TimeMultiply
1050x69button Price
1120x70button PLU
770x4Dbutton Mode
1070x6Bbutton Credit
1150x73button Check
1090x6Dbutton Subtotal
1160x74button Total
1140x72REPURCHASE OF RETURNABLE PACK (not used in Euro-100)
440x2Cbutton Paid out
460x2Ebutton Received on account
1130x71button Password
450x2Dbutton Discount
610x3Dbutton Add-on
810x51button PLU search (not used in Euro-100)
860x56VOID FROM SALE BUFFER (not used in Euro-100)
390x27"PLU price question" button (not used in Euro-100)
1980xC6button Secondary scales (for Euro-2100 and Euro-2300 only)

3.17. Programming PLU categories for Euro-100T

Data contains names of PLU categories.

Command number:47
Data length:10*14

Byte(s)Meaningtyperange
0-13Category name (in internal hexadecimal code of ECR)stringcharacters

3.18. Programming PLU categories for Euro-200TX

Data contains names of PLU categories.

Command number:47
Data length:30*20

Byte(s)Meaningtyperange
0-19Category name (in internal hexadecimal code of ECR)stringcharacters

3.19. Hourly report clearing

Command number:
51 - Hourly report (daily) clearing
52 - Hourly report (periodical) clearing
Data length:1

ByteMeaningtyperange
0Print report on ECRBYTE0 - no, 1 - yes

Note

In some versions is print value ignored.

3.20. Programming PLU price

Command number:60 - programming PLU price
Data length:n * 6

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-5DWORD(*)4PLU price<0, 99 999 999>

Important

This command can be used also during opened receipt in cash register. In this case it is possible to program only 100 PLUs.

3.21. Programming PLU stock

Command number:61 - programming PLU stock
Data length:n * 7

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2BYTE1Operation type0 - add to stock, 1 - subtract from stock
3-6DWORD(3)4stock value of particular PLU

<0, 999 999 999>

Important

This command can be used also during opened receipt in cash register. In this case it is possible to program only 100 PLUs.

3.22. Text logo

Data contains text logo that will be printed on the receipt. Printed lines count depends on setting of system flags.

Command number:128 - receiving
Data length:
6 * 24 for Euro-500T/TX Handy, Euro-Smart, Euro-Smart Plus
9 * 24 for Euro-2100, and Euro-2300, Euro-100T, Euro-200TX

DATA consists of 6 or 9 strings from internal hexadecimal ECR codes (6 or 9 logo lines - depends on ECR type).

Byte(s)Meaningtyperange
0-24Text logo line (in internal hexadecimal code of ECR)stringcharacters

Note

Particular cash registers use different count of characters per line. This depends on paper width.

3.23. Reading TAX report

Data contains sale values for each VAT level.

Command number:133
Data length:7*68

Byte(s)Meaningtype
0-9VAT description (text)string
10-11VAT level rateWORD(2)
12-19taxable value since last daily reportdouble(*)
20-27net value since last daily report – only if system flag 1 digit 2 is set – otherwise not useddouble(*)
28-35not used 
36-39type of VAT level*long
40-47not used 
48-55not used 
56-63not used 
64-67not used 

*: If type of VAT level is equal to 1 then level is non-taxable, if is equal to 0 then level is taxable with rate or denied (depends on VAT level rate).

3.24. Receiving grand totals values

Data contains grand total (GT) values.

Command number:134
Data length:24

Byte(s)Meaningtype
0-7GT valuedouble(*)
8-15not used 
16-23not used 

3.25. Financial report

Sale values and counters are incremented to daily report since last daily report.

Command number:135 - reading daily report
Data length:376

DATA items looks as follows:

Byte(s)Meaningtype
0-7taxable valuedouble(*)
8-11number of receiptslong
12-19nettodouble(*)
20-27TAXdouble(*)
28-35void amountdouble(*)
36-39void quantitylong
40-47amount of subtotal voiddouble(*)
48-51quantity of subtotal voidlong
52-59not used (refund amount)double(*)
60-63not used (refund quantity)long
64-71RA cash amountdouble(*)
72-75RA cash quantitylong
76-83RA cash amount in secondary currencydouble(*)
84-87RA cash quantity in secondary currencylong
88-95PO cash amountdouble(*)
96-99PO cash quantitylong
100-107PO cash amount in secondary currencydouble(*)
108-111PO cash quantity in secondary currencylong
112-119RA check amountdouble(*)
120-123RA check quantitylong
124-131not used (RA check amount in secondary currency)double(*)
132-135not used (RA check quantity in secondary currency)long
136-143PO check amountdouble(*)
144-147PO check quantitylong
148-155not used (PO check amount in secondary currency)double(*)
156-159not used (PO check quantity in secondary currency)long
160-167discount amountdouble(*)
168-171discount quantitylong
172-179add on amountdouble(*)
180-183add on quantitylong
184-191not used (difference of rounding - used for quarter rounding)double(*)
192-195not used 
196-203not used 
204-207not used 
208-215total sale cash amountdouble(*)
216-219total sale cash quantitylong
220-227total sale cash amount in secondary currencydouble(*)
228-231total sale cash quantity in secondary currencylong
232-239total sale check amountdouble(*)
240-243total sale check quantitylong
244-251not used (total sale check in secondary currency)double(*)
252-255not used (total sale check quantity in secondary currency)long
264-267total sale credit amountdouble(*)
264-267total sale credit quantitylong
268-275not used 
276-279not used 
280-287cash in drawerdouble(*)
288-295cash in drawer in secondary currencydouble(*)
296-303check in drawerdouble(*)
304-311not used (check in drawer in secondary currency)double(*)
312-319credit in drawerdouble(*)
320-327not used 
328-335bottle sale amountdouble(*)
336-339not used (bottle sale quantity)long
340-347bottle refund amountdouble(*)
348-351not used (bottle refund quantity)long
352-359bottle subtotal void amountdouble(*)
360-363bottle subtotal void quantitylong
364-367number of all receiptslong
368-371number of fiscal receiptslong
372-375number of changes of names and tax levelslong

3.26. Cashier sales report

Command number:139
Data length:6 * 70

Byte(s)Meaningtype
0-9Cashier name (in internal hexadecimal code of ECR)string
10-13number of sales since last daily reportlong
14-21sale amount since last daily reportdouble(*)
22-25number of payment by cash in main currencylong
26-33total amount of payments by cash in main currencydouble(*)
34-37number of payment by cash in foreign currencylong
38-45total amount of payments by cash in foreign currencydouble(*2)
46-49number of payment by check in main currencylong
50-57total amount of payments by check in main currencydouble(*)
58-61number of payment by credit in main currencylong
62-69total amount of payments by credit in main currencydouble(*)

3.27. Reading PLU count with non zero sale

Command is used to get count of PLUs sold from ECR memory.

Command number:152
Data length:2

DATA contains count of PLU witch were sold since last PLU Z report.

Byte(s)Meaningtype
0-1number of PLU-s with non zero saleWORD

3.28. Read receipts (PC journal)

Command is used to get receipts in binary form, from ECR for processing in PC.

Command number:
160 - Read receipts (PC journal) (X report)
161 - Read receipts (PC journal) with erase (Z report)
Data length:depends on journal length

Informations are grouped to logical entities.

Important

In this command is used Range Select as LongLength (DWORD) for receipts length in bytes. This length can be obtained from command 164 - Journals data length.

Table 3.3. (Single) receipt structure

countlengthShort description
146Head of receipt
nn * (22 + bar-code length)
All items (PLU's and returnable packs) in receipt &
Bar-code (bar-code length is different for each item (PLU or returnable pack) and depends from bar-code type written in PLU (can be zero length)) (n can be zero ==> block is not used)
12Count of voided items (PLU's and returnable packs) in receipt
kk * (22 + bar-code length)
Voided items (PLU's and returnable packs) in receipt &
Bar-code (bar-code length is different for each PLU and depends from bar-code type written in PLU (can be zero length)) (k can be zero ==> block is not used)
137Financial data for receipt
1 or 02Tax data count for receipt (not included for canceled receipts)
mm * 13Tax records for each non zero tax level (m can be zero ==> block is not used) (not included for canceled receipts)
1 or 033Payments data for receipt (not included for canceled receipts)
1 or 010Extended number of document (this is optional record and can omitted)
11End of record

Table 3.4. Receipt head structure

Byte(s)Meaningtype
0fixed number 25 (0x19) - ID byte of the start of logical block - receiptBYTE
1-2number of all bytes in particular logical entityWORD
3receipt type: 0 – sale, 5 – canceled receipt (receipt types 1,2,3,4 are not active in Polish version)BYTE
4-15date and time form DDMMYYYYhhmm* (ASCII number codes)12*char
16-19cashier ID number (values 1 – 6)long
20-29cashier’s namestring
30-33number of actual receipt 1 – 2 147 483 647long
34-37fiscal receipt number 1 – 2 147 483 647 (In nonfiscal receipts (canceled receipts, receipts only with returnable packs) and in receipt issued in nonfiscal mode will be always equal to zero.)long
38-39number of Z reportWORD
40-43short number of document**long
44ECR number 1 – 99BYTE
45count of items (PLU's and returnable packs) in actual receiptBYTE

Note

*:meaning of characters is:

  • DD = day (two numbers)

  • MM = month (two numbers)

  • YYYY = year (four numbers)

  • hh = hour (two numbers)

  • mm = minute (two numbers)

**: Short document number contains only numbers in range from 0 up to 999 999 999. If the document number has more than 9 numbers (up to 18 numbers) extended number of document is used and short document number value is zero.

Table 3.5. (Single) Item structure

Byte(s)Meaningtype
0item type:
  • 0 – PLU,

  • 4 – sale of returnable pack,

  • 5 – return of returnable pack.

(item types 1,2,3 are not active in Polish version)
BYTE
1-2number of item in internal databaseWORD
3-6quantity of sold itemlong(3)
7-10database unit price of itemlong(*)
11-14sold unit price of item (different from database price if the user uses open price for sale)long(*)
15-20total price of itemN6(*)
21bar-code typesBYTE
depends from typebar-code informationvarious

Table 3.6. Journal bar-code types

number (ID)descriptionbar-code lengthlength in bytes
0none-0
1programmed bar-code for particular PLU189
2only enhanced part from 13+5 bar-code53
3only enhanced part from 13+2 bar-code21
4full scanned 13+5 bar-code 1810
5full scanned 13+2 bar-code 158

Bar-codes are stored in compressed BCD format therefore are in one byte stored two numbers from bar-code.

  1. Full bar-code (type 1) is stored as type BARCODE (9 bytes, 18 numbers)

  2. Enhanced part from 13+5 bar-code (type 2)

    1st byte2nd byte3rd byte
    1st sufix number2nd sufix number3rd sufix number4th sufix number5th sufix numbernot used
  3. Enhanced part from 13+2 bar-code (type 3)

    1st byte
    1st sufix number2nd sufix number
  4. Full EAN 13+5 bar-code (type 4)

    1st byte2nd byte3rd byte4th byte
    not used1st number2nd number3rd number4th number5th number6th number7th number
    5th byte6th byte7th byte
    8th number9th number10th number11th number12th number13th number
    8th byte9th byte10th byte
    1st sufix number2nd sufix number3rd sufix number4th sufix number5th sufix numbernot used
  5. Full EAN 13+2 bar-code (type 5)

    1st byte2nd byte3rd byte4th byte
    not used1st number2nd number3rd number4th number5th number6th number7th number
    5th byte6th byte7th byte
    8th number9th number10th number11th number12th number13th number
    8th byte
    1st sufix number2nd sufix number

Table 3.7. Count of voided items in receipt

Byte(s)Meaningtype
0fixed number 8 (ID byte of voided items block)BYTE
1count of voided items (PLU's and returnable packs) in actual receiptBYTE

Note

Each voided item (PLU or returnable pack) item has identical structure as is described in Table 3.5, “(Single) Item structure”.

Table 3.8. Financial data for receipt

Byte(s)Meaningtype
0fixed number 5 (ID byte of financial block)BYTE
1-6total amount of all add-ons of saleN6(*)
7-12total amount of all discounts of saleN6(*)
13-18total amount of all void operations of saleN6(*)
19-24total amount of saleN6(*)
25-30total sale of returnable packsN6(*)
31-36total return of returnable packsN6(*)

Note

For canceled receipts contains data valid in time immediatelly before canceling of receipt.

Table 3.9. Used VAT levels count

Byte(s)Meaningtype
0fixed number 6 (ID byte of TAX block)BYTE
1count of non-zero VAT levels in receipt (0 – 7)BYTE

Table 3.10. (Single) VAT level structure

Byte(s)Meaningtype
0ID number of VAT levelBYTE
1-6taxable amountN6(*)
7-12tax valueN6(*)

Table 3.11. Payments data for receipt

Byte(s)Meaningtype
0fixed number 9 (ID byte of Payments data block)BYTE
1-6total sum paid by cashN6(*)
7-12total sum paid by checkN6(*)
13-18total sum paid by creditN6(*)
19-24total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3)N6(*2)
25-32Conversion rate between main and foreign currency (used only in Euro phase 1, 2 and 3)double

Table 3.12. Extended number of document

Byte(s)Meaningtype
0fixed number 7 (ID byte of Extended number of document block)BYTE
1-9Extended receipt number in BCD format (identical format like for bar-code storing)BARCODE

Note

This is optional record. If this record is not used then the exteded receipt number is not used. If this record is used is valid only this value and not the value from header.

Table 3.13. End of receipt record

Byte(s)Meaningtype
1fixed number 26 (0x20) - ID byte of the end of logical block - receiptBYTE

3.29. Reading data about journals length

Command is used to get length of journals stored in ECR.

Command number:164
Data length:8

Byte(s)Meaningtype
0-3PC journal size in byteslong
4-7not usedlong

3.30. Reading sales data of returnable packs

Data contains sale values for each returnable pack.

Command number:166
Data length:50*44

Byte(s)Meaningtype
0-6not used 
7-20description textstring
21-23not used 
24-27returnable pack pricelong(*)
28-35total saledouble(*)
36-39number of saleslong(3)
40-43not used 

3.31. Reading sales data of returnable packs for Euro-2100 and Euro-2300

Data contains sale values for each returnable pack.

Command number:166
Data length:50*52

Byte(s)Meaningtype
0-8not used 
9-28description textstring
29-31not used 
32-35returnable pack pricelong(*)
36-43total saledouble(*)
44-47number of saleslong(3)
48-51not used 

3.32. Reading sales data of returnable packs for Euro-100T

Data contains sale values for each returnable pack.

Command number:166
Data length:50*44

Byte(s)Meaningtype
0-8not used 
9-22description textstring
23-27not used 
28-31returnable pack pricelong(*)
32-39total saledouble(*)
40-43number of saleslong(3)

3.33. Reading sales data of returnable packs for Euro-200TX

Data contains sale values for each returnable pack.

Command number:166
Data length:50*54

Byte(s)Meaningtype
0-8not used 
9-28description textstring
29-33not used 
34-37returnable pack pricelong(*)
38-45total saledouble(*)
46-49number of saleslong(3)
50-53not used 

3.34. Reading content of fiscal memory

Command number:170
Data length:131072 (128kB)

Data contains whole content of fiscal memory.

3.35. Reading PLU categories report Euro-100T

Data contains names of PLU categories and sale values.

Command number:175
Data length:10*30

Byte(s)Meaningtype
0-13Category name (in internal hexadecimal code of ECR)string
14-21number of sales since last reportdouble(3)
22-29value of sales since last reportdouble(*)

3.36. Reading PLU categories report Euro-200TX

Data contains names of PLU categories and sale values.

Command number:175
Data length:30*36

Byte(s)Meaningtype
0-19Category name (in internal hexadecimal code of ECR)string
20-27number of sales since last reportdouble(3)
28-35value of sales since last reportdouble(*)

3.37. Read hourly report

Data contains sale values for each hour.

Command number:
178 - Read hourly report (daily)
180 - Read hourly report (periodical)
Data length:24 * 12 (288)

Byte(s)Meaningtype
0-3count of sales (bills)int
4-11sale valuedouble(*)

3.38. Reading length of single receipt

Command is used to get length of single receipt stored in ECR.

Command number:184
Data length:4

Important

In this command is used ID Select (DWORD) for setting of receipt number.

Note

Zero length means that receipt with given ID was not found in journal.

Byte(s)Meaningtype
0-3single receipt length in bytes (part of binary (PC) journal)long

3.39. Read single receipt (PC journal)

Command is used to get single receipt in binary form, from ECR for processing in PC.

Command number:185 - Read single receipts (PC journal) (X report)
Data length:depends on receipt length

Important

In this command is used Range Select as LongLength (DWORD) for receipts length in bytes. Command 184 - Receive single receipt length must be executed before this command to select receipt number and to receive length of the receipt.

Note

Data description is described in Section 3.28, “Read receipts (PC journal)”.

3.40. Identification data and parameters of ECR

Command is used to get information about current ECR.

Command number:255
Data length:84

Byte(s)Meaningtype
0-2country identifier by ISO 3166 (two bytes in ASCII terminated by zero)string
3-12ECR name (9 bytes in ASCII terminated by zero)string
13-15type of printer (“T”, “TX”, “TE”, “M”) (two bytes in ASCII terminated by zero)string
16-19type of displays (e. g. “A/S”, it means alphanumerical (A) display for cashier and segment (S) display for customer ) (three bytes in ASCII terminated by zero)string
20-31fiscal or non-fiscal country (eleven bytes in ASCII terminated by zero)string
32-33firmware version number - last three digits means subversion, (e. g. If software version is 2.011, number 2011 is sent)int
34-35communication protocol version number - last two digits means subversion (e. g. If communication protocol version is 3.05, number 305 is send)int
36-37number of cashiersint
38-39amount of PLUint
40-41amount of departmentsint
42-43amount of tax levelsint
44-45PLU text sizeint
46-47department text sizeint
48-49bar code sizeint
50-51electronic journal support (if value is 1 el. journal is implemented, if value is 0 el. journal is not implemented)int
52-83reserved – not used 

Chapter 4. Text data format

4.1. Commands list

Table 4.1. Supported convert command (send to ECR)

commanddescriptionEuro-500 HandyEuro Smart, Euro Smart PlusEuro-2100Euro-2300Euro-100TEuro-200TX
TTX
1System flagsxxxxxxx
2Cashier namesxxxxxxx
12Erase PLU sale dataxxxxxxx
17Secondary currency exchange ratexxxxxxx
21Extended flags---xxxx
29PLU without stock state (safety)xxxxxxx
30PLU with stock state (safety)xxxxx-x
33Erase receipts (PC journal)----x--
38Programming returnable packs pricesxxxxxxx
39EAN-13 bar-codes behavior parameters programmingxxxxxxx
40Send message-----xx
46Programmable keys---xxxx
47PLU categories-----xx
51Hourly report (daily) clearing---xxxx
52Hourly report (periodical) clearing---xxxx
60Programming of PLU price----x--
61Programming of PLU stock----x--

Table 4.2. Supported convert command (receive from ECR)

commanddescriptionEuro-500 HandyEuro Smart, Euro Smart PlusEuro-2100Euro-2300Euro-100TEuro-200TX
TTX
128Text Logoxxxxxxx
129System flagsxxxxxxx
130Cashier namesxxxxxxx
133TAX report (X report)xxxxxxx
134GTxxxxxxx
135Daily financial report (X report)xxxxxxx
139Cashier sales report (X report)xxxxxxx
145Secondary currency exchange ratexxxxxxx
149Extended flags---xxxx
152Sold PLU count (PLU's with non zero amount)xxxxxxx
157PLU (safety)xxxxxxx
158PLU sale report (safety, X report)xxxxxxx
159PLU with non zero salesxxxxxxx
160Read receipts (PC journal) (X report)----x--
161Read receipts (PC journal) with erase (Z report)----x--
164Journals data length----x--
166Reading sales data of returnable packsxxxxxxx
167EAN-13 bar-codes behavior parameters readingxxxxxxx
174Programmable keys---xxxx
175PLU categories-----xx
179Read hourly report (daily)---xxxx
180Read hourly report (periodical)---xxxx
184Reading length of single receipt----x--
185Read single receipt (PC journal) (X report)----x--
255Read information about current cash register---xxxx

4.2. Taxes interpretation

Taxes are specific for each country. In the next table will be specified how are they interpreted in text form.

Table 4.3. Text interpretation of VAT levels

Country codeVAT level
non taxableminimalmaximalspecial
(none)016--
SK
CZ non fiscal
EN
EN - fiscal
SW
FI
MN
DE
DK
LV
CZ fiscal015--
RO014--
GR
HU0 - TAM, 4 - AJT13 (programable)0 - TAM, 4 - AJT
PLdepends from TAX programming170 - disabled sale
MK--15--
SR--19--
LT014
(only in new versions)
6 – determines PAY-IN level
7 – determines PAY-OUT level
CA016
1 – Federation
2 – Provintial
6 – Federation & Provintial

4.3. Text receipt logo

Data contains text logo that will be printed on the receipt.

Command number:
0 - programming
128 - receiving
Lines count:depends on ECR type

The logo that will be printed on receipt. File contains text logo lines. Characters are in ASCII form.

Note

Some cash register use only first characters (see table below) of the logo line.

Warning

New text logo will not be accepted when there are illegal characters.

Table 4.4. Logo length for individual cash registers

cash register typelines countline length (characters per line)
Euro-500T Handy617
Euro-500TX Handy624
Euro-2100, Euro-2300, Euro-200TX924
Euro-100T918

4.4. System flags

Command number:1 - programming, 129 - receiving
Lines count:12

System flag setting in ECR. File consists of 12 lines. Lines set system flags of ECR. Not all flags have to be used in particular ECR types, or flags can be used in turned-order (see ECR user’s guide). Particular digits in line are not separated with separator. Flag digits meaning (warning, digit order is not equal to programming order of system flags in ECR):

  • 1st line

    • 1st digit: number of decimal places for price and tax displaying (0 – 3)

    • 2nd digit: number of decimal places for price rounding (0 – 3)

    • 3rd digit: rounding 0 – from 5 up, 1 – up, 2 – down, 3 – quarter rounding

    • 4th digit: number of decimal places for tax rounding (0 – 3)

    • 5th digit: number of decimal places for total sale rounding (0 – 3)

    • 6th digit: type of tax counting: 0 – PLU and DPT prices include tax, 1 – price without tax

  • 2nd line

    • 1st digit: number of decimal places for price and tax displaying (0 – 3)

    • 2nd digit: number of free lines between receipts (0 – 6)

    • 3rd digit: number of logo lines (0 – 6)

    • 4th digit: multiple price , if 0 then m1/m2, if 1 then m1*m2

    • 5th digit: date form, 0 – day month year, 1 – month day year

    • 6th digit: 0 – not to print / 1 – print tax data on receipt

  • 3rd line

    • digits 1-6: receipt number (1 – 999999) – it is ignored by transmission to ECR

    • digits 7-8: ECR number (1 – 99)

    • 9th digit: reset: 0 – resets receipt number after daily report, 1 – after monthly report – ignored

  • 4th line

    • 1st digit: obligation to press SUBTOTAL before TOTAL to finish sale: 0 – no, 1 – yes

    • 2nd digit: ST printing on receipt: 0 – no, 1 – yes

    • 3rd digit: obligation to enter credit card number by credit payment: 0 – no, 1 – yes

    • 4th digit: cashier has to enter paid value accepted from customer: 0 – no, 1 – yes

  • 5th line (for Euro-500T/TX Handy, Euro-Smart, Euro-Smart Plus, Euro-2100 and Euro-2300)

    • 1st digit: terminal character for bar code scanner (0 – CR+LF, 1 – CR, 2 – LF)

    • 2nd digit: communication speed of scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 –19200)

    • 3rd digit: communication speed of PC serial port (0 – 9600, 1 – 38400)

    • 4th digit: type of scales (0 – CAS Morcan, Martes T, 1 – EURO scales, Martes M, 3 – not used, 4 – not used)

    • 5th digit: PC ONLINE (0 – PC -> ECR, 1 – PC -> ECR as well as ECR -> PC)

    • 6th digit: protocol for payment terminal: 0 - none, 1 - Bull Amadeo, 2 - PinPad - KeyCorp (not used)

  • 5th line (for cash registers Euro-100, Euro-200)

    • 1st item: Configuration of communication with PC

      • 1st digit: Communication port range depends on ECR type. See binary description for detailed informations. Port 0 means that communication is disabled. Numbers from 1 to 4 means RS-232 protocol on communication ports COM1 to COM4. Value 5 means USB port and value 6 means RS-485 protocol on COM2.

      • 2nd digit: communication speed of scanner (0 – 9600, 1 – 38400)

      • 3rd digit: PC ONLINE mode (0 – PC -> ECR, 1 – PC -> ECR as well as ECR -> PC)

    • 2nd item: Configuration of communication with bar-code scanner

      • 1st digit: Communication port range depends on ECR type. See binary description for detailed informations. Port 0 means that communication is disabled. Numbers from 1 to 4 are communication ports COM1 to COM4.

      • 2nd digit: communication speed of scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 –19200)

      • 3rd digit: terminal character for bar code scanner (0 – CR+LF, 1 – CR, 2 – LF)

    • 3rd item: Configuration of communication with primary scales

      • 1st digit: Communication port range depends on ECR type. See binary description for detailed informations. Port 0 means that communication is disabled. Numbers from 1 to 4 are communication ports COM1 to COM4.

      • 2nd digit: type of scales (see user manual for supported scales)

    • 4th item: Configuration of communication with secondary scales

      • 1st digit: Communication port range depends on ECR type. See binary description for detailed informations. Port 0 means that communication is disabled. Numbers from 1 to 4 are communication ports COM1 to COM4.

      • 2nd digit: type of scales (see user manual for supported scales)

  • 6th line

    • 1st digit: printing mode for battery, (0 – normal mode, 1 – economic mode, 2 – fast) (not used in Euro-2300, Euro-100 and Euro-200)

    • 2nd digit: printing mode for adapter, (0 – normal mode, 1 – economic mode, 2 – fast) (not used in Euro-2300, Euro-100 and Euro-200)

    • 3rd digit: printing graphic logo at the end of receipt, (0 – not printed, 1 – printed) (not used)

    • 4th digit font size (0 – large font (height 2,5 mm)) (not used)

    • 5th digit standby mode: 0 - none, 1 - after 1minute, 2 - after 5 minutes, 3 - after 10 minutes, 4 - after 15 minutes.

  • 7th line: (four digits) value of percentage add-on always on two decimal places without decimal point (0 – 9999).

  • 8th line: (two digits) limit of percentage add-on for entering through ECR keyboard (0 – 99)

  • 9th line: (four digits) value of percentage discount always on two decimal places without decimal point (0 – 9999)

  • 10th line: (two digits) limit of percentage discount for entering through ECR keyboard (0 – 99)

  • 11th line: (six digits) time (hhmmss) (hh = hour, mm = minutes, ss = seconds)

  • 12th line: (six digits) date (always in form DDMMYY (independent from digit 5 in second line)) (DD = day, MM = month, YY = year)

4.5. Cashier names

Command number:2 - programming, 130 - receiving
Lines count:for each cahier one line

File consists of 6 lines per maximal 10 characters – names of 6 cashiers.

4.6. PLU's

4.6.1. PLU structure

Data contains all information about PLU.

Command number:
30 – PLU programming with stock
29 – PLU programming without stock
157 – Programmed PLU's data reading
Lines count:depends on transmitted PLU count

Note

Not all operation are supported in all ECR's.

Each line contains data about one PLU. Each item is separated by "ItemSeparator".

  • 1st item: PLU number (Range depends on particular ECR type).

  • 2nd item: PLU name (accepting only first 14 characters).

  • 3rd item: PLU price*1 – number of decimal places according to setting of digit 6 system flag 1 of ECR,.

  • 4th item: PLU flags: (see PLU flags)

  • 5th item: bar code (13 digits).

  • 6th item: stock*2 on three decimal places

Note

*1: entering price 1500 will be interpreted as price 15.00 in cash register (decimal point can be included but is ignored, digits are valid only) if 6th digit of the 1st system flag in ECR is set to value 2.

Warning

Entered number 15.0 is transmitted as value 150 (!!!only digits are valid!!!) and will be interpreted in depency on the setting of 6th digit of the 1st system flag in ECR. If this flag is set to 2, then the price in cash register will be 1.50.

Note

*2: Value of transmitted stock is in range 1 - 999999999. If transmitted stock is out of range then only first 9 digits are used (in case plus sign or minus sign is used, then only first 8 digits are accepted). To change stock in ECR insert plus or minus sign before transmitted stock value, then transmitted stock value is added (deducted) to stock value of particular PLU in ECR. Stock value in ECR will not change in case new stock value should be besides allowed range.

Write transmitted value as –0 in case you do not want to change stock value in ECR.

Important

Position of decimal point is ignored like it is by price.

4.6.2. PLU report

Data all information about PLU sales.

Command number:
158 – Reading PLU sale data
159 – Reading PLU sale data with non zero sale
Lines count:depends on transmitted PLU count

Note

Not all operation are supported in all ECR's.

Each line contains data about one PLU. Each item is separated by "ItemSeparator".

  • 1st item: PLU number (Range depends on particular ECR type).

  • 2nd item: PLU name.

  • 3rd item: PLU price*1 – number of decimal places according to setting of digit 6 system flag 1 of ECR,.

  • 4th item: PLU flags are the same as in PLU structure:

  • 5th item: bar code.

  • 6th item: sale value

  • 7th item: sold quantity

  • 8th item: stock

4.6.3. PLU flags

Items are not separated by any separator.

  • 1st digit: descriptive PLU: 0 – no, 1 – yes

  • 2nd digit: one PLU sale: 0 – no, 1 – yes

  • 3rd digit: stock list on report: 0 – no, 1 – yes

  • 4th digit: sale in case of negative stock: 0 – no, 1 – yes

  • 5th digit: possibility of fragmentary quantum sale: 0 – no, 1 – yes

  • 6th digit: unit sale assignment (1 – 8)

  • 7th digit: sale possibility: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset

  • 8th digit: price limits (1 – 8)

  • 9th digit: VAT level assignment

  • digits 10 and 11: linked returnable pack – two digits (00 – 50) where "00" means no linked returnable packet, 1-50 – this returnable pack is linked.

  • digits 12 and 13 are used only in Euro-100 and Euro-200: PLU category – two digits (00 – 10 for Euro-100 or 00 – 30 for Euro-200)

4.7. Delete PLU sale data

Command number:12
Lines count:1

Important

In this commands is used Range select of type Start and Length. Start means first PLU number (start counting from 0). Length means count of PLUs witch sales data should be deleted.

Data contains 1 line with one value. Meaning of this value is "print" (0 - no, 1 - yes), but this value is ignored in some versions.

4.8. Secondary currency exchange rate

Data contains secondary currency exchange rate.

Command number:17 - programming, 145 - receiving
Lines count:1

File contains 1 line. It is one decimal number representing secondary currency rate (see ECR user’s guide)

Important

Rate has to contain decimal point.

4.9. Extended flags flags

Extended flag setting.

Command number:21 - programming, 149 - receiving
Lines count:1

File contains two lines with setting of particular extended flags for bar-code and secondary scales. Each item is separated by "ItemSeparator".

  • 1st line: bar-code settings

    • 1st item: look-up of 18-digit bar-codes: 0 – only 18 – digits, 1 – also 13+5 – digits.

    • 2nd item: look-up of 15-digit bar-codes: 0 – only 15 – digits, 1 – also 13+2 – digits.

    • 3rd item: printing of 13+5-digit bar-codes: 0 – do not print, 1 – extension only, 2 – whole.

    • 4th item: printing of 13+2-digit bar-codes: 0 – do not print, 1 – extension only, 2 – whole

    • 5th item: print 18-digit bar-codes: 0 – no, 1 – yes.

  • 2nd line: secondary scales type (see user manual for types description) (used only for Euro-2100 and Euro-2300)

4.10. Clearing journals in ECR memory

Functions are used to delete journal from memory of ECR.

Command number:33 - Clearing data journal in ECR memory
Lines count:1

Content of line is not used.

4.11. Programming returnable packs prices

Data contains prices of returnable packs.

Command number:38
Lines count:50

Each line contains one price.

4.12. EAN-13 bar-codes behavior parameters programming and reading

Command number:39 - programming, 167 - receiving
Lines count:10

Each line describes structure and behavior of EAN13 bar-codes started by prefix “20”, “21”,..., “29”.

  • 1st item: length of array with PLU ID number (4, 5 *)

  • 2nd item: length of array with inner checksum (0, 1 *)

  • 3rd item: length of array with quantity, weight or price (4, 5, 6 *)

  • 4th item: type of bar-code – specifies how will be handled bar-codes with this prefix (0 – unused bar code, 1 – quantity bar code, 2 – price bar code)

Note

*: Sum of first three item values must be 10.

4.13. Send message for cashier

Command is used to send a message to cashier.

Command number:40 - Send cashier message
Lines count:1 or more

File consists of text message for cashier (maximal 23 characters per line).

4.14. Programmable keys

Data contains settings for programmable keybord.

Command number:46
Lines count:72

Each line contains programming of one programable key. It is possible to set a name and 16 scan codes for each key.

4.15. Programming PLU categories

Data contains names of PLU categories.

Command number:47
Lines count:
10 for Euro-100
30 for Euro-200

Each line contains name of one PLU category.

4.16. Hourly report clearing

Command number:
51 - Hourly report (daily) clearing
52 - Hourly report (periodical) clearing
Lines count:1

Data contains 1 line with one value. Meaning of this value is "print" (0 - no, 1 - yes), but this value is ignored in some versions.

4.17. Programming of PLU price

Data contains new prices values for PLU's.

Command number:60
Lines count:depends on transmitted PLU count

Each line contains price change for one PLU. Each item is separated by "ItemSeparator".

  • 1st item: PLU number (Range depends on particular ECR type).

  • 2nd item: PLU price*1

Note

*1: entering price 1500 will be interpreted as price 15.00 in cash register (decimal point can be included but is ignored, digits are valid only) if 6th digit of the 1st system flag in ECR is set to value 2.

Warning

Entered number 15.0 is transmitted as value 150 (!!!only digits are valid!!!) and will be interpreted in depency on the setting of 6th digit of the 1st system flag in ECR. If this flag is set to 2, then the price in cash register will be 1.50.

4.18. Programming PLU stock

Data contains stock changes for PLU's.

Command number:61
Lines count:depends on transmitted PLU count

Each line contains stock change values for one PLU. Each item is separated by "ItemSeparator".

  • 1st item: PLU number (Range depends on particular ECR type).

  • 2nd item: Operation: 0 - Add to stock, 1 - remove from stock.

  • 3rd item: stock*2 on three decimal places

Note

*2: Value of transmitted stock is in range 1 - 999999999. If transmitted stock is out of range then only first 9 digits are used (in case plus sign or minus sign is used, then only first 8 digits are accepted). To change stock in ECR insert plus or minus sign before transmitted stock value, then transmitted stock value is added (deducted) to stock value of particular PLU in ECR. Stock value in ECR will not change in case new stock value should be besides allowed range.

Write transmitted value as –0 in case you do not want to change stock value in ECR.

Important

Position of decimal point is ignored like it is by price.

4.19. Reading TAX report

Data contains sale values for each VAT level.

Command number:133
Lines count:7
  • 1st item: Type of VAT level. If type of VAT level is equal to 1 then level is non-taxable, if is equal to 0 then level is taxable with rate or denied (depends on VAT level rate)

  • 2nd item: tax rate value (0 – 10000) – always for two decimal places without decimal point (comma)

    Note

    VAT level is forbidden if tax rate value is 10000, (not possible to count assigned PLU).

  • 3rd item: taxable value since last daily report

  • 4th item: value without tax (net) since last daily report

  • 5th item: tax value since last daily report

  • 6th item: taxable value since last monthly report

  • 7th item: value without tax (net) since last monthly report

  • 8th item: tax value since last monthly report

4.20. Receiving grand totals values (fiscal version)

Command number:134
Lines count:1 (fiscal version)

Text data contains one line with GT value.

4.21. Financial report

Sale values and counters are incremented to daily/periodical report since last daily/periodical report.

Command number:135 - reading daily report
Lines count:36

Both files have the same form. Two items are separated with ItemSeparator in each line. First item defines quantity and second one defines sale value. Empty place (gap) at the line means that particular item has no meaning. File items meaning:

  • 1st line: total sale

  • 2nd line: net

  • 3rd line: tax

  • 4th line: void

  • 5th line: void of subtotal

  • 6th line: refund

  • 7th line: received cash on account

  • 8th line: received cash on account in secondary currency

  • 9th line: paid out cash

  • 10th line: paid out cash in secondary currency

  • 11th line: received check on account

  • 12th line: not used (received check on account in secondary currency)

  • 13th line: paid out check

  • 14th line: not used (paid out check in secondary currency)

  • 15th line: discounts

  • 16th line: add-ons

  • 17th line: not used (rounding diference)

  • 18th line: not used

  • 19th line: cash sale

  • 20th line: cash sale in secondary currency

  • 21th line: check sale

  • 22th line: not used (check sale in secondary currency)

  • 23th line: credit sale

  • 24th line: not used

  • 25th line: cash in drawer

  • 26th line: cash in drawer in secondary currency

  • 27th line: checks in drawer

  • 28th line: not used (check in drawer in secondary currency)

  • 29th line: credit in drawer

  • 30th line: not used

  • 31th line: bottles

  • 32th line: returnable bottles

  • 33th line: void of bottle subtotal

  • 34th line: number of all receipts

  • 35th line: number of fiscal receipts

  • 36th line: number of changes of names and tax levels

4.22. Cashier sales report

Data contains cashier names and sales report.

Command number:139 - cashier sales report
Lines count:for each cahier one line

Each line contains data about one cashier.

  • 1st item: programmed cashier’s name

  • 2nd item: number of sales since last daily report

  • 3rd item: sale value since last daily report

  • 4th item: number of payment by cash in main currency

  • 5th item: total amount of payments by cash in main currency

  • 6th item: number of payment by cash in foreign currency

  • 7th item: total amount of payments by cash in foreign currency

  • 8th item: number of payment by check in main currency

  • 9th item: total amount of payments by check in main currency

  • 10th item: number of payment by credit in main currency

  • 11th item: total amount of payments by credit in main currency

4.23. Reading PLU count with non zero sale

Command is used to get count of PLUs sold from ECR memory.

Command number:152
Lines count:1

DATA contains count of PLU which were sold since last PLU Z report was performed.

4.24. Read receipts (PC journal)

Command is used to get receipts in binary form, from ECR for processing in PC.

Command number:
160 - Read receipts (PC journal) (X report)
161 - Read receipts (PC journal) with erase (Z report)
Lines count:depends from journal length

File consists of several line blocks. Each line block describes one receipt of registration mode. One block contains first info line and others are data lines.

Important

In this command is used Range Select as LongLength (DWORD) for receipts length in bytes. This length can be obtained from command 164 - Journals data length.

Description of first info line in items. 

  • 1st item: receipt type: 0 – sale, 5 – subtotal void

  • 2nd item: date and time: string DDMMYYYYhhmm*1

  • 3rd item: cashier’s ID

  • 4th item: cashier’s name

  • 5th item: number of actual receipt (in range: 1 – 2 147 483 647)

  • 6th item: iscal receipt number (in range: 1 – 2 147 483 647) (In receipt issued in nonfiscal mode or in canceled receipt will be always equal to zero.)

  • 7th item: number of Z report

  • 8th item: short number of document*2 (1 – 999 999 999)

  • 9th item: ECR number (1 – 99)

  • 10th item: number of items (PLU's and returnable packs) sale: (number of next lines describes items)

*1: meaning of characters is:

  • DD = day (two numbers)

  • MM = month (two numbers)

  • YYYY = year (four numbers)

  • hh = hour (two numbers)

  • mm = minute (two numbers)

*2: Short document number contains only numbers in range from 0 up to 999 999 999. If the document number has more than 9 numbers (up to 18 numbers) extended number of document is used and short document number value is zero.

Item (PLU or returnable pack) sale data (each item on one line). 

  • 1st item: type of sale: 10 – sale through PLU, 34 – sold retunable pack, 35 – refund of retunable pack

  • 2nd item: PLU (retunable pack) number

  • 3rd item: quantity of sold item

  • 4th item: database unit price of item

  • 4th item: sold unit price of item (different from database price if the user uses open price for sale)

  • 6th item: total price of item

  • 7th item: bar-code type: 0 – no bar-code, 1 – programmed, 2 – extension 13+5, 3 – extension 13+5, 4 – codes 13+5, 5 – codes 13+2

  • 8th item: nothing / bar-code / extension – depending on the bar-code type

  • 9th item: nothing / extension – depending on the bar-code type

    “nothing” means that the given data is not present in its row (there is nothing there, not even an empty string between separators nor a separator)

Count of voided items (PLU's and returnable packs) in receipt. 

Financial data for receipt. Total sale sum, discounts, add-ons and void applied at receipt line, retunable pack sale and refund.

  • 1st item: ID byte: 15

  • 2nd item: total amount of all add-ons of sale

  • 3rd item: total amount of all discounts of sale

  • 4th item: total amount of all void operations of sale

  • 5th item: total amount of sale

  • 6th item: total sale of returnable packs

  • 7th item: total return of returnable packs

Note

For canceled receipts contains data valid in time immediatelly before canceling of receipt.

Information about stored VAT levels line. 

  • 1st item: ID byte: 16

  • 2nd item: number of used VAT levels (0 – 7)

    Particular lines with tax information. 

    • 1st item: VAT level + 20

    • 2nd item: taxable value of particular VAT level

    • 3rd item: tax in particular VAT level

Payments data for receipt. 

  • 1st item: ID byte: 19

  • 2nd item: total sum paid by cash

  • 3rd item: total sum paid by check

  • 4th item: total sum paid by credit

  • 5th item: total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3)

  • 6th item: Conversion rate between main and foreign currency (used only in Euro phase 1, 2 and 3)

Extended number of document line. 

  • 1st item: ID byte: 17

  • 2nd item: Extended receipt number.

Note

This is optional record. If this record is not used then the exteded receipt number is not used. If this record is used is valid only this value and not the value from header.

4.25. Reading data about journals length

Command is used to get length of journals stored in ECR.

Command number:164
Lines count:2
  • 1st line: binary (PC) journal size in bytes

  • 2nd line: not used

4.26. Reading sales data of returnable packs

Data contains sale values for each returnable pack.

Command number:166
Lines count:50
  • 1st item: description text

  • 2nd item: returnable pack price

  • 3rd item: total sale

  • 4th item: number of sales

4.27. Reading PLU categories report

Data contains names of PLU categories and sale values.

Command number:132
Data length:
10 for Euro-100
30 for Euro-200

Each line contains data about one PLU category. Each item is separated by "ItemSeparator".

  • 1st item: Category name.

  • 2nd item: sold quantity since last daily report

  • 3rd item: sale value since last daily report

4.28. Read hourly report

Command number:
178 - Read hourly report (daily)
180 - Read hourly report (periodical)
Lines count:24

Each line contains data fot one hour interval. Item are separated by "ItemSeparator".

  • 1st item: count of sales (bills)

  • 2nd item: sale value

4.29. Reading length of single receipt

Command is used to get length of single receipt stored in ECR.

Command number:184
Lines count:1

Important

In this command is used ID Select (DWORD) for setting of receipt number.

Data contains only one line with single receipt length in bytes (part of binary (PC) journal).

Note

Zero length means that receipt with given ID was not found in journal.

4.30. Read single receipt (PC journal)

Command is used to get single receipt in binary form, from ECR for processing in PC.

Command number:185 - Read single receipts (PC journal) (X report)
Lines count:depends on receipt length

File consists of several line blocks. Each line block describes one receipt of registration mode. One block contains first info line and others are data lines.

Important

In this command is used Range Select as LongLength (DWORD) for receipts length in bytes. Command 184 - Receive single receipt length must be executed before this command to select receipt number and to receive length of the receipt.

Note

Data description is described in Section 4.24, “Read receipts (PC journal)”.

4.31. Identification data and parameters of ECR

Command is used to get information about connected ECR.

Command number:255
Lines count:15
  • 1st line: country identifier by ISO 3166

  • 2nd line: ECR name

  • 3rd line: type of printer (“T”, “TX”, “TE”, “M”)

  • 4th line: type of displays (e. g. “A/S”, it means alphanumerical (A) display for cashier and segment (S) display for customer)

  • 5th line: fiscal or non-fiscal country (string in english)

  • 6th line: software version number - last three digits means subversion. e. g.: number 2011 means software version is 2.011.

  • 7th line: communication protocol version number - last two digits means subversion. e. g.: number 305 means protocol version is 3.05.

  • 8th line: count of cashiers

  • 9th line: amount of PLU

  • 10th line: amount of departments

  • 11th line: amount of tax levels

  • 12th line: PLU text size

  • 13th line: department text size

  • 14th line: bar code size

  • 15th line: electronic journal support (if value is 1 el. journal is implemented, if value is 0 el. journal is not implemented)

Appendix A. Glossary of used terms

BARCODE / bar-code

Bar-code = EAN.

For data type see types definition.

binary (data, form...)

Binary form of data means data that are not readable by humans. It is the form of data that is used by computers to store numerical data (and strings) for processing. In most cases no data transformation is needed to process data stored in binary form. Needed is only description / meaning of each data position.

binary journal

Binary journal is sometimes used as term for PC processing journal (see PC journal).

BYTE

see types definition.

char

see types definition.

DWORD

see types definition.

electronic journal

Electronic journal is used as symbol for non tactile journal. It can be the PC journal (in most cases is means this one) or Text journal.

int

see types definition.

long

see types definition.

N6

see types definition.

PC journal

Receipts stored in binary form (not human readable). Receipts are separated in logical blocks (its is possible to separate every stored purchase from whole block data). It is possible to use data from this journal to post-processing sale data (make hour reports, ....).

Read bills

see Text journal

Read receipts

see PC journal

string

see types definition.

Text (data, form...)

Human readable form of data. This form is also used by some application to import/export data from/to other programs.

Text journal

Text journal is only a copy of journal tape in ECR. This journal is human readable. No direct post processing is possible.

WORD

see types definition.