Comm32.dll (generic fiscal version)

Description for communication library for ECRs Euro-1000M/T, Euro-2000M/T Alpha, Euro-500T/TX Handy, Euro-2100TX/TE, Euro-100T, Euro-200T/TX/TE

Július Adam

Generic fiscal version

Revision History
Revision 1.0027. Feb. 2006JAD

Build of generic fiscal document version

For Comm32.dll from version 4.29.

Revision 1.0115. June 2006JAD

Added description for Euro-2100.

Documentation change for Comm32.dll from version 4.31.

Revision 1.0217. July 2006JAD

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

Revision 1.0325. July 2006JAD

Added hourly report for Euro-2100.

Revision 1.047. Aug. 2006JAD

Added new ECR type Euro-2100TE.

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

Documentation change for Comm32.dll from version 4.34.

Revision 1.059. Apr. 2006JAD

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

Revision 1.0619. Apr. 2007JAD

Fixed all known bugs in descriptions.

Revision 1.0722. May 2007JAD

Added support for decimal comma/dot configuration.

Revision 1.0828. Mar. 2008JAD

Added description for back ONLINE receive (Chapter 5, Data description for "ECR --> PC ONLINE mode" and Section 1.18, “Activation of receiving back ONLINE data”).

Abstract

Document contains description how to use communication library Comm32.dll. This DLL can be used with the following ECR types: Euro-1000M/T, Euro-2000M/T Alpha, Euro-500T/TX Handy, Euro-2100TX/TE, Euro-100T, Euro-200T/TX/TE.


Table of Contents

Introduction
1. License
1. Comm32.dll API
1.1. Initialize communication port
1.2. Modem dial up
1.3. Close communication
1.4. Initialize ECR
1.5. Auto detect connected ECR
1.6. Send data to ECR
1.7. Receive data from ECR
1.8. Abort running transmission
1.9. Get information about actual transmission
1.10. Get last received result from ECR
1.11. Determine items count
1.12. Get record length
1.13. Set configuration parameters
1.14. Determine information about actual ECR
1.15. Configure text <––> binary transformations
1.16. Convert binary data to text
1.17. Convert binary data to text
1.18. Activation of receiving back ONLINE data
1.19. Examples
1.20. Range select
1.21. Country
1.22. Error codes (ACK results)
2. Data transfer and representation of data
2.1. Communication session
2.2. Presentation of used types
3. Data in binary form description
3.1. ECR types
3.2. Taxes interpretation
3.3. Commands list
3.4. Text logo
3.5. Text logo for Euro-2100, Euro-100 and Euro-200
3.6. System flags
3.7. System flags for Euro-2100
3.8. System flags for Euro-100 and Euro-200
3.9. Cashier names
3.10. PLU structures and commands
3.11. Programming DPTs
3.12. Programming TAX
3.13. Functional texts
3.14. Delete PLU sale data
3.15. Execute financial report
3.16. Graphics logo
3.17. Units
3.18. Secondary currency exchange rate
3.19. ON-LINE communicatuion PC—> ECR
3.20. Extended flags for Euro-100T, Euro-200T/TX
3.21. Extended flags for Euro-2100TE
3.22. Extended flags for Euro-200TE
3.23. Clearing journals in ECR memory
3.24. Send message for cashier
3.25. Erase PLU non financial data (Execute non financial PLU Z report on ECR)
3.26. Programmable keys
3.27. Hourly report clearing
3.28. Reading DPTs report
3.29. Reading TAX report
3.30. Receiving grand totals values
3.31. Financial report
3.32. Cashier sales report
3.33. Cashier sales report for Euro-2100TE and Euro-200TE
3.34. Cashier sales report for Euro-100 and Euro-200T/TX
3.35. Cashier sales report for Euro-200TE
3.36. Obtaining information about last sold item in PC-Online mode
3.37. Obtaining information about taxes of running sale in PC-Online mode
3.38. Reading sale data of PC ONLINE sale
3.39. Reading PLU count with non zero sale
3.40. Read receipts (PC journal)
3.41. Read bills (text journal)
3.42. Reading data about journals length
3.43. Reading content of fiscal memory
3.44. Read hourly report
3.45. Identification data and parameters of ECR
4. Text data format
4.1. Supported convert command list
4.2. Taxes interpretation
4.3. Text receipt logo
4.4. System flags
4.5. Cashier names
4.6. PLU's
4.7. Programming DPTs
4.8. Programming TAX
4.9. Functional texts
4.10. Delete PLU sale data
4.11. Execute financial report
4.12. Graphics logo
4.13. Units
4.14. Secondary currency exchange rate
4.15. ON-LINE communication PC—>ECR
4.16. Extended flags for cash registers with 18 digit bar-code
4.17. Extended flags for Euro-2100TE, Euro-200TE
4.18. Clearing journals in ECR memory
4.19. Send message for cashier
4.20. Erase PLU non financial data (Execute non financial PLU Z report on ECR)
4.21. Programmable keys
4.22. Hourly report clearing
4.23. Reading DPTs report
4.24. Reading TAX report
4.25. Receiving grand totals values (fiscal version)
4.26. Financial report
4.27. Cashier sales report
4.28. Cashier sales report for Euro-500TE Handy and Euro-2100TE
4.29. Cashier sales report for Euro-100 and Euro-200
4.30. Obtaining information about last sold item in PC-Online mode
4.31. Obtaining information about taxes of running sale in PC-Online mode
4.32. Reading sale data of PC ONLINE sale
4.33. Reading PLU count with non zero sale
4.34. Read receipts (PC journal)
4.35. Read bills (text journal)
4.36. Reading data about journals length
4.37. Read hourly report
4.38. Identification data and parameters of ECR
5. Data description for "ECR --> PC ONLINE mode"
5.1. Message receiving
5.2. Data description in binary form
5.3. Data description in text format
A. Glossary of used terms
B. Wait Times for ON-LINE sale commands
B.1. Minimal and maximal time for waiting between two online commands (on one bill) (“sale” or “information of sale” commands)
B.2. Minimal and maximal time between “end of sale” and beginning new sale (new bill)
B.3. Recommended time for time-out (first item send)
B.4. Recommended time for receipt finish time-out

Introduction

Table of Contents

1. License

1. License

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

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

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

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

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

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

  3. Free Version User Agreement. 

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

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

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

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

Chapter 1. Comm32.dll API

1.1. Initialize communication port

int InitComm(portNum, portSpeed);
int portNum;
int portSpeed;

  • description. This function is called before communication if it is necessary to open communication port.

  • input parameters. 

    int portNum

    port number, which is ECR connected to: 1 – 255 (COM1 – COM255)

    int portSpeed

    communication speed between ECR and PC: 9600 Baud, 38400 Baud

  • return value

    • 0 – port initialized

    • 1 – port number incorrect

    • 2 – transmission speed incorrect

    • 4 – unable to open particular port

    • 5 – unable to read actual port setting

    • 6 – unable to set port

Note

Port setting: 8 data bits, 1 stop bit, none parity

Important

Set communication speed 9600 Baud for modem communication

1.2. Modem dial up

int DialUp(phoneNumber);
char * phoneNumber;

  • description. Calling before communication and directly after InitComm function for dial up a modem connection.

  • input parameters. 

    char *phoneNumber

    phone number in text form

  • return value

    • 0 – connection established

    • 1 – connection not established

    • 2 – port is not opened

Note

String of modem setting is "ATE0V0X0", where:

  • E0 – echo off

  • V0 – numerical form of final codes

  • X0 – settings of final codes and monitoring of connection progress

- for detailed information see user guide of the modem

1.3. Close communication

int CloseComm();

  • description. 

    • Function closes port (opened with InitComm function).

    • Finishes communication and reset connection in case of communication via modems.

    • Calling at the end of communication because of port source release for next applications.

    • Hang up (if DialUp was called and successful).

  • return value

    • 0 – port closed

    • 1 – unable to close port

1.4. Initialize ECR

int InitEcr(ecrNum, ecrType);
int ecrNum;
int ecrType;

int InitEcrEx(ecrNum,  
 ecrType,  
 ecrCountry); 
int  ecrNum;
int  ecrType;
int  ecrCountry;
  • description. 

    • Function sets ECR type and number for communication

    • InitEcrEx function will also set up the character conversion tables (for Windows), rounding algorithm and other features specific to given country.

    • InitEcr function will set up default properties and the character conversion table to 1:1 mode, i. e. no conversion takes place.

  • input parameters. 

    int ecrNum

    ECR number in range 1 - 99 (identification number in a "ECR network")

    int ecrType

    ECR type (ref) (not all countries have all ECRs)

    int ecrCountry

    desired country

  • return value

    • 0 – type and ECR number set

    • 1 – ECR number incorrect

    • 2 – ECR type incorrect (or this ECR is not supported in this version or country)

1.5. Auto detect connected ECR

int AutoDetect(EcrNum,  
 PortNum,  
 PortSpeed,  
 EcrType); 
int  EcrNum;
int * PortNum;
int * PortSpeed;
int * EcrType;
int AutoDetectEx(EcrNum,  
 PortNum,  
 PortSpeed,  
 EcrType,  
 nCountry,  
 nOptions); 
int  EcrNum;
int * PortNum;
int * PortSpeed;
int * EcrType;
int  nCountry;
int  nOptions;
  • description. Function detects type of connected ECR, port number to which is ECR connected and transmission speed on which is ECR set. Function AutoDetectEx detects only ECR type for selected country and with selected options. It is desirable to specify the country so the application would not waste time detecting ECRs that don't exist for the given country and tested only the ECRs implemented for the given country. Selected options also makes the detection faster.

  • input parameters. 

    int EcrNum

    number of connected ECR - must be entered.

    int *PortNum

    pointer of variable containing port number

    int *PortSpeed

    pointer of variable containing transmission speed

    int *EcrType

    pointer of variable containing type of connected ECR

    int nCountry

    desired country

    int nOptions

    auto detection parameters – it is a bit-map of settings where individual bits take following meanings:

    • bit 0 (value 1): PortNum variable contains the number of tested port.

    • bit 1 (value 2): PortSpeed variable contains the communication speed.

    • bit 2 (value 4): prolonged break signal – useful when testing via the modem connection.

    Result number is obtained by simple addition of desired values.

  • output parameters. 

    int PortNum

    detected COM port

    int PortSpeed

    detected Speed

    int EcrType

    detected type

    return value
    • 0 – auto detection successful

    • 1 – auto detection not successful

    • 3 – particular port reserved

    • 4 – ECR number incorrect (out of range)

    • 5 – incorrect port

    • 6 – incorrect communication speed

1.6. Send data to ECR

int SendData(CommandNum,  
 FirstItem,  
 ItemCount,  
 Data,  
 Info); 
int  CommandNum;
int  FirstItem;
int  ItemCount;
unsigned char * Data;
char * Info;
  • description. Function starts data transmission from PC to ECR.

  • Input parameters. 

    int CommandNum

    send command number

    int FirstItem

    number of first transmitted item

    int ItemCount

    count of transmitted items

    unsigned char *Data

    Pointer to data (binary), which will be transmitted to ECR.

    char *Info

    Pointer to array, where will be stored information about transfer. Should be used for commands 'Send PLUs' and 'Send cashier message'. Length of variable Info should be equal to ItemCount at least.

  • Output parameters

    char *Info

    Meaning of return values in Info is:

    • 'A' = Changed VAT level for PLU (only for programming PLUs).

    • 'N' = VAT level unchanged (only for programming PLUs).

    • 'W' = Warning, item transmitted but is incorrect and was not accepted by ECR.

    • 'P' = Line was printed on ECR. (only for sending messages for cashier).

    • 'E' = Error - wrong data or transfer error.

    • '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).

    • '@' = OK (no error has occurred during transfer of packet)

    • unchanged if item was not send to ECR.

    Note

    First position in Info represents first transmitted PLU, first line of message, or fist transmitted packet for all other communication commands.

    Return value
    • 0 – Transmission started

    • 1 – Undefined or unsupported operation

    • 2 – Number of transmitted data incorrect

    • 3 – Number of first transmitted data is incorrect

    • 4 – Missing or wrong pointer to Data

    • 5 – Missing or wrong pointer Info (not used)

    • 6 – Port is not open - need to call function InitComm first.

    • 7 – ECR is not initialized - need to call function InitEcr or InitEcrEx first.

1.7. Receive data from ECR

int RecvData(CommandNum,  
 FirstItem,  
 ItemCount,  
 Data); 
int  CommandNum;
int  FirstItem;
int  ItemCount;
unsigned char * Data;
  • description. Function starts data transmission from ECR to PC.

  • input parameters. 

    int CommandNum

    receive command number

    int FirstItem

    number of first transmitted item

    int ItemCount

    count (or length) of transmitted items

    unsigned char *Data

    Pointer to data array where should be stored received binary data from ECR.

  • output parameters

    unsigned char *Data

    received binary data from ECR

    return value
    • 0 – Transmission started

    • 1 – Undefined or unsupported operation

    • 2 – Number of transmitted data incorrect

    • 3 – Number of first transmitted data is incorrect

    • 4 – Missing or wrong pointer to Data

    • 6 – Port is not open - need to call function InitComm first.

    • 7 – ECR is not initialized - need to call function InitEcr or InitEcrEx first.

1.8. Abort running transmission

int CancelComm();

  • description. Function aborts running communication.

  • return value

    • 0 – communication stopped

    • 7 – ECR was not initialized

1.9. Get information about actual transmission

int GetStatus(Percentage); 
unsigned int * Percentage;
  • description. Function informs about running communication.

  • input parameters. 

    unsigned int *Percentage

    Pointer to variable to store transfer status in percentage.

  • output parameters

    unsigned int *Percentage

    Field Percentage contains state of successfully transferred data in percent.

    return value
    • -1 – No communication is in progress

    • 0 – Communication finished without any error

    • 1 – Running communication

    • 2 – Communication interrupted by function CancelComm()

    • 3 – Error during communication – incorrect or missing packet ACK1 (connect to ECR)

    • 4 – Error during communication – incorrect or missing packet ACK2 (bad ECR type or command or command parameters)

    • 5 – Error during communication – incorrect or missing packet ACK3 (by communication PC -> ECR)

    • 5 – Error during communication – incorrect or missing data packet (by communication ECR -> PC)

    • 6 – Error during communication – incorrect or missing packet EOC

    • 8 – Communication finished without any error and with tax level change of one PLU at least (only for programming PLUs)

    • 9 – Sale is started in ECR

    • 11 – Wrong received data.

    • 12 – Unknown error (Extended code is possible to get with GetECR_Info() or / and GetLastAckResult())

    • 13 – Sending data error.

1.10. Get last received result from ECR

int GetLastAckResult();

  • description. Function returns value of last accepted ACK packet (”0” if no received).

  • return valuesee ACK result table

Note

Function is important especially for PC-Online communication and PLU programming.

1.11. Determine items count

int GetItemsCount(CommandNum);
int CommandNum;

  • description. Function returns maximal item count (of same type) for selected command.

  • input parameters. 

    int CommandNum

    command number

  • return value

    • -3 – ECR not initialized

    • -4 – command is not supported

    • 0 – unknown items count (PLU with non zero sale, journals, ...)

    • n – Items count. (for CommandNum = 3, n = PLU count, for CommandNum = 5, n = VAT levels count, ...)

1.12. Get record length

int GetRecordLength(CommandNum,  
 FirstItem,  
 ItemCount); 
int  CommandNum;
int  FirstItem;
int  ItemCount;
  • description. Function serves to determine the amount of memory space demanded for given record(s). (e. g. for proper allocation of memory space)

  • input parameters. 

    int CommandNum

    operation ID number

    int FirstItem

    ordinal of first record (see range initialization)

    int ItemCount

    number of records (see range initialization)

  • return value

    • 0 – given operation is unsupported or ECR not initialized

    • n – size of record(s) in bytes

1.13. Set configuration parameters

int SetCommParam(lpstrConfigString); 
char * lpstrConfigString;
  • Description. Function serves to set up various communication and conversion parameters.

  • Input parameter. 

    char *lpstrConfigString

    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.1. Supported parameters (marked values in are automatically set during initialisation)

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

    • n – specifies the number of successfully set parameters

    • -1 – undefined/erroneous configuration string

    • -2 – communication port is not initialized

    • -3 – not initialized ECR.

1.14. Determine information about actual ECR

int GetECR_Info(pcVariable,  
 pcValue,  
 byMaxLength); 
const char * pcVariable;
char * pcValue;
BYTE * byMaxLength;
  • description. Function returns information about actual ECR and communication property and serves to get extended error codes.

  • input parameters. 

    const char *pcVariable

    pointer to string with “variable name

    char *pcValue

    pointer to output text buffer

    BYTE *byMaxLength

    pointer to variable containing buffer length

  • output parameters. 

    char *pcValue

    text data in pointed buffer

    BYTE *byMaxLength

    full text data length (also when not all data saved)

    return value
    • 0 – All OK. In text buffer is full value.

    • -3 – ECR not initialized.

    • -4 – operation unsupported

    • -11 – text buffer too low. (saved only byMaxLength – 1 bytes)

    • -13 – no text buffer.

    • -14 – variable not implemented

    • n – Numeric result for numeric variables (e. g. count of, time of, etc.). No error is returned!!

