Retail:Epson RT Printer Fiscal Integration for Italy
This document describes the installation and configuration of the Openbravo integration with the Epson RT 90III Printer. The Epson RT 90III Printer is a device that follows the Italy fiscal rules for RT Printers. It allows the creation of fiscal receipts and fiscal reports.
This integration also includes the use of the customer display and cash drawer attached to the Epson RT 90III, and operates the same way any other customer display or cash drawer supported by Openbravo.
The Web POS application communicates with the Epson RT 90III printer using the Fiscal ePOS-Print XML API defined by Epson that allows to communicate directly from the Web POS with the printer without needing any proxy.
This is an overview of the architecture:
Installation and configuration
Epson RT 90III Printer
In general the RT Printer should be configured an ready to work by the provider. Usually the only topic you must check is that the printer has installed the SSL certificate in order to allow Secure HTTP (HTTPS) communication. HTTPS is a security requirement by Openbravo Web POS. To install HTTPS in the RT Printer, refer to the installation documentation of the RT Printer. As a summary the steps are the following:
- Create and upload a SSL certificate to the RT Printer.
- Add the certificate to the Trusted Root Certification Authorities in your terminal.
- Associate the host name of the printer using to the local DNS or adding it to the /etc/hosts file in your terminal.
Finally check everything is correct, opening Chrome in the terminal and loading the page https://rtprinter90iii.local where rtprinter90iii.local is the hostmane associated to the RT Printer.
As System Administrator you need first to install the module RT Printer fiscal integration for Italy. After the module is installed you can rebuild the application and start the configuration.
To configure the taxes, go to the window Tax Rate. In this window, for every tax rate used in the POS, it must be defined the field Fiscal department. The value of this field can be defined as described below:
- Italian clients can decide that the fiscal department related to the Normal VAT rate for Products in Italy is either an "A" or a "1", while Normal VAT rates for Services might be "B" or "2", but once established it will have to be configured as such and maintained, as this will help to maintain consistency and avoid issues especially with returns and voids.
To configure payments, go to the window Channel - Touchpoint Type, for each Touchpoint Type used in the POS, go to the tab Payment Method and fill in the fields Fiscal Department and Fiscal Index for all payment methods.
The values to fill in must follow these rules according to the Italy Fiscal Authorities:
Fiscal Department indicates the payment method:
- 0, Cash.
- 1, Cheque.
- 2, Credit (sell on credit) or credit card.
- 3, Ticket (ticket restaurants).
Fiscal Index is used with either credit cards or tickets to select which kind of credit card or ticket has been used. It is also used with cash to increment different cash totalizers inside the fiscal printer index has no relevance with cheques. The following indexes are available:
- Cash, 0 - 5.
- Credit, 0.
- Credit card, 1 - 10.
- Ticket, 1 - 10.
The next step is to declare and configure all the RT Printers available and link each Touchpoint with one of the RT Printers available.
To declare RT Printers go to the window RT Printer. In this window create one new record for each RT Printer and fill in the following fields:
- Name. The name used to identify the RT Printer.
- URL. The URL used to access from the POS.
- Device ID. Destination printer selection by name. The device ID of the fiscal intelligent, RT Printer is specified here. By default is local_printer, the printer located in the URL defined.
- Timeout. Optional timeout field in milliseconds.
To define the template to use to print fiscal receipts, go to the Organization window and select the record for the store that has the POS terminals and select in the field Fiscal Receipt Template the template to use your fiscal receipts.
And finally in the window Channel - Touchpoint. First check the field Fiscal and then select in the field RT Printer the RT Printer this POS terminal will use.
Once everything is configured, you can use the POS terminal as usual. The customer display attached to the RT Printer will show the information of the current transaction, and the cash drawer connected will open after closing transactions. In the moment of closing a transaction a fiscal receipt will be printed according the template configured.
There are some limitations for fiscal receipts that apply to every POS terminal configured as Fiscal. For example.
- Cannot print quotations.
- Cannot print layaways. The RT Printer cannot create fiscal receipts for partially paid receipts.
- Cannot print cancel and replace receipts. These receipts has been previously printed by the RT Printer.
- Cannot print negative receipts. If a receipt contains positive and negative lines. The total must be positive. In case of refunds, it must be a verified refund with all lines coming from the same receipt.
After the fiscal receipt is created by the RT Printer. The fiscal information returned from the RT Printer is stored in the window Sales order or Return from customer, depending on the document created.
Fiscal Report X
The fiscal report X is the summary report for the daily sales for information purposes. It does not sets the totals to zero and does not send information to the fiscal authorities.
To print a Fiscal Report X, in the POS, go to the menu and select the option Print Report X
Fiscal Report Z
The fiscal report Z is the summary report for the daily sales that sets totals to zero and sends the sales information to the fiscal authorities. It must be created daily.
The fiscal report Z is created after the Cash Up process is completed successfully and the fiscal information returned from the RT Printer is stored in the window Channel - Touchpoint in the tab Cash Up History.
The lottery specification Number 739122/2019, published on October the 31st by IT Tax Authority, defines the following main rules:
- From January 2021 it is possible to participate in the lottery game using the Registratore Telematico.
- The request to participate to the lottery game is done from the customers who provides a Lottery code released from Lottery web portal, at the time of sale, return sale or cancellation.
Besides the above Art.19 of Decreto Legge 26 ottober 2019, n.124, states that:
- In case of electronic payment there will be an additional possibility to win the lottery participating to a new lottery draw (in this case even the retailer will participate to a new lottery draw).
As a consecuence of that Epson RT 90III Printer used throughout the day can generate an XML file according to the layout required for Lottery purposes, by processing the data contained in the permanent summary memory. The RT can send data to the Lotteryy Server only if is state is "IN SERVICZIO", that is following at least one Zreport sent to the tax Authority.
The Registratore Telematico will accumulate the requests to participate to the lottery in a special memory and there will be 3 triggers that will trigger the send of the accumulated requests to the Lottery Server:
- The number of requests is equal to 100
- In case of Zreport
- Extemporary events (like malfunctions that doesn’t allow the correct mode of operation of RT)
To get that working it is required that:
- the module "Italian Lottery Code" must bee installed, as that module allows the booking of the customer lottery code at the time of making a sale.
- For additional information, please review: IT Receipt Lottery Specifications
- and "DirectIO" (LotteryIDCode) RT-printer command is implemented in the RT-Printer integration.
Same way, this lottery code needs to be printed in the commercial document.
To print the lottery code, the sequence of the commands is as follow:
To print out a Lottery Refund/Void receipt the commands sequence is as follow:
- PrintRecMessage (Void/Refund text)
- DirectIO (LotteryIDCode)
The LotteryIDCode must be sent if the original sales receipt was not found in the EJ of the RT Printer. If the original receipt is found in the EJ the RT add the Lottery ID Code available in the original receipt.
In Openbravo terms, verified returns will capture the LotteryIDCode of the original sale, so that one can be sent.