Skip to main content

How To Guide Fiscal Lithuania

Fiscal Overview

For shared background, see Fiscal Overview.

Lithuania Fiscalisation Introduction

In Lithuania, the fiscal approach requires the use of a CHD device to ensure compliance with the country’s fiscal regulations. The CHD device is a hardware-based solution that securely processes, records, and stores each transaction in a tamper-proof format to prevent fraud and ensure transparency.

Receipts generated by the POS system must be printed and offered to customers. These receipts must include certain mandatory fields, such as a unique fiscal receipt number and a digital signature generated by the CHD device.

This guide assumes that the standard POS has already been deployed in a standard fashion and has established a connection with the Estate manager. For further details on how to do this please refer to the insights portal: https://insights.enactor.co/

App Update Deployment Overview

  1. Send ‘application updater update.zip’ file first.

  2. Wait until it succeeds.

  3. Then send the ‘update POS min.zip’ file.

  4. Wait until it succeeds.

  5. Finally, send the Fiscal Module Update.

  6. Once it is succeeded, the POS is ready with the new POS Fiscal

    Module.

Configuration Overview

The following configuration changes are required and must be broadcast to all Lithuania devices in preparation for go live. Detailed steps for how to do this are contained in supplementary How to Guides available on the Enactor Insights portal, as well as being covered in the Introduction to Enactor training course. Although steps have been taken to ensure that the POS will not start or perform transactions without a valid configuration it is the retailers responsibility to ensure a valid configuration is present and not to try to circumnavigate any of the requirements of the Lithuania Fiscal Legislation through misconfiguration of the solution.

Tax Groups

The following tax groups should be configured and broadcast to the appropriate Lithuania devices.

Tax Group IDDescription
LT-01LT Standard VAT - 21%
LT-02LT Reduced Rate 9%
LT-03LT Reduced Rate 5%
LT-04LT Zero Rate 0%

Tax Scheme

The following tax scheme should be configured and broadcast to the appropriate Lithuania devices. Make sure to add all the Tax Rates related to Lithuania in the Applicable Tax Rate Tab as well.

Tax Scheme IDDescriptionPrice Include Tax
LTLithuania Tax SchemeTRUE

Add all the applicable tax rates (LT-01, LT-02, LT-03, LT-04) in the Applicable Tax Rates Tab

Tax Rates

The following tax rates should be configured and broadcast to the appropriate Lithuania devices.

Tax Rate IDDescriptionDisplay CodePercentageFiscal Tax Rate Reference
LT-1LT Standard VAT - 21%A21%A
LT-2LT Reduced Rate 9%B9%C
LT-3LT Reduced Rate 5%C5%B
LT-4LT Zero Rate 0%D0%D

Tax Region

If it does not already exist, a Tax Region for Lithuania should be created within the Tax Region Group Hierarchy. It should have the ID: “LT” and the Name: “Lithuania”, it is not necessary to configure an External Reference ID.

Tax Group Tax Methods

The following tax group tax methods should be configured and broadcast to the appropriate Lithuania devices.

Tax Group IDTax Scheme IDDescriptionTax Rate
LT Standard VAT 21%LithuaniaLT Standard VAT 21%21
LT Reduced Rate 9%LithuaniaLT Reduced Rate 9%9
LT Reduced Rate 5%LithuaniaLT Reduced Rate 5%5
LT Zero Rate 0%LithuaniaLT Zero Rate 0%0

Product Tax

The following tax configurations should be configured againts the products and broadcast to the appropriate Lithuania devices.Tax group can be defined to either configure the tax group or have a tax group by tax region.

POS Terminal Template

The POS Terminal Template used by all devices in Lithuania must be configured to have the Fiscalisation Type set to Lithuania. Currency should be set to Euro and Locale to Lithuania. If a POS terminal configuration with the Fiscalisation type set to Lithuania is broadcast to a POS device that does not have the Lithuania fiscal module installed the POS will fail to start. Similarly if a POS device with the Lithuania fiscal module installed is configured with anything but the Lithuania Fiscalisation type the POS will also fail to start. This is to ensure that only versions of the enactor solution that have been certified for use in Lithuania are used in Lithuania.

Select “CHD Lithuanian Fiscal Printer” from receipt printer type dropdown.

CHD printer IP address and port should be configured against the POS terminal maintenance Receipt Printer Address and broadcast to POS and or PDP server.