Table 1.2. ECR Info variable names

Text informations:
variable namedescription
ECR_NameECR type name*1
Numeric informations: *2
variable namedescription
PLU_CountMaximal PLU Count for this cash register type. If selected type support extended memory module then the result is maximal possible PLU count, not the actual PLU count. Actual PLU count can be obtained from command 255 (this command is not supported by all cash registers).
IsVariablePLU_Count?If this variable returns zero then the cash register has fixed PLU count, otherwise the PLU count depends on current hardware configuration of cash register.
LastErrorCodeLast Error Code
WaitAfterCommandOnlinerecommended time between*3 2 online commands (all except “end of sale”)
WaitAfterCommandNoPrintrecommended wait time after*3 command without print on receipt
WaitAfterCommandDefaultrecommended wait time after*3 “normal” command
WaitAfterCommandnnnrecommended wait time after*3 command “nnn”. Where “nnn” is command number
  • return error if command is not supported

  • time is only for standard settings and is not valid for long printing operations like print of long reports or printing of text journal on receipt.

WaitAfterEndOfSalerecommended wait time after*3 online command “end of sale”

*1: Only name of the type of ECR. Name do not contain PLU count and/or specific version implementation.

*2: Result is returned as result value of call of function and can be saved as text. If text buffer is entered return value will be in text buffer and also as return value of function. If no text buffer is entered (pointer to null or zero length) no error will occur and result is only the return value of function.

*3: time to wait after send command to send next command (in milliseconds)

Table 1.3. Last communication Error list

error numberdescription
0All OK
1Time out, no data
2Time out, low data
3Bad packet header (probably other device on com port)
4Bad packet type (other device or other ECR type)
5Bad (unexpected) data length. (probably is bad country protocol specified)
6Corrupted packet.
7Wrong (corrupted) data length or Error 5 and 6 occurred on the same time.
100Is not possible to send data (operation system error).
101Not all data was send (operation system error).
200Cancelled by user.
300-399Unknown errors.

1.15. Configure text <––> binary transformations

int InitConvert(DecPosNumDisp,  
 DecPosNumRound,  
 CodingTable,  
 ItemSeparator,  
 LineSeparator); 
int  DecPosNumDisp;
int  DecPosNumRound;
char * CodingTable;
char * ItemSeparator;
char * LineSeparator;

int SetCodeTable(CodingTable);
char *CodingTable;

  • description. These functions are used to configure transformation between binary data form and text data form. Convert table can be different for receiving and sending.

  • input parameters. 

    int DecPosNumDisp

    number of decimal places for price displaying (0, 1, 2, 3)

    int DecPosNumRound

    number of decimal places for tax and price rounding and rounding algorithm

    • (0, 1, 2, 3) – number of decimal places

    • (00, 10, 20, 30) – rounding algorithm (numbers are displayed at base 10)

      • 00 – to nearest integer

      • 10 – to nearest lower integer

      • 20 – to nearest bigger integer

      • 30 – rounding by quarters (i. e. to the nearest number whose double is an integer)

    Result value is obtained by simple addition of both values (e. g. 12 – always round down to two decimal places)

    char *CodingTable

    Pointer for string containing letters of national alphabet character table (see national characters table) depends on the specific country and ECR. To determine the character table for an ECR, simply perform test 200 in the ECR.

      1. Accented characters (up to 34)

      2. character '\5' (Pascal syntax #5, Basic syntax Chr(5)) accented characters (up to 60)

      Important

      It can be performed only one of "a" or "b" steps (not both at the same time).

    1. (inactive if step 1b) has been used)

      if there were 34 characters in step 1a) then at most three special characters will follow or if character '\4' follows (and in step 1a) there were up to 34 characters), then exactly three special characters follow: „euro character“, „yen character“ and „up arrow“ (these are not used in all ECRs)

      In case that characters within range 'A'–'Z' and 'a'–'z', the conversion will take place only in the ECR->PC direction.

    2. following is character greater or equal to character ' ' (space), or a character after character '\1' will be considered a character of double width. (following = immediately following, not first one greater than ' ')

    3. characters is greater or equal to character ' ' (space), or characters following the character '\2' will be considered for characters denoting the VAT levels (displayed in the ECR as Roman numerals I–IV). If not set explicitly, these will be automatically set to characters 'A'–'F'. (this is always the unilateral conversion from ECR to PC)

      If the character '\3' is entered, the conversion is cancelled (no conversion takes place).

      1. Special character conversion PC <––> ECR. After character '\6', that is mandatory for the beginning of that block (otherwise this block will be left out), doubles of characters follow. The doubles are in format (PC character, ECR character). Block must end with character '\6'.

      2. Unilateral conversion from PC to ECR. After character '\7' (is mandatory or this block will be left out) doubles of characters follow, that are converted only in PC––>ECR direction. Doubles are in format (PC character, ECR character) Block must end with character '\7'

      3. Unilateral conversion from ECR to PC. After character '\8' (is mandatory or this block will be left out) doubles of characters follow, that are converted only in ECR––>PC direction. Doubles are in format (PC character, ECR character) Block must end with character '\8'

      Note

      Blocks 5a), 5b) and 5c) are designed to convert special characters such as characters specific to given national alphabet (Cyrillic, Greek) that visually resemble Latin characters.

    If the pointer contains NULL the table remains unchanged, regardless of country setting (or in 1:1 mode in case there is no county specified)

    char *ItemSeparator

    value for separator in line between items – not empty string (character ';' (semicolon) by default) (if ItemSeparator contains NULL it remains unchanged - default ';' semicolon)

    char *LineSeparator

    Line separator (in case of empty string there is/must be (depending on conversion direction) every row terminated with character '\0' and the entire block is/must be finished with two consecutive characters '\0') (if LineSeparator contains NULL it remains unchanged - default CR+LF = '\r\n' = 0D0A in hexadecimal code)

    Important

    ItemSeparator and LineSeparator must have different contents (mustn't contain identical characters). If this would happen, their values will not change.

  • return value

    • 0 – value settings correct

    • 1 – wrong setting for rounding algorithm (e. g. to round to more decimal places than should be displayed)

    • 2 – (not used)

    • 3 – conversion table and/or separators were not set up

    • 4 – (not used)

    • 5 – (not used)

    • 7 – ECR was not initialised

1.16. Convert binary data to text

int ConvertBinToString(CommandNum,  
 FirstItem,  
 ItemCount,  
 Data,  
 StringData); 
int  CommandNum;
int  FirstItem;
int  ItemCount;
unsigned char * Data;
char * StringData;
  • description. Function converts data from binary form (read from ECR) to text form. After one calling converts one line of final text file and saves it to variable StringData, therefore it is necessary to repeat function calling till all data are converted. This progress of part conversion from binary to text form was chosen because of lower demands of memory during data transmission. Also because it is not possible to find out largeness of memory useful for text data saving by conversion of electronic journal.

  • input parameters. 

    int CommandNum

    command number

    int FirstItem

    number of first transmitted item

    int ItemCount

    number of transmitted items

    unsigned char *Data

    Pointer to data (binary) (downloaded data from ECR).

    char *StringData

    Pointer, which will contains string for one line of converted data in text form (minimal suggested size is 200 B)

    For graphical logo is more free space needed. Size of converted data (of final BMP file) for graphical logo is:

    • 4382 B for T printers (Euro-2000T Alpha, Euro-500T Handy, Euro-100T, Euro-200T)

    • 5182 B for TX printers (Euro-500TX Handy, Euro-2100TX, Euro-2300TX, Euro-100TX, Euro-200TX)

    • 11582 B for TE printers (Euro-2000TE Alpha, Euro-500TE Handy, Euro-2100TE, Euro-200TE)

  • output parameters

    char *StringData

    StringData contains one line of converted text (or picture in BMP format in case of graphics logo conversion).

    return value
    • 0 – Conversion of particular line successful

    • 1 – All data converted (next function calling not required)

    • 3 – Convert operation not supported

    • 4 – Missing or bad pointer to binary convert data

    • 5 – Missing or bad pointer to text data

    • 6 – Bad convert range (items count).

    • 7 – Bad convert first item.

    • 8 – Error during conversion (binary data invalid).

    • 9 – ECR is not initialized - need to call function InitEcrEx or "InitEcr and InitConvert" first.

1.17. Convert binary data to text

int ConvertStringToBin(CommandNum,  
 FirstItem,  
 ItemCount,  
 Data,  
 StringData); 
int  CommandNum;
int  FirstItem;
int  ItemCount;
unsigned char * Data;
char * StringData;
  • description. Function converts data from text form to binary form. All text data are converted after one calling of function and stored in Data.

  • input parameters. 

    int CommandNum

    command number

    int FirstItem

    number of first transmitted item

    int ItemCount

    number of transmitted items

    unsigned char *Data

    Pointer to data (binary).

    char *StringData

    Pointer to string which will contains all data in text form.

  • output parameters

    unsigned char *Data

    Data contains converted binary data ("ready for ECR").

    return value
    • 0 – Conversion successful

    • 2 – Wrong BMP data.

    • 3 – Convert operation not supported

    • 4 – Missing or wrong pointer to binary convert data

    • 5 – Missing or wrong pointer to text data

    • 6 – Incorrect convert range (items count).

    • 7 – Incorrect convert first item.

    • 8 – Error during conversion (text data invalid).

    • 9 – ECR is not initialized - need to call function InitEcrEx or "InitEcr and InitConvert" first.

1.18. Activation of receiving back ONLINE data

int ReceiveEcrOnline(hWnd,  
 dwMsgNum,  
 dwTypes); 
HWND  hWnd;
DWORD  dwMsgNum;
DWORD  dwTypes;
  • description. This function activates mechanism for receiving back ONLINE data.

  • Input parameters. 

    HWND hWnd

    Window handle - to this handle will be send messages concerning received back ONLINE data.

    DWORD dwMsgNum

    Message number

    DWORD dwTypes

    Form and decoding settings:

    • 0 – binary data,

    • 1 – text data (all items are separated with items separator),

    • 3 – text data (first and second amount are separated by multiply, or division operator),

  • return value

    • -2 – communication port is not set correctly.

    • -3 – no cash register was set.

    • -4 – this operation is not supported by selected ECR type.

    • -7 – no window handle specified.

    • -8 – incorrect message number given.

    • 2 – communication aborted by user.

    • 12 – unknown communication error.

    • 13 – unknown error on sending data (operation system or hardware error).

This functions end only with error or user abort. Data receiving can be aborted with call of CancelComm function. Data meaning is described in separate chapter.

1.19. Examples

Example 1.1. Calling progress of functions by data transmission

res = InitComm(m_port, m_speed);
if (res != 0)
{
  // Can’t initialize port
  return;
}

res = InitEcr(m_ecrNum, m_ecrType);
if (res != 0)
{
  // Wrong number of ECR or type of ECR
  CloseComm();
  return;
}

res = RecvData(m_command, m_numOfItems, m_firstItem, m_data);
if (res != 0)
{
  // Wrong command or parameters ...
  CloseComm();
  return;
}

while ((res = GetStatus(&perc)) == 1)
{
  // Progress bar
}
if (res == 0) 
  // Everything OK
else 
  // Error message
CloseComm();

Example 1.2. Calling progress of functions by data conversion after data accepting from ECR

res = InitConvert(m_dispDec, m_roundDec, m_countryCode, m_sep1, m_sep2);
if (res != 0) 
{
  // Initialization of conversion failed
  return;
}

res = InitEcr(m_ecrNum, m_ecrType);
if (res != 0) 
{
  // Wrong number of ECR or type of ECR
  return;
}
while (!ConvertBinToString(m_command, m_firstItem, m_numOfItems, m_data, m_stringData))
{
  // Process m_stringData
}

Example 1.3. Calling progress of functions by data conversion before data sending to ECR

res = InitConvert(m_dispDec, m_roundDec, m_countryCode, m_sep1, m_sep2);
if (res != 0) 
{
  // Initialization of conversion failed
  return;
}

res = InitEcr(m_ecrNum, m_ecrType);
if (res != 0) 
{
  // Wrong number of ECR or type of ECR
  return;
}

res = ConvertStringToBin(m_command, m_firstItem, m_numOfItems, m_data, m_stringData);
if (res != 0) 
{
  // Error while converting data
}

// the m_data can be sent to ECR

Example 1.4. Calling progress of functions by data transmission through modems

res = InitComm(m_port, m_speed); // m_speed = 9600
if (res != 0)
{
  // Can’t initialize port
  return;
}

res = DialUp(m_phoneNumber);
if (res != 0)
{
  // Can’t make connection
  return;
}

...

CloseComm();

1.20. Range select

In API function SendData, RecvData, ConvertBinToString and ConvertStringToBin is used Range select ("number of first transmitted item" and "count (or length) of transmitted items"). These values are not used by all communication commands.

There are two ways of using these values.

  1. "number of first transmitted item" = first transmitted item count from 0 (in data type WORD)

  2. "count (or length) of transmitted items" = count of items (in data type WORD), or length of data (in data type DWORD).

Particular communication commands uses different range selects.

  1. none

    1. for SendData and RecvData = "first item number" = 0, "count (or length) of items" = 1 (values have no real meaning, bud are not ignored and must be in correct range)

    2. for ConvertBinToString and ConvertStringToBin depends range on particular conversion. E. g. Select "first item number" = 0, "count (or length) of items" = 7 if the data consist of seven records and all should be converted.

  2. type "Start & Length" - "first item number" = Start, "count (or length) of items" = Length

    For reading PLU with non-zero sale values is Start value ignored. Length mean count of PLU's with non-zero sale.

  3. type "LongLength" - "first item number" = 0, "count (or length) of items" = LongLength

1.21. Country

Table 1.4. Countries codes

NumberAcronymCountry
0(none)default (no country)
1SKSlovakia
2CZCzech Republic (non fiscal version)
3EN/GB(generic English version)
4ENf/GBf(generic fiscal law English version)
5SWOld Sweden versions
6RORomania
7PLPoland
8HUHungary
9LVLatvia
10MKMacedonia
11FIFinland
12GRGreece
13RSSerbia
14MEMonte Negro
15LTLithuania
16reservedreserved
17DEGermany
18CZfCzech Republic (fiscal law version)
19reservedreserved
20reservedreserved
21reservedreserved
22DKDenmark
23SESweden
24ATAustria

1.22. Error codes (ACK results)

Table 1.5. Error codes description

Error codeDescription
0All OK
1Communication error (wrong check sum, wrong packet, wrong operation...).
2
PLU programmed VAT assignment changed (for PLU programming).
Tax levels was not written in to the FM. (Z report was not made, or tax levels was not changed, or it was not possible to write in to the FM) (for VAL level programming).
3Opened receipt (sale in progress) in ECR (communication is not possible).
4VAT assignment is out of range or VAT is not active!
5Department assignment is out of range!
6Sales unit is out of range!
7Quantity is out of range!
8Price is out of range!
9Online sale not allowed in current ECR mode!
10Command is out of range or not allowed in this mode!
11PLU index is out of range!
12Not right hexadecimal sign code (name of PLU or number of credit card).
13Payment not allowed!
14Payment type not allowed!
15Currency payment is out of range or not allowed type of currency because ECR is in wrong Euro phase
16Not started sale! Command not allowed!!
17Wrong message line! (unsupported characters)
18Message for cashier has more than maximal allowed lines (message cannot be send).
19Electronic journal is full. Operation not possible.
20Surcharge/Discount flag out of range.
21Surcharge/Discount type out of range.
22Surcharge/Discount database type out of range.
23Value of Surcharge/Discount is out of range.
24Surcharge/Discount was wrong used (not suddenly after sold of PLU).
26Invalid bar-code
27Operation is not possible. Make daily report first.
28Operation is not possible. Fiscal memory is full.
32It is not possible to make hourly report (periodical). Make first Hourly report (daily).
33It is not possible to erase textual journal. It is necessary to read journal into PC first.
34PLU link flag is out of range.
35PLU description flag is out of range.
36PLU type flag is out of range.
37PLU stock report flag is out of range.
38PLU negative stock flag is out of range.
39PLU fractional flag is out of range.
40PLU mode flag is out of range.
41PLU halo limit flag is out of range.
42Cash register is not fiscalized. Operation is not possible. (not used in non fiscal versions)
43Discount type out of range (allowed values are 0 and 1).
44Coupon value out of range.
45Cash register is fiscalized. This operation is possible only befiore fiscalization. (not used in non fiscal versions)
46PLU consignate flag out of range.
47PLU DB type out of range.
48Wrong cash register type.
49Operation is not possible. Make PLU report first.
50Operation is not possible. Make DPT report first.
51Operation is not possible. Make cashier report first.
58Wrong dosument number (online – command 11)
59Payment is not possible. Sub-total in selected currency is nul.
60Parameter value is out of range.
101It is not possible to perform operation (wrong command combination).
103PLU not sold.
105Maximum count of PLU/lines in a sale has been reached.
106Multiplication reached maximum amount.
108It is not possible to sell item with programmed price. Programmed price is inactive.
109Particular tax level amount is over limit from the last daily report.
111Forbidden operation with returnable packs.
112Forbidden sale of PLU. PLU is inactive.
113Tax level inactive.
114Price is missing.
117Operation caused negative stock.
118Maximum price of sale is reached. Terminate the sale.
119Price HALO limit is over.
120Add-on/discount to returnable packs disabled.
122Open price is inactive. DPT (PLU) flag prevents entry of price from keyboard.
124Add-on/discount amount limit is over.
125Decimal places limit is over. 2nd system flag disables sale for more decimal places.
127Add-on/discount to negative value disabled.
128Void disabled in this stage of sale.
130Grand-Totals reached the maximum amount.
131Performed operation caused negative Grand-Total.
132Attempt of check/credit payment in foreign currency.
135Credit card payment limit is over.
136Negative value of tax level.
137Incorrect bar code.
138Name of sold item is empty. Sale is not possible.
142Negative items amount limit is over.
143Discount amount limit is over.
144Damaged tax record.
193Programmed EAN has incorrect form.
194Refund is not possible. Insufficient cashier rights.
195Final price for EAN creating limit is over.
196PLU price for EAN creating limit is over.
197PLU amount for EAN creating limit is over.
199Document entry is necessary for receipt opening.

Chapter 2. Data transfer and representation of data

2.1. Communication session

In this type of communication is not necessary to create a session (relation). All connections are only data transfers (upload to ECR, download from ECR). Simply only send/receive data to/from ECR.

2.2. Presentation of used types

2.2.1. Data types

Table 2.1. Definition of data types

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

Table 2.2. Extension of definition of numerical data types

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

Caution

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

Example 2.1. 6 byte integer number

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

2.2.2. String characters

Table 2.3. Definition of string characters (default EN version)

code in ECRcharacter / meaning
0x1fdouble 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 - 0x7astandard ASCII characters (except character 0x5b-0x60 used for vat assignment)

Note

*: Special character (read only). It is not possible to program text with these characters.

Chapter 3. Data in binary form description

Table of Contents

3.1. ECR types
3.2. Taxes interpretation
3.3. Commands list
3.4. Text logo
3.5. Text logo for Euro-2100, Euro-100 and Euro-200
3.6. System flags
3.7. System flags for Euro-2100
3.8. System flags for Euro-100 and Euro-200
3.9. Cashier names
3.10. PLU structures and commands
3.10.1. PLU commands
3.10.2. PLU commands for Euro-1000
3.10.3. PLU commands for Euro-2000 Alpha
3.10.4. PLU commands for Euro-500T/TX Handy
3.10.5. PLU commands for Euro-2100
3.10.6. PLU commands for Euro-100T
3.10.7. PLU commands for Euro-200T
3.10.8. PLU commands for Euro-200TX/TE
3.11. Programming DPTs
3.11.1. Programming DPTs for Euro-1000, Euro-2000 Alpha and Euro-500 Handy
3.11.2. Programming DPTs for Euro-2100
3.11.3. Programming DPTs for Euro-100T and Euro-200T
3.11.4. Programming DPTs for Euro-200TX/TE
3.11.5. DPT flags
3.12. Programming TAX
3.13. Functional texts
3.14. Delete PLU sale data
3.15. Execute financial report
3.16. Graphics logo
3.16.1. Graphics logo 168*180
3.16.2. Graphics logo 160*180
3.16.3. Graphics logo 240*160
3.16.4. Graphics logo 360*240
3.17. Units
3.18. Secondary currency exchange rate
3.19. ON-LINE communicatuion PC—> ECR
3.19.1. ON-LINE communication PC—>ECR
3.19.2. ON-LINE communication PC—>ECR for Euro-2100
3.19.3. ON-LINE communication PC—>ECR for Euro-100T and Euro-200T
3.19.4. ON-LINE communication PC—>ECR for Euro-200TX/TE
3.20. Extended flags for Euro-100T, Euro-200T/TX
3.21. Extended flags for Euro-2100TE
3.22. Extended flags for Euro-200TE
3.23. Clearing journals in ECR memory
3.24. Send message for cashier
3.25. Erase PLU non financial data (Execute non financial PLU Z report on ECR)
3.26. Programmable keys
3.27. Hourly report clearing
3.28. Reading DPTs report
3.28.1. Reading DPTs report for Euro-1000, Euro-2000 Alpha and Euro-500 Handy
3.28.2. Reading DPTs report for Euro-2100
3.28.3. Reading DPTs report for Euro-100T and Euro-200T
3.28.4. Reading DPTs report for Euro-200TX/TE
3.29. Reading TAX report
3.30. Receiving grand totals values
3.31. Financial report
3.32. Cashier sales report
3.33. Cashier sales report for Euro-2100TE and Euro-200TE
3.34. Cashier sales report for Euro-100 and Euro-200T/TX
3.35. Cashier sales report for Euro-200TE
3.36. Obtaining information about last sold item in PC-Online mode
3.36.1. Obtaining information about last sold item in PC-Online mode for Euro-2000 Alpha and Euro-500 Handy
3.36.2. Obtaining information about last sold item in PC-Online mode for Euro-2100
3.36.3. Obtaining information about last sold item in PC-Online mode for Euro-100T and Euro-200T
3.36.4. Obtaining information about last sold item in PC-Online mode for Euro-200TX/TE
3.37. Obtaining information about taxes of running sale in PC-Online mode
3.37.1. Data description for Euro-1000, Euro-2000 Alpha, Euro-500 Handy and Euro-2100
3.37.2. Data description for Euro-100 and Euro-200
3.38. Reading sale data of PC ONLINE sale
3.39. Reading PLU count with non zero sale
3.40. Read receipts (PC journal)
3.40.1. Read receipts (PC journal) for Euro-2100TE
3.40.2. Read receipts (PC journal) for Euro-200TE
3.41. Read bills (text journal)
3.42. Reading data about journals length
3.43. Reading content of fiscal memory
3.44. Read hourly report
3.45. Identification data and parameters of ECR

3.1. ECR types

Table 3.1. Fiscal ECR types

numbertypePLU countDPT count
0Euro-2000M Alpha2 4008
1Euro-2000T Alpha2 4008
2Euro-1000M1 0008
3Euro-1000T1 0008
4Euro-2000M Alpha10 0008
5Euro-2000T Alpha10 0008
10Euro-500T Handy2 10030
11Euro-500T Handy10 00030
13Euro-500TX Handy2 10030
14Euro-500TX Handy10 00030
22Euro-2100TX8 00030
23Euro-2100TX vesion 2 (with hardware detection)8 000 / 27 000*30
26Euro-100T1 50010
27Euro-200T2 400* / 10 000*30
28Euro-200TE2 400* / 10 000*30
29Euro-2100TE18 00030
30Euro-200TX2 400* / 10 000*30

Note

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

3.2. Taxes interpretation

  • 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)

