Skip to main content

Fiscal Requirements

Features of EFR

The EFR serves as system interfacing to certified fiscal printers. It does not replace a fiscal printer, this is still needed to fulfil the requirements of Hungarian fiscal law. EFR keeps secure journals, as it does for other fiscal countries. Sales transactions have to be printed using the fiscal functions of the printer.

For this to work two elements have to be in place:

  • a transaction, sent via REST web request to the EFR, which contains sales data, and
  • a formatting file, which defines formal representation of this data.

POS Buttons

Following buttons must be included in the POS application to comply with HU fiscal law:

Ping Tax authority server

Buttontext:   PING NAV SZERVER

URL:               http://localhost:5618/peri/print/ping
Method:        POST
Query:           RN     client to use, default "def"

On success EFR will display the mandatory text on the display:

KOMMUNIKÁCIÓS CSATORNA ÉL COMMUNICATION SUCCES

Enable USB mode

Buttontext: AEE USB MÓD BE

URL:          http://localhost:5618/peri/print/usb-mode
Method:   POST
Query:      enable=1
                   RN     client to use, default "def"

Disable USB mode

Buttontext: AEE USB MÓD KI

URL:          http://localhost:5618/peri/print/usb-mode
Method:   POST
Query:      enable=0
                   RN     client to use, default "def"

Buttontext: Bizonylat-összesítő nyomtatása

URL:          http://localhost:5618/peri/print/list
Method:   POST
Query:      ZI (Z-index)
                   RN     client to use, default "def"

Other Printing Functions

Direct Printing

see EFR API Direct Printing

Reprint Fiscal Transaction

URL:          http://localhost:5618/peri/print/reprint
Method:   POST
Body:        empty
Query:      FN
                   RN     client to use, default "def" This function invokes the reprint of a receipt on the fiscal printer.

Specific documents can be reprinted by specifying FN as query parameter.

Line Display

see EFR API Line Display

Cash Drawer

By default the cash drawer should be managed by the cash register application.

Open Drawer and Wait

see EFR API Open Drawer and Wait

Open Drawer

see EFR API Open Drawer

Poll Drawer

URL:          http://localhost:5618/peri/drawer
Method:   GET
Query:      RN    client to use, default "def"

Response

{"PeriDrawer":"1"}

or (when request header accept=text/xml is set):

<DrawerState>
<PeriDrawer>1</PeriDrawer>
</DrawerState>

until final closing

{"PeriDrawer":"0"}

Printer State

State varies between different printer models, fields ModuleName, ErrorCode, Warning and SimpleState are unified across different printers.

Printer State request

see EFR API Printer State

Response:

{
"ModuleName": "BBAS",
"SimpleState": {
"DayOpen": true,
"ZRequired": false,
"NextZRequired": "2023-09-19T14:20:59",
"DrawerOpen": true,
"PaperNearEnd": false,
"PaperEnd": false,
"CoverOpen": false,
"MemAlmostFull": false,
"MemFull": false,
"CertExpires": null
},
"Registered": "true",
"Assigned": "Assigned",
"CashRegisterCode": "Y07900042",
"StorageOnline": "true",
"PrinterWork": "true",
"MaxSpace": "13990848",
"FreeSpace": "13968864",
"DocPrintPending": "false",
"MiddlewareVersion": "adele-mid-hu-v0002-HF1",
"VAT1": "5.0",
"VAT2": "18.0",
"VAT3": "27.0",
"VAT4": "0.0",
"VAT5": "0.0",
"EuroMode": "Preparation",
"Preparation": "2020-09-15T10:39:09+02:00",
"Switch": "2020-09-30T10:38:09+02:00",
"TransitionEnd": "2020-10-24T10:38:09+02:00",
"Rate": "359.99",
"Drawer": "1",
"PaperEnd": "0",
"PaperNearEnd": "0",
"Cover": "0",
"NextDayClosingRequired": "2023.09.19 14:20:59"
}

Payment Types

It is possible to define different payment types in the Pay element with Pay.PayG.

Following payment types are possible:

PayGDescription
CashCash payment
BankcardCard payment
ForeignCurrencyForeign currency payment, e.g. Euro
HealthCardPaymentHealth card payment
ERZSUElizabeth voucher
SZÉCHKSzéchenyi card
AJÁNDGift card
HŰSÉGLoyalty card
SMARTSmart card
GÖNGYEmpties ref.
KUPONCoupon

The values must be sent as PayG, e.g.:

<Pay Dsc="Card" PayG="Bankcard" Amt="9.99" />

If ForeignCurrency is used the foreign amount goes to FAmt and the currency rate goes to FRate:

<Pay Dsc="Cash EURO" PayG="ForeignCurrency" Amt="3775.00" FAmt="10.00" FRate="377.5" CC="EUR" />

VAT Handling

As in other countries transaction data is normalised upon registration (details see EFR rule set Tax Group Assignment). Tax rates are controlled via ESR.TaxA, Tax.Prc is used for eKasa or matched against the printer configuration.