Receipt Printer Shared must NOT be ticked.

Select “Printer-Attached Cashdrawer” from the cash drawer type dropdown

Disable following Privileges, if they are enable

Privilege IDApplication Package
enactor.pos.ContinueWithDrawerOpenEnactor POS
enactor.pos.SignOnWithDrawerOpenEnactor POS
enactor.pos.SkipDrawerStatusInitializationCheckingEnactor POS

Set the printer IP and port as in the above image. The Port may be either 5345 in a test lab or 5344 in a production like environment but this should be checked with CHD.

Select Custom as the Customer Display Type from the dropdown.

Set Customer Display Classname to com.enactor.peripherals.fiscalPrinter.lithuania.CHDLithuaniaLineDisplay in the configuration

set Customer Display Address to <IP>:<port> and Customer Display At Server to true

Set Receipt Printer Config as below,
barcode.type
barcode.textPosition
barcode.leftmargin

For barcode.leftmargin value we can be set in the range of 0-255. The default is 0. We can move the left margin until the barcode reaches the right end of the receipt, If the barcode exceeds the right most end of the receipt, the printer will not print the barcode.

For barcode.type=CODE93 the working left margin is only 0 in our tests.
**barcode.leftmargin=0


**
For barcode.type=ITF the working left margin is up to 40 in our tests.
barcode.leftmargin=40
This depends on the receipt width and the Barcode Type.

The Primary Receipt should be set to Fiscal 70 Standard Receipt and Page Printer Fiscal Invoice should be set to Lithuania Fiscal A4 Standard Receipt.

The Customer Signature Slip should be set to Fiscal Customer Signature Slip 70 Col

The Warranty Slip should be set to Fiscal Warranty Slip 70 Col

The ‘Print Tax Details on Receipt’ flag within the printing > flags tab should be ticked.

Within the Tax section the Tax Region should be set to Lithuania and the Tax Scheme to the Lithuania Tax Scheme configured in the previous section.

Document Function Maintenance

Create a new Document Function “PrintReceipt”

Location Printers Maintenance

Create a new Location Printer for Lithuania POS Location

Set Printer Category as “A4 document printer”

Set System Printer for Printer Type

Add printer name for the Printer Address

Note:

If the file saving of the invoice is needed add "enactor.pos.SavePagePrinterReceiptToFile” privilege

If a physical printer is not connected, add “enactor.pos.SKipPagePrinterReceiptPrint” to skip trying to print with the system printer

Document Printer Mapping Maintenance

  1. Create a new document printer mapping

  2. Select “Print Receipt” as function

  3. Select the correct store location

  4. Select the device that printer is connected to.

  5. Press create button

Printers created under the location printer maintenance should be listed under the Primary Printer dropdown.

Select the relevant A4 printer as Primary printer and save.

Location

Set Company Tax ID for the VAT Number in Location Maintenance's General tab.

Tender

When creating tenders in Enactor Tender Maintenance, ensure that the Tender ID for the the tender is entered in all capital letters e.g. 'CASH' and matches the TENDERID config on the CHD xsPOS.

The mapping from Enactor to CHD is as follows:

  • fiscalTenderId is mapped to TENDERTYPE

  • fiscalTenderType is mapped to CUSTOMTYPE

  • tenderId is mapped to TENDERID

These values should be set according to the CHD documentation:

N.B. When using non-integrated payments the TENDERTYPE should be sent as Cash i.e. 0, since sending Card i.e. 1, would trigger the CHD payment solution.

CUSTOMTYPE is the tender value that will be sent to I.EKA the possible values are provided by CHD in the following list:

  • "1": Cash

  • "2": Debit or credit card

  • "4": Coupon

  • "6": PSD (medicine, health insurance fund)

If the values are not set, by default TENDERTYPE = “0” and CUSTOMTYPE = “1” will be sent to the printer.

For cash tenders, set the Minimum Accepted Denomination to €0.05, and in the Debit Rounding Rule dropdown, select 'Nearest' under the Restrictions 1 tab.

Privileges

The following privileges will need to be configured against the appropriate roles and broadcast to the Lithuania devices. Consideration should be given to whether it is desirable for all operators to have all of these privileges or if some should only be granted to managers. For more detail on Privileges and roles refer to the How-To Guide Configuring User, User Roles and User Templates