3.3. Commands list

Table 3.2. Send to ECR

commanddescriptionEuro-1000Euro-2000 AlphaEuro-500 HandyEuro-2100Euro-100Euro-200
MTMTTTXTXTETTTXTE
0Text Logoxxxxxxxxxxxx
1System flagsxxxxxxxxxxxx
2Cashier namesxxxxxxxxxxxx
3PLU with stock state--xx--------
4DPTxxxxxxxxxxxx
5TAXxxxxxxxxxxxx
9Funct. textsxxxxxxxxxxxx
10PLU without stock statexxxx--------
12Erase PLU sale dataxxxxxxxxxxxx
13Erase daily financial report (Execute daily Z report on ECR)xxxxxxxxxxxx
15Graphics logo-x-xxxxxxxxx
16Sale units--xxxxxxxxxx
17Secondary currency exchange ratexxxxxxxxxxxx
18PC online sale--xxxxxxxxxx
21Extended flags------xxxxxx
29PLU without stock state (safety)--x*1x*1xxxxxxxx
30PLU with stock state (safety)--x*1x*1xxxx-xxx
33Erase receipts (PC journal)-------x---x
35Erase bills (text journal)-------x---x
40Send message------xx---x
41Erase PLU non financial data-------x---x
46Programmable keys------xx-xxx
51Hourly report (daily) clearing------x*2x----
52Hourly report (periodical) clearing------x*2x----
81PC online sale--------xxxx

Table 3.3. Receive from ECR

commanddescriptionEuro-1000Euro-2000 AlphaEuro-500 HandyEuro-2100Euro-100Euro-200
MTMTTTXTXTETTTXTE
128Text Logoxxxxxxxxxxxx
129System flagsxxxxxxxxxxxx
130Cashier namesxxxxxxxxxxxx
131PLU sale report (X report)xxxx--------
132DPT report (X report)xxxxxxxxxxxx
133TAX report (X report)xxxxxxxxxxxx
134GTxxxxxxxxxxxx
135Daily financial report (X report)xxxxxxxxxxxx
137Funct. textsxxxxxxxxxxxx
138PLUxxxx--------
139Cashier sales report (X report)xxxxxxxxxxxx
143Graphics logo-x-xxxxxxxxx
144Sale units--xxxxxxxxxx
145Secondary currency exchange ratexxxxxxxxxxxx
147Reading the data on last sold item via PC-ONLINE--x*1x*1xxxxxxxx
148Reading taxes in currently open sale via PC-ONLINE--x*1x*1xxxxxxxx
149Extended flags------xxxxxx
150Online sale data report (X report)--x*1x*1xxxxxxxx
151Online sale data report with erasure of data (Z report)--x*1x*1xxxxxxxx
152Sold PLU count (PLU's with non zero amount)--x*1x*1xxxxxxxx
157PLU (safety)--x*1x*1xxxxxxxx
158PLU sale report (safety) (X report)--x*1x*1xxxxxxxx
159PLU with non zero sales (X report)--x*1x*1xxxxxxxx
160Read receipts (PC journal) (X report)-------x---x
161Read receipts (PC journal) with erase (Z report)-------x---x
162Read bills (text journal) (X report)-------x---x
163Read bills (text journal) with erase (Z report)-------x---x
164Journals data length-------x---x
166Reading content of fiscal memory--x*2x*2x*2x*2xxxxxx
174Programmable keys------xx-xxx
179Read hourly report (daily) (X report)------xx----
180Read hourly report (periodical) (X report)------xx----
255Read information about current cash register------xxxxxx

Note

*1: only in ECR version 2.0 and above

*2: not supported in old version (created before march 2005).

Warning

This command list describes standard EN fiscal. Not all commands are supported in other national versions.

3.4. Text logo

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

Command number:
0 - programming
128 - receiving
Data length:6 * 24

DATA consists of 6 strings from internal hexadecimal ECR codes (6 logo lines).

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

Note

For Euro-1000T, Euro-2000T Alpha and Euro-500T Handy only first 17 characters are used. The remaining characters are ignored.

3.5. Text logo for Euro-2100, Euro-100 and Euro-200

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

Command number:
0 - programming
128 - receiving
Data length:9 * 24

DATA consists of 9 strings from internal hexadecimal ECR codes (9 logo lines).

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

Note

For Euro-100T and Euro-200T only first 18 characters are used. The remaining characters are ignored.

3.6. System flags

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

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

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

Note

Note: 0. and 1. byte is ignored by ECR after performing fiscalization.

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

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

Byte(s)Meaningtypesystem flagdigits
4-5receipt number deceased by 1 (range: <0, 9998>)WORD34-7
6ECR number (range: <1, 99>)BYTE32-3

Note

Receipt number can not be programmed from communication.

7.Byte In ECR
bitMeaningFlagnumber
0x0 – resets the receipt number after daily report, 1-clear receipt number after monthly report31
1-not used  
2-
3-
4-
5-
6-
7-

Note

In fiscal version is the value of 0th bit in 7th byte ignored and number of receipt is cleared after daily report.

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

ByteMeaningtypesystem flag
9not usedBYTE 

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

11.Byte In ECR
bitMeaningFlagnumber
0xtype of electronic scales (bits 2 and 3) - see user manual for scales types54
1x
2xPC ONLINE (0 - PC->ECR, 1 – PC->ECR and ECR->PC)55
3xpayment'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 country versions)56
4x
5x
6-   
7-

Note

Byte 10 and 11 are ignored in Euro-1000.

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

Note

Byte 12 is ignored in Euro-1000M and Euro-2000M. (Works only with thermal printers = T, TE, TX types of ECR)

Note

For Euro-500 Handy is always used large font (byte 12, 5th bit).

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

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

Example 3.1. Time

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

Example 3.2. Date

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

Important

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

3.7. System flags for Euro-2100

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

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

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

Note

Note: 0. and 1. byte is ignored by ECR after performing fiscalization.

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

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

Byte(s)Meaningtypesystem flagdigits
4-5receipt number deceased by 1 (range: <0, 9998>)WORD34-7
6ECR number (range: <1, 99>)BYTE32-3

Note

Receipt number can not be programmed from communication.

7.Byte In ECR
bitMeaningFlagnumber
0x0 – resets the receipt number after daily report, 1-clear receipt number after monthly report31
1-not used  
2-
3-
4-
5-
6-
7-

Note

In fiscal version is the value of 0th bit in 7th byte ignored and number of receipt is cleared after daily report.

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

ByteMeaningtypesystem flag
9not usedBYTE 

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

11.Byte In ECR
bitMeaningFlagnumber
0xtype of electronic scales (bits 2 and 3) - see user manual for scales types54
1x
2xPC ONLINE (0 - PC->ECR, 1 – PC->ECR and ECR->PC)55
3xpayment'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 country versions)56
4x
5x
6-   
7-

Note

Byte 10 and 11 are ignored in Euro-1000.

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

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

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

Example 3.3. Time

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

Example 3.4. Date

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

Important

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

3.8. System flags for Euro-100 and Euro-200

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

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

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

Note

Note: 0. and 1. byte is ignored by ECR after performing fiscalization.

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

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

Byte(s)Meaningtypesystem flagdigits
4-5receipt number deceased by 1 (range: <0, 9998>)WORD34-7
6ECR number (range: <1, 99>)BYTE32-3

Note

Receipt number can not be programmed from communication.

7.Byte In ECR
bitMeaningFlagnumber
0x0 – resets the receipt number after daily report, 1-clear receipt number after monthly report31
1-not used  
2-
3-
4-
5-
6-
7-

Note

In fiscal version is the value of 0th bit in 7th byte ignored and number of receipt is cleared after daily report.

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

ByteMeaningtype
9not usedBYTE

10.Byte In ECR
bitMeaningFlagnumber
0xPC communication port*15a1
1x
2x
3xCommunication speed for communication with PC (0 – 9600 or 1 – 38400)5a2
4x
5xPC ONLINE mode (0 - PC->ECR, 1 – PC->ECR and ECR->PC)5a3
6xPayment's terminal communication port*3. (first two (lower) bits)5a4
7x

Note

*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
bitMeaningFlagnumber
0xPayment's terminal communication port*3. (third (highest) bit)5a4
1xPayment's terminal protocol type: 0 - Dionica CZ CSSP, 1 - Dionica SK SLSP, 2 - CHRONOS–Cybernet, 3 - Verifone, 4 - Bull Amadeo  
2x  
3x  
4x  
5-not used  
6-
7-

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

Note

*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
bitMeaningFlagnumber
0xPrimary scales communication port*45b4
1x
2x
3xType of primary electronic scales - see user manual for scales types5b5
4x
5x
6x
7xSecondary scales communication port*5 (first - (lower) bit)5b6

Note

*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
bitMeaningFlagnumber
0xSecondary scales communication port*5 (second and third - (higher) bits)5b6
1x
2xType of secondary electronic scales - see user manual for scales types5b7
3x
4x
5x
6-not used  
7-

ByteMeaningtype
15not usedBYTE

16.Byte In ECR
bitMeaningFlagnumber
0xUsed external RS-232/RS-485 converter with manual direction control (0-no, 1-yes)5c1
1xActive level to switch converter direction (0 – logical 0, 1 – logical 1)5c2
2xtime [µs x 10] to switch RS-485/RS-232 converter connected to PC for data receiving, value 2 means 20 [µs] (bits 0 - 5)5c3-6
3x
4x
5x
6x
7x

17.Byte In ECR
bitMeaningFlagnumber
0xtime [µs x 10] to switch RS-485/RS-232 converter connected to PC for data receiving, value 2 means 20 [µs] (bits 6 - 10)5c3-6
1x
2x
3x
4x
5-not used  
6-
7-

18.Byte In ECR
bitMeaningFlagnumber
0xfont for battery power supply61
1x
2xfont for adapter power supply62
3x
4xgraphical logo printing 0 – no, 1 – yes63
5-0 – large font (2,5 mm high) (always used large font), 1 – small font (2 mm high) (not used)64
6-not used  
7xstandby mode time (bit 0)65

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

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

Example 3.5. Time

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

Example 3.6. Date

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

Note

Change (overwrite) date and time (bytes 28 – 39) is possible only if daily report is done.

3.9. Cashier names

Data contains cashier names.

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

Note

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

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

3.10. PLU structures and commands

Data contains information about PLUs.

3.10.1. PLU commands

commandshort descriptionused in ECRs
3programming PLU with stock stateEuro-2000 Alpha
10programming PLU without stock state
Euro-1000
Euro-2000 Alpha
29programming PLU without stock state (safety)
Euro-2000 Alpha
Euro-500T/TX Handy
Euro-2100
Euro-100T
Euro-200T
Euro-200TX/TE
30programming PLU with stock state (safety)
Euro-2000 Alpha
Euro-500T/TX Handy
Euro-2100
Euro-200T
Euro-200TX/TE
131receive PLU sale report
Euro-1000
Euro-2000 Alpha
138receive programmed PLU
Euro-1000
Euro-2000 Alpha
157receive programmed PLU (safety)
Euro-2000 Alpha
Euro-500T/TX Handy
Euro-2100
Euro-100T
Euro-200T
Euro-200TX/TE
158receive PLU sale report (safety)
Euro-2000 Alpha
Euro-500T/TX Handy
Euro-2100
Euro-100T
Euro-200T
Euro-200TX/TE
159receive PLU non zero sale report (safety)
Euro-2000 Alpha
Euro-500T/TX Handy
Euro-2100
Euro-100T
Euro-200T
Euro-200TX/TE

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

Note

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

Example 3.7. Adding PLU stock

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

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

Note

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

Example 3.8. Subtracting PLU stock

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

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

Important

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

3.10.2. PLU commands for Euro-1000

3.10.2.1. Programming PLU into Euro-1000

Command number:10 - programming PLU without stock state
Data length:n * 30

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-8--7not used 
9-22string14PLU namecharacters
23-25FLAGS3Euro-1000 Flags 
26-29DWORD(*)4PLU price<0, 99 999 999>

3.10.2.2. Receiving programmed PLUs from Euro-1000

Command number:138 - receive programmed PLU
Data length:n * 32

BytestypelengthMeaning
0-6---7not used
7-20string14PLU name
21-23FLAGS3Euro-1000 Flags
24-27DWORD(*)4PLU price
28-31---4not used

3.10.2.3. Receiving PLU sale report from Euro-1000

Command number:131 - receive PLU sale report
Data length:n * 44

BytestypelengthMeaning
0-6---7not used
7-20string14PLU name
21-23FLAGS3Euro-1000 Flags
24-27DWORD(*)4PLU price
28-35double(*)8total sale
36-39long(3)4number of sales
40-43---4not used

3.10.2.4. PLU flags for Euro-1000

0.Byte In ECR
bitMeaningFlagnumber
0xdescriptive PLU (0 - no, 1 - yes)13
1xsingle PLU sale (0 - no, 1 - yes)14
2-not used  
3-not used  
4-not used  
5-not used  
6-
7-

1.Byte In ECR
bitMeaningFlagnumber
0xDPT assignment (range: <0, 7>, 0 means DPT1, 7 means DPT8)12
1x
2x
3xSale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset15
4x
5xPrice limits (range: <0, 7>, 0 means limit price to 1 digit...)16
6x
7x

2.Byte In ECR
bitMeaningFlagnumber
0xAssignment to VAT level.11
1x
2x
3x
4-not used  
5-
6-
7-

3.10.3. PLU commands for Euro-2000 Alpha

3.10.3.1. Programming PLU with stock state into Euro-2000 Alpha

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

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

<0, 999 999 999>*stock

3.10.3.2. Programming PLU without stock state into Euro-2000 Alpha

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

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

3.10.3.3. Receiving programmed PLUs from Euro-2000 Alpha

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

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

3.10.3.4. Receiving PLU sale report from Euro-2000 Alpha

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

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

3.10.3.5. Receiving PLU non zero sale report from Euro-2000 Alpha

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

Important

This command use Range select. See detailed description.

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

3.10.3.6. PLU flags for Euro-2000 Alpha

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

1.Byte In ECR
bitMeaningFlagnumber
0xDPT assignment (range: <0, 7>, 0 means DPT1, 7 means DPT8)12
1x
2x
3xSale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset15
4x
5xPrice limits (range: <0, 7>, 0 means limit price to 1 digit...)27
6x
7x

2.Byte In ECR
bitMeaningFlagnumber
0xAssignment to VAT level.11
1x
2x
3x
4xLinked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015).21-2
5x
6x
7x

