Protocol Dp25 Dp05 Dp500 Dp500l
Protocol Dp25 Dp05 Dp500 Dp500l
INTRODUCTION
The fiscal device operates under the control of an application program, with which communicates via the
RS232 serial connection. The device executes a previously set of wrapped commands, arranged according to the
type of the operations which have to be executed. The application program does not have a direct access to the
resources of the fiscal device although it can detect data connected with the status of the fiscal device and the
fiscal memory.
The fiscal device performs the following types of operations:
Saves the serial number of the fiscal device and the number of the fiscal memory;
Saves fiscal parameters, like the (EIK - Unified Identification Code), the date of entering into
exploitation, etc.;
Saves information on the owner - name and address, etc.;
Saves the daily turnover in the fiscal memory and generates a daily report;
Saves the text from the fiscal receipts and daily reports in KLEN (electronic journal)
Generating reports on concluded sales and the content of the fiscal memory;
Dispatching data to the application program.
THE ABOVE-DESCRIBED OPERATIONS ARE PERFORMED PRIOR TO SELLING THE DEVICE TO THE
CLIENT ONLY BY AN AUTHORISED SERVICE SPECIALIST!
The following commands must be performed in the order in which they are presented: 61 (3DH) and 91
(5BH).
B) STATUS AFTER THE FORMATTING OF THE FISCAL MEMORY
DATECS
BT
This is the state in which the name of the currency is entered, the number of the digits after the decimal point
and the tax rates. After performing these operations the cash register is ready for delivery to the future operator
(owner). This is also the status in which the device is kept in the warehouse of the manufacturer.
Command (53H) has to be performed.
C) STATUS WHEN PRESENTING THE DEVICE TO THE CLIENT
In this functional state the header and the footer are set - the beginning and the end of each receipt. The
header contains information on the owner (name of the company, address etc.) while the footer is usually a short
advertisement text.
The command 43 (2BH) is performed as many times as is the number of printed lines.
D) TUTORIAL MODE
The cash register is in this status prior to fiscalization. Receipts can be issued but it must be born in mind that
they will bear the mark non-fiscal. The generation of a daily turnover report with clear but it will not be saved
into the fiscal memory. A tax registration number is also entered but not into the fiscal memory and is subject to
change. The clearing of the memory does not cause an entry in the fiscal memory. The clock may be set
arbitrarily.
E) A FISCALIZED CASH REGISTER
In this functional status fiscal receipts may be issued and they will be marked fiscal. The daily report and
clear is registered in the fiscal memory and the setting of the date is possible only ahead in relation to the last
entry in the fiscal memory. The tax registration number is registered in the FM and cannot be changed from
this point on. It is IMPOSSIBLE for the cash register to exit the fiscal mode without changing the fiscal
memory.
The (EIK - Unified Identification Code) number of the owner of the device must be known prior to
fiscalization. Command 98 (62H) after which the command 72 (48H) must be executed. To be able to print
fiscal receipts the cash register must be registered in National Revenue Agency with the proper program.
F) IRRECOVERABLE ERROR IN THE CASH REGISTER
This is the status of the cash register when a serious technical or logical mistake has occurred as well as in
case of fiscal memory failure, KLEN or tax terminal. After switching on the device in this mode a message on the
display appears. The cash register does not perform commands for opening fiscal receipts as well as documents,
which save data entries into the fiscal memory. Only diagnostic commands and periodic reports can be executed.
Clearing the RAM and placing a new fiscal memory module must be performed because the module used before
the error is now switched to the READ ONLY mode. ALL THESE OPERATIONS MUST BE PERFORMED BY
The events, which can bring the cash register to this state, are:
-
Invalid control sum, EIK, serial number, reg. No. of the fiscal memory or some of the entries which
contain the tax rates.
-
If during the fiscal memory check up (immediately after switch ON) more than three invalid control
sums from a daily report fiscal entry are found.
-
DATECS
BT
0.4
0.3
0.2
0.1
0.0
Reserved always 0
Not connected a customer display
Reserved always 0
Code of incoming command is invalid
Incoming data has syntax error
DATECS
BT
a printing session, when switched ON, again the cash register will print a line containing the text * POWER
DROP * (* *)in an expanded bold type and will then complete the print.
ISSUING FISCAL AND NON-FISCAL RECEIPTS
A) NON-FISCAL RECEIPTS
The receipt is first opened, a text is then printed and the receipt is closed. The commands 38 (26H) are
used, an indefinite number of times the command 42 (2AH) and 39 (27H).
B) FISCAL RECEIPTS
A fiscal receipt is first opened, the sales are registered, payment is performed and the receipt is finally closed.
The following commands are used: 48 (30H), 49 (31H), 51 (33H), 52 (34H), 53 (35H), 54 (36H), 56
(38H) and 58 (3AH). At the end of the day a daily financial report and clear are performed in order to enter
and save the accumulated information in the fiscal memory. The function is started with the command 69 (45H).
/KLEN (KLEN Electronic Journal)
This cash register remember every line from the fiscal receipts, official receipts, documents with service
information from the initialization, X and Z reports in the KLEN. KLEN is with capacity of maximum 2 GB and
during normal operation must be able to store all data coming from cash registers work until the fiscal memory is
filled up. In case of damage or filling up (really active work with the cash register) KLEN can be replaced with an
empty one and the old card to be stored for further reference.
From KLEN can be made these enquires:
Downloading a document/documents through the serial port in text format and closure as it possible to
the original view.
Information for the full size of KLEN and for the used space in bytes, the numbers of the first and last
documents on it and the first and last Z-report.
Verification of SHA-1 check sum for the documents from a whole Z-report.
Comparing of the SHA-1 check sums for one or more Z-reports with those stored in the fiscal memory
and printing a result.
Two flags from the status bytes warn for coming end of KLEN (only 10MB free) and end of KLEN (1MB free).
If the flag End of KLEN is set the next commands are prohibited: 38 (Opening a non-fiscal receipt), 42 (Printing
non-fiscal free text), 48 (Open fiscal receipt (invoice)), 49 (Registration of sales), 52 (Registration and display),
54 (Print a free fiscal text), 58(Registering the sale of an item) 84 (Barcode printing).
GENERATING REPORTS
Reports are generated singularly by the cash register upon receiving the respective command from the PC. In
these reports the users program will not add any changes to the appearance and content of the reports, i.e.,
they appear exactly as they have been defined in the cash register. The following commands are used for the
generation of reports:
50 (32H)
Report on changes in tax rates and decimal points
69 (45H)
Daily financial report with or without clear
108 (6CH)
Extended daily fiscal report
117 (75H)
FISCAL CLOSURE (DEPARTMENTS REPORT)
118 (76H)
FISCAL CLOSURE (DEPARTMENTS AND ARTICLES REPORT
79 (4FH) / 95 (5FH) Short financial report from date to date /from number to number of the respective
fiscal entries
73 (49H) / 94 (5EH) Detailed fiscal memory report by closure number / by date of entry.
LOW LEVEL PROTOCOL
A) PROTOCOL TYPE - MASTER (HOST) / SLAVE
The cash register performs the commands sent by the Host and returns messages, which depend on the
result.
The cash register cannot instigate asynchronous communications itself. Only responses to commands from
the Host are sent to the Host. These messages are either wrapped or single byte control codes. The cash
register maintains the communication via the RS232 serial connection at baud rates of 1200, 2400, 4800,
9600, 19200, 38400, 57600 and 115200 b/s, 8N1. The baud rate is set by adjusting the configuration bits 1,2
and 3.
DATECS
BT
Preamble.
1 byte long. Value: 01H.
Number of bytes from <01> preamble (excluded) to <05> (included) plus the fixed offset of
DATECS
BT
Example: when we write 2500, 100, Text for the data field then in that field there will be 2D 32 35 30 2C
31 30 30 2C 54 65 78 74 where each hexadecimal digit is an ASCII value.
DATECS
BT
DAILY CLOSURE
45H (69)
6CH (108)
75H (117)
76H (118)
REPORTS
32H (50)
49H (73)
4FH (79)
5EH (94)
5FH (95)
69H (105)
6FH (111)
Report on changed tax rates and decimal points through the period
Detailed report of the fiscal memory (from number to number)
Short report of the fiscal memory (from number to number)
Detailed report of the fiscal memory (from date to date)
Short report of the fiscal memory (from date to date)
Operators report
Items report
INFORMATION TO HOST
3EH (62)
Turns back the date and the hour
40H (64)
Information on the last fiscal entry
41H (65)
Information on daily taxation
44H (68)
Number of the free entries in the fiscal memory
4AH (74)
Receiving the status bytes
4CH (76)
Status of the fiscal transaction
56H (86)
Reading the data of the last memory record
58H (88)
Get department information
5AH (90)
Return diagnostic information
61H (97)
Receiving the tax rates
63H (99)
Tax registration number
67H (103) Information on the current receipt
6EH (110) Receiving information on the sums arranged according to the type of payments
DATECS
BT
70H
71H
72H
74H
Advance paper
DISPLAY
21H (33)
23H (35)
2FH (47)
3FH (63)
64H (100)
OTHERS
26H (38)
27H (39)
2AH (42)
46H (70)
47H (71)
50H (80)
59H (89)
5CH (92)
6AH (106)
77H (119)
DATECS
BT
Data field:
Response:
No data
None
A clear display command is sent. If a fiscal receipt is opened only the lower line is cleared.
23H (35)
Data field:
Response:
Text
<Text>
None
A text of up to 20 symbols is sent directly to the display. Prior to this a command for
positioning and clearing the lower line is sent.
26H (38)
Data field:
Response:
None
Allreceipt,ErrCode
Allreceipt
The number of all issued receipts (fiscal and non-fiscal) from the last daily closure on (4
ErrCode
bytes).
Data field:
Response:
Allreceipt
None
Allreceipt
The number of all issued receipts (fiscal and non-fiscal) from the last daily closure on (4
bytes).
TheECR
-
If the S1.1 flag is raised the command is not executed because there is no opened non-fiscal receipt.
2AH (42)
Data field:
Response:
Text
None
A text up to 46 symbols. The symbols after 46th are cut off.
Text
Data field:
Response:
<Item>,<Text>
None or current settings in case of Item = I
DATECS
BT
10
HEADER consists of 6 lines of text, which are printed at the beginning of each fiscal and non-fiscal receipt.
The cash register will function normally only when at least two header lines have been programmed for
printing. (EIK - Unified Identification Code) /set with command 98/ is printed only at line #3, so the rest
lines after second are moved automatically with a position down.
FOOTER consists of 2 lines of text printed at the end of each receipt.
HEADER and FOOTER are automatically center aligned.
Item
<Enable>[,Rate]
L
N
R
T
Enable
Rate
Permission/rejection of the printing of the graphic logo immediately before the header.
This logo is defined with the command 115 (73H). The data Text is in format
<Enable>. Enable is one byte with value 1 (permitted) or 0 (forbidden).
Permission/rejection of the printing of the department name before the sale.
For the ECRs it is not serviced.
Permission/rejection of the printing of the accumulated tax () for the receipt in
normal (not extended /invoice/) fiscal receipt.
Permission/rejection of the automatically generated pulse for drawer kick-out after
X
commands 53 (35H) 70 (46H).
I
Gives us the option to read the values, set earlier with command 43. After the letter I
only one more symbol follows which coincides with some of the above.
Text
DATECS
BT
2CH (44)
11
ADVANCING PAPER
Data field:
Response:
Lines
Lines
None
Advancing paper measured in lines. The programmed line count cannot be greater than 99 (1
or 2 bytes). If the parameter is not there the default setting is 1 line.
2F(47)
Data field:
Response:
Text
Text
None
A text of 20 symbols which is sent directly to the display. Prior to this a command for the
positioning and clearing of the upper line. If a fiscal receipt is opened and SW1 is OFF the
command is rejected.
30H(48)
Data field:
Response:
<OpCode>,<OpPwd>,[TillNmb][,Invoice]
Allreceipt,FiscReceipt
OpCode
OpPwd
TillNmb
Invoice
[<L1>][<Lf><L2>]<Tab><TaxCd><[Sign]Price>[*<Quan>][,Perc|;Abs]
or
[<L1>][<Lf><L2>]<Tab><Dept><Tab><[Sign]Price>[*<Quan>] [,Perc|;Abs]
Response:
None
DATECS
BT
L1
Lf
L2
Tab
TaxCd
12
Dept
Sign
Price
Quan
Perc
Abs
Data field:
Response:
[<Start>,<End>]
Data
Start
End
Data
SUBTOTAL
Data field:
Response:
<Print><Display>[,Perc|;Abs]
SubTotal,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH
DATECS
BT
13
One byte, which if 1 the sum of the subtotal will be printed out.
Display
Perc
One byte which if 1 the sum of the subtotal will appear on the display.
A non-mandatory parameter which shows the value of the discount or surcharge in percent
over the sum accumulated so far.
A non-mandatory parameter which shows the value of the discount or surcharge as an
amount (up to 8 significant digits). It is not aloud a surcharge bigger than the sale.
Abs
SubTotal
TaxA
TaxB
TaxC
TaxD
TaxE
TaxF
TaxG
TaxH
The
The
The
The
The
The
The
The
The
sum
sum
sum
sum
sum
sum
sum
sum
sum
The sum of all sales registered in the fiscal receipt is calculated. If necessary the sum may be printed out
and/or brought out on the display. The calculated total sum and the accumulated separate sums for each tax
group are returned to the PC. If a discount or surcharge is entered it is printed out on a separate line and the
accumulated sums over the different tax groups are respectively corrected.
34H(52)
Data field:
[Line]]<Tab><TaxCd><[Sign]Price>[*Quan][,Perc|;Abs]
[Line]]<Tab><Dept><Tab><[Sign]Price>[*Quan][,Perc|;Abs] ]
Response: None
Line
A 20 byte string containing a text which describes the sale.
Tab
TaxCd
Dept
Sign
Price
Quan
Perc
Abs
DATECS
BT
14
Data field:
Resonse:
[<Line1>][<Lf><Line2>]<Tab>[[<PaidMode>]<[Sign]Amount>]
<PaidCode><Amount>
Line1
Lf
Line2
Tab
PaidMode
Note: The codes of error E and I will never appear in the a Bulgarian version of a cash register, because
commands 49 and 52 (registering a sale) do not accept negative sums.
36H(54)
Data field:
Response:
Text
Text
None
Up to 42 bytes
DATECS
BT
15
Data field:
Response:
No data
Allreceipt,FiscReceipt
Allreceipt
FiscReceipt
All issued receipts from the last daily closure up to the moment
All issued fiscal receipts from the last daily closure up to the moment
The accumulated sums from the fiscal receipt are added to the daily sums in the registries of the operational
memory.
The command will not be successful if:
No fiscal receipt has been opened,
Command 53 (35h) has failed,
The sum paid under command 53 is less than the total sum of the fiscal receipt.
3AH (58)
Data field:
Response:
[D]<[Sign]PLU[<Tab><Dept><Tab>] [*Quan>[#UN]][,Perc|;Abs]
None
A byte with a possible value D. If it exists the information will be displayed at the customers
display. If the items name is longer than 20 characters, the last ones will be cut.
Sign
One byte with a value of + or -
PLU
The individual number of the item - a whole number between 1 and 9999 (not more than 4
digits).
Dept
Department number. An integer from 1 to 99. The VAT group of the sale is the tax group of
the department.
Quan
A non-mandatory parameter setting the quantity of the items for sale with a default value of
1.000. Length cannot be longer than 8 meaningful digits (not more than 3 after the decimal
point). The resulting singular price (*Quan) is rounded up to the set number of digits after
the decimal point and also cannot be greater than 8 meaningful digits.
UN
Name of the measuring unit.
Perc
This is a non-mandatory parameter showing the value of the surcharge and discount
(depending on the sign) in percent over the current sale. Possible values are between 99.00% to 99.00%.
Abs
This is a non-mandatory parameter showing the value of the surcharge and discount
(depending on the sign) as an amount. It is not acceptable a discount with value higher than
the value of the sale.
It is possible only one of the arguments Perc or Abs.
The cash register performs the following operations:
The name, price and the tax group of the item is read from the items list, programmed in the cash
register.
If the sell is by department and command 43 - subcommand N is set, prints the name of the
departament.
- Prints out the name of the item, the selected quantity and the singular price. The second printed line
contains the final price together with the letter, designating the tax group from which the sale will be
performed. The registries for accumulated sums and item quantities are updated.
- The price of the item is added to the accumulated sums in the registries of the operational memory.
In case of overflows the respective bytes from the status field will be set.
- If there is a discount or surcharge it is printed out on a separate line and is added in specially selected
registries in the cash register. The values from the whole day will be printed together with the daily
financial report.
- If a department number is in the command line, then the price is added to the accumulated sum of
this department. Discounts and mark ups (if present) are added to this sum, too.
The command will not be successful if:
- No item has been programmed under the given number,
- No fiscal receipt has been opened,
DATECS
BT
3Ch (60)
16
The maximum number of sales for one receipt (374) has already been registered.
The command 35h has been successfully executed,
The sum under one or more of the tax groups has turned out negative,
The sum of the surcharges and discounts within the receipt has remained negative.
The electronic journal (KLEN) is full.
CANCELING OF A FISCAL RECEIPT
Data field:
Response:
None
None
This command is accessible only over opened fiscal receipt and only before the execution of 53 (Total).
Causes canceling of all accumulated sums in the receipt. With a double width is printed a message
== (=ANNULATED=) and the receipt ends with a message (FISCAL
RECEIPT).
3DH(61)
Data field:
Response:
<DD-MM-YY><space>HH:MM[:SS]>
None
You cannot set a date which is earlier than the date of the last entry into the fiscal memory or KLEN of the
device. The last acceptable year is 2099. After RESET of the memory this command must be executed otherwise the normal functioning of the device cannot be resumed. The cash registers real-time clock must
always be set correctly especially when more than 14 days have passed from the date of the last executed
command.
Warning! Important change in comparison with the cash registers with no KLEN!
It is not allowed to be set a date and time earlier than the last recorded document in KLEN (). The point of this is
to be correct the searching of documents in KLEN by date and time.
3EH (62)
Data field:
Response:
3FH (63)
None
<DD-MM-YY><Space><HH:MM:SS>
Data field:
Response:
None
None
Current date and time are displayed on lower line using the format: DD-MM-YY HH:MM:SS.
40H (64)
Data field:
Response:
None
ErrCode[,N,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH,Date]
ErrCode:
P The command is succesfull
F The last record cannot be read
TaxX
Date
Data field:
[[Option]
DATECS
BT
Response:
TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH
Option:
17
Data field:
Response:
Logical
None
Logical,Physical
The number of logical locations for fiscal entries (4 bytes)
Physical
The number of free fields in the fiscal memory, reserved for saving information from the daily report.
45H (69)
Data field:
Response:
Option
[<Option>[N]]
Closure,FM_Total,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH
A non-mandatory parameter controlling the type of generated report.
0 The printout ends with the inscriptions FISCAL RECEIPT or NON-FISCAL RECEIPT depending
on the status of the cash register (fiscalized or non-fiscalized).
2 A daily report without closure is generated i.e., no entry into the fiscal memory is made and no
closures are performed. The printout ends with the inscription OFFICIAL RECEIPT. The same
actions may be generated directly from the cash register if during power on the left button is
pressed down.
N
The presence of this symbol at the end of the data cancels the option to clear the data
accumulated on the operators during a report with clear.
Closure
Fiscal closure (Daily report) number 4 bytes.
FM_Total
The sum of all sales for the day - 12 bytes with a sign.
TotX
The nett sums (Total VAT) under all tax categories - A, B, C, D, E, F, G, and H - 12 bytes
with a sign.
46H (70)
Data field:
Response:
Amount
[<Amount>]
ExitCode,CashSum,ServIn,ServOut
The sum which will be registered (up to 9 bytes). Depending on the sign of the digit this sum
is interpreted either as credit or debit (serveIn or serveOut).
ExitCode
CashSum
ServIn
ServOut
One byte:
P The order has been completed. If the ordered sum is not 0 the ECR will print an
interior receipt for registering the operation.
F The order has been canceled. This happens if:
- The cash sum available is less than the ordered interior credit (serveIn),
- There is an opened fiscal and non-fiscal receipt.
Available cash. Apart from this command the sum grows after each payment in cash.
The sum from all commands Interior credit
The sum from all commands Interior debit
Changes the content of the cash availability register. Depending on the sign of the sum in question it is
accumulated in the register for interior debit-credit. The information is not saved in the fiscal memory of the
device and is accessible until the performance of the daily closure. It is printed out at the command 69 (45h)
and at the generation of the daily report without closure from the cash register itself. At the successful
DATECS
BT
18
completion of this command the drawer kick-out function is activated (if it is permitted wit subcommand 'X'
of command 43.
47H (71)
Data field:
Response:
No data
None
The command initiates the generation of an interior receipt containing diagnostic information as follows:
Prints the date and the version of the employed software,
Prints the control sum of the employed firmware,
Prints the serial ports baud rate,
Prints emergency time after power supply cut-off,
Prints the number, date and hour of the last reset of the RAM (if there is such),
Prints the current temperature of the two printer heads,
Prints the overall number of fields in the fiscal memory and the number of the free fields,
Prints the current date and hour.
The command will not be executed when there is an open receipt in progress or when the paper roll has
finished.
48H (72)
FISCALIZATION
Data field:
Response:
Serial
<Serial>
ErrCode
The serial number of the device - it must be the number entered with command 91 (5Bh).
Status 5.3 is used to verify whether the command has been successfully executed.
Error or P code when the action has been successful.
ErrCode
The command will not be executed (and an error code will be set) if:
1 The serial number is invalid,
2 The ECR has been fiscalized,
3 No serial number has been programmed,
4 The serial number is different from the one programmed,
5 There is an opened receipt in progress,
6 There are some already issued fiscal receipts or the 70(46h) command has been executed after the
last daily report with closure,
7 No tax rates have been entered into the memory of the device,
8 (EIK - Unified Identification Code) number consists only of three zeros,
9 The clock needs setting.
Fiscalization of the device must be performed and after the successful execution of the command the
returning of the cash register to a non-fiscalized mode becomes impossible. The tax number is entered in the
fiscal memory together with the current date and hour. All registries are cleared (to zero) after which the cash
register opens the first fiscal receipt, marks the moment of fiscalization on this receipt and closes it.
49H (73)
Data field:
Response:
[<Start>,<End>]
None
Start
End
4AH (74)
Data field:
Response:
Option
[Option]
<S0><S1><S2><S3><S4><S5>|<NLines>
One byte with the following meanings:
DATECS
BT
19
Sn
4CH (76)
Data field:
Repsonse:
Option
[Option]
Open,Items,Amount[,Tender]
=T If the parameter has been selected the command will return the information on the
current state of the sum due for payment by the client.
One byte which is 1 if a fiscal or a non-fiscal receipt has been opened (which it is can be
understood from the status bytes) and 0 if there is no opened receipt.
The number of sales registered on the on the current or last fiscal receipt - 4 bytes.
The sum from the last fiscal receipt - 9 bytes with a sign.
The sum tendered for the current or the last receipt - 9 bytes with a sign (Only if Option is
present).
Open
Items
Amount
Tender
The command supports the PC applications ability to monitor the status and if needed to restore and
complete am already started fiscal operation which has been interrupted on emergency or out of time - for
example as a result of a power failure.
4FH (79)
Data field:
Response:
Start
<Start>,<End>
None
Starting date - 6 bytes (DDMMYY)
End
The command generates the printing out of a short periodic financial report.
If the second parameter is missing, the command will generate monthly or annual. The syntax in this case is:
Start
Start
50H (80)
Data field:
Response:
[<SoundData>]
None
This command creates a sequence of sound tones with a set frequency and continuity.
If there is no input data, a sound signal with frequency 2 kHz and continuity 300 ms is played.
If the input data is with format: <Hz>,<mSec>
where Hz and mSec are integers, than a sound signal is created with a frequency between 100Hz and 5000 kHz
and continuity between 50ms and 2000ms.
53H (83)
Multiplier
Decimals
Currency
EnabledT
TaxX
A multiplier between 0 and 3 which shows the degree of 10 before multiplying it times the
input or output value (at present deactivated and out of use).
One byte with a value between 0 and 2 and shows the exact place of the decimal point.
The name of the currency used for the payments - not more than 5 bytes.
8 bytes with value '0' or '1', determines whether the relevant VAT group is forbidden '0' or
not '1'
The value of each tax rate.
DATECS
BT
20
If one of the parameters has to be set and the others must too.
Setting of new tax rates is permitted only before printing of the first fiscal receipt for the day.
Before fiscalization the data will be stored only in the RAM memory, so in this case the command can be
executed unlimited times.
55H (85)
Option[,Name]
Result|Name
Data field:
Response:
Option:
'N'
'C'
'D'
'I'
'J'
Name
Additional
Additional
Additional
Additional
Additional
payment
payment
payment
payment
payment
1
2
3
4
5
Name of the corresponding payment type (up to 24 symbols). If it is missed, the present
name will be returned.
No error.
The name is longer than 24 bytes.
This command sets a comment, which will be printed before the data of the additional payment types
(command 53). It is permitted before the first fiscal receipt for the day to be printed.
Only the first 10 entered symbols for name will be accepted.
56H (86)
[<WithTime>]
DT
Data field:
Response:
WithTime
Optional parameter - symbol 'T'. If it presents, is returned the date and time of the last
fiscal memory record.
Date (or date and time) of the last fiscal memory record:
DD-MM-YYYY
or
DD-MM-YYYY hh:mm:ss
DT
57H (87)
Data fields:
Response:
Dept
TaxGr
Line1
LF
Line2
<Dept>,<TaxGr>,<Line1>[<LF><Line2>]
None
The command is not permitted if there are any sales in the department after the last fiscal closure. After
RAM reset department names are empty. It is not possible to make sales in a department, which is not
programmed.
See command 117.
58H (88)
GET DEPARTMENT INFORMATION
Data fields:
Response:
Dept
ExitCode
<Dept>
ExitCode[TaxGr,RecSales,RecSum,TotSales,TotSum,Line1<LF>Line2]
Department number. An integer from 1 to 99. In case of value '0' will be returned data
about the sale made with no department (the VAT group in this case is missing).
One byte. Possible values:
DATECS
BT
21
59H (89)
Data field:
Response:
Test
<Test>
Result,Free
One byte. If T an entry into the fiscal memory is done - otherwise there will be no save
performed and only the parameters will be returned.
One byte:
P (50h) No error
F (46h) Error
The number of the free blocks left for saving such entries - 4 bytes.
Result
Free
Data field:
Response:
<Calc>
<Name>,<FwRev><Country><Sp><FwDate><Sp><FwTime>,<Chk>,<Sw>,<
Ser>,<FM>
Calc
Name
FwRev
Country
Sp
FwDate
Sp
FwTime
Chk
Sw
Ser
FM
5BH (91)
PROGRAMMING THE SERIAL NUMBER, THE NUMBER OF THE COUNTRY AND THE
FISCAL MODULE NUMBER
Data field:
Response:
Serial
FMnumber
Result
CountryStr
<Serial>,<FMnumber>
Result,CountryStr
The serial number. 8 symbols 2 letters and 6 digits.
The fiscal module number. 8 digits.
One byte. P - OK; F - errors.
The name of the country. For example: BULGARIA
The command IS NOT INCLUDED in the software program package and can be performed only by the
manufacturer. The ECR is handed over to the owner with the name of the country, serial number and fiscal
memory number set.
DATECS
BT
22
Type
Data field:
Response:
Type
None
A byte with possible values:
'1'
'2'
'3'
ECR prints separator line through the whole width of the paper.
A receipt must be opened.
5Eh (94)
Data field:
Response:
Start
End
[<Start>[,<End>]
None
The number of the starting fiscal entry - 6 bytes (DDMMYY)
The number of the ending fiscal entry - 6 bytes (DDMMYY)
This command prints out a detailed financial report on the period between two selected dates.
If the second parameter is missing, this command generates monthly or annual report. The syntax in this case
is:
Start
Start
5FH (95)
Data field:
Response:
<Start>,<End>
None
Start
End
Data field:
Response:
TaxA
TaxB
TaxC
TaxD
TaxE
TaxF
TaxG
TaxH
62H (98)
Tax
Tax
Tax
Tax
Tax
Tax
Tax
Tax
rate
rate
rate
rate
rate
rate
rate
rate
Data field:
Response:
Text
Name
Result
63H (99)
None
TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH
<Text>[,<Name>]
Result
14 bytes whcih contain EIK as a text.
This is the comment in front of EIK. By default is .
P No errors.
F Error
Data field:
None
DATECS
BT
Response:
Text
Name
64H (100)
23
<Text>[,<Name>]
The tax registration number as a text.
This is the comment in front of EIK.
Data field:
Response:
Text
None
Text
A text of no more than 40 symbols sent for displaying. If symbols with ASCII codes smaller
than 20h (control symbols) they are increased with 40h and are preceded by 10h.
Example: To send 1Bh, 4Bh, 00h the data field will have to contain 10h, 5Bh, 10h, 40h.
65H (101)
Data field:
Response:
OpCode
OldPwd
NewPwd
<OpCode>,<OldPwd>,<NewPwd>
None
Operators code (1 to 30)
Old password (1 to 8 digits)
New password (1 to 8 digits)
Sets one of the 30 operators passwords, which will be demanded upon opening a fiscal receipt.
After initialization or reset of the operational memory all passwords are identical to the number of the
operator.
66H (102)
Data field:
Response:
OpCode
Pwd
OpName
<OpCode>,<Pwd>,<OpName>
None
Operators code (1 to 30)
Password (1 to 8 digits)
Name of the operator (up to 24 symbols)
Enters one of the 30 operator names. The number and the name of the operator are printed at the beginning
of each fiscal (clients) receipt.
After initialization or reset of the operational memory all operators names are ###. Where ###
is the number of the operator.
67H (103)
Data field:
Response:
CanVd
TaxA
TaxB
TaxC
TaxD
TaxE
TaxF
TaxG
TaxH
Inv
InvNum
None
CanVd,TaxA,TaxB,TaxC,TaxD, TaxE,TaxF,TaxG,TaxH,Inv,InvNum
Possible/impossible return (sale registration with a negative sign) [0 / 1]
The sum accumulated under tax
The sum accumulated under tax
The sum accumulated under tax
The sum accumulated under tax
The sum accumulated under tax
The sum accumulated under tax
The sum accumulated under tax
The sum accumulated under tax
Is it opened an invoice?
Number of the next invoice /10 digits/. It is not supported by the ECRs
The command offers information on sums accumulated so far under the different tax groups and whether it is
possible to return the registered items sold.
68H (105)
OPERATORS REPORT
Data field:
Response:
None
None
DATECS
BT
24
Information on the sales, performed by the operators, is printed out where for each separate operator the
following data is printed out: name, individual number, number of fiscal receipts, discharges made, surcharge,
sum adjustments and accumulated total sums.
6AH (106)
Data field:
Response:
mSec
[<mSec>]
None
The length of the impulse in milliseconds (5-100)
Sends an impulse for opening the cash drawer. This parameter sets a new value for the length of the impulse,
which is stored in the memory of the cash register. If this parameter is skipped, the last entered value
remains valid. After memory RESET a value of 15 ms is set.
6BH (107)
Data field:
Response:
<Option>[Parameters]
ErrorCode[,Data]
Option
One byte, defining the type of the selected operation. Depending on this the command might
- or might not - demand the entering of additional parameters. The possible values are: I,
P, D, A, C, R, F, L, N, X, f, l, n, x
ErrorCode
One byte, showing the result from the operation and having the following meaning:
- P A successful command
- F Unsuccessful command
Data on the command - described in detail further on.
Parameters
Article information
Syntax:
<I>
Response:
Total,Prog,Len
Total Total count of the programmable articles.
Progr Total count of the programmed articles.
Len
Maximum length name of article.
Article programming.
Syntax:
<P><TaxGr><PLU>,<Group>,<SPrice>,[<Replace>]<Quantity>,<Name>
TaxGr
PLU
Group
SPrice
Replace
Quantity
Name
The command will be rejected if there is already a such article and there are sells of it.
- A
DATECS
BT
25
Item deleting
Syntax: <D><A | PLU | PLU1,PLU2>
Syntax:
A
Delete all item with non-zero accumulated sums.
PLU Deletes article with selected number if there are no accumulated sums.
PLU1,PLU2
Deletes the articles within a set interval which do not have
accumulated sums.
R
<P><PLU>,<TaxGr>,<Grp>,<SPrice>,<Total>,<Sold>,<Avail>,
<Name>
<PLU>
<TaxGr>
<Grp>
<SPrice>
Single price. Floating point number with decimal symbols current for the
cash register.
<Total>
<Sold>
<Avail>
<Name>
The last three subcommands are for extracting of all programmed items. A subcommand F or L is
being sent and after that subcommand N until an answer F is received (the last article is read). The articles
are returned sorted by PLU number ascending or descending depending of the first sent command.
f
Returns data about the first found item with sales on it.
Syntax: <f>[<PLU>]
Returned data is the same as in subcommand R. If a parameter PLU is set, searching
starts from 1.
Returns data about the last found item with sales on it.
Syntax: <l>[<PLU>]
The returned data is the same as in subcommand R. If a parameter PLU is set, searching
starts from 999999999.
Returns data for the next found item with sales on it.
Syntax: <n>
Response is the same as for subcommand R.
DATECS
BT
26
If the parameter PLU is set, the first not programmed article with a number higher or equal to it is
returned. If missing PLU=1 by default.
x
[<Option>[N]]
Response:
Closure,FM_Total,TotalA,TotalB,TotalC,TotalD, TotalE,TotalF,TotalG,TotalH
The command is identical to command 69, but in the beginning of the daily report is printed and a list of
the items with PLU equal or lower than 10 with sell for the day.
6DH (109)
Data field:
Response:
<Count>
None
Count
6EH (110)
Data field:
Response:
None
Cash,Credit,Debit,Cheque,Pay1,Pay2,Pay3,Pay4,Closure,Receipt
Cash
Credit
Debit
Cheque
PayX
Closure
Receipt
Paid in cash
Payment credited
Paid with a debit card
Paid with a cheque
Paid by one of the additional payment types.
Current (last) fiscal entry
Number of the next fiscal receipt
Returns information on the distribution of the daily sum according to the terms of payment used.
6FH (111)
ITEMS REPORT
Data field:
Reponse:
Option
Start
End
Group
<Option>>[<Start>,<End>[,<Group>]]
ErrorCode
Defines the type of the information under print. Possible values:
- S Only sold items are printed out. The data on these items includes: the individual
number, name, singular price as well as the sold quantities and total turnover during
the day.
- P All programmed items are printed out but only their number, name and singular
price.
Number of the first article which to be included in the rport. Default: 1.
Last number of article which to be included in the report. Default: 999999999.
A number from 1 to 99. If this parameter is set, then only the articles from this group are
included in the report, otherwise all groups are printed.
Items are arranged according to their individual numbers. In a daily report with a closure the accumulated
sums are cleared.
DATECS
BT
70H (112)
27
Data field:
Response:
Operator
Operator
Receipts,Total,Discount,Surcharge,Void,Name,[,Password]
Number of the operator (1 to 30)
Receipts
Total
Discount
Surcharge
Void
Name
Password
The command leads to the reading of the available information, which will be printed out in the operators
report. The sums are returned as floating-point numbers incorporating the currently set number of decimal
places.
71H (113)
Data field:
Response:
DocNum
72H (114)
Data field:
Response:
Closure1
None
DocNum
The number of the last issued document (7 digits)
<Closure1>[,<Type>[,Closure2]]
Depends of the value of Type
Number of a report in the fiscal memory.
Type
ErrorCode[,DecRec,Dec,Enabled,PercA,PercB,PercC,PercD,DT]
- 1 Information about the turnover for the selected record or period.
ErrorCode[,Closure,Receipts,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH]
- 2 Information about net amounts for the selected record or period.
ErrorCode[,Closure,Receipts,NetA,NetB,NetC,NetD,NetE,NetG,NetG,NetH]
- 3 Information about the total VAT () for the selected record or period.
ErrorCode[,Closure,Receipts,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH]
- 4 Additional information about the selected record.
ErrorCode[,Closure,DecRec,ResetRec,KLEN,DT]
- 5 Information from the selected record from the fiscal memory with tax rate setting.
ErrorCode[,Dec,Enabled,PercA,PercB,PercC,PercD,PercE,PercF,PercG,PercH,DT]
- 6 Information from the selected record from the FM with RAM reset.
Closure2
Number of the fiscal entry for references 1 2 and 3. For references 0, 4 5 and 6 this
field is empty. If the parameter exist is returned data for the period set by Closure1 and
Closure2 for references 1, 2 3.
Closure
DecRec
Dec
Enabled
Receipts
PercX
TotX
NetX
TaxX
ResetRec
KLEN
DATECS
BT
DT
28
The command returns information on the different tax groups for each separate entry and or a selected
period of time. Periodic references for longer time periods may take a few seconds to process.
73H (115)
Data field:
<RowNum>,<Data>
or
Response:
RowNum
Data
R<RowNum>,<Data>
None
If symbol R presents in the beginning of the data, the command returns the contents of the
relevant graphic line in hex format.
Shows the line which is being programmed - a number between 0 and 95
Graphic data. Two symbols for each byte of information are entered in the xehadecimal code
(Two symbols for every byte). The length of the data is up to 54 bytes and if they are less an
automatic addition of 00 follows.
This command offers the option to define a graphic logo with dimensions 42 x 12 mm (336 x 96 dots)
designed by the user himself. The printing of this logo is activated with command 43. It is printed out
immediately before the HEADER - at the beginning of each fiscal or non-fiscal receipt. In order to define the
whole logo, the command must be executed 96 times - once for each line. After RESET of the memory, the logo
is loaded from the flash memory. The logo can be stored in the flash memory by virtue of command 41.
Warning: the count of the lines must be divisible of 8.
74H (116) READING A FISCAL MEMORY BLOCK
Data field:
Response:
<Address>,<Bytes>
Data
Address
Start address (from the beginning of the fiscal memory) a hexadecimal number
from 00000h to 1FFFFh (for 1 Mbit fiscal memory).
Number of bytes to be returned (a decimal integer from 1 to 64).
The contents of the requested fiscal memory block in a hexadecimal view (2
symbols for each byte).
Bytes
Data
This command returns the contents of a part from the fiscal memory. For reading of the whole memory
the command has to be executed several times with a different start address.
75H (117) FISCAL CLOSURE (WITH DEPARTMENTS REPORT)
Data fields:
Response:
[<Option>[N]]
Closure,FM_Total,TotalA,TotalB,TotalC,TotalD, TotalE,TotalF,TotalG,TotalH
The command is identical to command 69 (45h). The only difference is, that in the beginning the
departments with non zero accumulated sums are printed. Command 69 exists and works as before. Commands
69, 108, 117 and 118 with option 0 (Z-report) clear the accumulated department sums.
76H (118) FISCAL CLOSURE (DEPARTMENTS AND ARTICLES REPORT)
Data fields:
[<Option>[N]]
Response:
Closure,FM_Total,TotalA,TotalB,TotalC,TotalD,TotalE,TotalF,TotalG,TotalH
The command is identical to command 69 (45h). The only difference is, that in the beginning the departments
and articles with non zero accumulated sums are printed. Command 69 exists and works as before. Both
command 117 and command 69 with option 0 (Z-report) clear the accumulated department sums.
77h (119) WORKING WITH /KLEN (KLEN ELECTRONIC JOURNAL)
Data field:
<Type>[,<InpData>]
Response:
Type
'R'
DATECS
BT
29
Q<Addr>,<Bytes> Direct reading of raw data from KLEN. This command returns 2*Bytes
symbols, presenting Bytes from KLEN (), starting from address Addr.
Addr is set hexadecimal and Bytes decimal. Data is returned in a
hexadecimal format .
DATECS
BT
APPENDIX 1
_1
_2
0_
_3
_4
_5
_6
_7
_8
_9
_A
B
_C
D
_E
_F
1_
2_
3_
4_
5_
6_
&
7_
8_
9_
A_
C_
<
E_
>
F_
30
DATECS
BT
APPENDIX 2
DEC
(33)
(35)
(38)
(39)
(42)
(43)
(44)
(45)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(56)
(58)
(60)
(61)
(62)
(63)
(64)
(65)
(66)
(68)
(69)
(70)
(71)
(72)
(73)
(74)
(76)
(79)
(80)
(83)
(84)
(85)
(86)
(87)
(88)
(89)
(90)
(91)
5C
5Eh
5Fh
61h
62h
63h
64h
65h
66h
67h
69h
6Ah
(92)
(94)
(95)
(97)
(98)
(99)
(100)
(101)
(102)
(103)
(105)
(106)
Function
Clear the display
Text on lower line of display
Opening a non-fiscal receipt
Closing a non-fiscal receipt
Printing non-fiscal free text
Setting HEADER and FOOTER and printing options
Advancing paper
Cutting off printed documents
Displaying a text on the upper line of the display
Open fiscal receipt (invoice)
Registration of sales
Tax rates set during the accounted period
Subtotal
Registration and display
Calculation of a TOTAL
Print a free fiscal text
Closing a fiscal receipt
Registering the sale of an item
Canceling of a fiscal receipt
Setting the clock date and hour
Reading current date and hour
Show date and hour on display
Information on the last fiscal entry
Information on daily taxation
Sets the allowed number interval for invoices
Number of the free fields in fiscal memory
Daily financial report with/without closure
Internal debiting/crediting
Print diagnostic information
Fiscalization
Detailed fiscal memory report by closure number
Reading the status options
Status of the fiscal transaction
Sums accumulated in the fiscal memory for a selected period
Sound signal
Setting the Multiplier, Decimals, Currency Name and Taxes
Barcode printing
Setting the additional methods of payment
Reading the data of the last fiscal memory record
Setting department name and VAT group
Get department information
Program the production test area
Return diagnostic information
Program the serial number, country number and the fiscal memory
number
Separator line printing
Detailed of fiscal memory (selected by date of entry)
Sums accumulated in the fiscal memory for a given period of time
Reading the set tax rates
Setting of (EIK Unified Identification Code)
Reading the tax registration number
Showing text on display
Setting the operators password
Entering operators name
Information on the current receipt
Operators report
Drawer kick-out
31
DATECS
BT
6Bh
6Ch
6Dh
6Eh
6Fh
70h
71h
72h
73h
75h
76h
77h
32