Generic version
Copyright © 2005 Elcom s. r. o.
Revision History | ||
---|---|---|
Revision 1.00 | 27. Feb. 2006 | JAD |
Build of generic document version For Comm32.dll from version 4.29 and Comm2A from version 3.8. | ||
Revision 1.01 | 15. June 2006 | JAD |
Added description for Euro-2100 Added "ECR --> PC ONLINE mode" description Documentation change for Comm32.dll from version 4.31 and Comm2A from version 3.9. | ||
Revision 1.02 | 17. Juli 2006 | JAD |
Illegal characters and roman numbers are converted from text to binary data as 'space'. | ||
Revision 1.03 | 25. Juli 2006 | JAD |
Added hourly report for Euro-2100. | ||
Revision 1.04 | 7. Aug. 2006 | JAD |
Added new ECR type Euro-2100TE. 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.05 | 9. Apr. 2006 | JAD |
Added new cash registers Euro-100T and Euro-200T/TX/TE . | ||
Revision 1.06 | 19. Apr. 2007 | JAD |
Fixed all known bugs in descriptions. | ||
Revision 1.07 | 22. May 2007 | JAD |
Added support for decimal comma/dot configuration. |
Abstract
Document contains description how to use communication application Comm2A. This application can be used with the following ECR types: Euro-1000M/T, Euro-2000M/T/TE Alpha, Euro-500T/TX/TE Handy, Euro-2100TX/TE, Euro-100T, Euro-200T/TX/TE.
Table of Contents
Table of Contents
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.
Free Version Distribution. This Free Version software may be freely distributed, provided that:
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).
No money is charged to the person receiving the software, beyond reasonable cost of packaging and other overhead.
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 <elcom@elcom.sk>
.
Free Version User Agreement.
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.
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.
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.
Table of Contents
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.
There are three basic forms how to use Comm2A. Each of these forms use other command line arguments.
Use with configuration
file. Comm2A.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
]
[/online_wait:time
]
All needed parameters are obtained from configuration file. For all not entered optional command line parameters are used default values.
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
]
[/online_wait:time
]
In this mode must be entered all necessary parameters otherwise the program displays error "Configuration file not found".
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 .
Read informations about sales on ECR. 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
/online
[/cfg:ssssss
]
[/tel:ttttttt
]
[/modem_wait:nnnn
]
/data_file:file
[/divmul]
This mode is supported only by cash registers with "ECR --> PC online mode",
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"
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 command line parameter must be enclosed in quotation marks. Argument order is irrelevant.
Set up the country. Only one of these parameters at a time.
Table 1.1. Country shortcuts meaning
shortcut | country |
---|---|
SK | Slovakia |
CZ | Czech (non fiscal version) |
CZf | Czech (fiscal version) |
EN, GB | generic english version (non fiscal) |
ENf, GB | fiscal english version |
SW | Sweden |
RO | Romania |
PL | Poland |
HU | Hungary |
LV | Latvia |
MK | Macedonia |
FI | Finland |
GR | Greece |
SR | Serbia |
LT | Lithuania |
MN | Monte Negro |
DK | Denmark |
DE | Germany |
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:
command line (the only safe method)
language pack
auto-detection from OS
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
).
n
Sets up the communication port number, where
n
is communication port number within
1-255.
nnnn
Sets up the communication speed, where
nnnn
is speed, either 9600 or 38400.
nn
Sets up the ECR type, where the
nn
is ID number of
particular ECR.
nn
Sets up the ECR number (identification number in a "ECR
network"), where nn
is number within
1–99.
nnn
Sets up the operation, where nnn
is the
operation ID number.
nnn
Sets up the first transferred item (parameter is not compulsory for all operations).
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.
file
*1Sets 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.
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).
file
*1Sets up the “error” file position*2. "Error file" = file where operation results are logged.
file
*1Sets 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).
file
*1Sets up the position*2 of data file.
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=time | sets 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=time | sets 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=coefficient | sets 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=time | sets up the time of maximum ECR answer time-out in milliseconds (5s) (changed by modem+/- parameter) |
break=time | sets up wait time for start communication after break signal in milliseconds (20ms / 1s) (changed by modem+/- parameter) |
break384=time | same as break , only
for speed of 38 400 Baud
(20ms) |
break96=time | same 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 =time | “n ” 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 =time | “n ” 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=character | This 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. |
ttttttt
Sets up the phone number; used only if the library has to create the modem connection.
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
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.
For reading data from PLU is meaningful only decimal places for display. Rounding of numbers is used only when are data transferred to ECR.
time
Time wait time between two online sale commands in milliseconds.
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.
In this mode it is possible to receive sales data from ECR in "ECR --> PC ONLINE mode". Program Comm2A will be running until the interruption of user. It is possible to save received data in text and in binary form. In binary mode will be each received sales data stored in a separate file. Name of this file consist of given file name and actual date and time on PC. In text mode (parameter /t) will be each sale stored in one data file. Data are not erased.In this mode is only one file. Each new sale is written at the end the actual file. Detailed description about saved ONLINE data is in Chapter 5, Data description for "ECR --> PC ONLINE mode".
This parameter changes the separator between first and second quantity in the text mode
in the "ECR --> PC ONLINE
mode" from standard separator to "/
" or
"*
" (depends on actual ECR settings).
*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”).
*2: position = file name (and path).
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
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:
see the example for 3rd row.
4th row contains: numOperation
numECR typeECR dataFile
where:
numOperation
: operation ID number
numECR
: ECR number
typeECR
: ECR
type
dataFile
: path to file where data are
stored
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 number | Third row contents | Note |
---|---|---|
3 | PLU_count 1PLU-1 34 | PLU_count = PLU count for transfer,
1PLU-1 = number of 1st
PLU – 1 |
3 | 41 9 34 | example: "transferring PLUs from 10 to 50" |
10 | PLU_count 1PLU-1 30 | |
10 | 101 99 30 | example: "transferring PLUs from 100 do 200" |
12 | PLU_count 1PLU-1 1 | PLU_count = PLU count for erase salled data,
1PLU-1 = number of 1st
PLU – 1 |
12 | 101 99 1 | example: "erase sale data of PLUs from 100 do 200" |
18 | PLU_count 0 28 | PLU_count = PLU count of PLUs to by sold
through PC ONLINE mode. |
29 | PLU_count 1PLU-1 30 | |
30 | PLU_count 1PLU-1 34 | |
40 | LinesCount 0 23 | LinesCount = Lines in message for
cashier |
131 | PLU_count 1PLU-1 44 | |
138 | PLU_count 1PLU-1 32 | |
157 | PLU_count 1PLU-1 32 | |
158 | PLU_count 1PLU-1 44 |
For all other commands are these values ignored. Also the value of last number (data length) is ignored.
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).
The "Error file" contains result of performed operation.
Table 1.3. Description of application return values (in Error file)
first row | meaning and content of next rows | |||
---|---|---|---|---|
0 OK |
| |||
1 ERROR |
| |||
2 CANCELLED |
| |||
7 TYPE_OK |
| |||
8 CHANGE_VAT |
| |||
9 SALE |
|
*: 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
.
Table 1.4. Error codes description
Error code | Description | ||
---|---|---|---|
0 | All OK | ||
1 | Communication error (wrong check sum, wrong packet, wrong operation...). | ||
2 |
| ||
3 | Opened receipt (sale in progress) in ECR (communication is not possible). | ||
4 | VAT assignment is out of range or VAT is not active! | ||
5 | Department assignment is out of range! | ||
6 | Sales unit is out of range! | ||
7 | Quantity is out of range! | ||
8 | Price is out of range! | ||
9 | Online sale not allowed in current ECR mode! | ||
10 | Command is out of range or not allowed in this mode! | ||
11 | PLU index is out of range! | ||
12 | Not right hexadecimal sign code (name of PLU or number of credit card). | ||
13 | Payment not allowed! | ||
14 | Payment type not allowed! | ||
15 | Currency payment is out of range or not allowed type of currency because ECR is in wrong Euro phase | ||
16 | Not started sale! Command not allowed!! | ||
17 | Wrong message line! (unsupported characters) | ||
18 | Message for cashier has more than maximal allowed lines (message cannot be send). | ||
19 | Electronic journal is full. Operation not possible. | ||
20 | Surcharge/Discount flag out of range. | ||
21 | Surcharge/Discount type out of range. | ||
22 | Surcharge/Discount database type out of range. | ||
23 | Value of Surcharge/Discount is out of range. | ||
24 | Surcharge/Discount was wrong used (not suddenly after sold of PLU). | ||
26 | Invalid bar-code | ||
27 | Operation is not possible. Make daily report first. | ||
28 | Operation is not possible. Fiscal memory is full. | ||
32 | It is not possible to make hourly report (periodical). Make first Hourly report (daily). | ||
33 | It is not possible to erase textual journal. It is necessary to read journal into PC first. | ||
34 | PLU link flag is out of range. | ||
35 | PLU description flag is out of range. | ||
36 | PLU type flag is out of range. | ||
37 | PLU stock report flag is out of range. | ||
38 | PLU negative stock flag is out of range. | ||
39 | PLU fractional flag is out of range. | ||
40 | PLU mode flag is out of range. | ||
41 | PLU halo limit flag is out of range. | ||
42 | Cash register is not fiscalized. Operation is not possible. (not used in non fiscal versions) | ||
43 | Discount type out of range (allowed values are 0 and 1). | ||
44 | Coupon value out of range. | ||
45 | Cash register is fiscalized. This operation is possible only befiore fiscalization. (not used in non fiscal versions) | ||
46 | PLU consignate flag out of range. | ||
47 | PLU DB type out of range. | ||
48 | Wrong cash register type. | ||
49 | Operation is not possible. Make PLU report first. | ||
50 | Operation is not possible. Make DPT report first. | ||
51 | Operation is not possible. Make cashier report first. | ||
101 | It is not possible to perform operation (wrong command combination). | ||
103 | PLU not sold. | ||
105 | Maximum count of PLU/lines in a sale has been reached. | ||
106 | Multiplication reached maximum amount. | ||
108 | It is not possible to sell item with programmed price. Programmed price is inactive. | ||
109 | Particular tax level amount is over limit from the last daily report. | ||
111 | Forbidden operation with returnable packs. | ||
112 | Forbidden sale of PLU. PLU is inactive. | ||
113 | Tax level inactive. | ||
114 | Price is missing. | ||
117 | Operation caused negative stock. | ||
118 | Maximum price of sale is reached. Terminate the sale. | ||
119 | Price HALO limit is over. | ||
120 | Add-on/discount to returnable packs disabled. | ||
122 | Open price is inactive. DPT (PLU) flag prevents entry of price from keyboard. | ||
124 | Add-on/discount amount limit is over. | ||
125 | Decimal places limit is over. 2nd system flag disables sale for more decimal places. | ||
127 | Add-on/discount to negative value disabled. | ||
128 | Void disabled in this stage of sale. | ||
130 | Grand-Totals reached the maximum amount. | ||
131 | Performed operation caused negative Grand-Total. | ||
132 | Attempt of check/credit payment in foreign currency. | ||
135 | Credit card payment limit is over. | ||
136 | Negative value of tax level. | ||
137 | Incorrect bar code. | ||
138 | Name of sold item is empty. Sale is not possible. | ||
142 | Negative items amount limit is over. | ||
143 | Discount amount limit is over. | ||
144 | Damaged tax record. | ||
193 | Programmed EAN has incorrect form. | ||
194 | Final price for EAN creating limit is over. | ||
195 | |||
196 | PLU price for EAN creating limit is over. | ||
197 | PLU amount for EAN creating limit is over. | ||
199 | Document entry is necessary for receipt opening. |
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
).
Table 2.1. Definition of data types
type name | length (in bytes) | description |
---|---|---|
BYTE | 1 | unsigned number (integer) |
WORD | 2 | unsigned number (integer), little endian (low byte, high byte) |
DWORD | 4 | unsigned number (integer), little endian (lowest byte first, highest byte last) |
N6 | 6 | signed 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. |
char | 1 | signed integer |
int | 2 | signed integer, little endian (low byte, high byte) |
long | 4 | signed integer, little endian (lowest byte first, highest byte last) |
double | 8 | real number. (compatible with type double
in Borland C++ Builder and MS Visual C++
). If type extension is
used then decimal places are not used. |
string | various | Text 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* char | n | String with exact length n bytes. See character map for correct interpreting
of characters. (Most of these types are only numerical
values) |
BARCODE | various | bar-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
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.
Table 2.3. Definition of string characters (default EN version)
code in ECR | character / meaning |
---|---|
0x1f | double width character (character after this character has double width) |
0x9d* | ¥ - Yen character (not used in all ECRs) |
0x9e* | ≈ - line separator character (not used in all ECRs) |
0x9f* | € - Euro character (not used in all ECRs) |
0x5b* | Roman number "I" (TAX assignment to VAT level 1 - non fiscal version only) (character Ⅰ) |
0x5c* | Roman number "II" (TAX assignment to VAT level 2 - non fiscal version only) (character Ⅱ) |
0x5d* | Roman number "III" (TAX assignment to VAT level 3 - non fiscal version only) (character Ⅲ) |
0x5e* | Roman number "IV" (TAX assignment to VAT level 4 - non fiscal version only) (character Ⅳ) |
0x5f* | Roman number "V" (TAX assignment to VAT level 5 - non fiscal version only) (character Ⅴ) |
0x60* | Roman number "VI" (TAX assignment to VAT level 6 - non fiscal version only) (character Ⅵ) |
0x20 - 0x7a | standard ASCII characters (except character 0x5b-0x60 used for vat assignment) |
*: Special character (read only). It is not possible to program text with these characters.
Table of Contents
Table 3.1. ECR types
number | type | PLU count | DPT count |
---|---|---|---|
0 | Euro-2000M Alpha | 2 400 | 8 |
1 | Euro-2000T Alpha | 2 400 | 8 |
2 | Euro-1000M | 1 000 | 8 |
3 | Euro-1000T | 1 000 | 8 |
4 | Euro-2000M Alpha | 10 000 | 8 |
5 | Euro-2000T Alpha | 10 000 | 8 |
6 | Euro-2000TE Alpha | 2 400 | 8 |
7 | Euro-2000TE Alpha | 6 000 | 8 |
10 | Euro-500T Handy | 2 100 | 30 |
11 | Euro-500T Handy | 10 000 | 30 |
13 | Euro-500TX Handy | 2 100 | 30 |
14 | Euro-500TX Handy | 10 000 | 30 |
20 | Euro-500TE Handy | 2 400 | 30 |
21 | Euro-500TE Handy | 5 400 | 30 |
22 | Euro-2100TX | 8 000 | 30 |
23 | Euro-2100TX (with hardware detection) | 8 000 / 27 000* | 30 |
26 | Euro-100T | 1 500 | 10 |
27 | Euro-200T | 2 400* / 10 000* | 30 |
28 | Euro-200TE | 2 400* / 10 000* | 30 |
29 | Euro-2100TE | 18 000 | 30 |
30 | Euro-200TX | 2 400* / 10 000* | 30 |
all ECRs have seven VAT levels labelled as numbers from 1 to 7,
VAT level 7 is tax-free VAT level
VAT levels from 1 to 6 are programmable VAT levels
VAT level with value 100,00% is forbidden VAT level (sale not possible in this VAT level)
Table 3.2. Send to ECR
Table 3.3. Receive from ECR
*1: only in ECR version 2.0 and above
This command list describes standard EN (non fiscal), SK and CZ data. Not all commands are supported in other national versions.
*2: Used only in cash registers with firmware after 16.6.2006.
Data contains text logo that will be printed on the receipt.
Command number: |
| ||
Data length: | 6 * 24 |
DATA consists of 6 strings from internal hexadecimal ECR codes (6 logo lines).
Byte(s) | Meaning | type | range |
---|---|---|---|
0-24 | Text logo line (in internal hexadecimal code of ECR) | string | characters |
For Euro-1000T, Euro-2000T Alpha and Euro-500T Handy only first 17 characters are used. The remaining characters are ignored.
Data contains text logo that will be printed on the receipt.
Command number: |
| ||
Data length: | 9 * 24 |
DATA consists of 9 strings from internal hexadecimal ECR codes (9 logo lines).
Byte(s) | Meaning | type | range |
---|---|---|---|
0-24 | Text logo line (in internal hexadecimal code of ECR) | string | characters |
For Euro-100T and Euro-200T only first 18 characters are used. The remaining characters are ignored.
Command number: | 1 - programming, 129 - receiving |
Data length: | 34 |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for price and TAX displaying (range: <0, 3>) | 1 | 6 |
1 | x | |||
2 | x | |||
3 | x | number of decimal places for price rounding (range: <0, 3>) | 1 | 5 |
4 | x | |||
5 | x | |||
6 | x | system of rounding 0 – up from 5; 1 – always up; 2 – always down; 3 - quarter rounding | 1 | 1 |
7 | x |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for TAX rounding (range: <0, 3>) | 1 | 4 |
1 | x | |||
2 | x | |||
3 | x | number of decimal places for total price of sale rounding (range: <0, 3>) | 1 | 3 |
4 | x | |||
5 | x | |||
6 | x | prices of PLU and DPT are programmed with TAX – without TAX ( 0 – prices with TAX, 1 – prices without TAX) | 1 | 2 |
7 | x |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for quantity rounding (range: <0, 3>) | 2 | 3 |
1 | x | |||
2 | x | number of blank lines between receipts (range: <0, 6>) | 2 | 4 |
3 | x | |||
4 | x | |||
5 | x | number of logo lines (range: <0, 6>) | 2 | 5 |
6 | x | |||
7 | x |
3.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | quantity multiplying: if 0 then m1 / m2 ,
if 1 then m1 * m2 | 2 | 6 |
1 | x | date format (0 – day month year, 1 – month day year) | 2 | 2 |
2 | x | 0 – not to print / 1 – to print TAX values on sale receipt | 2 | 1 |
3 | - | not used | ||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
Byte(s) | Meaning | type | system flag | digits |
---|---|---|---|---|
4-5 | receipt number deceased by 1 (range: <0, 9998>) | WORD | 3 | 4-7 |
6 | ECR number (range: <1, 99>) | BYTE | 3 | 2-3 |
Receipt number can not be programmed from communication.
7.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | 0 – resets the receipt number after daily report, 1-clear receipt number after monthly report | 3 | 1 |
1 | - | not used | ||
2 | - | |||
3 | - | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
In some version can be the value of 0th bit in 7th byte ignored and number of receipt is cleared after daily report.
8.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | required subtotal key pressing before receipt finishing 0 – not required, 1 – required | 4 | 2 |
1 | x | subtotal amount printing after subtotal pressing 0 – no, 1 – yes | 4 | 1 |
2 | x | required credit card number entering if paid by Credit 0-not required, 1-required | 4 | 3 |
3 | x | required customer’s payment amount entering 0-not required, 1-required | 4 | 4 |
4 | - | not used | ||
5 | - | |||
6 | - | |||
7 | - |
Byte | Meaning | type | system flag |
---|---|---|---|
9 | not used | BYTE |
10.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | terminal code for bar code scanner (0 – CR+LF, 1 – CR, 2 – LF) | 5 | 1 |
1 | x | |||
2 | x | communication speed of bar code scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 – 19200) | 5 | 2 |
3 | x | |||
4 | x | |||
5 | x | communication speed of PC (0 – 9600 or 1 – 38400) | 5 | 3 |
6 | x | type of electronic scales (bits 0 and 1) - see user manual for scales types | 5 | 4 |
7 | x |
11.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | type of electronic scales (bits 2 and 3) - see user manual for scales types | 5 | 4 |
1 | x | |||
2 | x | PC ONLINE (0 - PC->ECR, 1 – PC->ECR and ECR->PC) | 5 | 5 |
3 | x | payment's terminal protocol type: 0 - none, 1 - Bull Amadeo, 2 - PinPad - KeyCorp (not valid for Euro-2000 Alpha - software builds before 1st February 2006) (this flag is not used in all contry versions) | 5 | 6 |
4 | x | |||
5 | x | |||
6 | - | |||
7 | - |
Byte 10 and 11 are ignored in Euro-1000.
12.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | font for battery power supply | 6 | 1 |
1 | x | |||
2 | x | font for adapter power supply | 6 | 2 |
3 | x | |||
4 | x | graphical logo printing 0 – no, 1 – yes | 6 | 3 |
5 | x | 0 – large font (2,5 mm high), 1 – small font (2 mm high) | 6 | 4 |
6 | - | not used | ||
7 | x | standby mode time (bit 0) (only for Euro-500 Handy) | 6 | 5 |
Byte 12 is ignored in Euro-1000M and Euro-2000M. (Works only with thermal printers = T, TE, TX types of ECR)
For Euro-500 Handy is always used large font (byte 12, 5th bit).
13.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | standby mode time (bits 1 and 2): 0 - off, 1 - after 1 min, 2 - after 5min, 3 - after 10min, 4 - after 15min (only for Euro-500 Handy) | 6 | 5 |
1 | x | |||
2 | - | not used | ||
3 | - | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
Byte(s) | Meaning | type | system flag |
---|---|---|---|
14-15 | value of percent add-on (range: <1, 9999>) | WORD(2) | 7 |
16-17 | limit for percent add on entered by ECR keyboard (range: <1, 99>) | WORD | 7 |
18-19 | value of percent discount (range: <1, 9999>) | WORD(2) | 8 |
20-21 | limit for percent discount entered by ECR keyboard (range: <1, 9999>) | WORD | 8 |
22-27 | time: hour:min:sec , hour – two numbers, min –
two numbers, sec – two numbers, in internal hexadecimal ECR codes
(see example of stored
time) | 6*char | 9 |
28-33 | date: day.month.year , day – two numbers, month
– two numbers, year – two numbers, in internal hexadecimal ECR
codes (see example of stored
date) | 6*char | 10 |
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
Change (overwrite) date and time (bytes 22 – 33) is possible only if daily report is done.
Command number: | 1 - programming, 129 - receiving |
Data length: | 34 |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for price and TAX displaying (range: <0, 3>) | 1 | 6 |
1 | x | |||
2 | x | |||
3 | x | number of decimal places for price rounding (range: <0, 3>) | 1 | 5 |
4 | x | |||
5 | x | |||
6 | x | system of rounding 0 – up from 5; 1 – always up; 2 – always down; 3 - quarter rounding | 1 | 1 |
7 | x |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for TAX rounding (range: <0, 3>) | 1 | 4 |
1 | x | |||
2 | x | |||
3 | x | number of decimal places for total price of sale rounding (range: <0, 3>) | 1 | 3 |
4 | x | |||
5 | x | |||
6 | x | prices of PLU and DPT are programmed with TAX – without TAX ( 0 – prices with TAX, 1 – prices without TAX) | 1 | 2 |
7 | x |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for quantity rounding (range: <0, 3>) | 2 | 3 |
1 | x | |||
2 | x | number of blank lines between receipts (range: <0, 6>) | 2 | 4 |
3 | x | |||
4 | x | |||
5 | x | number of logo lines (range: <0, 9>) low 3 bites | 2 | 5 |
6 | x | |||
7 | x |
3.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of logo lines (range: <0, 9>) higehst significant bite | 2 | 5 |
1 | x | quantity multiplying: if 0 then m1 / m2 ,
if 1 then m1 * m2 | 2 | 6 |
2 | x | date format (0 – day month year, 1 – month day year) (parameter is read-only) | 2 | 2 |
3 | x | 0 – not to print / 1 – to print TAX values on sale receipt (parameter is read-only) | 2 | 1 |
4 | - | not used | ||
5 | - | |||
6 | - | |||
7 | - |
Byte(s) | Meaning | type | system flag | digits |
---|---|---|---|---|
4-5 | receipt number deceased by 1 (range: <0, 9998>) | WORD | 3 | 4-7 |
6 | ECR number (range: <1, 99>) | BYTE | 3 | 2-3 |
Receipt number can not be programmed from communication.
7.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | 0 – resets the receipt number after daily report, 1-clear receipt number after monthly report | 3 | 1 |
1 | - | not used | ||
2 | - | |||
3 | - | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
In some version can be the value of 0th bit in 7th byte ignored and number of receipt is cleared after daily report.
8.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | required subtotal key pressing before receipt finishing 0 – not required, 1 – required | 4 | 2 |
1 | x | subtotal amount printing after subtotal pressing 0 – no, 1 – yes | 4 | 1 |
2 | x | required credit card number entering if paid by Credit 0-not required, 1-required | 4 | 3 |
3 | x | required customer’s payment amount entering 0-not required, 1-required | 4 | 4 |
4 | - | not used | ||
5 | - | |||
6 | - | |||
7 | - |
Byte | Meaning | type | system flag |
---|---|---|---|
9 | not used | BYTE |
10.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | terminal code for bar code scanner (0 – CR+LF, 1 – CR, 2 – LF) | 5 | 1 |
1 | x | |||
2 | x | communication speed of bar code scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 – 19200) | 5 | 2 |
3 | x | |||
4 | x | |||
5 | x | communication speed of PC (0 – 9600 or 1 – 38400) | 5 | 3 |
6 | x | type of electronic scales (bits 0 and 1) - see user manual for scales types | 5 | 4 |
7 | x |
11.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | type of electronic scales (bits 2 and 3) - see user manual for scales types | 5 | 4 |
1 | x | |||
2 | x | PC ONLINE (0 - PC->ECR, 1 – PC->ECR and ECR->PC) | 5 | 5 |
3 | x | payment's terminal protocol type: 0 - none, 1 - Bull Amadeo, 2 - PinPad - KeyCorp | 5 | 6 |
4 | x | |||
5 | x | |||
6 | - | |||
7 | - |
12.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | font for battery power supply | 6 | 1 |
1 | x | |||
2 | x | font for adapter power supply | 6 | 2 |
3 | x | |||
4 | x | graphical logo printing 0 – no, 1 – yes | 6 | 3 |
5 | - | 0 – large font (2,5 mm high) (always used large font), 1 – small font (2 mm high) (not used) | 6 | 4 |
6 | - | not used | ||
7 | x | standby mode time (bit 0) | 6 | 5 |
13.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | standby mode time (bits 1 and 2): 0 - off, 1 - after 1 min, 2 - after 5min, 3 - after 10min, 4 - after 15min | 6 | 5 |
1 | x | |||
2 | - | not used | ||
3 | - | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
Byte(s) | Meaning | type | system flag |
---|---|---|---|
14-15 | value of percent add-on (range: <1, 9999>) | WORD(2) | 7 |
16-17 | limit for percent add on entered by ECR keyboard (range: <1, 99>) | WORD | 7 |
18-19 | value of percent discount (range: <1, 9999>) | WORD(2) | 8 |
20-21 | limit for percent discount entered by ECR keyboard (range: <1, 9999>) | WORD | 8 |
22-27 | time: hour:min:sec , hour – two numbers, min –
two numbers, sec – two numbers, in internal hexadecimal ECR codes
(see example of stored
time) | 6*char | 9 |
28-33 | date: day.month.year , day – two numbers, month
– two numbers, year – two numbers, in internal hexadecimal ECR
codes (see example of stored
date) | 6*char | 10 |
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
Change (overwrite) date and time (bytes 22 – 33) is possible only if daily report is done.
Command number: | 1 - programming, 129 - receiving |
Data length: | 40 |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for price and TAX displaying (range: <0, 3>) | 1 | 6 |
1 | x | |||
2 | x | |||
3 | x | number of decimal places for price rounding (range: <0, 3>) | 1 | 5 |
4 | x | |||
5 | x | |||
6 | x | system of rounding 0 – up from 5; 1 – always up; 2 – always down; 3 - quarter rounding | 1 | 1 |
7 | x |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for TAX rounding (range: <0, 3>) | 1 | 4 |
1 | x | |||
2 | x | |||
3 | x | number of decimal places for total price of sale rounding (range: <0, 3>) | 1 | 3 |
4 | x | |||
5 | x | |||
6 | x | prices of PLU and DPT are programmed with TAX – without TAX ( 0 – prices with TAX, 1 – prices without TAX) | 1 | 2 |
7 | - | not used |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of decimal places for quantity rounding (range: <0, 3>) | 2 | 3 |
1 | x | |||
2 | x | number of blank lines between receipts (range: <0, 6>) | 2 | 4 |
3 | x | |||
4 | x | |||
5 | x | number of logo lines (range: <0, 9>) low 3 bites | 2 | 5 |
6 | x | |||
7 | x |
3.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | number of logo lines (range: <0, 9>) higehst significant bite | 2 | 5 |
1 | x | quantity multiplying: if 0 then m1 / m2 ,
if 1 then m1 * m2 | 2 | 6 |
2 | x | date format (0 – day month year, 1 – month day year) (parameter is read-only) | 2 | 2 |
3 | x | 0 – not to print / 1 – to print TAX values on sale receipt (parameter is read-only) | 2 | 1 |
4 | - | not used | ||
5 | - | |||
6 | - | |||
7 | - |
Byte(s) | Meaning | type | system flag | digits |
---|---|---|---|---|
4-5 | receipt number deceased by 1 (range: <0, 9998>) | WORD | 3 | 4-7 |
6 | ECR number (range: <1, 99>) | BYTE | 3 | 2-3 |
Receipt number can not be programmed from communication.
7.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | 0 – resets the receipt number after daily report, 1-clear receipt number after monthly report | 3 | 1 |
1 | - | not used | ||
2 | - | |||
3 | - | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
In some version can be the value of 0th bit in 7th byte ignored and number of receipt is cleared after daily report.
8.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | required subtotal key pressing before receipt finishing 0 – not required, 1 – required | 4 | 2 |
1 | x | subtotal amount printing after subtotal pressing 0 – no, 1 – yes | 4 | 1 |
2 | x | required credit card number entering if paid by Credit 0-not required, 1-required | 4 | 3 |
3 | x | required customer’s payment amount entering 0-not required, 1-required | 4 | 4 |
4 | - | not used | ||
5 | - | |||
6 | - | |||
7 | - |
Byte | Meaning | type |
---|---|---|
9 | not used | BYTE |
10.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | PC communication port*1 | 5a | 1 |
1 | x | |||
2 | x | |||
3 | x | Communication speed for communication with PC (0 – 9600 or 1 – 38400) | 5a | 2 |
4 | x | |||
5 | x | PC ONLINE mode (0 - PC->ECR, 1 – PC->ECR and ECR->PC) | 5a | 3 |
6 | x | Payment's terminal communication port*3. (first two (lower) bits) | 5a | 4 |
7 | x |
*1: For Euro-100 is possible to select one of the following ports 0, 3, 4, 5. 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.
*3: For Euro-100 is possible to select one of the following ports 0, 3, 4. For Euro-200 is possible to select port in range from 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.
11.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Payment's terminal communication port*3. (third (highest) bit) | 5a | 4 |
1 | x | Payment's terminal protocol type: 0 - Dionica CZ CSSP, 1 - Dionica SK SLSP, 2 - CHRONOS–Cybernet, 3 - Verifone, 4 - Bull Amadeo | ||
2 | x | |||
3 | x | |||
4 | x | |||
5 | - | not used | ||
6 | - | |||
7 | - |
12.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Bar-code scanner communication port*4 | 5b | 1 |
1 | x | |||
2 | x | |||
3 | x | Communication speed of bar-code scanner (0 – 1200, 1 – 2400, 2 – 4800, 3 – 9600, 4 – 19200) | 5b | 2 |
4 | x | |||
5 | x | |||
6 | x | Terminal code for bar-code scanner (0 – CR+LF, 1 – CR, 2 – LF) | 5b | 3 |
7 | x |
*4: For Euro-100 is possible to select one of the following ports 0, 3, 4. For Euro-200 is possible to select port in range from 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 | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Primary scales communication port*4 | 5b | 4 |
1 | x | |||
2 | x | |||
3 | x | Type of primary electronic scales - see user manual for scales types | 5b | 5 |
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | Secondary scales communication port*5 (first - (lower) bit) | 5b | 6 |
*5: For Euro-100 is possible to select one of the following ports 0, 3, 4. For Euro-200 is possible to select port in range from 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 | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Secondary scales communication port*5 (second and third - (higher) bits) | 5b | 6 |
1 | x | |||
2 | x | Type of secondary electronic scales - see user manual for scales types | 5b | 7 |
3 | x | |||
4 | x | |||
5 | x | |||
6 | - | not used | ||
7 | - |
Byte | Meaning | type |
---|---|---|
15 | not used | BYTE |
16.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Used external RS-232/RS-485 converter with manual direction control (0-no, 1-yes) | 5c | 1 |
1 | x | Active level to switch converter direction (0 – logical 0, 1 – logical 1) | 5c | 2 |
2 | x | time [µs x 10] to switch RS-485/RS-232 converter connected to PC for data receiving, value 2 means 20 [µs] (bits 0 - 5) | 5c | 3-6 |
3 | x | |||
4 | x | |||
5 | x | |||
6 | x | |||
7 | x |
17.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | time [µs x 10] to switch RS-485/RS-232 converter connected to PC for data receiving, value 2 means 20 [µs] (bits 6 - 10) | 5c | 3-6 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | x | |||
5 | - | not used | ||
6 | - | |||
7 | - |
18.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | font for battery power supply | 6 | 1 |
1 | x | |||
2 | x | font for adapter power supply | 6 | 2 |
3 | x | |||
4 | x | graphical logo printing 0 – no, 1 – yes | 6 | 3 |
5 | - | 0 – large font (2,5 mm high) (always used large font), 1 – small font (2 mm high) (not used) | 6 | 4 |
6 | - | not used | ||
7 | x | standby mode time (bit 0) | 6 | 5 |
19.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | standby mode time (bits 1 and 2): 0 - off, 1 - after 1 min, 2 - after 5min, 3 - after 10min, 4 - after 15min | 6 | 5 |
1 | x | |||
2 | - | not used | ||
3 | - | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
Byte(s) | Meaning | type | system flag |
---|---|---|---|
20-21 | value of percent add-on (range: <1, 9999>) | WORD(2) | 7 |
22-23 | limit for percent add on entered by ECR keyboard (range: <1, 99>) | WORD | 7 |
24-25 | value of percent discount (range: <1, 9999>) | WORD(2) | 8 |
26-27 | limit for percent discount entered by ECR keyboard (range: <1, 9999>) | WORD | 8 |
28-33 | time: hour:min:sec , hour – two numbers, min –
two numbers, sec – two numbers, in internal hexadecimal ECR codes
(see example of stored
time) | 6*char | 9 |
34-39 | date: day.month.year , day – two numbers, month
– two numbers, year – two numbers, in internal hexadecimal ECR
codes (see example of stored
date) | 6*char | 10 |
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
Change (overwrite) date and time (bytes 28 – 39) is possible only if daily report is done.
Data contains cashier names.
Command number: |
| ||
Data length: | 6 * 10 - for programming and receiving |
Only cashiers names can be programmed through computer. Passwords and access rights can be set only by ECR keyboard.
Byte(s) | Meaning | type | range |
---|---|---|---|
0-9 | Cashier name (in internal hexadecimal code of ECR) | string | characters |
Data contains information about PLUs.
command | short description | used in ECRs | |||||||
---|---|---|---|---|---|---|---|---|---|
3 | programming PLU with stock state | Euro-2000 Alpha | |||||||
10 | programming PLU without stock state |
| |||||||
29 | programming PLU without stock state (safety) |
| |||||||
30 | programming PLU with stock state (safety) |
| |||||||
131 | receive PLU sale report |
| |||||||
138 | receive programmed PLU |
| |||||||
157 | receive programmed PLU (safety) |
| |||||||
158 | receive PLU sale report (safety) |
| |||||||
159 | receive PLU non zero sale report (safety) |
|
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.
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.
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 (only for Euro-2000 Alpha and Euro-500T/TX Handy). For Euro-500TE Handy can be programmed stock value negative but if the value is less than -999 999 999 then the stock value in ECR will not change.
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).
Command number: | 10 - programming PLU without stock state |
Data length: | n * 30 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-8 | -- | 7 | not used | |
9-22 | string | 14 | PLU name | characters |
23-25 | FLAGS | 3 | Euro-1000 Flags | |
26-29 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
Command number: | 138 - receive programmed PLU |
Data length: | n * 32 |
Bytes | type | length | Meaning |
---|---|---|---|
0-6 | --- | 7 | not used |
7-20 | string | 14 | PLU name |
21-23 | FLAGS | 3 | Euro-1000 Flags |
24-27 | DWORD(*) | 4 | PLU price |
28-31 | --- | 4 | not used |
Command number: | 131 - receive PLU sale report |
Data length: | n * 44 |
Bytes | type | length | Meaning |
---|---|---|---|
0-6 | --- | 7 | not used |
7-20 | string | 14 | PLU name |
21-23 | FLAGS | 3 | Euro-1000 Flags |
24-27 | DWORD(*) | 4 | PLU price |
28-35 | double(*) | 8 | total sale |
36-39 | long(3) | 4 | number of sales |
40-43 | --- | 4 | not used |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | descriptive PLU (0 - no, 1 - yes) | 1 | 3 |
1 | x | single PLU sale (0 - no, 1 - yes) | 1 | 4 |
2 | - | not used | ||
3 | - | not used | ||
4 | - | not used | ||
5 | - | not used | ||
6 | - | |||
7 | - |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | DPT assignment (range: <0, 7>, 0 means DPT1, 7 means DPT8) | 1 | 2 |
1 | x | |||
2 | x | |||
3 | x | Sale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset | 1 | 5 |
4 | x | |||
5 | x | Price limits (range: <0, 7>, 0 means limit price to 1 digit...) | 1 | 6 |
6 | x | |||
7 | x |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Assignment to VAT level. | 1 | 1 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | - | not used | ||
5 | - | |||
6 | - | |||
7 | - |
Command number: |
| ||
Data length: | n * 34 |
Bytes | type | length | Meaning | range | ||
---|---|---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> | ||
2-8 | BARCODE | 7 | bar-code |
| ||
9-22 | string | 14 | PLU name | characters | ||
23-25 | FLAGS | 3 | Euro-2000 Alpha Flags | |||
26-29 | DWORD(*) | 4 | PLU price | <0, 99 999 999> | ||
30-33 | long(3) | 4 | stock value of particular PLU | <0, 999 999 999>*stock |
*1: BARCODE has 14 numbers only for Euro-2000TE Alpha.
Command number: |
| ||
Data length: | n * 30 |
Bytes | type | length | Meaning | range | ||
---|---|---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> | ||
2-8 | BARCODE | 7 | bar-code |
| ||
9-22 | string | 14 | PLU name | characters | ||
23-25 | FLAGS | 3 | Euro-2000 Alpha Flags | |||
26-29 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
*1: BARCODE has 14 numbers only for Euro-2000TE Alpha.
Command number: |
| ||
Data length: | n * 32 |
Bytes | type | length | Meaning |
---|---|---|---|
0-6 | BARCODE | 7 | bar-code |
7-20 | string | 14 | PLU name |
21-23 | FLAGS | 3 | Euro-2000 Alpha Flags |
24-27 | DWORD(*) | 4 | PLU price |
28-31 | long(3) | 4 | stock value of particular PLU |
Command number: |
| ||
Data length: | n * 44 |
Command number: | 159 - receive PLU non zero sale report (safety) |
Data length: | n * 46 |
This command use Range select of
type Start
and Length
where Start =
0
and Length = count of plu with
non zero sale.
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | descriptive PLU (0 - no, 1 - yes) | 1 | 3 |
1 | x | single PLU sale (0 - no, 1 - yes) | 1 | 4 |
2 | x | stock status printed on PLU report (0 - no, 1 - yes) | 2 | 4 |
3 | x | Sale in case of negative stock value allowed (0 - no, 1 - yes) | 2 | 5 |
4 | x | possibility of fragmentary amount sale (0 - no, 1 - yes) | 2 | 6 |
5 | x | Sale unit (range: <0, 7>) | 2 | 3 |
6 | x | |||
7 | x |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | DPT assignment (range: <0, 7>, 0 means DPT1, 7 means DPT8) | 1 | 2 |
1 | x | |||
2 | x | |||
3 | x | Sale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset | 1 | 5 |
4 | x | |||
5 | x | Price limits (range: <0, 7>, 0 means limit price to 1 digit...) | 2 | 7 |
6 | x | |||
7 | x |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Assignment to VAT level. | 1 | 1 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | x | Linked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015). | 2 | 1-2 |
5 | x | |||
6 | x | |||
7 | x |
Command number: | 30 - programming PLU with stock state (safety) |
Data length: | n * 36 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-8 | BARCODE | 7 | bar-code | 13 numbers |
9-22 | string | 14 | PLU name | characters |
23-27 | FLAGS | 5 | Euro-500 Handy Flags | |
28-31 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
32-35 | long(3) | 4 | stock value of particular PLU | <0, 999 999 999>*stock |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 32 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-8 | BARCODE | 7 | bar-code | 13 numbers |
9-22 | string | 14 | PLU name | characters |
23-27 | FLAGS | 5 | Euro-500 Handy Flags | |
28-31 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
Command number: | 157 - Receive programmed PLUs (safety) |
Data length: | n * 34 |
Bytes | type | length | Meaning |
---|---|---|---|
0-6 | BARCODE | 7 | bar-code |
7-20 | string | 14 | PLU name |
21-25 | FLAGS | 5 | Euro-500 Handy Flags |
26-29 | DWORD(*) | 4 | PLU price |
30-33 | long(3) | 4 | stock value of particular PLU |
Command number: | 158 - Receive PLU sale report (safety) |
Data length: | n * 46 |
Command number: | 159 - receive PLU non zero sale report (safety) |
Data length: | n * 48 |
This command use Range select of
type Start
and Length
where Start =
0
and Length = count of plu with
non zero sale.
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | descriptive PLU (0 - no, 1 - yes) | 1 | 4 |
1 | x | single PLU sale (0 - no, 1 - yes) | 1 | 5 |
2 | x | stock status printed on PLU report (0 - no, 1 - yes) | 2 | 4 |
3 | x | Sale in case of negative stock value allowed (0 - no, 1 - yes) | 2 | 4 |
4 | x | possibility of fragmentary amount sale (0 - no, 1 - yes) | 2 | 5 |
5 | x | Sale unit (range: <0, 7>) | 2 | 3 |
6 | x | |||
7 | x |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
1 | DPT assignment (range: <0, 29>, 0 means DPT1, 29 means DPT30) | BYTE | 1 | 2-3 |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Assignment to VAT level. | 1 | 1 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | x | Linked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015). | 2 | 1-2 |
5 | x | |||
6 | x | |||
7 | x |
3.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Sale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset | 1 | 6 |
1 | x | |||
2 | x | Price limits (range: <0, 7>, 0 means limit price to 1 digit...) | 2 | 7 |
3 | x | |||
4 | x | |||
5 | - | not used | ||
6 | - | |||
7 | - |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
4 | not used | BYTE |
Command number: | 30 - programming PLU with stock state (safety) |
Data length: | n * 38 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-24 | string | 14 | PLU name | characters |
25-29 | FLAGS | 5 | Euro-500 Handy Flags | |
30-33 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
34-37 | long(3) | 4 | stock value of particular PLU | <-999 999 999, 999 999 999>*stock |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 34 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-24 | string | 14 | PLU name | characters |
25-29 | FLAGS | 5 | Euro-500 Handy Flags | |
30-33 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
Command number: | 157 - Receive programmed PLUs (safety) |
Data length: | n * 36 |
Bytes | type | length | Meaning |
---|---|---|---|
0-8 | BARCODE | 9 | bar-code |
9-22 | string | 14 | PLU name |
23-27 | FLAGS | 5 | Euro-500 Handy Flags |
28-31 | DWORD(*) | 4 | PLU price |
32-35 | long(3) | 4 | stock value of particular PLU |
Command number: | 158 - receive PLU sale report (safety) |
Data length: | n * 48 |
Command number: | 159 - receive PLU non zero sale report (safety) |
Data length: | n * 50 |
This command use Range select of
type Start
and Length
where Start =
0
and Length = count of plu with
non zero sale.
Command number: | 30 - programming PLU with stock state (safety) |
Data length: | n * 44 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-30 | string | 20 | PLU name | characters |
31-35 | FLAGS | 5 | Euro-2100 Flags | |
36-39 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
40-43 | long(3) | 4 | stock value of particular PLU | <-999 999 999, 999 999 999>*stock |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 40 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-30 | string | 20 | PLU name | characters |
31-35 | FLAGS | 5 | Euro-2100 Flags | |
36-39 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
Command number: | 157 - Receive programmed PLUs (safety) |
Data length: | n * 42 |
Bytes | type | length | Meaning |
---|---|---|---|
0-8 | BARCODE | 9 | bar-code |
9-28 | string | 20 | PLU name |
29-33 | FLAGS | 5 | Euro-2100 Flags |
34-37 | DWORD(*) | 4 | PLU price |
38-41 | long(3) | 4 | stock value of particular PLU |
Command number: | 158 - receive PLU sale report (safety) |
Data length: | n * 54 |
Command number: | 159 - receive PLU non zero sale report (safety) |
Data length: | n * 56 |
This command use Range select of
type Start
and Length
w here Start =
0
and Length = count of plu with
non zero sale.
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | descriptive PLU (0 - no, 1 - yes) | 1 | 4 |
1 | x | single PLU sale (0 - no, 1 - yes) | 1 | 5 |
2 | x | stock status printed on PLU report (0 - no, 1 - yes) | 2 | 4 |
3 | x | Sale in case of negative stock value allowed (0 - no, 1 - yes) | 2 | 4 |
4 | x | possibility of fragmentary amount sale (0 - no, 1 - yes) | 2 | 5 |
5 | x | Sale unit (range: <0, 7>) | 2 | 3 |
6 | x | |||
7 | x |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
1 | DPT assignment (range: <0, 29>, 0 means DPT1, 29 means DPT30) | BYTE | 1 | 2-3 |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Assignment to VAT level. | 1 | 1 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | x | Linked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015). | 2 | 1-2 |
5 | x | |||
6 | x | |||
7 | x |
3.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Sale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset | 1 | 6 |
1 | x | |||
2 | x | Price limits (range: <0, 7>, 0 means limit price to 1 digit...) | 2 | 7 |
3 | x | |||
4 | x | |||
5 | - | not used | ||
6 | - | |||
7 | - |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
4 | not used | BYTE |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 38 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-28 | string | 18 | PLU name | characters |
29-33 | FLAGS | 5 | Euro-100 Flags | |
34-37 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
Command number: | 157 - Receive programmed PLUs (safety) |
Data length: | n * 36 |
Bytes | type | length | Meaning |
---|---|---|---|
0-8 | BARCODE | 9 | bar-code |
9-26 | string | 18 | PLU name |
27-31 | FLAGS | 5 | Euro-100 Flags |
32-35 | DWORD(*) | 4 | PLU price |
Command number: | 158 - receive PLU sale report (safety) |
Data length: | n * 48 |
Command number: | 159 - receive PLU non zero sale report (safety) |
Data length: | n * 50 |
This command use Range select of
type Start
and Length
w here Start =
0
and Length = count of plu with
non zero sale.
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | descriptive PLU (0 - no, 1 - yes) | 1 | 4 |
1 | x | single PLU sale (0 - no, 1 - yes) | 1 | 5 |
2 | - | not used | ||
3 | - | |||
4 | x | possibility of fragmentary amount sale (0 - no, 1 - yes) | 2 | 4 |
5 | x | Sale unit (range: <0, 7>) | 2 | 3 |
6 | x | |||
7 | x |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
1 | DPT assignment (range: <0, 9>, 0 means DPT1, 9 means DPT10) | BYTE | 1 | 2-3 |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Assignment to VAT level. | 1 | 1 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | x | Linked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015). | 2 | 1-2 |
5 | x | |||
6 | x | |||
7 | x |
3.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Sale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset | 1 | 6 |
1 | x | |||
2 | x | Price limits (range: <0, 7>, 0 means limit price to 1 digit...) | 2 | 5 |
3 | x | |||
4 | x | |||
5 | - | not used | ||
6 | - | |||
7 | - |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
4 | not used | BYTE |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 42 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-28 | string | 18 | PLU name | characters |
29-33 | FLAGS | 5 | Euro-100 Flags | |
34-37 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
38-41 | long(3) | 4 | stock value of particular PLU | <-999 999 999, 999 999 999>*stock |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 38 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-28 | string | 18 | PLU name | characters |
29-33 | FLAGS | 5 | Euro-100 Flags | |
34-37 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
Command number: | 157 - Receive programmed PLUs (safety) |
Data length: | n * 40 |
Bytes | type | length | Meaning |
---|---|---|---|
0-8 | BARCODE | 9 | bar-code |
9-26 | string | 18 | PLU name |
27-31 | FLAGS | 5 | Euro-200 Flags |
32-35 | DWORD(*) | 4 | PLU price |
36-39 | long(3) | 4 | stock value of particular PLU |
Command number: | 158 - receive PLU sale report (safety) |
Data length: | n * 52 |
Command number: | 159 - receive PLU non zero sale report (safety) |
Data length: | n * 54 |
This command use Range select of
type Start
and Length
w here Start =
0
and Length = count of plu with
non zero sale.
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | descriptive PLU (0 - no, 1 - yes) | 1 | 4 |
1 | x | single PLU sale (0 - no, 1 - yes) | 1 | 5 |
2 | x | stock status printed on PLU report (0 - no, 1 - yes) | 2 | 4 |
3 | x | Sale in case of negative stock value allowed (0 - no, 1 - yes) | 2 | 4 |
4 | x | possibility of fragmentary amount sale (0 - no, 1 - yes) | 2 | 5 |
5 | x | Sale unit (range: <0, 7>) | 2 | 3 |
6 | x | |||
7 | x |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
1 | DPT assignment (range: <0, 29>, 0 means DPT1, 29 means DPT30) | BYTE | 1 | 2-3 |
2.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Assignment to VAT level. | 1 | 1 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | x | Linked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015). | 2 | 1-2 |
5 | x | |||
6 | x | |||
7 | x |
3.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Sale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset | 1 | 6 |
1 | x | |||
2 | x | Price limits (range: <0, 7>, 0 means limit price to 1 digit...) | 2 | 7 |
3 | x | |||
4 | x | |||
5 | - | not used | ||
6 | - | |||
7 | - |
Byte | Meaning | type | PLU flag | numbers |
---|---|---|---|---|
4 | not used | BYTE |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 48 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-34 | string | 24 | PLU name | characters |
35-39 | FLAGS | 5 | Euro-200 Flags | |
40-43 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
44-47 | long(3) | 4 | stock value of particular PLU | <-999 999 999, 999 999 999>*stock |
Command number: | 29 - programming PLU without stock state (safety) |
Data length: | n * 44 |
Bytes | type | length | Meaning | range |
---|---|---|---|---|
0-1 | WORD | 2 | PLU number | <1, MAX PLU> |
2-10 | BARCODE | 9 | bar-code | 18 numbers |
11-34 | string | 24 | PLU name | characters |
35-39 | FLAGS | 5 | Euro-200 Flags | |
40-43 | DWORD(*) | 4 | PLU price | <0, 99 999 999> |
Command number: | 157 - Receive programmed PLUs (safety) |
Data length: | n * 46 |
Bytes | type | length | Meaning |
---|---|---|---|
0-8 | BARCODE | 9 | bar-code |
9-32 | string | 24 | PLU name |
33-37 | FLAGS | 5 | Euro-200 Flags |
38-41 | DWORD(*) | 4 | PLU price |
42-45 | long(3) | 4 | stock value of particular PLU |
Command number: | 158 - receive PLU sale report (safety) |
Data length: | n * 58 |
Command number: | 159 - receive PLU non zero sale report (safety) |
Data length: | n * 60 |
This command use Range select of
type Start
and Length
w here Start =
0
and Length = count of plu with
non zero sale.
Data contains DPT names, flags and prices.
Count of departments depends on cash register type.
Command number: | 4 | ||
Data length: |
|
Byte(s) | Meaning | type | range |
---|---|---|---|
0-13 | DPT name (in internal hexadecimal code of ECR) | string | characters |
14-15 | DPT FLAGS | ||
16-19 | price | DWORD(*) | <0, 99 999 999> |
Command number: | 4 |
Data length: | 30*26 (for Euro-2100) |
Byte(s) | Meaning | type | range |
---|---|---|---|
0-19 | DPT name (in internal hexadecimal code of ECR) | string | characters |
20-21 | DPT FLAGS | ||
22-25 | price | DWORD(*) | <0, 99 999 999> |
Data contains DPT names, flags and prices.
Command number: | 4 | ||
Data length: |
|
Byte(s) | Meaning | type | range |
---|---|---|---|
0-17 | DPT name (in internal hexadecimal code of ECR) | string | characters |
18-19 | DPT FLAGS | ||
20-23 | price | DWORD(*) | <0, 99 999 999> |
Command number: | 4 |
Data length: | 30*30B |
Byte(s) | Meaning | type | range |
---|---|---|---|
0-23 | DPT name (in internal hexadecimal code of ECR) | string | characters |
24-25 | DPT FLAGS | ||
26-29 | price | DWORD(*) | <0, 99 999 999> |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Assignment to VAT level. | 1 | 1 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | x | single PLU sale (0 - no, 1 - yes) | 1 | 2 |
5 | x | Sale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset | 1 | 4 |
6 | x | |||
7 | x | Sale in case of negative stock value allowed (0 - no, 1 - yes) | 1 | 3 |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Price limits (range: <0, 7>, 0 means limit price to 1 digit...) | 1 | 5 |
1 | x | |||
2 | x | |||
3 | x | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
Data contains values for VAT levels.
Command number: | 5 |
Data length: | 7*12 |
Byte(s) | Meaning | type | range |
---|---|---|---|
0-9 | VAT description (text) | string | characters |
10-11 | VAT level rate | WORD(2) | <0, 10000> |
If the VAT rate is 10000 then the VAT level is forbidden.
The seventh item values have to be resettled (0x00 – text and rate too)!
Data contains texts printed on receipt.
Command number: |
| ||
Data length: | 10*24 |
Byte(s) | Meaning | type | range |
---|---|---|---|
0-24 | functional texts | string | characters |
String has 24 characters but only first 17 are used in ECR. Others are ignored.
Table 3.4. Implicitly set functional texts in ECR
Text No. | Meaning | Implicitly |
---|---|---|
1 | Cash payment description | CASH |
2 | Check payment description | CHECK |
3 | Credit card payment description | CREDIT |
4 | Change value description | CHANGE |
5 | Description of refund operation | REFUND |
6 | Description of void operation | VOID |
7 | Description of Received on account entries cash or check | RA |
8 | Description of Cash or check paid out entries | PO |
9 | Description of total sale value | TOTAL |
10 | Description of text during reference number printing | DOCUMENT NUMBER |
Command number: | 12 |
Data length: | 1 |
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.
Byte | Meaning | type | range |
---|---|---|---|
0 | Print report on ECR | BYTE | 0 - no, 1 - yes |
In some versions is print value ignored.
Command number: |
| ||
Data length: | 1 |
Byte | Meaning | type | range |
---|---|---|---|
0 | Print report on ECR | BYTE | 0 - no, 1 - yes |
In some versions is print value ignored.
Data contains B&W bitmap of graphical logo.
Used in Euro-1000T, Euro-2000T Alpha, Euro-500T Handy.
Command number: |
| ||
Data length: | 3780 |
The dimensions of this bitmap are 168 (horizontally) x 180 (vertically). One pixel is represented by one bit. Pixels are placed from left to right and from top to bottom.
Data contains B&W bitmap of graphical logo.
Used in Euro-100T and Euro-200T.
Command number: |
| ||
Data length: | 3600 |
The dimensions of this bitmap are 160 (horizontally) x 180 (vertically). One pixel is represented by one bit. Pixels are placed from left to right and from top to bottom.
Data contains B&W bitmap of graphical logo.
Used in Euro-500TX Handy, Euro-2100TX and Euro-200TX.
Command number: |
| ||
Data length: | 4800 |
The dimensions of this bitmap are 240 (horizontally) x 160 (vertically). One pixel is represented by one bit. Pixels are placed from left to right and from top to bottom.
Data contains B&W bitmap of graphical logo.
Used in Euro-2000TE, and Euro-500TE Handy, Euro-2100TE and Euro-200TE.
Command number: |
| ||
Data length: | 10800 |
The dimensions of this bitmap are 360 (horizontally) x 240 (vertically). One pixel is represented by one bit. Pixels are placed from left to right and from top to bottom.
Data contains sale units (pieces, bottles, e.t.c.).
Command number: |
| ||
Data length: | 8 * 3 - for programming and receiving |
Byte(s) | Meaning | type | range |
---|---|---|---|
0-2 | Unit name | string | characters |
Data contains secondary currency exchange rate.
Command number: |
| ||
Data length: | 8 |
Byte(s) | Meaning | type | range |
---|---|---|---|
0-7 | Secondary currency exchange rate | double | <0.001, 10000.0> |
ON-LINE mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).
Command number: | 18 |
Data length: | 28 |
Cash register allow only one data packet (item) for communication command 18. If there is necessary to send more data this command must be repeated for each item.
Byte(s) | Meaning | type |
---|---|---|
0–26 | Data depending on command | |
27 | command number | BYTE |
Table 3.5. Online commands
number | description |
---|---|
1 | PLU sale |
2 | PLU refund |
3 | Finish sale – simulation of TOTAL key pressing |
4 | Finish PC ONLINE communication |
5 | Payment |
6 | PLU void |
Conditions for ON LINE mode calling are: ECR in R or T mode. Started sale through ECR keyboard has to be finished before ON LINE communication start. Keyboard is not functional instead of CLEAR key, which cannot be used for ON LINE mode cancelling. It is necessary to finish sale through ECR keyboard after ON LINE mode has been cancelled. Then next ON LINE transport can be called. PC ON LINE is also cancelled with ECR power off. Wholesale through ON LINE mode (command 1, 2 and index 0) is printed in PLU report and is signed with “PC - ON LINE” text.
Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).
Byte(s) | Meaning | type | range | ||
---|---|---|---|---|---|
0–13 | PLU name (or text) | string | characters | ||
14 | unit name*1 (number) | BYTE | <0, 8>*1 | ||
15 | DPT assignment | BYTE |
| ||
16 | VAT level assignment | BYTE | taxes | ||
17-20 | price | DWORD(*) | <0, 99 999 999> | ||
21-24 | quantity | DWORD(#) | <1, 9 999 999> | ||
25-26 | index*2 | WORD | <0, MaxPLU>*2 |
*1: Unit number from 0 to 7 means sale unit. Number 8 means that actual PLU will be sold as descriptive one (index for PLU database of ECR is 0), In this case only PLU name is important and other bytes are ignored
*2: index has different meaning for each of command type
for command 1 (PLU sale) and 2 (PLU refund)
index = 0
– PLU will be sold – PLU name, sale
unit, DPT and VAT assignment, price and quantity will be used
during the sale
index = 1-MaxPLU
– PLU with this index will
be sold from PLU database of ECR. PLU name and flags are used
from PLU database. Price is used from packet (if more then 0) or
from PLU database of ECR if it is zero, quantity is used from
packet.
For command 6 (PLU void)
index = 0
– means - void will be done
immediately – last PLU will be void: bytes 0–24 are
ignored.
index > 0
– means – index for buffer of
sold PLU-s – PLU with this index will be void: if PLU was sold
using command 1:
index = 0
– assignments of quantity, DPT
and VAT, price are controlled with PLU from buffer of sold
PLU. PLU name, and unit sale are not controlled but should
be the same as void PLU.
index = 1-MaxPLU
– quantity and price
(if more then zero) is controlled with PLU
from buffer of sold PLU-s.
Example 3.9. Online sale and void
Operation (command) | Content of buffer of sold PLU | Number of PLU-s in buffer | Result | |||||
---|---|---|---|---|---|---|---|---|
Indexes in buffer of sold PLU | Content | |||||||
PLU 1 sale (1) | 1. | PLU 1 | 1 | OK | ||||
PLU 2 sale (1) |
|
| 2 | OK | ||||
PLU 1 voiding (6) index = 1 | 1. | PLU 2 | 1 | OK | ||||
Descriptive PLU 3 sale (1) | 1. | PLU 2 | 1 | OK | ||||
PLU 2 voiding (6) index = 2 | 1. | PLU 2 | 1 | Err | ||||
PLU 2 voiding (6) index = 1 | empty | 0 | OK | |||||
PLU 4 sale (1) | 1. | PLU 4 | 1 | OK |
As we can see in example, voiding operation decrement and relocate content of buffer in ECR and descriptive PLU-s are not saved in buffer.
In commands 3 (Finish sale) and 4 (Finish PC ONLINE communication) are data ignored, but should contain data in valid range (for example 0x00 in whole data area).
Finish sale: same function like TOTAL key pressing in sale mode.
Finish PC ONLINE communication: only ends PC ONLINE communication. Bill is open and it is not possible to end sale from PC. Next step must be done on ECR (sale, end of sale...).
Description of data used in command 5 (payment method).
Byte(s) | Meaning | type | range | |||
---|---|---|---|---|---|---|
0–3 | paid sum | DWORD(*) | <1, 2 100 000 000> | |||
4 | payment type | BYTE |
| |||
5 | flag paid in currency*4 | BYTE |
| |||
6-25 | ASCII string contains credit card number | string | numerical characters*5 | |||
26 | not used | BYTE |
*3: Credit card can be involved. Credit card number is printed only if system flag 4 digit 2 is set.
*4: Flag make a difference only in Euro phase 1, 2, 3.
*5: ASCII string contains credit card number {maximal 19 numbers}.
ON-LINE mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).
Command number: | 18 |
Data length: | 34 for Euro-2100 |
Cash register allow only one data packet (item) for communication command 18. If there is necessary to send more data this command must be repeated for each item.
Byte(s) | Meaning | type |
---|---|---|
0–32 | Data depending on command | |
33 | command number | BYTE |
Table 3.6. Online commands
number | description |
---|---|
1 | PLU sale |
2 | PLU refund |
3 | Finish sale – simulation of TOTAL key pressing |
4 | Finish PC ONLINE communication |
5 | Payment |
6 | PLU void |
Conditions for ON LINE mode calling are: ECR in R or T mode. Started sale through ECR keyboard has to be finished before ON LINE communication start. Keyboard is not functional instead of CLEAR key, which cannot be used for ON LINE mode cancelling. It is necessary to finish sale through ECR keyboard after ON LINE mode has been cancelled. Then next ON LINE transport can be called. PC ON LINE is also cancelled with ECR power off. Wholesale through ON LINE mode (command 1, 2 and index 0) is printed in PLU report and is signed with “PC - ON LINE” text.
Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).
Byte(s) | Meaning | type | range |
---|---|---|---|
0–19 | PLU name (or text) | string | characters |
20 | unit name*1 (number) | BYTE | <0, 8>*1 |
21 | DPT assignment | BYTE | <1, 30> |
22 | VAT level assignment | BYTE | taxes |
23-26 | price | DWORD(*) | <0, 99 999 999> |
27-30 | quantity | DWORD(#) | <1, 9 999 999> |
31-32 | index*2 | WORD | <0, MaxPLU>*2 |
Signs *1 and *2 have the same meaning like previous online commands.
In commands 3 (Finish sale) and 4 (Finish PC ONLINE communication) are data ignored, but should contain data in valid range (for example 0x00 in whole data area).
Finish sale: same function like TOTAL key pressing in sale mode.
Finish PC ONLINE communication: only ends PC ONLINE communication. Bill is open and it is not possible to end sale from PC. Next step must be done on ECR (sale, end of sale...).
Description of data used in command 5 (payment method).
Byte(s) | Meaning | type | range | |||
---|---|---|---|---|---|---|
0–3 | paid sum | DWORD(*) | <1, 2 100 000 000> | |||
4 | payment type | BYTE |
| |||
5 | flag paid in currency*4 | BYTE |
| |||
6-25 | ASCII string contains credit card number | string | numerical characters*5 | |||
26-32 | not used | BYTE |
Signs *3, *4 and *5 have the same meaning like previous online commands.
ON-LINE mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).
Command number: |
| ||
Data length: | 32 for Euro-100T and Euro-200T |
Cash register allow only one data packet (item) for communication command 18. If there is necessary to send more data this command must be repeated for each item.
Byte(s) | Meaning | type |
---|---|---|
0–30 | Data depending on command | |
31 | command number | BYTE |
Table 3.7. Online commands
number | description |
---|---|
1 | PLU sale |
2 | PLU refund |
3 | Finish sale – simulation of TOTAL key pressing |
4 | Finish PC ONLINE communication |
5 | Payment |
6 | PLU void |
7 | Surcharge / discount |
8 | sub-total |
9 | Receipt void |
Conditions for ON LINE mode calling are: ECR in R or T mode. Started sale through ECR keyboard has to be finished before ON LINE communication start. Keyboard is not functional instead of CLEAR key, which cannot be used for ON LINE mode cancelling. It is necessary to finish sale through ECR keyboard after ON LINE mode has been cancelled. Then next ON LINE transport can be called. PC ON LINE is also cancelled with ECR power off. Wholesale through ON LINE mode (command 1, 2 and index 0) is printed in PLU report and is signed with “PC - ON LINE” text.
Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).
Byte(s) | Meaning | type | range | ||
---|---|---|---|---|---|
0–17 | PLU name (or text) | string | characters | ||
18 | unit name*1 (number) | BYTE | <0, 8>*1 | ||
19 | DPT assignment | BYTE |
| ||
20 | VAT level assignment | BYTE | taxes | ||
21-24 | price | DWORD(*) | <0, 99 999 999> | ||
25-28 | quantity | DWORD(#) | <1, 9 999 999> | ||
29-30 | index*2 | WORD | <0, MaxPLU>*2 |
Signs *1 and *2 have the same meaning like previous online commands.
In commands 3 (Finish sale), 4 (Finish PC ONLINE communication), 8 (sub-total) and 9 (receipt void) are data ignored, but should contain data in valid range (for example 0x00 in whole data area).
Finish sale: same function like TOTAL key pressing in sale mode.
Finish PC ONLINE communication: only ends PC ONLINE communication. Bill is open and it is not possible to end sale from PC. Next step must be done on ECR (sale, end of sale...).
Subtotal: same function like SUB-TOTAL key pressing in sale mode (this command only shows subtotal value on ECR display and if system flag 4.1 equals 1, prints it on receipt ).
Subtotal void: same function like key sequence SUB-TOTAL VOID SUB-TOTAL in sale mode (this command void the whole receipt).
Description of data used in command 5 (payment method).
Byte(s) | Meaning | type | range | |||
---|---|---|---|---|---|---|
0–3 | paid sum | DWORD(*) | <1, 2 100 000 000> | |||
4 | payment type | BYTE |
| |||
5 | flag paid in currency*4 | BYTE |
| |||
6-25 | ASCII string contains credit card number | string | numerical characters*5 | |||
26-30 | not used | BYTE |
Signs *3, *4 and *5 have the same meaning like previous online commands.
Description of data used in command 7 (Surcharge/Discount).
Byte(s) | Meaning | type | meaning / range | ||
---|---|---|---|---|---|
0 | Surcharge/Discount flag | BYTE |
| ||
1 | Surcharge/Discount type | BYTE |
| ||
2 | Database type | BYTE |
| ||
3-4 | Value in percents | WORD | <0, 99> (<0%, 99%>) | ||
5-8 | Surcharge/Discount value | DWORD(*) | <0, Last item / Sub-total price> | ||
9 | Value / percentage Surcharge/Discount type | BYTE |
| ||
10-30 | not used | BYTE |
ON-LINE mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).
Command number: |
| ||
Data length: | 38 for Euro-200TX/TE |
Cash register allow only one data packet (item) for communication command 18. If there is necessary to send more data this command must be repeated for each item.
Byte(s) | Meaning | type |
---|---|---|
0–36 | Data depending on command | |
37 | command number | BYTE |
Table 3.8. Online commands
number | description |
---|---|
1 | PLU sale |
2 | PLU refund |
3 | Finish sale – simulation of TOTAL key pressing |
4 | Finish PC ONLINE communication |
5 | Payment |
6 | PLU void |
7 | Surcharge / discount |
8 | sub-total |
9 | Receipt void |
Conditions for ON LINE mode calling are: ECR in R or T mode. Started sale through ECR keyboard has to be finished before ON LINE communication start. Keyboard is not functional instead of CLEAR key, which cannot be used for ON LINE mode cancelling. It is necessary to finish sale through ECR keyboard after ON LINE mode has been cancelled. Then next ON LINE transport can be called. PC ON LINE is also cancelled with ECR power off. Wholesale through ON LINE mode (command 1, 2 and index 0) is printed in PLU report and is signed with “PC - ON LINE” text.
Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).
Byte(s) | Meaning | type | range |
---|---|---|---|
0–23 | PLU name (or text) | string | characters |
24 | unit name*1 (number) | BYTE | <0, 8>*1 |
25 | DPT assignment | BYTE | <1, 30> |
26 | VAT level assignment | BYTE | taxes |
27-30 | price | DWORD(*) | <0, 99 999 999> |
31-34 | quantity | DWORD(#) | <1, 9 999 999> |
35-36 | index*2 | WORD | <0, MaxPLU>*2 |
Signs *1 and *2 have the same meaning like previous online commands.
In commands 3 (Finish sale), 4 (Finish PC ONLINE communication), 8 (sub-total) and 9 (receipt void) are data ignored, but should contain data in valid range (for example 0x00 in whole data area).
Finish sale: same function like TOTAL key pressing in sale mode.
Finish PC ONLINE communication: only ends PC ONLINE communication. Bill is open and it is not possible to end sale from PC. Next step must be done on ECR (sale, end of sale...).
Subtotal: same function like SUB-TOTAL key pressing in sale mode (this command only shows subtotal value on ECR display and if system flag 4.1 equals 1, prints it on receipt ).
Subtotal void: same function like key sequence SUB-TOTAL VOID SUB-TOTAL in sale mode (this command void the whole receipt).
Description of data used in command 5 (payment method).
Byte(s) | Meaning | type | range | |||
---|---|---|---|---|---|---|
0–3 | paid sum | DWORD(*) | <1, 2 100 000 000> | |||
4 | payment type | BYTE |
| |||
5 | flag paid in currency*4 | BYTE |
| |||
6-25 | ASCII string contains credit card number | string | numerical characters*5 | |||
26-36 | not used | BYTE |
Signs *3, *4 and *5 have the same meaning like previous online commands.
Description of data used in command 7 (Surcharge/Discount).
Byte(s) | Meaning | type | meaning / range | ||
---|---|---|---|---|---|
0 | Surcharge/Discount flag | BYTE |
| ||
1 | Surcharge/Discount type | BYTE |
| ||
2 | Database type | BYTE |
| ||
3-4 | Value in percents | WORD | <0, 99> (<0%, 99%>) | ||
5-8 | Surcharge/Discount value | DWORD(*) | <0, Last item / Sub-total price> | ||
9 | Value / percentage Surcharge/Discount type | BYTE |
| ||
10-36 | not used | BYTE |
Command number: |
| ||
Data length: | 4 |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | - | not used | 1 | |
1 | x | Print duplicate receipt: 1 – immediately on tape, 0 – to ECR memory | 2 | |
2 | x | Receipt logo store: 1 – yes, 0 – no | 3 | |
3 | x | Text journal data are resettled automatically with daily report: 1 – yes, 0 – no | 4 | |
4 | x | Save text data: 1 – yes, 0 – no | 5 | |
5 | x | Payment order sale: 1 – available, 2 – available with control, 0 – not available | 2 | 1 |
6 | x | |||
7 | x | Set customer number at the beginning of receipt: 1 – obligatory, 0 – not obligatory | 2 |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | x | Tax info save to PC journal: 0 – no, 1 – yes | 3 | 1 |
1 | x | PC journal data is possible to clear from keyboard of ECR: 0 – no, 1 – yes | 2 | |
2 | x | PC journal data save to ECR memory: 0 – no, 1 – yes | 3 | |
3 | - | |||
4 | - | |||
5 | - | |||
6 | - | |||
7 | - |
Bytes 2 and 3 are not used.
Command number: |
| ||
Data length: | 10 |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | - | not used | 1 | |
1 | x | Print duplicate receipt: 1 – immediately on tape, 0 – to ECR memory | 2 | |
2 | x | Receipt logo store: 1 – yes, 0 – no | 3 | |
3 | x | Text journal data are resettled automatically with daily report: 1 – yes, 0 – no | 4 | |
4 | x | Save text data: 1 – yes, 0 – no | 5 | |
5 | - | not used | ||
6 | - | |||
7 | - |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | x | Payment order sale: 1 – available, 2 – available with control, 0 – not available | 2 | 1 |
1 | x | |||
2 | x | Set customer number at the beginning of receipt: 1 – obligatory, 0 – not obligatory | 2 | |
3 | x | Update sale data together with hand out receipt (general sold amount and price): 0-no, 1-yes | 3 | |
4 | x | Tax info save to PC journal: 0 – no, 1 – yes | 3 | 1 |
5 | x | PC journal data is possible to clear from keyboard of ECR: 0 – no, 1 – yes | 2 | |
6 | x | PC journal data save to ECR memory: 0 – no, 1 – yes | 3 | |
7 | - | not used |
Bytes 2 and 3 are not used.
4.&5. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Number of decimal places for coding price to bar code (range: <0, 3>) | 4 | 5 |
1 | x | |||
2 | x | PLU number for coding total price to bar code (range: <0001, 9999>) – ignored in mode 4 (see bytes 6.&7.) | 5 | 3-6 |
3 | x | |||
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | |||
11 | x | |||
12 | x | |||
13 | x | |||
14 | x | |||
15 | x |
6.&7. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print mode of bar code:
| 4 | 2 |
1 | x | |||
2 | x | |||
3 | x | Prefix for bar code (range: <1, 99>) | 5 | 1-2 |
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | Number of decimal place for price coding to bar code (range: <1, 5>) | 4 | 6 |
11 | x | |||
12 | x | |||
13 | x | Permission of refund operation:
| 4 | 1 |
14 | x | |||
15 | x |
If second digit is set to value 4 the bar-code will be printed only if the bar-code for particular PLU was entered.
Price is printed depending in the flag Number of decimal places for coding price to bar code.
Amount will be coded depending ion second system flag (fifth digit).
There is not possible to code sign in bar-code. Therefore in case of negative signs, cash register will print "REFUND", "VOID" or "NEGATIVE PRICE" information before the bar-code.
8.&9. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print numeric part of bar code: 0-no, 1-yes | 4 | 4 |
1 | x | Number of empty lines after PLU code printing (range: <1, 9>) | 4 | 3 |
2 | x | |||
3 | x | |||
4 | x | |||
5 | x | Look-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes | 6 | 1 |
6 | x | Look-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes | 6 | 2 |
7 | x | printing mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 6 | 3 |
8 | x | |||
9 | x | printing mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 6 | 4 |
10 | x | |||
11 | x | Print 18-digit bar-codes: 0-no, 1-yes | 6 | 5 |
12 | - | not used | ||
13 | - | |||
14 | - | |||
15 | - |
Číslo príkazu: |
| ||
Dĺžka údajov: | 10 |
Byte(s) | Meaning | type | flag | digit |
---|---|---|---|---|
0-1 | not used | - | - | - |
2 | type of secondary electronic scales - see user manual for scales types | BYTE | 2 | 1 |
3-7 | not used | - | - | - |
Secondary scales are not used in cash registers software versions build before 31. may 2006.
8.&9. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | - | not used | ||
1 | - | |||
2 | - | |||
3 | - | |||
4 | - | |||
5 | x | Look-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes | 1 | 1 |
6 | x | Look-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes | 1 | 2 |
7 | x | printing mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 1 | 3 |
8 | x | |||
9 | x | printing mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 1 | 4 |
10 | x | |||
11 | x | Print 18-digit bar-codes: 0-no, 1-yes | 1 | 5 |
12 | - | not used | ||
13 | - | |||
14 | - | |||
15 | - |
Command number: |
| ||
Data length: | 10 |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | - | not used | 1 | |
1 | x | Print duplicate receipt: 1 – immediately on tape, 0 – to ECR memory | 2 | |
2 | x | Receipt logo store: 1 – yes, 0 – no | 3 | |
3 | x | Text journal data are resettled automatically with daily report: 1 – yes, 0 – no | 4 | |
4 | x | Save text data: 1 – yes, 0 – no | 5 | |
5 | - | not used | ||
6 | - | |||
7 | - |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | x | Payment order sale: 1 – available, 2 – available with control, 0 – not available | 2 | 1 |
1 | x | |||
2 | x | Set customer number at the beginning of receipt: 1 – obligatory, 0 – not obligatory | 2 | |
3 | x | Update sale data together with hand out receipt (general sold amount and price): 0-no, 1-yes | 3 | |
4 | x | Tax info save to PC journal: 0 – no, 1 – yes | 3 | 1 |
5 | x | PC journal data is possible to clear from keyboard of ECR: 0 – no, 1 – yes | 2 | |
6 | x | PC journal data save to ECR memory: 0 – no, 1 – yes | 3 | |
7 | - | not used |
Byte | Meaning | type | Flag | digit |
---|---|---|---|---|
2 | type of secondary electronic scales - see user manual for scales types | BYTE | 7 | 1 |
3 | not used | - | - | - |
4.&5. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Number of decimal places for coding price to bar code (range: <0, 3>) | 4 | 5 |
1 | x | |||
2 | x | PLU number for coding total price to bar code (range: <0001, 9999>) – ignored in mode 4 (see bytes 6.&7.) | 5 | 3-6 |
3 | x | |||
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | |||
11 | x | |||
12 | x | |||
13 | x | |||
14 | x | |||
15 | x |
6.&7. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print mode of bar code:
| 4 | 2 |
1 | x | |||
2 | x | |||
3 | x | Prefix for bar code (range: <1, 99>) | 5 | 1-2 |
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | Number of decimal place for price coding to bar code (range: <1, 5>) | 4 | 6 |
11 | x | |||
12 | x | |||
13 | x | Permission of refund operation:
| 4 | 1 |
14 | x | |||
15 | x |
If second digit is set to value 4 the bar-code will be printed only if the bar-code for particular PLU was entered.
Price is printed depending in the flag Number of decimal places for coding price to bar code.
Amount will be coded depending ion second system flag (fifth digit).
There is not possible to code sign in bar-code. Therefore in case of negative signs, cash register will print "REFUND", "VOID" or "NEGATIVE PRICE" information before the bar-code.
8.&9. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print numeric part of bar code: 0-no, 1-yes | 4 | 4 |
1 | x | Number of empty lines after PLU code printing (range: <1, 9>) | 4 | 3 |
2 | x | |||
3 | x | |||
4 | x | |||
5 | x | Look-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes | 6 | 1 |
6 | x | Look-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes | 6 | 2 |
7 | x | printing mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 6 | 3 |
8 | x | |||
9 | x | printing mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 6 | 4 |
10 | x | |||
11 | x | Print 18-digit bar-codes: 0-no, 1-yes | 6 | 5 |
12 | - | not used | ||
13 | - | |||
14 | - | |||
15 | - |
Číslo príkazu: |
| ||
Dĺžka údajov: | 10 |
Bytes 0 to 7 are not used.
8.&9. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | - | not used | ||
1 | - | |||
2 | - | |||
3 | - | |||
4 | - | |||
5 | x | Look-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes | 1 | 1 |
6 | x | Look-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes | 1 | 2 |
7 | x | printing mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 1 | 3 |
8 | x | |||
9 | x | printing mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 1 | 4 |
10 | x | |||
11 | x | Print 18-digit bar-codes: 0-no, 1-yes | 1 | 5 |
12 | x | Print PLU number on receipt: 0 – no, 1 – yes | 2 | 1 |
13 | x | Print time on receipt: 0 – no, 1 – yes | 2 | 2 |
14 | x | Change mode: 0 - cash only, 1 - by payment type | 3 | 1 |
15 | - | not used |
Command number: |
| ||
Data length: | 10 |
0.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | - | not used | 1 | |
1 | x | Print duplicate receipt: 1 – immediately on tape, 0 – to ECR memory | 2 | |
2 | x | Receipt logo store: 1 – yes, 0 – no | 3 | |
3 | x | Text journal data are resettled automatically with daily report: 1 – yes, 0 – no | 4 | |
4 | x | Save text data: 1 – yes, 0 – no | 5 | |
5 | - | not used | ||
6 | - | |||
7 | - |
1.Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | digit | |
0 | x | Payment order sale: 1 – available, 2 – available with control, 0 – not available | 2 | 1 |
1 | x | |||
2 | x | Set customer number at the beginning of receipt: 1 – obligatory, 0 – not obligatory | 2 | |
3 | x | Update sale data together with hand out receipt (general sold amount and price): 0-no, 1-yes | 3 | |
4 | x | Tax info save to PC journal: 0 – no, 1 – yes | 3 | 1 |
5 | x | PC journal data is possible to clear from keyboard of ECR: 0 – no, 1 – yes | 2 | |
6 | x | PC journal data save to ECR memory: 0 – no, 1 – yes | 3 | |
7 | - | not used |
Byte | Meaning | type | Flag | digit |
---|---|---|---|---|
2 | type of secondary electronic scales - see user manual for scales types | BYTE | 7 | 1 |
3 | not used | - | - | - |
4.&5. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Number of decimal places for coding price to bar code (range: <0, 3>) | 4 | 5 |
1 | x | |||
2 | x | PLU number for coding total price to bar code (range: <0001, 9999>) – ignored in mode 4 (see bytes 6.&7.) | 5 | 3-6 |
3 | x | |||
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | |||
11 | x | |||
12 | x | |||
13 | x | |||
14 | x | |||
15 | x |
6.&7. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print mode of bar code:
| 4 | 2 |
1 | x | |||
2 | x | |||
3 | x | Prefix for bar code (range: <1, 99>) | 5 | 1-2 |
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | Number of decimal place for price coding to bar code (range: <1, 5>) | 4 | 6 |
11 | x | |||
12 | x | |||
13 | x | Permission of refund operation:
| 4 | 1 |
14 | x | |||
15 | x |
If second digit is set to value 4 the bar-code will be printed only if the bar-code for particular PLU was entered.
Price is printed depending in the flag Number of decimal places for coding price to bar code.
Amount will be coded depending ion second system flag (fifth digit).
There is not possible to code sign in bar-code. Therefore in case of negative signs, cash register will print "REFUND", "VOID" or "NEGATIVE PRICE" information before the bar-code.
8.&9. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print numeric part of bar code: 0-no, 1-yes | 4 | 4 |
1 | x | Number of empty lines after PLU code printing (range: <1, 9>) | 4 | 3 |
2 | x | |||
3 | x | |||
4 | x | |||
5 | x | Look-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes | 6 | 1 |
6 | x | Look-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes | 6 | 2 |
7 | x | printing mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 6 | 3 |
8 | x | |||
9 | x | printing mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code | 6 | 4 |
10 | x | |||
11 | x | Print 18-digit bar-codes: 0-no, 1-yes | 6 | 5 |
12 | x | Print PLU number on receipt: 0 – no, 1 – yes | 2 | 1 |
13 | x | Print time on receipt: 0 – no, 1 – yes | 2 | 2 |
14 | x | Change mode: 0 - cash only, 1 - by payment type | 3 | 1 |
15 | - | not used |
Functions are used to delete journal from memory of ECR.
Command number: |
| ||
Data length: | 8 |
Content of DATABLOCK is not used.
Command number: |
| ||
Data length: | 6 |
0.&1. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Number of decimal places for coding price to bar code (range: <0, 3>) | 4 | 5 |
1 | x | |||
2 | x | PLU number for coding total price to bar code (range: <0001, 9999>) – ignored in mode 4 (see bytes 2.&3.) | 5 | 3-6 |
3 | x | |||
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | |||
11 | x | |||
12 | x | |||
13 | x | |||
14 | x | |||
15 | x |
2.&3. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print mode of bar code:
| 4 | 2 |
1 | x | |||
2 | x | |||
3 | x | Prefix for bar code (range: <1, 99>) | 5 | 1-2 |
4 | x | |||
5 | x | |||
6 | x | |||
7 | x | |||
8 | x | |||
9 | x | |||
10 | x | Number of decimal place for price coding to bar code (range: <1, 5>) | 4 | 6 |
11 | x | |||
12 | x | |||
13 | x | Permission of refund operation:
| 4 | 1 |
14 | x | |||
15 | x |
4.&5. Byte | In ECR | |||
---|---|---|---|---|
bit | Meaning | Flag | number | |
0 | x | Print numeric part of bar code: 0-no, 1-yes | 4 | 4 |
1 | x | Number of empty lines after PLU code printing (range: <1, 9>) | 4 | 3 |
2 | x | |||
3 | x | |||
4 | x | |||
5 | - | Not used | ||
6 | - | |||
7 | - | |||
8 | - | |||
9 | - | |||
10 | - | |||
11 | - | |||
12 | - | |||
13 | - | |||
14 | - | |||
15 | - |
Command is used to send a message to cashier.
Command number: | 40 - Send cashier message |
Data length: | lines count * 23 |
Data are lines printed no ECR as a message for cashier.
Byte(s) | Short description | type |
---|---|---|
0-22 | line (text line to print on ECR) | string |
Command number: | 41 |
Data length: | 1 |
Executing of this command clear all selected data (see below) of PLU.
Bit | Meaning | |
---|---|---|
0 | x | Receive to stock (1 - delete, 0 - leave) |
1 | x | Hand out from stock (1 - delete, 0 - leave) |
2 | x | Orders (1 - delete, 0 - leave) |
3 | x | Inventories (1 - delete, 0 - leave) |
4 | - | not used |
5 | - | |
6 | - | |
7 | - |
Programmable keys function.
Command number: |
| ||
Data length: |
|
Data content setting for 72 keys of programmable keyboard (36 without shift + 36 with shift). Each key allows to program its name and function keys sequence that will be simulated after its pressing.
Byte(s) | Meaning | type | range |
---|---|---|---|
0-9 | key name | string | characters |
10 | function key code | BYTE | valid codes |
11 | function key code | BYTE | valid codes |
12 | function key code | BYTE | valid codes |
13 | function key code | BYTE | valid codes |
14 | function key code | BYTE | valid codes |
15 | function key code | BYTE | valid codes |
16 | function key code | BYTE | valid codes |
17 | function key code | BYTE | valid codes |
18 | function key code | BYTE | valid codes |
19 | function key code | BYTE | valid codes |
20 | function key code | BYTE | valid codes |
21 | function key code | BYTE | valid codes |
22 | function key code | BYTE | valid codes |
23 | function key code | BYTE | valid codes |
24 | function key code | BYTE | valid codes |
25 | function key code | BYTE | valid codes |
If in the key sequence is only one value invalid than whole key will be refused as invalid.
Code | meaning | |
---|---|---|
dec. | hex. | |
195 | 0xC3 | empty button (only for Euro-2100) |
0 | 0x00 | empty button (only for Euro-200) |
48 | 0x30 | button 0 |
49 | 0x31 | button 1 |
50 | 0x32 | button 2 |
51 | 0x33 | button 3 |
52 | 0x34 | button 4 |
53 | 0x35 | button 5 |
54 | 0x36 | button 6 |
55 | 0x37 | button 7 |
56 | 0x38 | button 8 |
57 | 0x39 | button 9 |
111 | 0x6F | button 00 |
106 | 0x6A | button DOT |
79 | 0x4F | button DPT |
97 | 0x61 | button DPT1 |
98 | 0x62 | button DPT2 |
99 | 0x63 | button DPT3 |
100 | 0x64 | button DPT4 |
101 | 0x65 | button DPT5 |
102 | 0x66 | button DPT6 |
103 | 0x67 | button DPT7 |
104 | 0x68 | button DPT8 |
196 | 0xC4 | button DPT9 |
197 | 0xC5 | button DPT10 |
122 | 0x7A | button Clear |
110 | 0x6E | button Void |
121 | 0x79 | button EAN |
108 | 0x6C | button Scales |
118 | 0x76 | button Drawer |
117 | 0x75 | button Paper feed |
120 | 0x78 | button TimeMultiply |
105 | 0x69 | button Price |
112 | 0x70 | button PLU |
77 | 0x4D | button Mode |
107 | 0x6B | button Credit |
115 | 0x73 | button Check |
109 | 0x6D | button Subtotal |
116 | 0x74 | button Total |
114 | 0x72 | button Refund |
44 | 0x2C | button Paid out |
46 | 0x2E | button Received on account |
113 | 0x71 | button Password |
89 | 0x59 | button Receipt (receipt printing on/off) |
88 | 0x58 | button Duplicate |
45 | 0x2D | button Discount |
61 | 0x3D | button Add-on |
39 | 0x27 | "PLU price question" button - for Euro-2100 |
64 | 0x40 | "PLU price question" button - for Euro-200 |
198 | 0xC6 | button Calculator (only for Euro-2100) |
Command number: |
| ||
Data length: | 1 |
Byte | Meaning | type | range |
---|---|---|---|
0 | Print report on ECR | BYTE | 0 - no, 1 - yes |
In some versions is print value ignored.
Data contains DPT names, flags and prices and sale values.
Count of departments depends on ecr type.
Command number: | 132 | ||
Data length: |
|
Byte(s) | Meaning | type |
---|---|---|
0-13 | DPT name (in internal hexadecimal code of ECR) | string |
14-15 | DPT FLAGS | |
16-19 | price | DWORD(*) |
20-27 | number of sales since last daily report | double(3) |
28-35 | value of sales since last daily report | double(*) |
36-43 | number of sales since last periodical report | double(3) |
44-51 | value of sales since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
Command number: | 132 |
Data length: | 30*58 (for Euro-2100) |
Byte(s) | Meaning | type |
---|---|---|
0-19 | DPT name (in internal hexadecimal code of ECR) | string |
20-21 | DPT FLAGS | |
22-25 | price | DWORD(*) |
26-33 | number of sales since last daily report | double(3) |
34-41 | value of sales since last daily report | double(*) |
42-49 | number of sales since last periodical report | double(3) |
50-57 | value of sales since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
Count of departments depends on ecr type.
Command number: | 132 | ||
Data length: |
|
Byte(s) | Meaning | type |
---|---|---|
0-17 | DPT name (in internal hexadecimal code of ECR) | string |
18-19 | DPT FLAGS | |
20-23 | price | DWORD(*) |
24-31 | number of sales since last daily report | double(3) |
32-39 | value of sales since last daily report | double(*) |
40-47 | number of sales since last periodical report | double(3) |
48-55 | value of sales since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
Command number: | 132 |
Data length: | 30*62 |
Byte(s) | Meaning | type |
---|---|---|
0-23 | DPT name (in internal hexadecimal code of ECR) | string |
24-25 | DPT FLAGS | |
26-29 | price | DWORD(*) |
30-37 | number of sales since last daily report | double(3) |
38-45 | value of sales since last daily report | double(*) |
46-53 | number of sales since last periodical report | double(3) |
54-61 | value of sales since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
Data contains sale values for each VAT level.
Command number: | 133 |
Data length: | 7*68 |
Byte(s) | Meaning | type |
---|---|---|
0-9 | VAT description (text) | string |
10-11 | VAT level rate | WORD(2) |
12-19 | taxable value since last daily report | double(*) |
20-27 | net value since last daily report – only if system flag 1 digit 2 is set – otherwise not used | double(*) |
28-35 | not used | |
36-39 | not used | |
40-47 | number of sales since last periodical report | double(*) |
48-55 | value of sales since last periodical report | double(*) |
56-63 | not used | |
64-67 | not used |
See description of taxes.
Periodical values are updated only on performing daily report.
Data contains grand total (GT) values.
Command number: | 134 |
Data length: | 24 |
GT1 = GT2 + |GT3|
Sale values and counters are incremented to daily/periodical report since last daily/periodical report.
Command number: |
| ||
Data length: | 376 |
DATA items looks as follows:
Byte(s) | Meaning | type |
---|---|---|
0-7 | taxable value | double(*) |
8-11 | number of receipts | long |
12-19 | netto | double(*) |
20-27 | TAX | double(*) |
28-35 | void amount | double(*) |
36-39 | void quantity | long |
40-47 | amount of subtotal void | double(*) |
48-51 | quantity of subtotal void | long |
52-59 | refund amount | double(*) |
60-63 | refund quantity | long |
64-71 | RA cash amount | double(*) |
72-75 | RA cash quantity | long |
76-83 | RA cash amount in secondary currency | double(*) |
84-87 | RA cash quantity in secondary currency | long |
88-95 | PO cash amount | double(*) |
96-99 | PO cash quantity | long |
100-107 | PO cash amount in secondary currency | double(*) |
108-111 | PO cash quantity in secondary currency | long |
112-119 | RA check amount | double(*) |
120-123 | RA check quantity | long |
124-131 | not used (RA check amount in secondary currency) | double(*) |
132-135 | not used (RA check quantity in secondary currency) | long |
136-143 | PO check amount | double(*) |
144-147 | PO check quantity | long |
148-155 | not used (PO check amount in secondary currency) | double(*) |
156-159 | not used (PO check quantity in secondary currency) | long |
160-167 | discount amount | double(*) |
168-171 | discount quantity | long |
172-179 | add on amount | double(*) |
180-183 | add on quantity | long |
184-191 | difference of rounding (used for quarter rounding) | double(*) |
192-195 | not used | |
196-203 | not used | |
204-207 | not used | |
208-215 | total sale cash amount | double(*) |
216-219 | total sale cash quantity | long |
220-227 | total sale cash amount in secondary currency | double(*) |
228-231 | total sale cash quantity in secondary currency | long |
232-239 | total sale check amount | double(*) |
240-243 | total sale check quantity | long |
244-251 | not used (total sale check in secondary currency) | double(*) |
252-255 | not used (total sale check quantity in secondary currency) | long |
264-267 | total sale credit amount | double(*) |
264-267 | total sale credit quantity | long |
268-275 | not used | |
276-279 | not used | |
280-287 | cash in drawer | double(*) |
288-295 | cash in drawer in secondary currency | double(*) |
296-303 | check in drawer | double(*) |
304-311 | not used (check in drawer in secondary currency) | double(*) |
312-319 | credit in drawer | double(*) |
320-327 | not used | |
328-335 | not used (bottle sale amount) | double(*) |
336-339 | not used (bottle sale quantity) | long |
340-347 | not used (bottle refund amount) | double(*) |
348-351 | not used (bottle refund quantity) | long |
352-359 | not used (bottle subtotal void amount) | double(*) |
360-363 | not used (bottle subtotal void quantity) | long |
364-367 | number of all receipts | long |
368-371 | number of fiscal receipts | long |
372-375 | not used (number of changes of names and tax levels) | long |
Periodical values are updated only on performing daily report.
Data contains cashier names and sales report.
Command number: | 139 - cashier sales report |
Data length: | 6 * 34 - for cashier sale report |
Byte(s) | Meaning | type |
---|---|---|
0-9 | Cashier name (in internal hexadecimal code of ECR) | string |
10-13 | number of sales since last daily report | long |
14-21 | sale amount since last daily report | double(*) |
22-25 | number of sales since last periodical report | long |
26-33 | sale amount since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
Command number: | 139 |
Data length: | 6 * 242 |
Byte(s) | Meaning | type |
---|---|---|
0-9 | Cashier name (in internal hexadecimal code of ECR) | string |
10-13 | number of sales since last daily report | long |
14-21 | sale amount since last daily report | double(*) |
22-25 | number of sales since last periodical report | long |
26-33 | sale amount since last periodical report | double(*) |
34-37 | number of sales in cash since last daily report | long |
38-45 | value of sales in cash since last daily report | double(*) |
46-49 | number of sales in cash since last periodical report | long |
50-57 | value of sales in cash since last periodical report | double(*) |
58-61 | number of sales in foreign currency since last daily report | long |
62-69 | value of sales in foreign currency since last daily report | double(*) |
70-73 | number of sales in foreign currency since last periodical report | long |
74-81 | value of sales in foreign currency since last periodical report | double(*) |
82-89 | value of sales in foreign currency transformed into national currency since last daily report | double(*) |
90-97 | value of sales in foreign currency transformed into national currency since last periodical report | double(*) |
98-101 | number of sales in cheques since last daily report | long |
102-109 | value of sales in cheques since last daily report | double(*) |
110-113 | number of sales in cheques since last periodical report | long |
114-121 | value of sales in cheques since last periodical report | double(*) |
122-125 | number of sales via credit since last daily report | long |
126-133 | value of sales via credit since last daily report | double(*) |
134-137 | number of sales via credit since last periodical report | long |
138-145 | value of sales via credit since last periodical report | double(*) |
146-149 | number of receiving to stock since last daily report | long |
150-153 | number of handing out from stock since last daily report | long |
154-157 | number of orders placed since last daily report | long |
158-161 | number of inventories performed since last daily report | long |
162-165 | number of receiving to stock since last periodical report | long |
166-169 | number of handing out from stock since last periodical report | long |
170-173 | number of orders placed since last periodical report | long |
174-177 | number of inventories performed since last periodical report | long |
178-185 | value of receiving to stock since last daily report | double(*) |
186-193 | value of handing out from stock since last daily report | double(*) |
194-201 | value of orders placed since last daily report | double(*) |
202-209 | value of inventories performed since last daily report | double(*) |
210-217 | value of receiving to stock since last periodical report | double(*) |
218-225 | value of handing out from stock since last periodical report | double(*) |
226-233 | value of orders placed since last periodical report | double(*) |
234-241 | value of inventories performed since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
Command number: | 139 |
Data length: | 6 * 218 |
Byte(s) | Meaning | type |
---|---|---|
0-9 | Cashier name (in internal hexadecimal code of ECR) | string |
10-13 | number of sales since last daily report | long |
14-21 | sale amount since last daily report | double(*) |
22-25 | number of sales since last periodical report | long |
26-33 | sale amount since last periodical report | double(*) |
34-37 | number of refunds since last daily report | long |
38-45 | refund amount since last daily report | double(*) |
46-49 | number of refunds since last periodical report | long |
50-57 | refund amount since last periodical report | double(*) |
58-61 | number of voids since last daily report | long |
62-69 | value of voids since last daily report | double(*) |
70-73 | number of voids since last periodical report | long |
74-81 | value of voids since last periodical report | double(*) |
82-85 | number of sub-total voids since last daily report | long |
86-93 | value of sub-total voids since last daily report | double(*) |
94-97 | number of sub-total voids since last periodical report | long |
98-105 | value of sub-total voids since last periodical report | double(*) |
106-109 | number of sales in cash since last daily report | long |
110-117 | value of sales in cash since last daily report | double(*) |
118-121 | number of sales in cash since last periodical report | long |
122-129 | value of sales in cash since last periodical report | double(*) |
130-133 | number of sales in foreign currency since last daily report | long |
134-141 | value of sales in foreign currency since last daily report | double(*) |
142-145 | number of sales in foreign currency since last periodical report | long |
146-153 | value of sales in foreign currency since last periodical report | double(*) |
154-161 | value of sales in foreign currency transformed into national currency since last daily report | double(*) |
162-169 | value of sales in foreign currency transformed into national currency since last periodical report | double(*) |
170-173 | number of sales in cheques since last daily report | long |
174-181 | value of sales in cheques since last daily report | double(*) |
182-185 | number of sales in cheques since last periodical report | long |
186-193 | value of sales in cheques since last periodical report | double(*) |
194-197 | number of sales via credit since last daily report | long |
198-205 | value of sales via credit since last daily report | double(*) |
206-209 | number of sales via credit since last periodical report | long |
210-217 | value of sales via credit since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
Command number: | 139 |
Data length: | 6 * 314 |
Byte(s) | Meaning | type |
---|---|---|
0-9 | Cashier name (in internal hexadecimal code of ECR) | string |
10-13 | number of sales since last daily report | long |
14-21 | sale amount since last daily report | double(*) |
22-25 | number of sales since last periodical report | long |
26-33 | sale amount since last periodical report | double(*) |
34-37 | number of refunds since last daily report | long |
38-45 | refund amount since last daily report | double(*) |
46-49 | number of refunds since last periodical report | long |
50-57 | refund amount since last periodical report | double(*) |
58-61 | number of voids since last daily report | long |
62-69 | value of voids since last daily report | double(*) |
70-73 | number of voids since last periodical report | long |
74-81 | value of voids since last periodical report | double(*) |
82-85 | number of sub-total voids since last daily report | long |
86-93 | value of sub-total voids since last daily report | double(*) |
94-97 | number of sub-total voids since last periodical report | long |
98-105 | value of sub-total voids since last periodical report | double(*) |
106-109 | number of sales in cash since last daily report | long |
110-117 | value of sales in cash since last daily report | double(*) |
118-121 | number of sales in cash since last periodical report | long |
122-129 | value of sales in cash since last periodical report | double(*) |
130-133 | number of sales in foreign currency since last daily report | long |
134-141 | value of sales in foreign currency since last daily report | double(*) |
142-145 | number of sales in foreign currency since last periodical report | long |
146-153 | value of sales in foreign currency since last periodical report | double(*) |
154-161 | value of sales in foreign currency transformed into national currency since last daily report | double(*) |
162-169 | value of sales in foreign currency transformed into national currency since last periodical report | double(*) |
170-173 | number of sales in cheques since last daily report | long |
174-181 | value of sales in cheques since last daily report | double(*) |
182-185 | number of sales in cheques since last periodical report | long |
186-193 | value of sales in cheques since last periodical report | double(*) |
194-197 | number of sales via credit since last daily report | long |
198-205 | value of sales via credit since last daily report | double(*) |
206-209 | number of sales via credit since last periodical report | long |
210-217 | value of sales via credit since last periodical report | double(*) |
218-221 | number of receiving to stock since last daily report | long |
222-225 | number of handing out from stock since last daily report | long |
226-229 | number of orders placed since last daily report | long |
230-233 | number of inventories performed since last daily report | long |
234-237 | number of receiving to stock since last periodical report | long |
238-241 | number of handing out from stock since last periodical report | long |
242-245 | number of orders placed since last periodical report | long |
246-249 | number of inventories performed since last periodical report | long |
250-257 | value of receiving to stock since last daily report | double(*) |
258-265 | value of handing out from stock since last daily report | double(*) |
266-273 | value of orders placed since last daily report | double(*) |
274-281 | value of inventories performed since last daily report | double(*) |
282-289 | value of receiving to stock since last periodical report | double(*) |
290-297 | value of handing out from stock since last periodical report | double(*) |
298-305 | value of orders placed since last periodical report | double(*) |
306-313 | value of inventories performed since last periodical report | double(*) |
Periodical values are updated only on performing daily report.
This command can be used to check actual state of online sale and correct sale of PLUs.
Command number: | 147 |
Data length: | 55 |
Byte(s) | Meaning | type |
---|---|---|
0 | number of PLU-s in buffer of sold PLU-s*1 | BYTE |
1–28 | PC - ONLINE content of sale packet of last sold PLU*2 | |
29-36 | value*3 | double(*) |
37-38 | number of actual receipt (value 0 – 9999) | WORD |
39-46 | total sum of sale | double(*) |
47-54 | total sum of sale in secondary currency | double(*) |
*1:
command 6 - void – voiding operation cuts number of PLU-s of 1
command 1 - sale – descriptive PLU sale – descriptive PLU are not counted to buffer of sold PLU-s
*2: zero if no PLU was sold
*3: if last item is
sold PLU (command 1) then total money sum
of last sold PLU: quantity*price = sum
(counted in
ECR)
refund PLU (command 2) then total money sum
of last sold item: -quantity*price = -sum
(counted in
ECR)
void PLU (command 6) then
total negative sum of money of voided item -sum
(from
buffer of sold PLU-s)
payment (command 5):
if sale was finished (payment was more or equal to total sum of sale) – change
if sale was not finished (payment was not more then total sum of sale) – surcharge
This command can be used to check actual state of online sale and correct sale of PLUs.
Command number: | 147 |
Data length: | 61 (for Euro-2100) |
Byte(s) | Meaning | type |
---|---|---|
0 | number of PLU-s in buffer of sold PLU-s*1 | BYTE |
1–34 | PC - ONLINE content of sale packet of last sold PLU*2 | |
35-42 | value*3 | double(*) |
43-44 | number of actual receipt (value 0 – 9999) | WORD |
45-52 | total sum of sale | double(*) |
53-60 | total sum of sale in secondary currency | double(*) |
*1:
command 6 - void – voiding operation cuts number of PLU-s of 1
command 1 - sale – descriptive PLU sale – descriptive PLU are not counted to buffer of sold PLU-s
*2: zero if no PLU was sold
*3: if last item is
sold PLU (command 2)
then total money sum of last sold PLU: quantity*price =
sum
(counted in ECR)
refund PLU (command 2)
then total money sum of last sold item: -quantity*price =
-sum
(counted in ECR)
void PLU (command 6)
then total negative sum of money of voided item -sum
(from buffer of sold PLU-s)
payment (command 5):
if sale was finished (payment was more or equal to total sum of sale) – change
if sale was not finished (payment was not more then total sum of sale) – surcharge
This command can be used to check actual state of online sale and correct sale of PLUs.
Command number: | 147 |
Data length: | 59 (for Euro-100T and Euro-200T) |
Byte(s) | Meaning | type |
---|---|---|
0 | number of PLU-s in buffer of sold PLU-s*1 | BYTE |
1–38 | PC - ONLINE content of sale packet of last sold PLU*2 | |
39-46 | value*3 | double(*) |
47-48 | number of actual receipt (value 0 – 9999) | WORD |
49-56 | total sum of sale | double(*) |
57-64 | total sum of sale in secondary currency | double(*) |
*1:
command 6 - void – voiding operation cuts number of PLU-s of 1
command 1 - sale – descriptive PLU sale – descriptive PLU are not counted to buffer of sold PLU-s
*2: zero if no PLU was sold
*3: if last item is
sold PLU (command 2)
then total money sum of last sold PLU: quantity*price =
sum
(counted in ECR)
refund PLU (command
2) then total money sum of last sold item:
-quantity*price = -sum
(counted in ECR)
void PLU (command 6)
then total negative sum of money of voided item -sum
(from buffer of sold PLU-s)
payment (command 5):
if sale was finished (payment was more or equal to total sum of sale) – change
if sale was not finished (payment was not more then total sum of sale) – surcharge
This command can be used to check actual state of online sale and correct sale of PLUs.
Command number: | 147 |
Data length: | 65 (for Euro-200TX/TE) |
Byte(s) | Meaning | type |
---|---|---|
0 | number of PLU-s in buffer of sold PLU-s*1 | BYTE |
1–38 | PC - ONLINE content of sale packet of last sold PLU*2 | |
39-46 | value*3 | double(*) |
47-48 | number of actual receipt (value 0 – 9999) | WORD |
49-56 | total sum of sale | double(*) |
57-64 | total sum of sale in secondary currency | double(*) |
*1:
command 6 - void – voiding operation cuts number of PLU-s of 1
command 1 - sale – descriptive PLU sale – descriptive PLU are not counted to buffer of sold PLU-s
*2: zero if no PLU was sold
*3: if last item is
sold PLU (command
2) then total money sum of last sold PLU: quantity*price
= sum
(counted in ECR)
refund PLU (command
2) then total money sum of last sold item:
-quantity*price = -sum
(counted in ECR)
void PLU (command
6) then total negative sum of money of voided item
-sum
(from buffer of sold PLU-s)
payment (command 5):
if sale was finished (payment was more or equal to total sum of sale) – change
if sale was not finished (payment was not more then total sum of sale) – surcharge
Command number: | 148 |
Data length: | 120 |
All items are valid only during PC ONLINE sale (before last payment send from PC to ECR). Tax values are valid on to MAXTAX – others are zero. Values do not include roundings (e.g. quater rounding calculations) and are valid only during open sale.
Byte(s) | Meaning | type |
---|---|---|
0-7 | total sum of sale (in basic currency) | double(*) |
8-15 | sum in non-taxable level | double(*) |
16-23 | taxable value in VAT level 1 | double(*) |
24-31 | tax value in VAT level 1 | double(*) |
32-39 | taxable value in VAT level 2 | double(*) |
40-47 | tax value in VAT level 2 | double(*) |
48-55 | taxable value in VAT level 3 | double(*) |
56-63 | tax value in VAT level 3 | double(*) |
64-71 | taxable value in VAT level 4 | double(*) |
72-79 | tax value in VAT level 4 | double(*) |
80-87 | taxable value in VAT level 5 | double(*) |
88-95 | tax value in VAT level 5 | double(*) |
96-103 | taxable value in VAT level 6 | double(*) |
104-111 | tax value in VAT level 6 | double(*) |
112-119 | not used |
Byte(s) | Meaning | type |
---|---|---|
0-7 | total sum of sale (in basic currency) | double(*) |
8-15 | taxable value in VAT level 1 | double(*) |
16-23 | tax value in VAT level 1 | double(*) |
24-31 | taxable value in VAT level 2 | double(*) |
32-39 | tax value in VAT level 2 | double(*) |
40-47 | taxable value in VAT level 3 | double(*) |
48-55 | tax value in VAT level 3 | double(*) |
56-63 | taxable value in VAT level 4 | double(*) |
64-71 | tax value in VAT level 4 | double(*) |
72-79 | taxable value in VAT level 5 | double(*) |
80-87 | tax value in VAT level 5 | double(*) |
88-95 | taxable value in VAT level 6 | double(*) |
96-103 | tax value in VAT level 6 | double(*) |
104-111 | sum in non-taxable level | double(*) |
112-119 | not used |
Command is used to get information about sale through PC.
Command number: |
| ||
Data length: | 12 |
DATA contains sale info of PC Online sale.
Byte(s) | Meaning | type |
---|---|---|
0-3 | number of sales | long |
4-11 | amount of sales | double(*) |
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) | Meaning | type |
---|---|---|
0-1 | number of PLU-s with non zero sale | WORD |
Command is used to get receipts in binary form, from ECR for processing in PC.
Command number: |
| ||
Data length: | depends on journal length |
Informations are grouped to logical entities. All ECRs have some different parts. Identical parts are described only one time.
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.9. (Single) receipt structure for Euro-2000TE Alpha
count | length | Short description |
---|---|---|
1 | 36 | Head of receipt |
n | n * 17 | All PLUs in receipt |
1 | 25 | Financial data for receipt |
1 | 2 | Tax data count for receipt |
m | m * 13 | Tax records for each non zero tax level (m can be zero ==> block is not used) |
1 | 1 | End of record |
Table 3.10. Receipt head structure for Euro-2000TE Alpha
Byte(s) | Meaning | type |
---|---|---|
0 | fixed number 25 (0x19) - ID byte of the start of logical block - receipt | BYTE |
1-2 | number of all bytes in particular logical entity | WORD |
3 | receipt type: 0 – sale, 1 – stock out | BYTE |
4-15 | date and time form
DDMMYYYYhhmm * (ASCII
number codes) | 12*char |
16-25 | cashier’s name | string |
26-29 | number of actual receipt 1 – 9999 | long |
30-33 | number of document 0 – 99999999 | long |
34 | ECR number 1 – 99 | BYTE |
35 | count of PLU's in actual receipt (0 – 51) | BYTE |
*:meaning of characters is:
DD = day (two numbers)
MM = month (two numbers)
YYYY = year (four numbers)
hh = hour (two numbers)
mm = minute (two numbers)
Table 3.11. (Single) PLU structure for Euro-2000TE Alpha
Byte(s) | Meaning | type |
---|---|---|
0 | item type:
| BYTE |
1-2 | number of item in internal database PLU | WORD |
3-6 | quantity of sold item | long(3) |
7-10 | unit price of item | long(*) |
11-16 | total price of item | N6(*) |
Table 3.12. Financial data for receipt
Byte(s) | Meaning | type |
---|---|---|
0 | fixed number 5 (ID byte of financial block) | BYTE |
1-6 | total amount of all add-ons of sale | N6(*) |
7-12 | total amount of all discounts of sale | N6(*) |
13-18 | total amount of all void operations of sale | N6(*) |
19-24 | total amount of sale | N6(*) |
Table 3.13. Used VAT levels count
Byte(s) | Meaning | type |
---|---|---|
0 | fixed number 6 (ID byte of TAX block) | BYTE |
1 | count of non-zero VAT levels in receipt (0 – 7) | BYTE |
Table 3.14. (Single) VAT level structure
Byte(s) | Meaning | type |
---|---|---|
0 | ID number of VAT level | BYTE |
1-6 | taxable amount | N6(*) |
7-12 | tax value | N6(*) |
Table 3.16. (Single) receipt structure for Euro-500TE Handy and Euro-2100TE
count | length | Short description | ||
---|---|---|---|---|
1 | 36 | Head of receipt | ||
n | n * (18 + bar-code length) |
| ||
1 | 25 | Financial data for receipt | ||
1 | 2 | Tax data count for receipt | ||
m | m * 13 | Tax records for each non zero tax level (m can be zero ==> block is not used) | ||
1 | 1 | End of record |
Table 3.17. Receipt head structure for Euro-500TE Handy and Euro-2100TE
Byte(s) | Meaning | type |
---|---|---|
0 | fixed number 25 (0x19) - ID byte of the start of logical block - receipt | BYTE |
1-2 | number of all bytes in particular logical entity | WORD |
3 | receipt type: 0 – sale, 1 – stock in, 2 – stock out, 3 – order, 4 – inventory | BYTE |
4-15 | date and time form
DDMMYYYYhhmm * (ASCII
number codes) | 12*char |
16-25 | cashier’s name | string |
26-29 | number of actual receipt 1 – 9999 | long |
30-33 | number of document 0 – 99999999 | long |
34 | ECR number 1 – 99 | BYTE |
35 | count of PLU's in actual receipt | BYTE |
*:meaning of characters is:
DD = day (two numbers)
MM = month (two numbers)
YYYY = year (four numbers)
hh = hour (two numbers)
mm = minute (two numbers)
Table 3.18. (Single) PLU structure for Euro-500TE Handy and Euro-2100TE
Byte(s) | Meaning | type |
---|---|---|
0 | item type:
| BYTE |
1-2 | number of item in internal database PLU | WORD |
3-6 | quantity of sold item | long(3) |
7-10 | unit price of item | long(*) |
11-16 | total price of item | N6(*) |
17 | bar-code types | BYTE |
depends from type | bar-code information | various |
Table 3.19. Journal bar-code types
number (ID) | description | bar-code length | length in bytes |
---|---|---|---|
0 | none | - | 0 |
1 | programmed bar-code for particular PLU | 18 | 9 |
2 | only enhanced part from 13+5 bar-code | 5 | 3 |
3 | only enhanced part from 13+2 bar-code | 2 | 1 |
4 | full scanned 13+5 bar-code | 18 | 10 |
5 | full scanned 13+2 bar-code | 15 | 8 |
Bar-codes are stored in compressed BCD format therefore are in one byte stored two numbers from bar-code.
Full bar-code (type 1) is stored as type BARCODE (9 bytes, 18 numbers)
Enhanced part from 13+5 bar-code (type 2)
1st byte | 2nd byte | 3rd byte | |||
---|---|---|---|---|---|
1st sufix number | 2nd sufix number | 3rd sufix number | 4th sufix number | 5th sufix number | not used |
Enhanced part from 13+2 bar-code (type 3)
1st byte | |
---|---|
1st sufix number | 2nd sufix number |
Full EAN 13+5 bar-code (type 4)
1st byte | 2nd byte | 3rd byte | 4th byte | ||||
---|---|---|---|---|---|---|---|
not used | 1st number | 2nd number | 3rd number | 4th number | 5th number | 6th number | 7th number |
5th byte | 6th byte | 7th byte | |||
---|---|---|---|---|---|
8th number | 9th number | 10th number | 11th number | 12th number | 13th number |
8th byte | 9th byte | 10th byte | |||
---|---|---|---|---|---|
1st sufix number | 2nd sufix number | 3rd sufix number | 4th sufix number | 5th sufix number | not used |
Full EAN 13+2 bar-code (type 5)
1st byte | 2nd byte | 3rd byte | 4th byte | ||||
---|---|---|---|---|---|---|---|
not used | 1st number | 2nd number | 3rd number | 4th number | 5th number | 6th number | 7th number |
5th byte | 6th byte | 7th byte | |||
---|---|---|---|---|---|
8th number | 9th number | 10th number | 11th number | 12th number | 13th number |
8th byte | |
---|---|
1st sufix number | 2nd sufix number |
In this chapter are described only differences from older journal version (Euro-500TE Handy, Euro-2100TE).
Table 3.20. (Single) receipt structure for Euro-200TE
count | length | Short description | ||
---|---|---|---|---|
1 | 41 | Head of receipt | ||
n | n * (18 + bar-code length) |
| ||
1 | 25 | Financial data for receipt | ||
1 | 2 | Tax data count for receipt | ||
m | m * 13 | Tax records for each non zero tax level (m can be zero ==> block is not used) | ||
1 | 1 | End of record |
Table 3.21. Receipt head structure for Euro-200TE
Byte(s) | Meaning | type |
---|---|---|
0 | fixed number 25 (0x19) - ID byte of the start of logical block - receipt | BYTE |
1-2 | number of all bytes in particular logical entity | WORD |
3 | receipt type: 0 – sale, 1 – stock in, 2 – stock out, 3 – order, 4 – inventory | BYTE |
4-15 | date and time form
DDMMYYYYhhmm * (ASCII
number codes) | 12*char |
16-25 | cashier’s name | string |
26-29 | number of actual receipt 1 – 9999 | long |
30-38 | number of document in BCD formate (identical format like for bar-codes) | BARCODE |
39 | ECR number 1 – 99 | BYTE |
40 | count of PLU's in actual receipt | BYTE |
*:meaning of characters is:
DD = day (two numbers)
MM = month (two numbers)
YYYY = year (four numbers)
hh = hour (two numbers)
mm = minute (two numbers)
Command is used to get copy of journal from ECR (only visual information).
Command number: |
| ||
Data length: | lines count * 24 |
Data are lines printed on journal of ECR.
In this command is used Range Select as LongLength (DWORD) for bills length in lines. This length can be obtained from command 164 - Journals data length.
Byte(s) | Meaning | type |
---|---|---|
0-23 | line (text line printed on journal in ECR) | 24 * char |
Command is used to get length of journals stored in ECR.
Command number: | 164 |
Data length: | 8 |
Byte(s) | Meaning | type |
---|---|---|
0-3 | PC journal size in bytes | long |
4-7 | text journal size in lines | long |
Data contains sale values for each hour.
Command number: |
| ||
Data length: | 24 * 12 (288) |
Byte(s) | Meaning | type |
---|---|---|
0-3 | count of sales (bills) | int |
4-11 | sale value | double(*) |
Command is used to get information about current ECR.
Command number: | 255 |
Data length: | 84 |
Byte(s) | Meaning | type |
---|---|---|
0-2 | country identifier by ISO 3166 (two bytes in ASCII terminated by zero) | string |
3-12 | ECR name (9 bytes in ASCII terminated by zero) | string |
13-15 | type of printer (“T”, “TX”, “TE”, “M”) (two bytes in ASCII terminated by zero) | string |
16-19 | type 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-31 | fiscal or non-fiscal country (eleven bytes in ASCII terminated by zero) | string |
32-33 | firmware version number - last three digits means subversion, (e. g. If software version is 2.011, number 2011 is sent) | int |
34-35 | communication protocol version number - last two digits means subversion (e. g. If communication protocol version is 3.05, number 305 is send) | int |
36-37 | number of cashiers | int |
38-39 | amount of PLU | int |
40-41 | amount of departments | int |
42-43 | amount of tax levels | int |
44-45 | PLU text size | int |
46-47 | department text size | int |
48-49 | bar code size | int |
50-51 | electronic journal support (if value is 1 el. journal is implemented, if value is 0 el. journal is not implemented) | int |
52-83 | reserved – not used |
Table of Contents
Table 4.1. Supported convert command (send to ECR)
Table 4.2. Supported convert command (receive from ECR)
command | description | Euro-1000 | Euro-2000 Alpha | Euro-500 Handy | Euro-2100 | Euro-100 | Euro-200 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M | T | M | T | TE | T | TX | TE | TX | TE | T | T | TX | TE | ||
128 | Text Logo | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
129 | System flags | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
130 | Cashier names | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
131 | PLU sale report (X report) | x | x | x | x | x | - | - | - | - | - | - | - | - | - |
132 | DPT report (X report) | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
133 | TAX report (X report) | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
134 | GT | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
135 | Daily financial report (X report) | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
136 | Periodical financial report (X report) | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
137 | Funct. texts | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
138 | PLU | x | x | x | x | x | - | - | - | - | - | - | - | - | - |
139 | Cashier sales report (X report) | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
143 | Graphics logo | - | x | - | x | x | x | x | x | x | x | x | x | x | x |
144 | Sale units | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
145 | Secondary currency exchange rate | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
147 | Reading the data on last sold item via PC-ONLINE | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
148 | Reading taxes in currently open sale via PC-ONLINE | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
149 | Extended flags | - | - | - | - | x | - | - | x | x | x | x | x | x | x |
150 | Online sale data report (X report) | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
151 | Online sale data report with erasure of data (Z report) | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
152 | Sold PLU count (PLU's with non zero amount) | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
157 | PLU (safety) | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
158 | PLU sale report (safety) (X report) | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
159 | PLU with non zero sales (X report) | - | - | x | x | x | x | x | x | x | x | x | x | x | x |
160 | Read receipts (PC journal) (X report) | - | - | - | - | x | - | - | x | - | x | - | - | - | x |
161 | Read receipts (PC journal) with erase (Z report) | - | - | - | - | x | - | - | x | - | x | - | - | - | x |
162 | Read bills (text journal) (X report) | - | - | - | - | x | - | - | x | - | x | - | - | - | x |
163 | Read bills (text journal) with erase (Z report) | - | - | - | - | x | - | - | x | - | x | - | - | - | x |
164 | Journals data length | - | - | - | - | x | - | - | x | - | x | - | - | - | x |
165 | Bar-code flags | - | - | - | - | x | - | - | - | - | - | - | - | - | - |
174 | Programmable keys | - | - | - | - | - | - | - | - | x | x | - | x | x | x |
179 | Read hourly report (daily) (X report) | - | - | - | - | - | - | - | - | x*1 | x | - | - | - | - |
180 | Read hourly report (periodical) (X report) | - | - | - | - | - | - | - | - | x*1 | x | - | - | - | - |
255 | Read information about current cash register | - | - | - | - | - | - | - | - | x*1 | x | x | x | x | x |
This conversion tables describe all supported transformations for all national versions. Not all of these conversions are supported/used in all national versions.
*1: Used only in cash registers with firmware after 16.6.2006.
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 code | VAT level | ||||||
---|---|---|---|---|---|---|---|
non taxable | minimal | maximal | special | ||||
(none) | 0 | 1 | 6 | -- | |||
SK | |||||||
CZ non fiscal | |||||||
EN | |||||||
EN - fiscal | |||||||
SW | |||||||
FI | |||||||
MN | |||||||
DE | |||||||
DK | |||||||
LV | |||||||
CZ fiscal | 0 | 1 | 5 | -- | |||
RO | 0 | 1 | 4 | -- | |||
GR | |||||||
HU | 0 - TAM, 4 - AJT | 1 | 3 (programable) | 0 - TAM, 4 - AJT | |||
PL | depends from TAX programming | 1 | 7 | 0 - disabled sale | |||
MK | -- | 1 | 5 | -- | |||
SR | -- | 1 | 9 | -- | |||
LT | 0 | 1 | 4 |
| |||
CA | 0 | 1 | 6 |
|
Data contains text logo that will be printed on the receipt.
Command number: |
| ||
Lines count: | depends on ECR type |
The logo that will be printed on receipt. File contains text logo lines. Characters are in ASCII form.
Some cash register use only first characters (see table below) of the logo line.
New text logo will not be accepted when there are illegal characters.
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 (range depends on ECR type)
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-4: receipt number (1 – 9999) – it is ignored by transmission to ECR
digits 5-6: ECR number (1 – 99)
7th digit: reset: 0 – resets receipt number after daily report, 1 – after monthly report – in some version is ignored (in all fiscal versions and some others).
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 cash registers Euro-1000, Euro-2000 Alpha, Euro-500 Handy, Euro-2100)
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 (see user manual for supported scales)
5th digit: PC ONLINE mode (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 (is not valid for Euro-2000 Alpha cash register software builds before 1st February 2006 and is not used in all national versions)
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 payment terminal
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: protocol for payment terminal. (see user manual for supported payment terminal)
3rd 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)
4th 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)
5th 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 item: Configuration of External RS-485 converter
1st digit: Used external RS-232/RS-485 converter with manual direction control (0-no, 1-yes)
2nd digit: Active level to switch converter direction (0 – logical 0, 1 – logical 1)
7th item: Time delay for external RS-485 converter - time [µs x 10] to switch RS-485/RS-232 converter connected to PC for data receiving, value 2 means 20 [µs]
6th line (five digits) (not used on matrix printers, used only on termo printers)
1st digit: printing mode for battery, (0 – normal mode, 1 – economic mode, 2 – fast) (not used for all cash registers)
2nd digit: printing mode for adapter, (0 – normal mode, 1 – economic mode, 2 – fast) (not used for all cash registers)
3rd digit: printing graphic logo at the end of receipt, (0 – not printed, 1 – printed)
4th digit: font size (0 – large font (height 2,5 mm), 1-small font (height 2 mm)) (used only for Euro-1000 and Euro-2000 Alpha)
5th digit: standby mode: 0 - none, 1 - after 1minute, 2 - after 5 minutes, 3 - after 10 minutes, 4 - after 15 minutes.
6th digit: Back light status in calculator mode (used only for Euro-2100) 0 - disabled, 1 - enabled, 2 - blink
7th digit: Back light status in normal mode (used only for Euro-2100) 0 - disabled, 1 - enabled
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)
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.
Data contains all information about PLU.
Command number: |
| |||
Lines count: | depends on transmitted PLU count |
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 (depends on ECR type).
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 for Euro-1000, Euro-2000 Alpha, Euro-500 Handy, Euro-2100, Euro-200, Euro-100)
5th item: bar code (depends on ECR type).
6th item: stock*2 on three decimal places
*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.
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.
*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.
Position of decimal point is ignored like it is by price.
Table 4.5. Name and barcode length
cash register type | PLU name length | bar-code length |
---|---|---|
Euro-1000 | 14 | not supported |
Euro-2000M/T Alpha | 14 | 13 |
Euro-2000TE Alpha up to version 3.xx | 14 | 14 |
Euro-2000TE Alpha befin from version 4.00 | 14 | 18 |
Euro-500T/TX Handy | 14 | 13 |
Euro-500TE Handy | 14 | 18 |
Euro-2100 | 20 | 18 |
Euro-100T, Euro-200T | 18 | 18 |
Euro-100TX, Euro-200TX, Euro-200TE | 24 | 18 |
Data all information about PLU sales.
Command number: |
| ||
Lines count: | depends on transmitted PLU count |
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
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: not used (stock list on report)
4th digit: not used (sale in case of negative stock)
5th digit: not used (possibility of fragmentary quantum sale)
6th digit: not used (unit sale assignment)
7th digit: DPT assignment (1 – 8)
8th digit: sale possibility: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset
9th digit: price limits (1 – 8)
10th digit: VAT level assignment
digits 11 and 12: not used (linked PLU – two digits)
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: DPT assignment (1 – 8)
8th digit: sale possibility: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset
9th digit: price limits (1 – 8)
10th digit: VAT level assignment
digits 11 and 12: linked PLU – two digits (00 – 15) where "00" means no linked PLU and numbers from 01 to 15 means linked PLU from 1001 to 1015.
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)
digits 7 and 8: DPT assignment (1 – 30)
9th digit: sale possibility: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset
10th digit: price limits (1 – 8)
11th digit: VAT level assignment
digits 12 and 13: linked PLU – two digits (00 – 15) where "00" means no linked PLU and numbers from 01 to 15 means linked PLU from 1001 to 1015.
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: not used (stock list on report)
4th digit: not used (sale in case of negative stock)
5th digit: possibility of fragmentary quantum sale: 0 – no, 1 – yes
6th digit: unit sale assignment (1 – 8)
digits 7 and 8: DPT assignment (1 – 30)
9th digit: sale possibility: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset
10th digit: price limits (1 – 8)
11th digit: VAT level assignment
digits 12 and 13: linked PLU – two digits (00 – 15) where "00" means no linked PLU and numbers from 01 to 15 means linked PLU from 1001 to 1015.
Data contains DPT names, flags and prices.
Command number: | 4 |
Lines count: | depends on DPT count in ECR |
Each line contains data about one DPT. Each item is separated by "ItemSeparator".
1st item: DPT name (name length depends on ECR type).
1st digit: VAT level assignment
2nd digit: one PLU sale: 0 – no, 1 – yes
3rd digit: sale possibility: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset
4th digit: negative sale: 1 – yes, 0 – no
5th digit: price limits (1 – 8)
3rd item: price – according to setting of digit 6 system flag 1 of ECR
Data contains values for VAT levels.
Command number: | 5 |
Lines count: | 7 |
1st item: maximal 10 characters of descriptive text
2nd item: tax rate value (0 – 10000) – always for two decimal places without decimal point (comma)
VAT level is forbidden if tax rate value is 10000, (not possible to count assigned PLU).
Data contains texts printed on receipt.
Command number: |
| ||
Lines count: | 10 |
File contains 10 lines. Descriptive text is in each line for particular operation of ECR according to programming manual. ECR uses only first 17 characters. For default values see implicitly set functional texts table.
Command number: | 12 |
Lines count: | 1 |
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.
Command number: |
| ||
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.
Data contains graphical logo (picture) represented on receipt.
Command number: |
| ||
Data format: | uncompressed BMP |
Standard file the type BMP, black/ white format, no compressed, Windows norm. It is possible to create it by common graphic programs (PhotoShop, Corel, PaintBrush, ...). Sometimes is necessary to invert the picture before the saving process. Size depend to ECR type (must be exact the same resolution as graphics logo in ECR otherwise the data will be classified as invalid).
Data contains sale units (pieces, bottles, e.t.c.).
Command number: | 16 - programming, 144 - receiving |
Lines count: | 8 |
File contains 8 lines. Text of particular sale unit is placed in each line of file. Only first three characters are accepted.
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)
Rate has to contain decimal point.
Online mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).
Command number: |
| ||
Lines count: | 1 or more |
File contains PLU sold through PC. Particular PLUs are separated in line with "LineSeparator". Line form depends on used command. Each item in line is separated with "ItemSeparator".
It is possible to convert multiple online PLUs at once but it is not possible to send multiple online PLUs at once into ECR for command 18. Only command 81 support multiple PLU in one transfer.
Not all cash registers support all commands.
Commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).
1st item: command ID
2nd item: name of sold PLU (depends on ECR type). Used only if PLU ID is set to 0.
3rd item: sale unit assignment: (0-7) 8-descriptive PLU
4th item: DPT assignment (depends on ECR type)
5th item: VAT level assignment (used only if PLU ID = 0)
6th item: PLU price*1. If price is 0 and PLU ID > 0 is used price from ECR database.
7th item: quantity on decimal place count depends on cash register settings - second system flag, third digit (decimal point is ignored)
8th item: index for PLU (PLU ID) database of ECR or Index for void PLU.
Commands 3 (Finish sale), 4 (Finish PC ONLINE communication), 8 (Subtotal) and 9 (Receipt void).
1st item: command ID
Commands 8 and 9 are used only for Euro-100, Euro-200.
Command 5 (Payment).
1st item: command ID
2nd item: paid sum*1
3rd item: payment type: 0-cash, 1-check, 2-credit card
4th item: flag paid in currency: 0-in base currency, 1-in second currency
5th item: credit card number
*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.
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.
Command 7 (Surcharge/Discount).
1st item: command ID
2nd item: Surcharge/Discount flag
0 – surcharge will be applied
1 – discount will be applied
3rd item: Surcharge/Discount type
0 – on last sold item
1 – on whole subtotal
4th item: Database type
0 – value of surcharge/discount in percent will be taken from internal ECR database
1 - value of surcharge/discount in percent will be taken from data in this packet
5th item: Value in percents (without decimal places).
6th item: Price Value*1. Comma separator is ignored.
7th item: Type of value. 0 - percentual, 1- price value.
Command 7 is used only for Euro-100 and Euro-200.
Journal flag setting.
Command number: | 21 - programming, 149 - receiving |
Lines count: | 1 |
File contains setting of particular flags.
1st item: no meaning
2nd item: print copy of receipts immediately: 0 – no, 1 – yes
3rd item: save text logo to EJ: 0 – no, 1 – yes
4th item: zero text data EJ automatically witch daily report: 0 – no, 1 – yes
5th item: save text info for journal: 0 – no, 1 – yes, is ignored in some versions
6th item: control of customer by stock out on delivery order (payment order): 0 – no, 1 – yes
7th item: allow sale on payment order: 0 – no, 1 – yes
8th item: obligation to enter customer number at the beginning of receipt: 0 – no, 1 – yes
9th item: save taxes to PC data: 0 – no, 1 – yes
10th item: allow PC data resetting in ECR: 0 – no, 1 – yes
11th item: save data for PC: 0 – no, 1 – yes
Extended flags settings for cash registers without electronic journal and 18 digit bar-codes.
Command number: | 21 - programming, 149 - receiving |
Lines count: | 3 for Euro-100 and Euro-200T/TX, or 2 for Euro-2100 |
File contains setting of particular extended flags for bar-code settings. 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 in Euro-2100TX
Secondary scales are not used in cash registers software versions build before 31. May 2006.
2nd line: used only for Euro-100 and Euro-200T/TX.
1st item: Print PLU number on receipt: 0 – no, 1 – yes
2nd item: Print time on receipt: 0 – no, 1 – yes
3rd line: Change mode: 0 - cash only, 1 - by payment type - used only for Euro-100 and Euro-200T/TX.
Extended flag setting.
Command number: | 21 - programming, 149 - receiving |
Lines count: | 6 for Euro-500TE Handy and Euro-200TE, 7 for Euro-2100TE |
File contains setting of particular extended flags. Each line is separated by "LineSeparator" and each item by "ItemSeparator".
1st line:
1st item: no meaning
2nd item: print copy of receipts immediately: 0 – no, 1 – yes
3rd item: save text logo to EJ: 0 – no, 1 – yes
4th item: zero text data EJ automatically witch daily report: 0 – no, 1 – yes
5th item: save text info for journal: 0 – no, 1 – yes, is ignored in some versions
2nd line:
1st item: control of customer by stock out on delivery order (payment order): 0 – no, 1 – yes, without customer control, 2 – only with customers control
2nd item: obligation to enter customer number at the beginning of receipt: 0 – no, 1 – yes
3rd item: Update sale data also when updating hand out receipt
3rd line:
1st item: save data for PC: 0 – no, 1 – yes
2nd item: allow PC data resetting in ECR: 0 – no, 1 – yes
3rd item: save taxes to PC data: 0 – no, 1 – yes
4th line:
1st item: Allow refund operation:
0 = for all cashiers
1 – 6 = for concrete cashier
2nd item: Print mode of the bar code (0 – 4)
0 – not to print,
1 – print code with total price,
2 – print PLU with coded quantity
3 – print PLU with coded price
4 – print dedicated code of each PLU
3rd item: Number of free lines below printed PLU-code (0 – 9)
4th item: Print numerical part of bar code: 0 – no, 1 – yes,
5th item: Number of decimal places for price coding to bar code (0 – 3)
6th item: Number of places for price coding to bar code (1 – 5)
5th line:
1st item: Prefix of bar code (00 – 99)
2nd item: PLU number for total price coding to bar code (0001 – 9999)
6th line:
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.
7th line: secondary scales type (see user manual for types description) - used only for Euro-2100TE.
Functions are used to delete journal from memory of ECR.
Command number: |
| ||
Lines count: | 1 |
Content of line is not used.
Command number: | 37 - programming, 165 - receiving |
Lines count: | 8 |
File contains setting of bar code flags.
1st line: Number of decimal places for price coding to bar code (0 – 3)
2nd line: PLU number for total price coding to bar code (0001 – 9999)
3rd line: Print mode of the bar code (0 – 4)
0 – not to print,
1 – print code with total price,
2 – print PLU with coded quantity
3 – print PLU with coded price
4 – print dedicated code of each PLU
4th line: Prefix of bar code (00 – 99)
5th line: Number of places for price coding to bar code (1 – 5)
6th line: Allow refund operation:
0 = for all cashiers
1 – 6 = for concrete cashier
7th line: Print numerical part of bar code: 0 – no, 1 – yes,
8th line: Number of free lines below printed PLU-code (0 – 9)
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).
Command number: | 41 |
Lines count: | 1 |
Executing of this command clear all selected data (see below) of PLU.
1st item: Receive to stock (1 - delete, 0 - leave)
2nd item: Hand out from stock (1 - delete, 0 - leave)
3rd item: Orders (1 - delete, 0 - leave)
4th item: Inventories (1 - delete, 0 - leave)
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.
1. item: key name (max. 10 characters).
items 2 to 17: function keys codes (all codes are described in binary part of data description)
Command number: |
| ||
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.
Data contains DPT names, flags and prices and sale values.
Command number: | 132 |
Lines count: | depends on DPT count in ECR |
Each line contains data about one DPT. Each item is separated by "ItemSeparator".
1st item: DPT name.
3rd item: price – according to setting of digit 6 system flag 1 of ECR
4th item: sold quantity since last daily report
5th item: sale value since last daily report
6th item: sold quantity since last monthly report
7th item: sale value since last monthly report
Data contains sale values for each VAT level.
Command number: | 133 |
Lines count: | 7 |
1st item: maximal 10 characters of descriptive text
2nd item: tax rate value (0 – 10000) – always for two decimal places without decimal point (comma)
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
Data contains grand total (GT) values.
Command number: | 134 |
Lines count: | 3 (non fiscal version) |
1st line: GT1
2nd line: GT2
3rd line: GT3
Sale values and counters are incremented to daily/periodical report since last daily/periodical report.
Command number: |
| ||
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: 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: not used (bottles)
32th line: not used (returnable bottles)
33th line: not used (void of bottle subtotal)
34th line: number of all receipts
35th line: number of fiscal receipts (in fiscal versions)
36th line: not used (number of changes of names and tax levels)
Data contains cashier names and sales report.
Command number: | 139 - cashier sales report |
Lines count: | for each cashier 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 sales since last monthly report
5th item: sale value since last monthly report
Data contains cashier names and sales report.
Command number: | 139 - cashier sales report |
Lines count: | for each cashier one line |
Each line contains data about one cashier. These data are used only in Euro-500TE Handy, Euro-2100TE versions of cash registers.
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 sales since last monthly report
5th item: sale value since last monthly report
6th item: number of sales in cash since last daily report
7th item: value of sales in cash since last daily report
8th item: number of sales in cash since last periodical report
9th item: value of sales in cash since last periodical report
10th item: number of sales in foreign currency since last daily report
11th item: value of sales in foreign currency since last daily report
12th item: number of sales in foreign currency since last periodical report
13th item: value of sales in foreign currency since last periodical report
14th item: value of sales in foreign currency transformed into national currency since last daily report
15th item: value of sales in foreign currency transformed into national currency since last periodical report
16th item: number of sales in cheques since last daily report
17th item: value of sales in cheques since last daily report
18th item: number of sales in cheques since last periodical report
19th item: value of sales in cheques since last periodical report
20th item: number of sales via credit since last daily report
21th item: value of sales via credit since last daily report
22th item: number of sales via credit since last periodical report
23th item: value of sales via credit since last periodical report
24th item: number of receiving to stock since last daily report
25th item: number of handing out from stock since last daily report
26th item: number of orders placed since last daily report
27th item: number of inventories performed since last daily report
28th item: number of receiving to stock since last periodical report
29th item: number of handing out from stock since last periodical report
30th item: number of orders placed since last periodical report
31th item: number of inventories performed since last periodical report
32th item: value of receiving to stock since last daily report
33th item: value of handing out from stock since last daily report
34th item: value of orders placed since last daily report
35th item: value of inventories performed since last daily report
36th item: value of receiving to stock since last periodical report
37th item: value of handing out from stock since last periodical report
38th item: value of orders placed since last periodical report
39th item: value of inventories performed since last periodical report
Data contains cashier names and sales report.
Command number: | 139 - cashier sales report |
Lines count: | for each cashier one line |
Each line contains data about one cashier. These data are used only in Euro-100 and Euro-200 versions of cash registers. Only for Euro-200TE cash register are used non financial PLU movements counters.
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 sales since last monthly report
5th item: sale value since last monthly report
6th item: number of refunds since last daily report
7th item: value of refunds since last daily report
8th item: number of refunds since last periodical report
9th item: value of refunds since last periodical report
10th item: number of voids since last daily report
11th item: value of voids since last daily report
12th item: number of voids since last periodical report
13th item: value of voids since last periodical report
14th item: number of sub-total voids since last daily report
15th item: value of sub-total voids since last daily report
16th item: number of sub-total voids since last periodical report
17th item: value of sub-total voids since last periodical report
18th item: number of sales in cash since last daily report
19th item: value of sales in cash since last daily report
20th item: number of sales in cash since last periodical report
21th item: value of sales in cash since last periodical report
22th item: number of sales in foreign currency since last daily report
23th item: value of sales in foreign currency since last daily report
24th item: number of sales in foreign currency since last periodical report
25th item: value of sales in foreign currency since last periodical report
26th item: value of sales in foreign currency transformed into national currency since last daily report
27th item: value of sales in foreign currency transformed into national currency since last periodical report
28th item: number of sales in cheques since last daily report
29th item: value of sales in cheques since last daily report
30th item: number of sales in cheques since last periodical report
31th item: value of sales in cheques since last periodical report
32th item: number of sales via credit since last daily report
33th item: value of sales via credit since last daily report
34th item: number of sales via credit since last periodical report
35th item: value of sales via credit since last periodical report
36th item: number of receiving to stock since last daily report (only for Euro-200TE)
37th item: number of handing out from stock since last daily report (only for Euro-200TE)
38th item: number of orders placed since last daily report (only for Euro-200TE)
39th item: number of inventories performed since last daily report (only for Euro-200TE)
40th item: number of receiving to stock since last periodical report (only for Euro-200TE)
41th item: number of handing out from stock since last periodical report (only for Euro-200TE)
42th item: number of orders placed since last periodical report (only for Euro-200TE)
43th item: number of inventories performed since last periodical report (only for Euro-200TE)
44th item: value of receiving to stock since last daily report (only for Euro-200TE)
45th item: value of handing out from stock since last daily report (only for Euro-200TE)
46th item: value of orders placed since last daily report (only for Euro-200TE)
47th item: value of inventories performed since last daily report (only for Euro-200TE)
48th item: value of receiving to stock since last periodical report (only for Euro-200TE)
49th item: value of handing out from stock since last periodical report (only for Euro-200TE)
50th item: value of orders placed since last periodical report (only for Euro-200TE)
51th item: value of inventories performed since last periodical report (only for Euro-200TE)
This command can be used to check actual state of online sale and correct sale of PLUs.
Command number: | 147 |
Lines count: | 2 |
1st line:
1st item: number of PLU-s in buffer of sold PLU
2nd item: value
3rd item: number of actual receipt
4th item: total sale sum
5th item: total sale sum in second currency
2nd line: contains last sold PLU through PC-Online
Command number: | 148 |
Lines count: | 8 |
All items are valid only during PC ONLINE sale (before last payment send from PC to ECR). Tax values are valid on to MAXTAX – others are zero. Values do not include roundings (e.g. quater rounding calculations) and are valid only during open sale.
1st line: total sale sum (in base currency)
2nd line: sum in non-taxable level
3rd line:
1st item: taxable value in tax level 1
2nd item: tax value in VAT level 1
4th line:
1st item: taxable value in tax level 2
2nd item: tax value in VAT level 2
5th line:
1st item: taxable value in tax level 3
2nd item: tax value in VAT level 3
6th line:
1st item: taxable value in tax level 4
2nd item: tax value in VAT level 4
7th line:
1st item: taxable value in tax level 5
2nd item: tax value in VAT level 5
8th line:
1st item: taxable value in tax level 6
2nd item: tax value in VAT level 6
1st line: total sale sum (in base currency)
2nd line:
1st item: taxable value in tax level 1
2nd item: tax value in VAT level 1
3rd line:
1st item: taxable value in tax level 2
2nd item: tax value in VAT level 2
4th line:
1st item: taxable value in tax level 3
2nd item: tax value in VAT level 3
5th line:
1st item: taxable value in tax level 4
2nd item: tax value in VAT level 4
6th line:
1st item: taxable value in tax level 5
2nd item: tax value in VAT level 5
7th line:
1st item: taxable value in tax level 6
2nd item: tax value in VAT level 6
8th line: sum in non-taxable level
Command is used to get information about sale through PC.
Command number: |
| ||
Lines count: | 2 |
1st line: sold quantity – always three decimal places
2nd line: sales value
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.
Command is used to get receipts in binary form, from ECR for processing in PC.
Command number: |
| ||
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.
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, 1 – stock out
2nd item: date and time: string DDMMYYYYhhmm*1
3rd item: cashier’s name
4th item: receipt number (1 – 9999)
5th item: document (customer) number (1 – 99999999)
6th item: ECR number (1 – 99)
7th item: number of PLU sale: (number of next lines describes PLU)
*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)
PLU sale data (each PLU on one line).
1st item: type of sale: 10 – sale through PLU, 11 – sale through DPT, 12 – refund PLU, 13 – refund of DPT
2nd item: PLU (DPT) number
3rd item: sold quantity
4th item: unit price
5th item: total price
Total sale sum, discounts, add-ons and void applied at receipt line.
1st item: ID byte: 15
2nd item: total add-on
3rd item: total discount
4th item: void
5th item: total sale value
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
Format is almost the same for all ECRs therefore will be in this part described only the diferences. (Changed meaning of receipt types and added bar-codes to PLU structure)
Description of first info line in items.
1st item: receipt type: 0 – sale, 1 – stock in, 2 – stock out, 3 – order, 4 – inventory
2nd item: date and time: string DDMMYYYYhhmm*1
3rd item: cashier’s name
4th item: receipt number (1 – 9999)
5th item: document (customer) number
6th item: ECR number (1 – 99)
7th item: number of PLU sale: (number of next lines describes PLU)
*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)
PLU sale data (each PLU on one line).
1st item: type of sale: 10 – sale through PLU, 11 – sale through DPT, 12 – refund PLU, 13 – refund of DPT
2nd item: PLU (DPT) number
3rd item: sold quantity
4th item: unit price
5th item: total price
6th 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
7th item: nothing / bar-code / extension – depending on the bar-code type
8th 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)
Command is used to get copy of journal from ECR (only visual information).
Command number: |
| ||
Lines count: | depends on journal length |
File contains journal lines as printed on ECR printer. File has visual meaning – it is difficult to obtain sale data from particular lines.
In this command is used Range Select as LongLength (DWORD) for bills length in lines. This length can be obtained from command 164 - Journals data 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: text journal size in lines
Command number: |
| ||
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
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)
Data types are the same as in the first part of the protocol. There is only one difference in extension of types (primary and secondary currency).
Table 5.1. Extension of definition of numerical data types for ECR ON-LINE mode
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.
For each sale will be created a new data file. In file name of this data file will be added actual time on PC. Data will be stored in this format:
Table 5.2. Data storing method for "ECR --> PC ONLINE mode"
length in bytes | description/meaning |
---|---|
2 | header length = 6 bytes |
header length (always 6 bytes) | header data |
2 | initialization data length = 6 bytes |
initialization data length (always 6 bytes) | initialization data |
2 | first item length |
first item length | item data |
2 | second item length |
second item length | item data |
2 | third item length |
third item length | item data |
... | ... |
... | ... |
2 | nth item length |
nth item length | item data |
Header length is always 6 bytes and contains protocol identification and number of actual cash register.
Table 5.3. Header data format
Byte) | type | length | meaning |
---|---|---|---|
0 | BYTE | 1 | STX - fixed value = 0x02 |
1 | BYTE | 1 | ID1 - fixed value = 0x50 (ASCII code of char ‘P’) |
2 | BYTE | 1 | ID2 - fixed value = 0x43 (ASCII code of char ‘C’) |
3 | BYTE | 1 | REGNUM - Number of ECR which sends REQUEST (system flag 3, digit 2-3) increased by value 32 (0x20) e. g. if ECR number is 1 then REGNUM is 33 (0x21). |
4 | BYTE | 1 | ETX - fixed value = 0x03 |
5 | BYTE | 1 | CheckXor = control number
(CheckXor = ID1 xor
ID2 xor REGNUM xor
ETX ) |
Initialization data have always 6 bytes and contains all data required for decoding received sales data.
Table 5.4. Initialization data form
Byte | type | length | Meaning |
---|---|---|---|
0 | BYTE | 1 | ECR type |
1 | BYTE | 1 | Fixed value 146 (0x92) |
2 | BYTE | 1 | Number of decimal places for price (0 – 3) (system flag 1 digit 6) |
3 | BYTE | 1 | Quantities are multiplied or divided (0 – divided, 1 – multiplied) (system flag 2 – digit 6) |
4 | BYTE | 1 | Number of transmitted items |
5 | BYTE | 1 | Number of decimal places for price of second currency (0 – 3) (used only in Euro phase 1, 2 and 3) |
Table 5.5. online sale commands
command | meaning |
---|---|
1 (0x01) | PLU was sold |
2 (0x02) | DPT was sold |
3 (0x03) | PLU was refunded |
4 (0x04) | DPT was refunded |
5 (0x05) | Payment |
Data description for commands 1 (sold PLU), 2 (sold DPT), 3 (PLU refund) and 4 (DPT refund).
Byte(s) | meaning | type | commend | |||
---|---|---|---|---|---|---|
0 | Command | BYTE | from 1 to 4 (command 5 has different description) | |||
1–14 | Item name | string | characters | |||
15 | Sales unit assignment | BYTE | Used only for PLU (range: <0, 7>) | |||
16 | DPT assignment | BYTE |
| |||
17 | VAT assignment | BYTE | taxes | |||
18-25 | Total item price | double(*1) | Total price of PLU (DPT) without add-ons and discounts. The price is rounded. If PLU (or DPT) was refunded the sum is negative. | |||
26-29 | Unit item price | DWORD(*1) | ||||
30-33 | Quantity 1 | DWORD(3) | First quantity entered using ECR keyboard while selling. | |||
34-37 | Quantity 2 | DWORD | Second quantity entered using ECR keyboard while selling (second quantity can not be decimal). | |||
38-39 | PLU (DPT) index | WORD | ||||
40-47 | Add-Ons applied to item | double(*1) | Sum of all add-ons applied to the item. | |||
48-55 | Discounts applied to item | double(*1) | Sum of all discounts applied to the item. |
Data description for command 5 (Payment).
Byte(s) | meaning | type | commend |
---|---|---|---|
0 | Command | BYTE | value 5 (commands 1 to 4 have different description) |
1-8 | Cash | double(*1) | total sum paid by cash |
9-16 | Check | double(*1) | total sum paid by check |
17-24 | Credit | double(*1) | total sum paid by credit |
25-32 | Cash in second currency | double(*2) | total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3). |
33-55 | not used |
Table 5.6. online sale commands
command | meaning |
---|---|
1 (0x01) | PLU was sold |
2 (0x02) | DPT was sold |
3 (0x03) | PLU was refunded |
4 (0x04) | DPT was refunded |
5 (0x05) | Payment |
Data description for commands 1 (sold PLU), 2 (sold DPT), 3 (PLU refund) and 4 (DPT refund).
Byte(s) | meaning | type | commend |
---|---|---|---|
0 | Command | BYTE | from 1 to 4 (command 5 has different description) |
1–20 | Item name | string | characters |
21 | Sales unit assignment | BYTE | Used only for PLU (range: <0, 7>) |
22 | DPT assignment | BYTE | Used only for PLU (range: <1, 30>) |
23 | VAT assignment | BYTE | taxes |
24-31 | Total item price | double(*1) | Total price of PLU (DPT) without add-ons and discounts. The price is rounded. If PLU (or DPT) was refunded the sum is negative. |
32-35 | Unit item price | DWORD(*1) | |
36-39 | Quantity 1 | DWORD(3) | First quantity entered using ECR keyboard while selling. |
40-43 | Quantity 2 | DWORD | Second quantity entered using ECR keyboard while selling (second quantity can not be decimal). |
44-45 | PLU (DPT) index | WORD | |
46-53 | Add-Ons applied to item | double(*1) | Sum of all add-ons applied to the item. |
54-61 | Discounts applied to item | double(*1) | Sum of all discounts applied to the item. |
Data description for command 5 (Payment).
Byte(s) | meaning | type | commend |
---|---|---|---|
0 | Command | BYTE | value 5 (commands 1 to 4 have different description) |
1-8 | Cash | double(*1) | total sum paid by cash |
9-16 | Check | double(*1) | total sum paid by check |
17-24 | Credit | double(*1) | total sum paid by credit |
25-32 | Cash in second currency | double(*2) | total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3). |
33-61 | not used |
New data will be stored always at the end of the actual text file. Date and time will be added before each bill data. Individual lines have the following meaning:
1st line: Actual date (from PC) in
following format "Date: YYYY.MM.DD.
"
2nd line: Actual time (from PC) in
following format "Time: hh:mm:ss
"
3rd line: contains number of ECR (system flag 3, digit 2-3).
4th line: contains actual ECR settings. This line consist of 6 items.
Fixed value 146 (0x92)
Number of decimal places for price (0 – 3) (system flag 1 digit 6)
Quantities are multiplied or divided (0 – divided, 1 – multiplied) (system flag 2 – digit 6)
Number of transmitted records
Number of decimal places for price of second currency (0 – 3) (used only in Euro phase 1, 2 and 3)
The following lines ("Number of transmitted records" - 1) contains sales data (saled items)
Command number (from 1 to 4)
Item name
Sales unit assignment (Used only for PLU - range: <1, 8>)
DPT assignment (Used only for PLU)
VAT assignment
Total price of PLU (DPT) without add-ons and discounts. The price is rounded. If PLU (or DPT) was refunded the sum is negative.
Unit item price.
Second quantity entered using ECR keyboard while selling (second quantity can not be decimal).
PLU (DPT) index
Add-Ons applied to item. (Sum of all add-ons applied to the item.)
Discounts applied to item. (Sum of all discounts applied to the item.)
It is possible to change separator between first and second quantity. See settings.
last line contains information about payments
Command number = 5
total sum paid by cash
total sum paid by check
total sum paid by credit
total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3).
If any error occurs while decoding of data, these data will be
printed in hexadecimal form at the corresponding line after
"##"
characters.
Bar-code = EAN.
For data type see types definition.
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 is sometimes used as term for PC processing journal (see PC journal).
see types definition.
see types definition.
see types definition.
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.
see types definition.
see types definition.
see types definition.
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, ....).
see Text journal
see PC journal
see types definition.
Human readable form of data. This form is also used by some application to import/export data from/to other programs.
Text journal is only a copy of journal tape in ECR. This journal is human readable. No direct post processing is possible.
see types definition.
Table of Contents
Minimal time equals to the reaction speed of ECR (25ms)
Recommend time is 150ms. Works on all ECRs.
Maximal time is not limited.
Minimal time equals to the time of printing of bill (times depends from initial bill (and logo) printing)
Recommend time is 4s. Works on all ECRs.
Maximal time is not limited.