3.10.4. PLU commands for Euro-500T/TX Handy

3.10.4.1. Programming PLU with stock state into Euro-500T/TX Handy

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

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-8BARCODE7bar-code13 numbers
9-22string14PLU namecharacters
23-27FLAGS5Euro-500 Handy Flags 
28-31DWORD(*)4PLU price<0, 99 999 999>
32-35long(3)4stock value of particular PLU

<0, 999 999 999>*stock

3.10.4.2. Programming PLU without stock state into Euro-500T/TX Handy

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

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-8BARCODE7bar-code13 numbers
9-22string14PLU namecharacters
23-27FLAGS5Euro-500 Handy Flags 
28-31DWORD(*)4PLU price<0, 99 999 999>

3.10.4.3. Receiving programmed PLUs from Euro-500T/TX Handy

Command number:157 - Receive programmed PLUs (safety)
Data length:n * 34

BytestypelengthMeaning
0-6BARCODE7bar-code
7-20string14PLU name
21-25FLAGS5Euro-500 Handy Flags
26-29DWORD(*)4PLU price
30-33long(3)4stock value of particular PLU

3.10.4.4. Receiving PLU sale report from Euro-500T/TX Handy

Command number:158 - Receive PLU sale report (safety)
Data length:n * 46

BytestypelengthMeaning
0-6BARCODE7bar-code
7-20string14PLU name
21-25FLAGS5Euro-500 Handy Flags
26-29DWORD(*)4PLU price
30-37double(*)8total sale
38-41long(3)4number of sales
42-45long(3)4stock value of particular PLU

3.10.4.5. Receiving PLU non zero sale report from Euro-500T/TX Handy

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

Important

This command use Range select. See detailed description.

BytestypelengthMeaning
0-1WORD2PLU number
2-8BARCODE7bar-code
9-22string14PLU name
23-27FLAGS5Euro-500 Handy Flags
28-31DWORD(*)4PLU price
32-39double(*)8total sale
40-43long(3)4number of sales
44-47long(3)4stock value of particular PLU

3.10.4.6. PLU flags for Euro-500 Handy

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

ByteMeaningtypePLU flagnumbers
1DPT assignment (range: <0, 29>, 0 means DPT1, 29 means DPT30)BYTE12-3

2.Byte In ECR
bitMeaningFlagnumber
0xAssignment to VAT level.11
1x
2x
3x
4xLinked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015).21-2
5x
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xSale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset16
1x
2xPrice limits (range: <0, 7>, 0 means limit price to 1 digit...)27
3x
4x
5-not used  
6-
7-

ByteMeaningtypePLU flagnumbers
4not usedBYTE  

3.10.5. PLU commands for Euro-2100

3.10.5.1. Programming PLU with stock state into Euro-2100

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

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

<-999 999 999, 999 999 999>*stock

3.10.5.2. Programming PLU without stock state into Euro-2100

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

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

3.10.5.3. Receiving programmed PLUs from Euro-2100

Command number:157 - Receive programmed PLUs (safety)
Data length:n * 42

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

3.10.5.4. Receiving PLU sale report from Euro-2100

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

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

3.10.5.5. Receiving PLU non zero sale report from Euro-2100

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

Important

This command use Range select. See detailed description.

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

3.10.5.6. PLU flags for Euro-2100

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

ByteMeaningtypePLU flagnumbers
1DPT assignment (range: <0, 29>, 0 means DPT1, 29 means DPT30)BYTE12-3

2.Byte In ECR
bitMeaningFlagnumber
0xAssignment to VAT level.11
1x
2x
3x
4xLinked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015).21-2
5x
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xSale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset16
1x
2xPrice limits (range: <0, 7>, 0 means limit price to 1 digit...)27
3x
4x
5-not used  
6-
7-

ByteMeaningtypePLU flagnumbers
4not usedBYTE  

3.10.6. PLU commands for Euro-100T

3.10.6.1. Programming PLU without stock state into Euro-100T

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

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-28string18PLU namecharacters
29-33FLAGS5Euro-100 Flags 
34-37DWORD(*)4PLU price<0, 99 999 999>

3.10.6.2. Receiving programmed PLUs from Euro-100T

Command number:157 - Receive programmed PLUs (safety)
Data length:n * 36

BytestypelengthMeaning
0-8BARCODE9bar-code
9-26string18PLU name
27-31FLAGS5Euro-100 Flags
32-35DWORD(*)4PLU price

3.10.6.3. Receiving PLU sale report from Euro-100T

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

BytestypelengthMeaning
0-8BARCODE9bar-code
9-26string18PLU name
27-31FLAGS5Euro-100 Flags
32-35DWORD(*)4PLU price
36-43double(*)8total sale
44-47long(3)4number of sales

3.10.6.4. Receiving PLU non zero sale report from Euro-100T

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

Important

This command use Range select. See detailed description.

BytestypelengthMeaning
0-1WORD2PLU number
2-10BARCODE9bar-code
11-28string18PLU name
29-33FLAGS5Euro-100 Flags
34-37DWORD(*)4PLU price
38-45double(*)8total sale
46-49long(3)4number of sales

3.10.6.5. PLU flags for Euro-100

0.Byte In ECR
bitMeaningFlagnumber
0xdescriptive PLU (0 - no, 1 - yes)14
1xsingle PLU sale (0 - no, 1 - yes)15
2-not used  
3-
4xpossibility of fragmentary amount sale (0 - no, 1 - yes)24
5xSale unit (range: <0, 7>)23
6x
7x

ByteMeaningtypePLU flagnumbers
1DPT assignment (range: <0, 9>, 0 means DPT1, 9 means DPT10)BYTE12-3

2.Byte In ECR
bitMeaningFlagnumber
0xAssignment to VAT level.11
1x
2x
3x
4xLinked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015).21-2
5x
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xSale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset16
1x
2xPrice limits (range: <0, 7>, 0 means limit price to 1 digit...)25
3x
4x
5-not used  
6-
7-

ByteMeaningtypePLU flagnumbers
4not usedBYTE  

3.10.7. PLU commands for Euro-200T

3.10.7.1. Programming PLU with stock state into Euro-200T

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

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-28string18PLU namecharacters
29-33FLAGS5Euro-100 Flags 
34-37DWORD(*)4PLU price<0, 99 999 999>
38-41long(3)4stock value of particular PLU

<-999 999 999, 999 999 999>*stock

3.10.7.2. Programming PLU without stock state into Euro-200T

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

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-28string18PLU namecharacters
29-33FLAGS5Euro-100 Flags 
34-37DWORD(*)4PLU price<0, 99 999 999>

3.10.7.3. Receiving programmed PLUs from Euro-200T

Command number:157 - Receive programmed PLUs (safety)
Data length:n * 40

BytestypelengthMeaning
0-8BARCODE9bar-code
9-26string18PLU name
27-31FLAGS5Euro-200 Flags
32-35DWORD(*)4PLU price
36-39long(3)4stock value of particular PLU

3.10.7.4. Receiving PLU sale report from Euro-200T

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

BytestypelengthMeaning
0-8BARCODE9bar-code
9-26string18PLU name
27-31FLAGS5Euro-200 Flags
32-35DWORD(*)4PLU price
36-43double(*)8total sale
44-47long(3)4number of sales
48-51long(3)4stock value of particular PLU

3.10.7.5. Receiving PLU non zero sale report from Euro-200T

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

Important

This command use Range select. See detailed description.

BytestypelengthMeaning
0-1WORD2PLU number
2-10BARCODE9bar-code
11-28string18PLU name
29-33FLAGS5Euro-200 Flags
34-37DWORD(*)4PLU price
38-45double(*)8total sale
46-49long(3)4number of sales
50-53long(3)4stock value of particular PLU

3.10.7.6. PLU flags for Euro-200

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

ByteMeaningtypePLU flagnumbers
1DPT assignment (range: <0, 29>, 0 means DPT1, 29 means DPT30)BYTE12-3

2.Byte In ECR
bitMeaningFlagnumber
0xAssignment to VAT level.11
1x
2x
3x
4xLinked PLU (range: <0, 15>, 0 means no linked PLU, 1-15 means linked PLU 1001-1015).21-2
5x
6x
7x

3.Byte In ECR
bitMeaningFlagnumber
0xSale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset16
1x
2xPrice limits (range: <0, 7>, 0 means limit price to 1 digit...)27
3x
4x
5-not used  
6-
7-

ByteMeaningtypePLU flagnumbers
4not usedBYTE  

3.10.8. PLU commands for Euro-200TX/TE

3.10.8.1. Programming PLU with stock state into Euro-200TX/TE

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

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-34string24PLU namecharacters
35-39FLAGS5Euro-200 Flags 
40-43DWORD(*)4PLU price<0, 99 999 999>
44-47long(3)4stock value of particular PLU

<-999 999 999, 999 999 999>*stock

3.10.8.2. Programming PLU without stock state into Euro-200TX/TE

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

BytestypelengthMeaningrange
0-1WORD2PLU number<1, MAX PLU>
2-10BARCODE9bar-code18 numbers
11-34string24PLU namecharacters
35-39FLAGS5Euro-200 Flags 
40-43DWORD(*)4PLU price<0, 99 999 999>

3.10.8.3. Receiving programmed PLUs from Euro-200TX/TE

Command number:157 - Receive programmed PLUs (safety)
Data length:n * 46

BytestypelengthMeaning
0-8BARCODE9bar-code
9-32string24PLU name
33-37FLAGS5Euro-200 Flags
38-41DWORD(*)4PLU price
42-45long(3)4stock value of particular PLU

3.10.8.4. Receiving PLU sale report from Euro-200TX/TE

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

BytestypelengthMeaning
0-8BARCODE9bar-code
9-32string24PLU name
33-37FLAGS5Euro-200 Flags
38-41DWORD(*)4PLU price
42-49double(*)8total sale
50-53long(3)4number of sales
54-57long(3)4stock value of particular PLU

3.10.8.5. Receiving PLU non zero sale report from Euro-200TX/TE

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

Important

This command use Range select. See detailed description.

BytestypelengthMeaning
0-1WORD2PLU number
2-10BARCODE9bar-code
11-34string24PLU name
35-39FLAGS5Euro-200 Flags
40-43DWORD(*)4PLU price
44-51double(*)8total sale
52-55long(3)4number of sales
56-59long(3)4stock value of particular PLU

3.11. Programming DPTs

Data contains DPT names, flags and prices.

3.11.1. Programming DPTs for Euro-1000, Euro-2000 Alpha and Euro-500 Handy

Count of departments depends on cash register type.

Command number:4
Data length:
8*20 for Euro-1000, Euro-2000 Alpha
30*20 for Euro-500 Handy

Byte(s)Meaningtyperange
0-13DPT name (in internal hexadecimal code of ECR)stringcharacters
14-15DPT FLAGS  
16-19priceDWORD(*)<0, 99 999 999>

3.11.2. Programming DPTs for Euro-2100

Command number:4
Data length:30*26 (for Euro-2100)

Byte(s)Meaningtyperange
0-19DPT name (in internal hexadecimal code of ECR)stringcharacters
20-21DPT FLAGS  
22-25priceDWORD(*)<0, 99 999 999>

3.11.3. Programming DPTs for Euro-100T and Euro-200T

Data contains DPT names, flags and prices.

Command number:4
Data length:
10*24 for Euro-100T
30*24 for Euro-200T

Byte(s)Meaningtyperange
0-17DPT name (in internal hexadecimal code of ECR)stringcharacters
18-19DPT FLAGS  
20-23priceDWORD(*)<0, 99 999 999>

3.11.4. Programming DPTs for Euro-200TX/TE

Command number:4
Data length:30*30B

Byte(s)Meaningtyperange
0-23DPT name (in internal hexadecimal code of ECR)stringcharacters
24-25DPT FLAGS  
26-29priceDWORD(*)<0, 99 999 999>

3.11.5. DPT flags

0.Byte In ECR
bitMeaningFlagnumber
0xAssignment to VAT level.11
1x
2x
3x
4xsingle DPT sale (0 - no, 1 - yes)12
5xSale features: 0 – forbidden, 1 – open, 2 – preset, 3 – open and preset14
6x
7xNegative department (0 - no, 1 - yes)13

1.Byte In ECR
bitMeaningFlagnumber
0xPrice limits (range: <0, 7>, 0 means limit price to 1 digit...)15
1x
2x
3x
4-   
5-
6-
7-

3.12. Programming TAX

Data contains values for VAT levels.