Privilege IDApplication Package
enactor.pos.AllowReturnTaxRefundItemAlreadyRedeemedEnactor POS
enactor.pos.AuthorisesReturnItemEnactor POS
enactor.pos.ReturnItemAllowedEnactor POS
enactor.pos.GiftCardTenderAllowedEnactor POS
enactor.pos.VoidTransactionDiscountAllowedEnactor POS
enactor.admin.RunEnactor POS
enactor.pos.ReprintRecentReturnToTransactionEnactor POS
enactor.pos.VoucherRedeemAllowedEnactor POS
enactor.pos.ReturnFromReceiptAllowedEnactor POS
enactor.pos.AuthorisesVoidCardTenderItemEnactor POS
enactor.pos.AuthoriseDayEndBeforeEarliestEnactor POS
enactor.pos.AuthorisesVoidTenderItemEnactor POS
enactor.pos.CashRefundAllowedEnactor POS
enactor.dayStart.AuthorisesDayStartEnactor POS
enactor.pos.AllowEmployeeReturnIfUserInvolvedEnactor POS
enactor.pos.RequestSimpleFiscalInvoiceAllowedEnactor POS
enactor.pos.AuthorisesNoSaleEnactor POS
enactor.pos.NoSaleAllowedEnactor POS
enactor.pos.PrintFiscalReportsAllowedPOS Fiscalisation
enactor.pos.AuthorisesPrintFiscalReportsPOS Fiscalisation
enactor.pos.fiscal.AuthorisesPrintInvoiceFromArchivePOS Fiscalisation
enactor.pos.fiscal.PrintInvoiceFromArchiveAllowedPOS Fiscalisation
enactor.pos.fiscal.AuthorisesSetFooterPOS Fiscalisation
enactor.pos.fiscal.SetFooterAllowedPOS Fiscalisation

Note: The following privilege needs to be removed for the Lithuanian Cashiers: enactor.pos.AutoSignOffStoreTransaction

This permission is causing the POS to send the transaction to the EM as a completed transaction when the POS is configured to be automatically signoff. To prevent this please disable this privilege.

The following Menu should be configured and broadcast to the appropriate devices.

Sale menu

On the EM navigate to Configuration > System > Menu

  1. Edit the “SALE” menu for the Menu Group “Standard POS”

  2. Add a folder under “Sales > Management > Report” called “Fiscal

    Reports”

  3. Add new buttons to the Fiscal Reports Folder for the following:

EventIDButton LabelNameJava TypeValue
Fiscal_PrintReports_XFiscal_PrintReports_XFiscal X ReportReportTypeStringX
Fiscal_PrintReports_ZFiscal_PrintReports_ZFiscal Z ReportReportTypeStringZ
Fiscal_PrintReports_Periodic_ByDateFiscal_PrintReports_Periodic_ByDateFiscal Periodic Report By DateReportTypeStringPERIODIC
Fiscal_PrintReports_Periodic_ByFiscalNumberFiscal_PrintReports_Periodic_ByFiscalNumberFiscal Periodic Report By Fiscal NumberReportTypeStringPERIODIC
  1. Edit the “SALE” menu for the Menu Group “Standard POS”

  2. Add a folder under “Admin” called “Footer”

  3. Add new buttons to the Fiscal Reports Folder for the following:

EventIDButton LabelNameJava TypeValue
Fiscal_Set_FooterFiscal_Set_FooterSet FooterConfigTypeStringSET_FOOTER

For more detail on menu creation refer to the How-to Guide Configure POS Behaviour (Menus)

Groups

Create new Price group and Region For Lithuania

Translations

There are a number of translations that need to be done to get the customer display to show Lithuania rather than defaulting to the standard English value:

The till welcome and till closed message should be provided on either the location template or the location maintenance depending on if you would like different messages in each store.

Item Discounts should have a Lithuania translation for the description.

The promotion description should be in Lithuanian. There is no locale specific translation for promotions as promotions are expected to be unique to a country.

For the standard messages on the display they come from Pos/Print/ReceiptMessages the main ones are:

and

There is currently an issue where the customer display, product, tender and discount translations are taken from the user locale rather than the location locale. For the time being the user locale should be set to Lithuanian for Lithuania staff. This should not affect the majority of behaviour for the POS since Lithuanian translations have not been provided so will still default to English.