PrcDescriptionTaxG
27%normalA
18%reduced 1B
5%reduced 2C
0%AJT AdójegyesD
0%TAM Tárgyi adómentesE

Specifics

Pay

Pay-ins and Pay-outs are done with NFS=”Pay” and amounts declared in PayA. Additionally a predefined reason must be defined as Rsn=”XX”. A detailed description and an example can be found in the country specific business cases Payment Transaction

Pay-in reasons

RsnDescription
01Change pay-in
02Cashier pay-in
03Fee collection
04Lottery ticket selling
05Deposit
06Cash shortage
07Tip
08Other pay-in

Pay-out reasons

RsnDescription
31SKIM
32Cashier log-out
33Voucher out
34Gift card out
35Salary payout
36Wages payout
37Post fee payout
38Other costs
39Buy goods
40Closure amount payout
41Other payout

Opening Balance

It is mandatory after a Daily Closure to open the fiscal day with a NFS=”INI” transaction with the opening balance included as payments. A detailed description and an example can be found in the country specific business cases Opening Balance

Daily Closure

The fiscal printer's closure function ("Print Z Report") is invoked by sending a non-fiscal transaction with NFS=”Z”: Like in other country implementations tag NFS="Z" is required. A detailed description and an example can be found in the country specific business cases Z-Report / End of Day

Void/Return

Voids and returns are done by setting Pos.Amt to a negative value and referring to the original document by ESR.RFN. Additionally the date of the original document sent as ESR.RD, the customer data sent as ESR.Ctm and a reason as ESR.Rsn are required. A detailed description and an example can be found in the country specific business cases Void

Return reasons
RsnDescription
V1Faulty goods
V2Customer cancels the purchase
V3Other
Void reasons
RsnDescription
S1Customer cancels the purchase
S2Cashier: incorrect entry
S3Cashier: incorrect currency entered
S4Cashier: item out of stock
S5Technical: incorrect document issued
S6Technical: unsuccessful currency usage
S7Technical: incorrect customer data/incorrect entry
S8Technical: mystery shopping
S0Other

Healthcard

Not available in beta version.

Fuelcard

Not available in beta version.

NTAK

Under the terms of operative legislation, all domestic accommodation providers, catering establishments and tourist attraction operators must use software certified by the Hungarian Tourism Agency (HTA) which is suitable for reporting data to NTAK.

To report the relevant data to NTAK, include the NTAK item category on the Pos object:

<Tra>
<ESR TL="001" TT="1" TN="30" T="500">
<PosA>
<Pos PN="1" Dsc="Breakfast" Amt="500" TaxG="A" HU_NTAK="1001" />
</PosA>
<PayA>
<Pay Dsc="Cash" PayG="Cash" Amt="500"/>
</PayA>
</ESR>
</Tra>

NTAK categories

HU_NTAK valueDescription HUDescription EN
1001Étel, reggeliFood, breakfast
1002Étel, szendvicsFood, sandwich
1003Étel, előételFood, appetizer
1004Étel, levesFood, soup
1005Étel, főételFood, main course
1006Étel, köretFood, garnish
1007Étel, savanyúság/salátaFood, pickles/salad
1008Étel, desszertFood, dessert
1009Étel, snackFood, snacks
1010Étel, egyébFood, other
2001Helyben készített alkoholmentes ital,limonádé/szörp/frissen facsart italLocally made non-alcoholic drink, lemonade/syrup/freshly squeezed drink
2002Helyben készített alkoholmentes ital, alkoholmentes koktélLocally made non-alcoholic drink, non-alcoholic cocktail
2003Helyben készített alkoholmentes ital, tea/forrócsokiLocally made non-alcoholic drink, tea/hot chocolate
2004Helyben készített alkoholmentes ital, kávéLocally made non-alcoholic drink, coffee
2005Helyben készített alkoholmentes ital, vízLocally made non-alcoholic drink, water
2006Helyben készített alkoholmentes ital, rostos üdítőLocally produced non-alcoholic drink, soft drink
2007Helyben készített alkoholmentes ital, szénsavas üdítőLocally made non-alcoholic drink, carbonated soft drink
3001Alkoholos Ital, koktélAlcoholic drink, cocktail
3002Alkoholos Ital, likőrAlcoholic drink, liqueur
3003Alkoholos Ital, párlatAlcoholic drink, distillate
3004Alkoholos Ital, sörAlcoholic drink, beer
3005Alkoholos Ital, borAlcoholic drink, wine
3006Alkoholos Ital, pezsgőAlcoholic drink, champagne
4001Egyéb, egyébOther, other
4002Egyéb, szervizdíjOther, service fee
4003Egyéb, borravalóOther, tips
4004Egyéb, kiszállítási díjOther, delivery fee
4005Egyéb, környezetbarát csomagolásOther environmentally friendly packaging
4006Egyéb, műanyag csomagolásOther, plastic packaging
4007Egyéb, kedvezményOther, discount