Command number:5
Data length:7*12

Byte(s)Meaningtyperange
0-9VAT description (text)stringcharacters
10-11VAT level rateWORD(2)<0, 10000>

Note

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)!

Important

Changing of VAT levels is possible only after report.

3.13. Functional texts

Data contains texts printed on receipt.

Command number:
9 - programming
137 - reading
Data length:10*24

Byte(s)Meaningtyperange
0-24functional textsstringcharacters

Note

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.MeaningImplicitly
1Cash payment descriptionCASH
2Check payment descriptionCHECK
3Credit card payment descriptionCREDIT
4Change value descriptionCHANGE
5Description of refund operationREFUND
6Description of void operationVOID
7Description of Received on account entries cash or checkRA
8Description of Cash or check paid out entriesPO
9Description of total sale valueTOTAL
10Description of text during reference number printingDOCUMENT NUMBER

3.14. Delete PLU sale data

Command number:12
Data length:1

Important

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

ByteMeaningtyperange
0not usedBYTE 

3.15. Execute financial report

Command number:13 - Exacute daily financial report
Data length:1

ByteMeaningtyperange
0Not usedBYTE 

3.16. Graphics logo

3.16.1. Graphics logo 168*180

Data contains B&W bitmap of graphical logo.

Used in Euro-1000T, Euro-2000T Alpha, Euro-500T Handy.

Command number:
15 - programming
143 - receiving
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.

3.16.2. Graphics logo 160*180

Data contains B&W bitmap of graphical logo.

Used in Euro-100T and Euro-200T.

Command number:
15 - programming
143 - receiving
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.

3.16.3. Graphics logo 240*160

Data contains B&W bitmap of graphical logo.

Used in Euro-500TX Handy, Euro-2100TX and Euro-200TX.

Command number:
15 - programming
143 - receiving
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.

3.16.4. Graphics logo 360*240

Data contains B&W bitmap of graphical logo.

Used in Euro-2100TE and Euro-200TE.

Command number:
15 - programming
143 - receiving
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.

3.17. Units

Data contains sale units (pieces, bottles, e.t.c.).

Command number:
16 - programming
144 - receiving
Data length:8 * 3 - for programming and receiving

Byte(s)Meaningtyperange
0-2Unit namestringcharacters

3.18. Secondary currency exchange rate

Data contains secondary currency exchange rate.

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

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

Note

It is possible to program all exchange rates between 0.0001 and 10000.0 with maximal 6 valid digits (leading and trailing zeros are not valid digits). Rates 0.000123456 or 9876.54 are valid. Rate 0.0001234567 will be truncated and rounded (to 0.000123457).

3.19. ON-LINE communicatuion PC—> ECR

3.19.1. ON-LINE communication PC—>ECR

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

Important

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)Meaningtype
0–26Data depending on command 
27command numberBYTE

Table 3.5. Online commands

numberdescription
1PLU sale
2PLU refund
3Finish salesimulation of TOTAL key pressing
4Finish PC ONLINE communication
5Payment
6PLU void

Warning

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.

Important

Between online commands must be wait time. Description of Wait times see in appendix.

3.19.1.1. ON-LINE sale commands

Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).

Byte(s)Meaningtyperange
0–13PLU name (or text)stringcharacters
14unit name*1 (number)BYTE<0, 8>*1
15DPT assignmentBYTE
<1, 8> for Euro-2000 Alpha
<1, 30> for Euro-500 Handy
16VAT level assignmentBYTEtaxes
17-20priceDWORD(*)<0, 99 999 999>
21-24quantityDWORD(#)<1, 9 999 999>
25-26index*2WORD<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)

        Important

        Indirect void is supported only by cash registers with alphanumerical display.

Example 3.9. Online sale and void

Operation (command)Content of buffer of sold PLUNumber of PLU-s in bufferResult
Indexes in buffer of sold PLUContent
PLU 1 sale (1)1.PLU 11OK
PLU 2 sale (1)
1.
2.
PLU 1
PLU 2
2OK
PLU 1 voiding (6) index = 11.PLU 21OK
Descriptive PLU 3 sale (1)1.PLU 21OK
PLU 2 voiding (6) index = 21.PLU 21Err
PLU 2 voiding (6) index = 1 empty0OK
PLU 4 sale (1)1.PLU 41OK

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.

3.19.1.2. ON-LINE finish

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...).

3.19.1.3. ON-LINE payment

Description of data used in command 5 (payment method).

Byte(s)Meaningtyperange
0–3paid sumDWORD(*)<1, 2 100 000 000>
4payment typeBYTE
0 – cash
1 – check
2 – credit*3
5flag paid in currency*4BYTE
0 – paid in base currency
1 – paid in secondary currency
6-25ASCII string contains credit card numberstringnumerical characters*5
26not usedBYTE 

*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}.

3.19.2. ON-LINE communication PC—>ECR for Euro-2100

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

Important

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)Meaningtype
0–32Data depending on command 
33command numberBYTE

Table 3.6. Online commands

numberdescription
1PLU sale
2PLU refund
3Finish salesimulation of TOTAL key pressing
4Finish PC ONLINE communication
5Payment
6PLU void

Warning

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.

Important

Between online commands must be wait time. Description of Wait times see in appendix.

3.19.2.1. ON-LINE sale commands (for Euro-2100)

Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).

Byte(s)Meaningtyperange
0–19PLU name (or text)stringcharacters
20unit name*1 (number)BYTE<0, 8>*1
21DPT assignmentBYTE<1, 30>
22VAT level assignmentBYTEtaxes
23-26priceDWORD(*)<0, 99 999 999>
27-30quantityDWORD(#)<1, 9 999 999>
31-32index*2WORD<0, MaxPLU>*2

Signs *1 and *2 have the same meaning like previous online commands.

3.19.2.2. ON-LINE finish (for Euro-2100)

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...).

3.19.2.3. ON-LINE payment (for Euro-2100)

Description of data used in command 5 (payment method).

Byte(s)Meaningtyperange
0–3paid sumDWORD(*)<1, 2 100 000 000>
4payment typeBYTE
0 – cash
1 – check
2 – credit*3
5flag paid in currency*4BYTE
0 – paid in base currency
1 – paid in secondary currency
6-25ASCII string contains credit card numberstringnumerical characters*5
26-32not usedBYTE 

Signs *3, *4 and *5 have the same meaning like previous online commands.

3.19.3. ON-LINE communication PC—>ECR for Euro-100T and Euro-200T

ON-LINE mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).

Command number:
18 (normal ONLINE)
81 (fast ONLINE)
Data length:32 for Euro-100T and Euro-200T

Important

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)Meaningtype
0–30Data depending on command 
31command numberBYTE

Table 3.7. Online commands

numberdescription
1PLU sale
2PLU refund
3Finish salesimulation of TOTAL key pressing
4Finish PC ONLINE communication
5Payment
6PLU void
7Surcharge / discount
8sub-total
9Receipt void

Warning

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.

Important

Between online commands must be wait time. Description of Wait times see in appendix.

3.19.3.1. ON-LINE sale commands (for Euro-100T and Euro-200T)

Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).

Byte(s)Meaningtyperange
0–17PLU name (or text)stringcharacters
18unit name*1 (number)BYTE<0, 8>*1
19DPT assignmentBYTE
<1, 10> pre Euro-100
<1, 30> pre Euro-200
20VAT level assignmentBYTEtaxes
21-24priceDWORD(*)<0, 99 999 999>
25-28quantityDWORD(#)<1, 9 999 999>
29-30index*2WORD<0, MaxPLU>*2

Signs *1 and *2 have the same meaning like previous online commands.

3.19.3.2. ON-LINE finish and sub-total (for Euro-100T and Euro-200T)

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).

3.19.3.3. ON-LINE payment (for Euro-100T and Euro-200T)

Description of data used in command 5 (payment method).

Byte(s)Meaningtyperange
0–3paid sumDWORD(*)<1, 2 100 000 000>
4payment typeBYTE
0 – cash
1 – check
2 – credit*3
5flag paid in currency*4BYTE
0 – paid in base currency
1 – paid in secondary currency
6-25ASCII string contains credit card numberstringnumerical characters*5
26-30not usedBYTE 

Signs *3, *4 and *5 have the same meaning like previous online commands.

3.19.3.4. Surcharge/Discount (for Euro-100T and Euro-200T)

Description of data used in command 7 (Surcharge/Discount).

Byte(s)Meaningtypemeaning / range
0Surcharge/Discount flagBYTE
0 – surcharge will be applied
1 – discount will be applied
1Surcharge/Discount typeBYTE
0 – on last sold item
1 – on whole subtotal
2Database typeBYTE
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
3-4Value in percentsWORD<0, 99> (<0%, 99%>)
5-8Surcharge/Discount valueDWORD(*)<0, Last item / Sub-total price>
9Value / percentage Surcharge/Discount typeBYTE
0 – Percentual Surcharge/Discount is used
1 – Value Surcharge/Discount is used
10-30not usedBYTE 

3.19.4. ON-LINE communication PC—>ECR for Euro-200TX/TE

ON-LINE mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).

Command number:
18 (normal ONLINE)
81 (fast ONLINE)
Data length:38 for Euro-200TX/TE

Important

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)Meaningtype
0–36Data depending on command 
37command numberBYTE

Table 3.8. Online commands

numberdescription
1PLU sale
2PLU refund
3Finish salesimulation of TOTAL key pressing
4Finish PC ONLINE communication
5Payment
6PLU void
7Surcharge / discount
8sub-total
9Receipt void

Warning

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.

Important

Between online commands must be wait time. Description of Wait times see in appendix.

3.19.4.1. ON-LINE sale commands (for Euro-200TX/TE)

Description of data used in commands 1 (PLU sale), 2 (PLU refund) and 6 (PLU void).

Byte(s)Meaningtyperange
0–23PLU name (or text)stringcharacters
24unit name*1 (number)BYTE<0, 8>*1
25DPT assignmentBYTE<1, 30>
26VAT level assignmentBYTEtaxes
27-30priceDWORD(*)<0, 99 999 999>
31-34quantityDWORD(#)<1, 9 999 999>
35-36index*2WORD<0, MaxPLU>*2

Signs *1 and *2 have the same meaning like previous online commands.

3.19.4.2. ON-LINE finish and sub-total (for Euro-200TX/TE)

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).

3.19.4.3. ON-LINE payment (for Euro-200TX/TE)

Description of data used in command 5 (payment method).

Byte(s)Meaningtyperange
0–3paid sumDWORD(*)<1, 2 100 000 000>
4payment typeBYTE
0 – cash
1 – check
2 – credit*3
5flag paid in currency*4BYTE
0 – paid in base currency
1 – paid in secondary currency
6-25ASCII string contains credit card numberstringnumerical characters*5
26-36not usedBYTE 

Signs *3, *4 and *5 have the same meaning like previous online commands.

3.19.4.4. Surcharge/Discount

Description of data used in command 7 (Surcharge/Discount).

Byte(s)Meaningtypemeaning / range
0Surcharge/Discount flagBYTE
0 – surcharge will be applied
1 – discount will be applied
1Surcharge/Discount typeBYTE
0 – on last sold item
1 – on whole subtotal
2Database typeBYTE
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
3-4Value in percentsWORD<0, 99> (<0%, 99%>)
5-8Surcharge/Discount valueDWORD(*)<0, Last item / Sub-total price>
9Value / percentage Surcharge/Discount typeBYTE
0 – Percentual Surcharge/Discount is used
1 – Value Surcharge/Discount is used
10-36not usedBYTE 

3.20. Extended flags for Euro-100T, Euro-200T/TX

Command number:
21 - programming
149 - receiving
Data length:10

Note

Bytes 0 to 7 are not used.

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

3.21. Extended flags for Euro-2100TE

Command number:
21 - programming
149 - receiving
Data length:10

0.Byte In ECR
bitMeaningFlagdigit
0-not used1 
1xPrint duplicate receipt: 1 – immediately on tape, 0 – to ECR memory2
2xReceipt logo store: 1 – yes, 0 – no3
3xText journal data are resettled automatically with daily report: 1 – yes, 0 – no4
4xSave text data: 1 – yes, 0 – no5
5-not used  
6-
7-

1.Byte In ECR
bitMeaningFlagdigit
0xPayment order sale: 1 – available, 2 – available with control, 0 – not available21
1x
2xSet customer number at the beginning of receipt: 1 – obligatory, 0 – not obligatory2
3xUpdate sale data together with hand out receipt (general sold amount and price): 0-no, 1-yes3
4xTax info save to PC journal: 0 – no, 1 – yes31
5xPC journal data is possible to clear from keyboard of ECR: 0 – no, 1 – yes2
6xPC journal data save to ECR memory: 0 – no, 1 – yes3
7-not used  

ByteMeaningtypeFlagdigit
2type of secondary electronic scales - see user manual for scales typesBYTE71
3not used---

4.&5. Byte In ECR
bitMeaningFlagnumber
0xNumber of decimal places for coding price to bar code (range: <0, 3>)45
1x
2xPLU number for coding total price to bar code (range: <0001, 9999>) – ignored in mode 4 (see bytes 6.&7.)53-6
3x
4x
5x
6x
7x
8x
9x
10x
11x
12x
13x
14x
15x

6.&7. Byte In ECR
bitMeaningFlagnumber
0xPrint mode of bar code:
  • 0 – not printed,

  • 1 – with total price,

  • 2 – with coded amount,

  • 3 – with coded price,

  • 4 – for each PLU

42
1x
2x
3xPrefix for bar code (range: <1, 99>)51-2
4x
5x
6x
7x
8x
9x
10xNumber of decimal place for price coding to bar code (range: <1, 5>)46
11x
12x
13xPermission of refund operation:
  • 0 – for all cashiers,

  • 1 to 6 – for specific cashier

41
14x
15x

Note

If second digit is set to value 4 the bar-code will be printed only if the bar-code for particular PLU was entered.

Note

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).

Warning

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
bitMeaningFlagnumber
0xPrint numeric part of bar code: 0-no, 1-yes44
1xNumber of empty lines after PLU code printing (range: <1, 9>)43
2x
3x
4x
5xLook-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes61
6xLook-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes62
7xprinting mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code63
8x
9xprinting mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code64
10x
11xPrint 18-digit bar-codes: 0-no, 1-yes65
12-not used  
13-
14-
15-

3.22. Extended flags for Euro-200TE

Command number:
21 - programming
149 - receiving
Data length:10

0.Byte In ECR
bitMeaningFlagdigit
0-not used1 
1xPrint duplicate receipt: 1 – immediately on tape, 0 – to ECR memory2
2xReceipt logo store: 1 – yes, 0 – no3
3xText journal data are resettled automatically with daily report: 1 – yes, 0 – no4
4xSave text data: 1 – yes, 0 – no5
5-not used  
6-
7-

1.Byte In ECR
bitMeaningFlagdigit
0xPayment order sale: 1 – available, 2 – available with control, 0 – not available21
1x
2xSet customer number at the beginning of receipt: 1 – obligatory, 0 – not obligatory2
3xUpdate sale data together with hand out receipt (general sold amount and price): 0-no, 1-yes3
4xTax info save to PC journal: 0 – no, 1 – yes31
5xPC journal data is possible to clear from keyboard of ECR: 0 – no, 1 – yes2
6xPC journal data save to ECR memory: 0 – no, 1 – yes3
7-not used  

Note

Bytes 2 and 3 are not used.

4.&5. Byte In ECR
bitMeaningFlagnumber
0xNumber of decimal places for coding price to bar code (range: <0, 3>)45
1x
2xPLU number for coding total price to bar code (range: <0001, 9999>) – ignored in mode 4 (see bytes 6.&7.)53-6
3x
4x
5x
6x
7x
8x
9x
10x
11x
12x
13x
14x
15x

6.&7. Byte In ECR
bitMeaningFlagnumber
0xPrint mode of bar code:
  • 0 – not printed,

  • 1 – with total price,

  • 2 – with coded amount,

  • 3 – with coded price,

  • 4 – for each PLU

42
1x
2x
3xPrefix for bar code (range: <1, 99>)51-2
4x
5x
6x
7x
8x
9x
10xNumber of decimal place for price coding to bar code (range: <1, 5>)46
11x
12x
13xPermission of refund operation:
  • 0 – for all cashiers,

  • 1 to 6 – for specific cashier

41
14x
15x

Note

If second digit is set to value 4 the bar-code will be printed only if the bar-code for particular PLU was entered.

Note

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).

Warning

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
bitMeaningFlagnumber
0xPrint numeric part of bar code: 0-no, 1-yes44
1xNumber of empty lines after PLU code printing (range: <1, 9>)43
2x
3x
4x
5xLook-up 13+5 bar-code if there is no 18 bar-code: 0-no, 1-yes61
6xLook-up 13+2 bar-code if there is no 15 bar-code: 0-no, 1-yes62
7xprinting mode for 13+5 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code63
8x
9xprinting mode for 13+2 bar-codes: 0-do not print, 1-extended part only, 2-whole bar-code64
10x
11xPrint 18-digit bar-codes: 0-no, 1-yes65
12-not used  
13-
14-
15-

3.23. Clearing journals in ECR memory

Functions are used to delete journal from memory of ECR.

Command number:
33 - Clearing binary electronic journal in ECR memory
35 - Clearing text electronic journal in ECR memory
Data length:8

Content of DATABLOCK is not used.

3.24. Send message for cashier

Command is used to send a message to cashier.

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

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

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

3.25. Erase PLU non financial data (Execute non financial PLU Z report on ECR)

Command number:41
Data length:1

Executing of this command clear all selected data (see below) of PLU.

BitMeaning
0xReceive to stock (1 - delete, 0 - leave)
1xHand out from stock (1 - delete, 0 - leave)
2xOrders (1 - delete, 0 - leave)
3xInventories (1 - delete, 0 - leave)
4-not used
5-
6-
7-

3.26. Programmable keys

Programmable keys function.

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

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)Meaningtyperange
0-9key namestringcharacters
10function key codeBYTEvalid codes
11function key codeBYTEvalid codes
12function key codeBYTEvalid codes
13function key codeBYTEvalid codes
14function key codeBYTEvalid codes
15function key codeBYTEvalid codes
16function key codeBYTEvalid codes
17function key codeBYTEvalid codes
18function key codeBYTEvalid codes
19function key codeBYTEvalid codes
20function key codeBYTEvalid codes
21function key codeBYTEvalid codes
22function key codeBYTEvalid codes
23function key codeBYTEvalid codes
24function key codeBYTEvalid codes
25function key codeBYTEvalid codes

Warning

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

Codemeaning
dec.hex.
1950xC3empty button (only for Euro-2100)
00x00empty button (only for Euro-200)
480x30button 0
490x31button 1
500x32button 2
510x33button 3
520x34button 4
530x35button 5
540x36button 6
550x37button 7
560x38button 8
570x39button 9
1110x6Fbutton 00
1060x6Abutton DOT
790x4Fbutton DPT
970x61button DPT1
980x62button DPT2
990x63button DPT3
1000x64button DPT4
1010x65button DPT5
1020x66button DPT6
1030x67button DPT7
1040x68button DPT8
1960xC4button DPT9
1970xC5button DPT10
1220x7Abutton Clear
1100x6Ebutton Void
1210x79button EAN
1080x6Cbutton Scales
1180x76button Drawer
1170x75button Paper feed
1200x78button TimeMultiply
1050x69button Price
1120x70button PLU
770x4Dbutton Mode
1070x6Bbutton Credit
1150x73button Check
1090x6Dbutton Subtotal
1160x74button Total
1140x72button Refund
440x2Cbutton Paid out
460x2Ebutton Received on account
1130x71button Password
890x59button Receipt (receipt printing on/off)
880x58button Duplicate
450x2Dbutton Discount
610x3Dbutton Surcharge
390x27"PLU price question" button - for Euro-2100
640x40"PLU price question" button - for Euro-200
1980xC6button Calculator (only for Euro-2100)
620x3EModificator for value discouint/surcharge (if ths modificator is not given is used percentual discount/surcharge) (only for Euro-200)

3.27. Hourly report clearing

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

ByteMeaningtyperange
0Not usedBYTE 

3.28. Reading DPTs report

Data contains DPT names, flags and prices and sale values.

3.28.1. Reading DPTs report for Euro-1000, Euro-2000 Alpha and Euro-500 Handy

Count of departments depends on ecr type.

Command number:132
Data length:
8*52 for Euro-1000, Euro-2000 Alpha
30*52 for Euro-500 Handy

Byte(s)Meaningtype
0-13DPT name (in internal hexadecimal code of ECR)string
14-15DPT FLAGS 
16-19priceDWORD(*)
20-27number of sales since last daily reportdouble(3)
28-35value of sales since last daily reportdouble(*)
36-43number of sales since last periodical reportdouble(3)
44-51value of sales since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.28.2. Reading DPTs report for Euro-2100

Command number:132
Data length:30*58 (for Euro-2100)

Byte(s)Meaningtype
0-19DPT name (in internal hexadecimal code of ECR)string
20-21DPT FLAGS 
22-25priceDWORD(*)
26-33number of sales since last daily reportdouble(3)
34-41value of sales since last daily reportdouble(*)
42-49number of sales since last periodical reportdouble(3)
50-57value of sales since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.28.3. Reading DPTs report for Euro-100T and Euro-200T

Count of departments depends on ecr type.

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

Byte(s)Meaningtype
0-17DPT name (in internal hexadecimal code of ECR)string
18-19DPT FLAGS 
20-23priceDWORD(*)
24-31number of sales since last daily reportdouble(3)
32-39value of sales since last daily reportdouble(*)
40-47number of sales since last periodical reportdouble(3)
48-55value of sales since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.28.4. Reading DPTs report for Euro-200TX/TE

Command number:132
Data length:30*62

Byte(s)Meaningtype
0-23DPT name (in internal hexadecimal code of ECR)string
24-25DPT FLAGS 
26-29priceDWORD(*)
30-37number of sales since last daily reportdouble(3)
38-45value of sales since last daily reportdouble(*)
46-53number of sales since last periodical reportdouble(3)
54-61value of sales since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.29. Reading TAX report

Data contains sale values for each VAT level.

Command number:133
Data length:7*68

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

3.30. Receiving grand totals values

Data contains grand total (GT) values.

Command number:134
Data length:24

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

3.31. Financial report

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

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

DATA items looks as follows:

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

3.32. Cashier sales report

Data contains cashier names and sales report.

Command number:139 - cashier sales report
Data length:6 * 34 - for cashier sale report

Byte(s)Meaningtype
0-9Cashier name (in internal hexadecimal code of ECR)string
10-13number of sales since last daily reportlong
14-21sale amount since last daily reportdouble(*)
22-25number of sales since last periodical reportlong
26-33sale amount since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.33. Cashier sales report for Euro-2100TE and Euro-200TE

Command number:139
Data length:6 * 242

Byte(s)Meaningtype
0-9Cashier name (in internal hexadecimal code of ECR)string
10-13number of sales since last daily reportlong
14-21sale amount since last daily reportdouble(*)
22-25number of sales since last periodical reportlong
26-33sale amount since last periodical reportdouble(*)
34-37number of sales in cash since last daily reportlong
38-45value of sales in cash since last daily reportdouble(*)
46-49number of sales in cash since last periodical reportlong
50-57value of sales in cash since last periodical reportdouble(*)
58-61number of sales in foreign currency since last daily reportlong
62-69value of sales in foreign currency since last daily reportdouble(*)
70-73number of sales in foreign currency since last periodical reportlong
74-81value of sales in foreign currency since last periodical reportdouble(*)
82-89value of sales in foreign currency transformed into national currency since last daily reportdouble(*)
90-97value of sales in foreign currency transformed into national currency since last periodical reportdouble(*)
98-101number of sales in cheques since last daily reportlong
102-109value of sales in cheques since last daily reportdouble(*)
110-113number of sales in cheques since last periodical reportlong
114-121value of sales in cheques since last periodical reportdouble(*)
122-125number of sales via credit since last daily reportlong
126-133value of sales via credit since last daily reportdouble(*)
134-137number of sales via credit since last periodical reportlong
138-145value of sales via credit since last periodical reportdouble(*)
146-149number of receiving to stock since last daily reportlong
150-153number of handing out from stock since last daily reportlong
154-157number of orders placed since last daily reportlong
158-161number of inventories performed since last daily reportlong
162-165number of receiving to stock since last periodical reportlong
166-169number of handing out from stock since last periodical reportlong
170-173number of orders placed since last periodical reportlong
174-177number of inventories performed since last periodical reportlong
178-185value of receiving to stock since last daily reportdouble(*)
186-193value of handing out from stock since last daily reportdouble(*)
194-201value of orders placed since last daily reportdouble(*)
202-209value of inventories performed since last daily reportdouble(*)
210-217value of receiving to stock since last periodical reportdouble(*)
218-225value of handing out from stock since last periodical reportdouble(*)
226-233value of orders placed since last periodical reportdouble(*)
234-241value of inventories performed since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.34. Cashier sales report for Euro-100 and Euro-200T/TX

Command number:139
Data length:6 * 218

Byte(s)Meaningtype
0-9Cashier name (in internal hexadecimal code of ECR)string
10-13number of sales since last daily reportlong
14-21sale amount since last daily reportdouble(*)
22-25number of sales since last periodical reportlong
26-33sale amount since last periodical reportdouble(*)
34-37number of refunds since last daily reportlong
38-45refund amount since last daily reportdouble(*)
46-49number of refunds since last periodical reportlong
50-57refund amount since last periodical reportdouble(*)
58-61number of voids since last daily reportlong
62-69value of voids since last daily reportdouble(*)
70-73number of voids since last periodical reportlong
74-81value of voids since last periodical reportdouble(*)
82-85number of sub-total voids since last daily reportlong
86-93value of sub-total voids since last daily reportdouble(*)
94-97number of sub-total voids since last periodical reportlong
98-105value of sub-total voids since last periodical reportdouble(*)
106-109number of sales in cash since last daily reportlong
110-117value of sales in cash since last daily reportdouble(*)
118-121number of sales in cash since last periodical reportlong
122-129value of sales in cash since last periodical reportdouble(*)
130-133number of sales in foreign currency since last daily reportlong
134-141value of sales in foreign currency since last daily reportdouble(*)
142-145number of sales in foreign currency since last periodical reportlong
146-153value of sales in foreign currency since last periodical reportdouble(*)
154-161value of sales in foreign currency transformed into national currency since last daily reportdouble(*)
162-169value of sales in foreign currency transformed into national currency since last periodical reportdouble(*)
170-173number of sales in cheques since last daily reportlong
174-181value of sales in cheques since last daily reportdouble(*)
182-185number of sales in cheques since last periodical reportlong
186-193value of sales in cheques since last periodical reportdouble(*)
194-197number of sales via credit since last daily reportlong
198-205value of sales via credit since last daily reportdouble(*)
206-209number of sales via credit since last periodical reportlong
210-217value of sales via credit since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.35. Cashier sales report for Euro-200TE

Command number:139
Data length:6 * 314

Byte(s)Meaningtype
0-9Cashier name (in internal hexadecimal code of ECR)string
10-13number of sales since last daily reportlong
14-21sale amount since last daily reportdouble(*)
22-25number of sales since last periodical reportlong
26-33sale amount since last periodical reportdouble(*)
34-37number of refunds since last daily reportlong
38-45refund amount since last daily reportdouble(*)
46-49number of refunds since last periodical reportlong
50-57refund amount since last periodical reportdouble(*)
58-61number of voids since last daily reportlong
62-69value of voids since last daily reportdouble(*)
70-73number of voids since last periodical reportlong
74-81value of voids since last periodical reportdouble(*)
82-85number of sub-total voids since last daily reportlong
86-93value of sub-total voids since last daily reportdouble(*)
94-97number of sub-total voids since last periodical reportlong
98-105value of sub-total voids since last periodical reportdouble(*)
106-109number of sales in cash since last daily reportlong
110-117value of sales in cash since last daily reportdouble(*)
118-121number of sales in cash since last periodical reportlong
122-129value of sales in cash since last periodical reportdouble(*)
130-133number of sales in foreign currency since last daily reportlong
134-141value of sales in foreign currency since last daily reportdouble(*)
142-145number of sales in foreign currency since last periodical reportlong
146-153value of sales in foreign currency since last periodical reportdouble(*)
154-161value of sales in foreign currency transformed into national currency since last daily reportdouble(*)
162-169value of sales in foreign currency transformed into national currency since last periodical reportdouble(*)
170-173number of sales in cheques since last daily reportlong
174-181value of sales in cheques since last daily reportdouble(*)
182-185number of sales in cheques since last periodical reportlong
186-193value of sales in cheques since last periodical reportdouble(*)
194-197number of sales via credit since last daily reportlong
198-205value of sales via credit since last daily reportdouble(*)
206-209number of sales via credit since last periodical reportlong
210-217value of sales via credit since last periodical reportdouble(*)
218-221number of receiving to stock since last daily reportlong
222-225number of handing out from stock since last daily reportlong
226-229number of orders placed since last daily reportlong
230-233number of inventories performed since last daily reportlong
234-237number of receiving to stock since last periodical reportlong
238-241number of handing out from stock since last periodical reportlong
242-245number of orders placed since last periodical reportlong
246-249number of inventories performed since last periodical reportlong
250-257value of receiving to stock since last daily reportdouble(*)
258-265value of handing out from stock since last daily reportdouble(*)
266-273value of orders placed since last daily reportdouble(*)
274-281value of inventories performed since last daily reportdouble(*)
282-289value of receiving to stock since last periodical reportdouble(*)
290-297value of handing out from stock since last periodical reportdouble(*)
298-305value of orders placed since last periodical reportdouble(*)
306-313value of inventories performed since last periodical reportdouble(*)

Note

Periodical values are updated only on performing daily report.

3.36. Obtaining information about last sold item in PC-Online mode

3.36.1. Obtaining information about last sold item in PC-Online mode for Euro-2000 Alpha and Euro-500 Handy

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)Meaningtype
0number of PLU-s in buffer of sold PLU-s*1BYTE
1–28PC - ONLINE content of sale packet of last sold PLU*2 
29-36value*3double(*)
37-38number of actual receipt (value 0 – 9999)WORD
39-46total sum of saledouble(*)
47-54total sum of sale in secondary currencydouble(*)

*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

3.36.2. Obtaining information about last sold item in PC-Online mode for Euro-2100

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)Meaningtype
0number of PLU-s in buffer of sold PLU-s*1BYTE
1–34PC - ONLINE content of sale packet of last sold PLU*2 
35-42value*3double(*)
43-44number of actual receipt (value 0 – 9999)WORD
45-52total sum of saledouble(*)
53-60total sum of sale in secondary currencydouble(*)

*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

3.36.3. Obtaining information about last sold item in PC-Online mode for Euro-100T and Euro-200T

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)Meaningtype
0number of PLU-s in buffer of sold PLU-s*1BYTE
1–38PC - ONLINE content of sale packet of last sold PLU*2 
39-46value*3double(*)
47-48number of actual receipt (value 0 – 9999)WORD
49-56total sum of saledouble(*)
57-64total sum of sale in secondary currencydouble(*)

*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

3.36.4. Obtaining information about last sold item in PC-Online mode for Euro-200TX/TE

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)Meaningtype
0number of PLU-s in buffer of sold PLU-s*1BYTE
1–38PC - ONLINE content of sale packet of last sold PLU*2 
39-46value*3double(*)
47-48number of actual receipt (value 0 – 9999)WORD
49-56total sum of saledouble(*)
57-64total sum of sale in secondary currencydouble(*)

*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

3.37. Obtaining information about taxes of running sale in PC-Online mode

Command number:148
Data length:120

Note

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.

3.37.1. Data description for Euro-1000, Euro-2000 Alpha, Euro-500 Handy and Euro-2100

Byte(s)Meaningtype
0-7total sum of sale (in basic currency)double(*)
8-15sum in non-taxable leveldouble(*)
16-23taxable value in VAT level 1double(*)
24-31tax value in VAT level 1double(*)
32-39taxable value in VAT level 2double(*)
40-47tax value in VAT level 2double(*)
48-55taxable value in VAT level 3double(*)
56-63tax value in VAT level 3double(*)
64-71taxable value in VAT level 4double(*)
72-79tax value in VAT level 4double(*)
80-87taxable value in VAT level 5double(*)
88-95tax value in VAT level 5double(*)
96-103taxable value in VAT level 6double(*)
104-111tax value in VAT level 6double(*)
112-119not used 

3.37.2. Data description for Euro-100 and Euro-200

Byte(s)Meaningtype
0-7total sum of sale (in basic currency)double(*)
8-15taxable value in VAT level 1double(*)
16-23tax value in VAT level 1double(*)
24-31taxable value in VAT level 2double(*)
32-39tax value in VAT level 2double(*)
40-47taxable value in VAT level 3double(*)
48-55tax value in VAT level 3double(*)
56-63taxable value in VAT level 4double(*)
64-71tax value in VAT level 4double(*)
72-79taxable value in VAT level 5double(*)
80-87tax value in VAT level 5double(*)
88-95taxable value in VAT level 6double(*)
96-103tax value in VAT level 6double(*)
104-111sum in non-taxable leveldouble(*)
112-119not used 

3.38. Reading sale data of PC ONLINE sale

Command is used to get information about sale through PC.

Command number:
150 - Reading sale data of PC ONLINE sale
151 - Reading sale data of PC ONLINE sale with data erasing
Data length:12

DATA contains sale info of PC Online sale.

Byte(s)Meaningtype
0-3number of saleslong
4-11amount of salesdouble(*)

3.39. Reading PLU count with non zero sale

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

Command number:152
Data length:2

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

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

3.40. Read receipts (PC journal)

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

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

Informations are grouped to logical entities. All ECRs have some different parts. Identical parts are described only one time.

Important

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

3.40.1. Read receipts (PC journal) for Euro-2100TE

Table 3.9. (Single) receipt structure for Euro-2100TE

countlengthShort description
140Head of receipt
nn * (18 + bar-code length)
All PLUs in receipt &
Bar-code (bar-code length is different for each PLU and depends from bar-code type written in PLU (can be zero length))
125Financial data for receipt
12Tax data count for receipt
mm * 13Tax records for each non zero tax level (m can be zero ==> block is not used)
11End of record

Table 3.10. Receipt head structure for Euro-2100TE

Byte(s)Meaningtype
0fixed number 25 (0x19) - ID byte of the start of logical block - receiptBYTE
1-2number of all bytes in particular logical entityWORD
3receipt type: 0 – sale, 1 – stock in, 2 – stock out, 3 – order, 4 – inventoryBYTE
4-15date and time form DDMMYYYYhhmm* (ASCII number codes)12*char
16-25cashier’s namestring
26-29number of actual receipt 1 – 9999long
30-33fiscal receipt number 1 – 9999long
34-37number of document 0 – 99999999long
38ECR number 1 – 99BYTE
39count of PLU's in actual receiptBYTE

*: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

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

  • 1 – DPT,

  • 2 – refund PLU,

  • 3 – refund DPT

BYTE
1-2number of item in internal database PLUWORD
3-6quantity of sold itemlong(3)
7-10unit price of itemlong(*)
11-16total price of itemN6(*)
17bar-code typesBYTE
depends from typebar-code informationvarious

Table 3.12. Journal bar-code types

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

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

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

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

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

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

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

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

Table 3.13. Financial data for receipt

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

Table 3.14. Used VAT levels count

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

Table 3.15. (Single) VAT level structure

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

Table 3.16. End of receipt record

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

3.40.2. Read receipts (PC journal) for Euro-200TE

Important

In this chapter are described only differences from older journal version (Euro-2100TE).

Table 3.17. (Single) receipt structure for Euro-200TE

countlengthShort description
145Head of receipt
nn * (18 + bar-code length)
All PLUs in receipt &
Bar-code (bar-code length is different for each PLU and depends from bar-code type written in PLU (can be zero length))
125Financial data for receipt
12Tax data count for receipt
mm * 13Tax records for each non zero tax level (m can be zero ==> block is not used)
11End of record

Table 3.18. Receipt head structure for Euro-200TE

Byte(s)Meaningtype
0fixed number 25 (0x19) - ID byte of the start of logical block - receiptBYTE
1-2number of all bytes in particular logical entityWORD
3receipt type: 0 – sale, 1 – stock in, 2 – stock out, 3 – order, 4 – inventoryBYTE
4-15date and time form DDMMYYYYhhmm* (ASCII number codes)12*char
16-25cashier’s namestring
26-29number of actual receipt 1 – 9999long
30-33fiscal receipt number 1 – 9999long
34-42number of document in BCD formate (identical format like for bar-codes)BARCODE
43ECR number 1 – 99BYTE
44count of PLU's in actual receiptBYTE

*:meaning of characters is:

  • DD = day (two numbers)

  • MM = month (two numbers)

  • YYYY = year (four numbers)

  • hh = hour (two numbers)

  • mm = minute (two numbers)

3.41. Read bills (text journal)

Command is used to get copy of journal from ECR (only visual information).

Command number:
162 - Read bills (text journal) (X report)
163 - Read bills (text journal) with erase (Z report)
Data length:lines count * 24

Data are lines printed on journal of ECR.

Important

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)Meaningtype
0-23line (text line printed on journal in ECR)24 * char

3.42. Reading data about journals length

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

Command number:164
Data length:8

Byte(s)Meaningtype
0-3PC journal size in byteslong
4-7text journal size in lineslong

3.43. Reading content of fiscal memory

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

Data contains whole content of fiscal memory.

3.44. Read hourly report

Data contains sale values for each hour.

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

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

3.45. Identification data and parameters of ECR

Command is used to get information about current ECR.

Command number:255
Data length:84

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

Chapter 4. Text data format

Table of Contents

4.1. Supported convert command list
4.2. Taxes interpretation
4.3. Text receipt logo
4.4. System flags
4.5. Cashier names
4.6. PLU's
4.6.1. PLU structure
4.6.2. PLU report
4.6.3. PLU flags for Euro-1000
4.6.4. PLU flags for Euro-2000 Alpha
4.6.5. PLU flags for Euro-500 Handy, Euro-2100 and Euro-200
4.6.6. PLU flags for Euro-100
4.7. Programming DPTs
4.8. Programming TAX
4.9. Functional texts
4.10. Delete PLU sale data
4.11. Execute financial report
4.12. Graphics logo
4.13. Units
4.14. Secondary currency exchange rate
4.15. ON-LINE communication PC—>ECR
4.16. Extended flags for cash registers with 18 digit bar-code
4.17. Extended flags for Euro-2100TE, Euro-200TE
4.18. Clearing journals in ECR memory
4.19. Send message for cashier
4.20. Erase PLU non financial data (Execute non financial PLU Z report on ECR)
4.21. Programmable keys
4.22. Hourly report clearing
4.23. Reading DPTs report
4.24. Reading TAX report
4.25. Receiving grand totals values (fiscal version)
4.26. Financial report
4.27. Cashier sales report
4.28. Cashier sales report for Euro-500TE Handy and Euro-2100TE
4.29. Cashier sales report for Euro-100 and Euro-200
4.30. Obtaining information about last sold item in PC-Online mode
4.31. Obtaining information about taxes of running sale in PC-Online mode
4.31.1. Data description for Euro-1000, Euro-2000 Alpha, Euro-500 Handy and Euro-2100
4.31.2. Data description for Euro-100 and Euro-200
4.32. Reading sale data of PC ONLINE sale
4.33. Reading PLU count with non zero sale
4.34. Read receipts (PC journal)
4.34.1. Read receipts (PC journal) for Euro-2000TE Alpha
4.34.2. Read receipts (PC journal) for Euro-500TE Handy, Euro-2100TE and Euro-200TE
4.35. Read bills (text journal)
4.36. Reading data about journals length
4.37. Read hourly report
4.38. Identification data and parameters of ECR

4.1. Supported convert command list

Table 4.1. Supported convert command (send to ECR)

commanddescriptionEuro-1000Euro-2000 AlphaEuro-500 HandyEuro-2100Euro-100Euro-200
MTMTTTXTXTETTTXTE
0Text Logoxxxxxxxxxxxx
1System flagsxxxxxxxxxxxx
2Cashier namesxxxxxxxxxxxx
3PLU with stock state--xx--------
4DPTxxxxxxxxxxxx
5TAXxxxxxxxxxxxx
9Funct. textsxxxxxxxxxxxx
10PLU without stock statexxxx--------
12Erase PLU sale dataxxxxxxxxxxxx
13Erase daily financial report (Execute daily Z report on ECR)xxxxxxxxxxxx
15Graphics logo-x-xxxxxxxxx
16Sale units--xxxxxxxxxx
17Secondary currency exchange ratexxxxxxxxxxxx
18PC online sale--xxxxxxxxxx
21Extended flags------xxxxxx
29PLU without stock state (safety)--xxxxxxxxxx
30PLU with stock state (safety)--xxxxxxxxxx
33Erase receipts (PC journal)-------x---x
35Erase bills (text journal)-------x---x
40Send message------xx---x
41Erase PLU non financial data-------x---x
46Programmable keys------xx-xxx
51Hourly report (daily) clearing------x*1x----
52Hourly report (periodical) clearing------x*1x----
81PC online sale--------xxxx

Table 4.2. Supported convert command (receive from ECR)

commanddescriptionEuro-1000Euro-2000 AlphaEuro-500 HandyEuro-2100Euro-100Euro-200
MTMTTTXTXTETTTXTE
128Text Logoxxxxxxxxxxxx
129System flagsxxxxxxxxxxxx
130Cashier namesxxxxxxxxxxxx
131PLU sale report (X report)xxxx--------
132DPT report (X report)xxxxxxxxxxxx
133TAX report (X report)xxxxxxxxxxxx
134GTxxxxxxxxxxxx
135Daily financial report (X report)xxxxxxxxxxxx
137Funct. textsxxxxxxxxxxxx
138PLUxxxx--------
139Cashier sales report (X report)xxxxxxxxxxxx
143Graphics logo-x-xxxxxxxxx
144Sale units--xxxxxxxxxx
145Secondary currency exchange ratexxxxxxxxxxxx
147Reading the data on last sold item via PC-ONLINE--xxxxxxxxxx
148Reading taxes in currently open sale via PC-ONLINE--xxxxxxxxxx
149Extended flags------xxxxxx
150Online sale data report (X report)--xxxxxxxxxx
151Online sale data report with erasure of data (Z report)--xxxxxxxxxx
152Sold PLU count (PLU's with non zero amount)--xxxxxxxxxx
157PLU (safety)--xxxxxxxxxx
158PLU sale report (safety) (X report)--xxxxxxxxxx
159PLU with non zero sales (X report)--xxxxxxxxxx
160Read receipts (PC journal) (X report)-------x---x
161Read receipts (PC journal) with erase (Z report)-------x---x
162Read bills (text journal) (X report)-------x---x
163Read bills (text journal) with erase (Z report)-------x---x
164Journals data length-------x---x
174Programmable keys------xx-xxx
179Read hourly report (daily) (X report)------xx----
180Read hourly report (periodical) (X report)------xx----
255Read information about current cash register------xxxxxx

Note

This conversion tables describe all supported transformations for all national versions. Not all of these conversions are supported/used in all national versions.

4.2. Taxes interpretation

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

Table 4.3. Text interpretation of VAT levels

AcronymCountry/VersionVAT level
non taxableminimalmaximalspecial
(none)Generic version016--
SKSlovakia
CZCzech republic (non fiscal law)
EN/GBGeneric non fiscal law version
ENf/GBfGeneric fiscal law version
SWold Swedish protocol
FIold Finish protocol
DEGermany
ATAustria
DKDenmark
LVLatvia
CZfCzech republic (fiscal law)015--
RORomania014--
GRGreece
HUHungary0 - TAM, 4 - AJT13 (programmable)0 - TAM, 4 - AJT
PLPolanddepends from TAX programming170 - disabled sale
MKMacedonia--15--
RSSerbia--19--
LTLithuania014
(only in new versions)
6 – determines PAY-IN level
7 – determines PAY-OUT level
CACanada016
1 – Federation
2 – Provincial
6 – Federation & Provincial
MEMonte Negro0168 – not assigned

4.3. Text receipt logo

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

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

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

Note

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

Warning

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

Table 4.4. Logo length for individual cash registers

cash register typelines countline length (characters per line)
Euro-1000T, Euro-2000T Alpha, Euro-500T Handy617
Euro-500TX Handy624
Euro-2100924
Euro-100T, Euro-200T918
Euro-100TX, Euro-200TX/TE924

4.4. System flags

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

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

  • 1st line

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

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

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

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

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

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

    Note

    Decimal range depends on country/ECR version.

  • 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, Elcom-500FP, 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).

    Note

    Payment terminal types can be different for some countries or not used in some countries.

    Cash register Elcom-500FP do not support external devices (except PC).

  • 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)

4.5. Cashier names

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

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

4.6. PLU's

4.6.1. PLU structure

Data contains all information about PLU.

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

Note

Not all operation are supported in all ECR's.

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

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

  • 2nd item: PLU name (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

Note

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

Warning

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

Note

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

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

Important

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

Table 4.5. Name and barcode length

cash register typePLU name lengthbar-code length
Euro-100014not supported
Euro-2000M/T Alpha1413
Euro-2000TE Alpha up to version 3.xx1414
Euro-2000TE Alpha befin from version 4.001418
Euro-500T/TX Handy1413
Euro-500TE Handy1418
Elcom-500FP22not supported
Euro-21002018
Euro-100T, Euro-200T1818
Euro-100TX, Euro-200TX, Euro-200TE2418

4.6.2. PLU report

Data all information about PLU sales.

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

Note

Not all operation are supported in all ECR's.

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

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

  • 2nd item: PLU name.

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

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

  • 5th item: bar code.

  • 6th item: sale value

  • 7th item: sold quantity

  • 8th item: stock

4.6.3. PLU flags for Euro-1000

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)

4.6.4. PLU flags for Euro-2000 Alpha

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.

4.6.5. PLU flags for Euro-500 Handy, Euro-2100 and Euro-200

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.

4.6.6. PLU flags for Euro-100

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.

4.7. Programming DPTs

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).

  • 2nd item: DPT flags:

    • 1st digit: VAT level assignment

    • 2nd digit: single DPT 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

4.8. Programming TAX

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)

Note

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

4.9. Functional texts

Data contains texts printed on receipt.

Command number:
9 - programming
137 - reading
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.

4.10. Delete PLU sale data

Command number:12
Lines count:1

Important

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

Data contains 1 line with one value. This value is ignored but must be given.

4.11. Execute financial report

Command number:
13 - daily
14 - periodical
Lines count:1

Data contains 1 line with one value. This value is ignored but must be given.

4.12. Graphics logo

Data contains graphical logo (picture) represented on receipt.

Command number:
15 - programming
143 - receiving
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).

4.13. Units

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.

4.14. Secondary currency exchange rate

Data contains secondary currency exchange rate.

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

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

Important

Rate has to contain decimal point.

4.15. ON-LINE communication PC—>ECR

Online mode is a special command. This command allow use ECR as a fiscal printer (PLUs are sold from PC).

Command number:
18 (normal ONLINE)
81 (fast ONLINE) (not used for all cash registes - only for new models)
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".

Important

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 (name length 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 (range 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 (values 0 to MaxPLU means PLU is sold from database of ECR, value 0 means PLU is sold from PC using previous item values) or Index for void PLU.

    Important

    Indirect void is supported only by cash registers with alphanumerical display.

Commands 3 (Finish sale), 4 (Finish PC ONLINE communication), 8 (Subtotal) and 9 (Receipt void). 

  • 1st item: command ID

Note

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

Note

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

Warning

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

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.

Note

Command 7 is used only for Euro-100 and Euro-200.

4.16. Extended flags for cash registers with 18 digit bar-code

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

    Note

    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.

4.17. Extended flags for Euro-2100TE, Euro-200TE

Extended flag setting.

Command number:21 - programming, 149 - receiving
Lines count:8 for 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.

  • 7th line: used only for Euro-200TE.

    • 1st item: Print PLU number on receipt: 0 – no, 1 – yes

    • 2nd item: Print time on receipt: 0 – no, 1 – yes

  • 8th line: Change mode: 0 - cash only, 1 - by payment type - used only for Euro-200TE.

4.18. Clearing journals in ECR memory

Functions are used to delete journal from memory of ECR.

Command number:
33 - Clearing binary electronic journal in ECR memory
35 - Clearing text electronic journal in ECR memory
Lines count:1

Content of line is not used.

4.19. Send message for cashier

Command is used to send a message to cashier.

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

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

4.20. Erase PLU non financial data (Execute non financial PLU Z report on ECR)

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)

4.21. Programmable keys

Data contains settings for programmable keybord.

Command number:46 - programming, 174 - receiving
Lines count:depends on count of programable keys for particular cash register

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

4.22. Hourly report clearing

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

Data contains 1 line with one value. This value is ignored but must be given.

4.23. Reading DPTs report

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.

  • 2nd item: DPT flags are same as for send DPT.

  • 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

4.24. Reading TAX 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 – 100.00)

    Note

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

  • 3rd item: taxable value since last daily report

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

  • 5th item: tax value since last daily report

  • 6th item: taxable value since last monthly report

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

  • 8th item: tax value since last monthly report

4.25. Receiving grand totals values (fiscal version)

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

Text data contains one line with GT value.

4.26. Financial report

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

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

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

  • 1st line: total sale

  • 2nd line: net

  • 3rd line: tax

  • 4th line: void

  • 5th line: void of subtotal

  • 6th line: refund

  • 7th line: received cash on account

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

  • 9th line: paid out cash

  • 10th line: paid out cash in secondary currency

  • 11th line: received check on account

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

  • 13th line: paid out check

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

  • 15th line: discounts

  • 16th line: add-ons

  • 17th line: 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)

4.27. Cashier sales 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.

  • 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

4.28. Cashier sales report for Euro-500TE Handy and Euro-2100TE

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

4.29. Cashier sales report for Euro-100 and Euro-200

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)

4.30. Obtaining information about last sold item in PC-Online mode

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

4.31. Obtaining information about taxes of running sale in PC-Online mode

Command number:148
Lines count:8

Note

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.

4.31.1. Data description for Euro-1000, Euro-2000 Alpha, Euro-500 Handy and Euro-2100

  • 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

4.31.2. Data description for Euro-100 and Euro-200

  • 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

4.32. Reading sale data of PC ONLINE sale

Command is used to get information about sale through PC.

Command number:
150 - Reading sale data of PC ONLINE sale
151 - Reading sale data of PC ONLINE sale with data erasing
Lines count:2
  • 1st line: sold quantity – always three decimal places

  • 2nd line: sales value

4.33. Reading PLU count with non zero sale

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

Command number:152
Lines count:1

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

4.34. Read receipts (PC journal)

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

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

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

Important

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

4.34.1. Read receipts (PC journal) for Euro-2000TE Alpha

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: number of actual receipt (1 – 9999)

  • 5th item: fiscal receipt number (1 – 9999)

  • 6th item: document (customer) number (1 – 99999999)

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

  • 8th 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

4.34.2. Read receipts (PC journal) for Euro-500TE Handy, Euro-2100TE and Euro-200TE

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: number of actual receipt (1 – 9999)

  • 5th item: fiscal receipt number (1 – 9999)

  • 6th item: document (customer) number

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

  • 8th 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)

4.35. Read bills (text journal)

Command is used to get copy of journal from ECR (only visual information).

Command number:
162 - Read bills (text journal) (X report)
163 - Read bills (text journal) with erase (Z report)
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.

Important

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.

4.36. Reading data about journals length

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

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

  • 2nd line: text journal size in lines

4.37. Read hourly report

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

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

  • 1st item: count of sales (bills)

  • 2nd item: sale value

4.38. Identification data and parameters of ECR

Command is used to get information about connected ECR.

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

  • 2nd line: ECR name

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

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

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

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

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

  • 8th line: count of cashiers

  • 9th line: amount of PLU

  • 10th line: amount of departments

  • 11th line: amount of tax levels

  • 12th line: PLU text size

  • 13th line: department text size

  • 14th line: bar code size

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

  • 16th line: journal length informations (not used in actual versions)

    • 1st item: Size of journal in bytes. – Not used in actual versions.

    • 2nd item: Free size for journal in bytes. – Not used in actual versions.

Chapter 5. Data description for "ECR --> PC ONLINE mode"

5.1. Message receiving

When communication library receives data from cash register, these are send to user application as system message. These messages should be handled by the user application.

int ProcessEcrOnline(wParam,  
 lParam); 
WPARAM  wParam;
LPARAM  lParam;
WPARAM wParam

Contains data type information.

Table 5.1. Data types meaning

meaningvalueerror valuelParam
start of communication = header0101pointer to data
initialization data1102pointer to data
data (items/payment)2103pointer to data
end of communication packet3104pointer to data
items count50-data items count
communication abort51-no data
error message100-error code
LPARAM lParam

For wParam = 50 (items count) lParam contains number = count of data items in communication. Communication abort (wParam = 51) means, that the ECR started a new communication before the old communication was finished (e. g. ECR shut down on communication). For wParam = 100 (error) lParam contains one of the following error number:

  • 0 – no error,

  • 1 – incorrect header received,

  • 2 – incorrect initialization data received,

  • 3 – incorrect data (items/payment) received,

  • 4 – incorrect end of communication packet received,

  • 5 – time out on initialization data receiving,

  • 6 – time out on data (items/payment) receiving,

  • 7 – time out on end of communication packet receiving,

  • 8 – incorrect data length,

Note

After a error message can be send a message with incorrect data with "error value" as wParam. If any error occurred on data receiving, then as first message is send a error message and second message with received corrupted data.

For all other types contains lParam pointer to data. First 2 bytes contains data length (wLen) for received data. Starting from address lParam + 2 follow wLen bytes of data. Length of data depends on data type (wParam). Data form (binary/text) depends on ReceiveEcrOnline function settings.

Return value

In case of correct data processing (no error, only correct values) the return value is 1. On any error on processing the return value should be 0.

Example 5.1. Function for receiving data messages

Simple function for receiving data messages from back ONLINE in C++ language (without data processing, for data processing it is necessary to add functions StartNewOnlineSale, ProcessOnlineData, SetOnlineItemsCount and EndOnlineSale).

enum eBackOnlineData
{
  bodRequest = 0,    // start of communication - open receipt request
  bodInit,           // init packet (contains ECR settings)
  bodData,           // data packet (contains sold item or payment)
  bodEOC,            // end of receipt

  bodDataCount = 50, // contains items count
  bodEndComm,        // communication aborted

  bodErrMsg = 100,   // error message
  bodErrDataMsg,     // Corupted data: Add bodInit, bodData, or bodEOC to get
                     // data type of packet
};


BOOL CComm2ADlg::OnProcessBackOnline(WPARAM wParam, LPARAM lParam)
{
  switch (wParam)
  {
  case bodRequest:
    if (!StartNewOnlineSale(...))
      break;
    ProcessOnlineData((void*)(lParam + 2), *((WORD*)(lParam)));
  case bodInit:
  case bodData:
  case bodErrDataMsg + bodInit:
  case bodErrDataMsg + bodData:
    ProcessOnlineData((void*)(lParam + 2), *((WORD*)(lParam)));
    return wParam < bodDataCount;
  case bodEOC:
  case bodErrDataMsg + bodEOC:
    EndOnlineSale();
    return wParam < bodDataCount;
  case bodDataCount:
    SetOnlineItemsCount((WORD)lParam);
    return true;
  default:
    break;
  }
  return false;
}

5.2. Data description in binary form

5.2.1. Representing of used types

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.2. Extension of definition of numerical data types for ECR ON-LINE mode

type extensiondescription
(1)Number with one decimal place
(2)Number with two decimal places
(3)Number with three decimal places
(*1)Number of decimal places for master currency in range <0, 3> (value is selected with first system flag sixth digit in ECR and is received in INIT packet)
(*2)Number of decimal places for secondary currency in range <0, 3> (value is programed with the secondary currency flags and is received in INIT packet)

Caution

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

5.2.2. Header data

Header length is always 6 bytes and contains protocol identification and number of actual cash register.

Table 5.3. Header data format

Byte)typelengthmeaning
0BYTE1STX - fixed value = 0x02
1BYTE1ID1 - fixed value = 0x50 (ASCII code of char ‘P’)
2BYTE1ID2 - fixed value = 0x43 (ASCII code of char ‘C’)
3BYTE1REGNUM - 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).
4BYTE1ETX - fixed value = 0x03
5BYTE1CheckXor = control number (CheckXor = ID1 xor ID2 xor REGNUM xor ETX)

5.2.3. Initialization data content

Initialization data have always 6 bytes and contains all data required for decoding received sales data.

Table 5.4. Initialization data form

BytetypelengthMeaning
0BYTE1ECR type
1BYTE1Fixed value 146 (0x92)
2BYTE1Number of decimal places for price (0 – 3) (system flag 1 digit 6)
3BYTE1Quantities are multiplied or divided (0 – divided, 1 – multiplied) (system flag 2 – digit 6)
4BYTE1Number of transmitted items
5BYTE1Number of decimal places for price of second currency (0 – 3) (used only in Euro phase 1, 2 and 3)

5.2.4. Data description for ECR —> PC ON-LINE communication

Table 5.5. online sale commands

commandmeaning
1 (0x01)PLU was sold
2 (0x02)DPT was sold
3 (0x03)PLU was refunded
4 (0x04)DPT was refunded
5 (0x05)Payment

5.2.4.1. Data description for sale and refund

Data description for commands 1 (sold PLU), 2 (sold DPT), 3 (PLU refund) and 4 (DPT refund).

Byte(s)meaningtypecommend
0CommandBYTEfrom 1 to 4 (command 5 has different description)
1–14Item namestringcharacters
15Sales unit assignmentBYTEUsed only for PLU (range: <0, 7>)
16DPT assignmentBYTE
Used only for PLU
range: <1, 8> for Euro-2000 Alpha
range: <1, 30> for Euro-500 Handy
17VAT assignmentBYTEtaxes
18-25Total item pricedouble(*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-29Unit item priceDWORD(*1) 
30-33Quantity 1DWORD(3)First quantity entered using ECR keyboard while selling.
34-37Quantity 2DWORDSecond quantity entered using ECR keyboard while selling (second quantity can not be decimal).
38-39PLU (DPT) indexWORD 
40-47Add-Ons applied to itemdouble(*1)Sum of all add-ons applied to the item.
48-55Discounts applied to itemdouble(*1)Sum of all discounts applied to the item.

5.2.4.2. ECR Payment

Data description for command 5 (Payment).

Byte(s)meaningtypecommend
0CommandBYTEvalue 5 (commands 1 to 4 have different description)
1-8Cashdouble(*1)total sum paid by cash
9-16Checkdouble(*1)total sum paid by check
17-24Creditdouble(*1)total sum paid by credit
25-32Cash in second currencydouble(*2)total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3).
33-55not used  

5.2.5. Data description for ECR —> PC ON-LINE communication for Euro-2100

Table 5.6. online sale commands

commandmeaning
1 (0x01)PLU was sold
2 (0x02)DPT was sold
3 (0x03)PLU was refunded
4 (0x04)DPT was refunded
5 (0x05)Payment

5.2.5.1. Data description for sale and refund (for Euro-2100)

Data description for commands 1 (sold PLU), 2 (sold DPT), 3 (PLU refund) and 4 (DPT refund).

Byte(s)meaningtypecommend
0CommandBYTEfrom 1 to 4 (command 5 has different description)
1–20Item namestringcharacters
21Sales unit assignmentBYTEUsed only for PLU (range: <0, 7>)
22DPT assignmentBYTEUsed only for PLU (range: <1, 30>)
23VAT assignmentBYTEtaxes
24-31Total item pricedouble(*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-35Unit item priceDWORD(*1) 
36-39Quantity 1DWORD(3)First quantity entered using ECR keyboard while selling.
40-43Quantity 2DWORDSecond quantity entered using ECR keyboard while selling (second quantity can not be decimal).
44-45PLU (DPT) indexWORD 
46-53Add-Ons applied to itemdouble(*1)Sum of all add-ons applied to the item.
54-61Discounts applied to itemdouble(*1)Sum of all discounts applied to the item.

5.2.5.2. ECR Payment (for Euro-2100)

Data description for command 5 (Payment).

Byte(s)meaningtypecommend
0CommandBYTEvalue 5 (commands 1 to 4 have different description)
1-8Cashdouble(*1)total sum paid by cash
9-16Checkdouble(*1)total sum paid by check
17-24Creditdouble(*1)total sum paid by credit
25-32Cash in second currencydouble(*2)total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3).
33-61not used  

5.2.6. Data description for ECR —> PC ON-LINE communication for Euro-100T and Euro-200T

Table 5.7. online sale commands

commandmeaning
1 (0x01)PLU was sold
2 (0x02)DPT was sold
3 (0x03)PLU was refunded
4 (0x04)DPT was refunded
5 (0x05)Payment

5.2.6.1. Data description for sale and refund (for Euro-100T and Euro-200T)

Data description for commands 1 (sold PLU), 2 (sold DPT), 3 (PLU refund) and 4 (DPT refund).

Byte(s)meaningtypecommend
0CommandBYTEfrom 1 to 4 (command 5 has different description)
1–18Item namestringcharacters
19Sales unit assignmentBYTEUsed only for PLU (range: <0, 7>)
20DPT assignmentBYTE
Used only for PLU
range: <1, 10> for Euro-100
range: <1, 30> for Euro-200
21VAT assignmentBYTEtaxes
22-29Total item pricedouble(*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.
30-33Unit item priceDWORD(*1) 
34-37Quantity 1DWORD(3)First quantity entered using ECR keyboard while selling.
38-41Quantity 2DWORDSecond quantity entered using ECR keyboard while selling (second quantity can not be decimal).
42-43PLU (DPT) indexWORD 
44-51Add-Ons applied to itemdouble(*1)Sum of all add-ons applied to the item.
53-59Discounts applied to itemdouble(*1)Sum of all discounts applied to the item.

5.2.6.2. ECR Payment (for Euro-100T and Euro-200T)

Data description for command 5 (Payment).

Byte(s)meaningtypecommend
0CommandBYTEvalue 5 (commands 1 to 4 have different description)
1-8Cashdouble(*1)total sum paid by cash
9-16Checkdouble(*1)total sum paid by check
17-24Creditdouble(*1)total sum paid by credit
25-32Cash in second currencydouble(*2)total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3).
33-59not used  

5.2.7. Data description for ECR —> PC ON-LINE communication for Euro-200TX/TE

Table 5.8. online sale commands

commandmeaning
1 (0x01)PLU was sold
2 (0x02)DPT was sold
3 (0x03)PLU was refunded
4 (0x04)DPT was refunded
5 (0x05)Payment

5.2.7.1. Data description for sale and refund (for Euro-200TX/TE)

Data description for commands 1 (sold PLU), 2 (sold DPT), 3 (PLU refund) and 4 (DPT refund).

Byte(s)meaningtypecommend
0CommandBYTEfrom 1 to 4 (command 5 has different description)
1–24Item namestringcharacters
25Sales unit assignmentBYTEUsed only for PLU (range: <0, 7>)
26DPT assignmentBYTEUsed only for PLU (range: <1, 30>)
27VAT assignmentBYTEtaxes
28-35Total item pricedouble(*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.
36-39Unit item priceDWORD(*1) 
40-43Quantity 1DWORD(3)First quantity entered using ECR keyboard while selling.
44-47Quantity 2DWORDSecond quantity entered using ECR keyboard while selling (second quantity can not be decimal).
48-49PLU (DPT) indexWORD 
50-57Add-Ons applied to itemdouble(*1)Sum of all add-ons applied to the item.
58-65Discounts applied to itemdouble(*1)Sum of all discounts applied to the item.

5.2.7.2. ECR Payment (for Euro-200TX/TE)

Data description for command 5 (Payment).

Byte(s)meaningtypecommend
0CommandBYTEvalue 5 (commands 1 to 4 have different description)
1-8Cashdouble(*1)total sum paid by cash
9-16Checkdouble(*1)total sum paid by check
17-24Creditdouble(*1)total sum paid by credit
25-32Cash in second currencydouble(*2)total sum paid by cash in second currency (used only in Euro phase 1, 2 and 3).
33-65not used  

5.3. Data description in text format

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.

    1. ECR type

    2. Fixed value 146 (0x92)

    3. Number of decimal places for price (0 – 3) (system flag 1 digit 6)

    4. Quantities are multiplied or divided (0 – divided, 1 – multiplied) (system flag 2 – digit 6)

    5. Number of transmitted records

    6. 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)

    1. Command number (from 1 to 4)

      Table 5.9. online sale commands

      commandmeaning
      1 (0x01)PLU was sold
      2 (0x02)DPT was sold
      3 (0x03)PLU was refunded
      4 (0x04)DPT was refunded
      5 (0x05)Payment
    2. Item name

    3. Sales unit assignment (Used only for PLU - range: <1, 8>)

    4. DPT assignment (Used only for PLU)

    5. VAT assignment

    6. Total price of PLU (DPT) without add-ons and discounts. The price is rounded. If PLU (or DPT) was refunded the sum is negative.

    7. Unit item price.

    8. First quantity entered using ECR keyboard while selling.

    9. Second quantity entered using ECR keyboard while selling (second quantity can not be decimal).

    10. PLU (DPT) index

    11. Add-Ons applied to item. (Sum of all add-ons applied to the item.)

    12. Discounts applied to item. (Sum of all discounts applied to the item.)

    Note

    It is possible to change separator between first and second quantity. See settings.

  • last line contains information about payments

    1. Command number = 5

    2. total sum paid by cash

    3. total sum paid by check

    4. total sum paid by credit

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

Note

If any error occurs while decoding of data, these data will be printed in hexadecimal form at the corresponding line after "##" characters.

Appendix A. Glossary of used terms

BARCODE / bar-code

Bar-code = EAN.

For data type see types definition.

binary (data, form...)

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

binary journal

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

BYTE

see types definition.

char

see types definition.

DWORD

see types definition.

electronic journal

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

int

see types definition.

long

see types definition.

N6

see types definition.

PC journal

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

Read bills

see Text journal

Read receipts

see PC journal

string

see types definition.

Text (data, form...)

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

Text journal

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

WORD

see types definition.

Appendix B. Wait Times for ON-LINE sale commands

B.1. Minimal and maximal time for waiting between two online commands (on one bill) (“sale” or “information of sale” commands)

  • Minimal time equals to the reaction speed of ECR (25ms).

  • Recommend time is 150ms. Works on all ECRs.

  • Maximal time is not limited.

B.2. Minimal and maximal time between “end of sale” and beginning new sale (new bill)

  • 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.

B.3. Recommended time for time-out (first item send)

  • Minimal time equals to the time of printing of bill header and first item.

  • Maximal time equals to the time of printing of text logo, bill header and first item.

  • All times depends on printer speed of cash register.

  • Recommend time is 8s. Works on all ECRs.

B.4. Recommended time for receipt finish time-out

  • Minimal and maximal time equals to the time of printing of all tax information and payment.

  • If there are used all VAT levels and big prices the time will be longer than for only one VAT level.

  • Time depends on printer speed of cash register

  • Recommend time is 8-10s. Works on all ECRs.