Fiscal registers and OFD — Paloma365 Classic (Windows POS)
This article covers Paloma365 Classic — the Windows POS application. When an order is paid, the POS creates a fiscal receipt on an online cash register (fiscal register, KKM) and sends it to the fiscal data operator (OFD), as required by local tax law.
Overview
A fiscal receipt is a receipt registered with the tax authority. The OFD (fiscal data operator) receives each receipt from the online cash register and forwards it to the tax service. Without fiscalization, the POS prints regular non-fiscal receipts.
Supported online cash registers
- Kazakhstan: WebKassa, NurKassa, ReKassa, Trinity, GREEnKassa, EKassa, KaspiKassa (kaspi.kz), plus the iKKM hardware register (connected over the network).
- Uzbekistan: UzKassa, EPosKassa, QPosKassa.
- Kyrgyzstan: NewCas.
- Ukraine: UKassa.
Smart POS Terminal and Senim are a separate case: not an online register of their own, but a payment terminal that issues the fiscal receipt itself when a card is charged.
Check availability in your country with Paloma365 support.
Online cash registers are not the only fiscalization option. The POS local settings include a «Тип ФР» (fiscal register type) selector with the modes «ФР ШТРИХ», «ФР ПОРТ», «ФР АТОЛ», «ФР ЭЛВИС-МИКРО», «ФР iKKM» and «ФР ONLINE»: the first modes are hardware fiscal registers connected directly to the POS, while the online registers covered in this article work in the «ФР ONLINE» mode. Hardware fiscal registers are covered in Hardware fiscal registers.
An online cash register and a hardware fiscal register cannot work at the same time. As soon as any online-register module is enabled in the dashboard, the POS switches «Тип ФР» to «ФР ONLINE» and locks the selector — a hardware mode cannot be chosen while the module is on. To return to a hardware register, disable the online-register module in the dashboard first and restart the POS.
Connecting an online cash register step by step
The procedure is the same for every provider — WebKassa, NurKassa, ReKassa, Trinity, GREEnKassa, EKassa, KaspiKassa, UzKassa, EPosKassa, QPosKassa, UKassa, NewCas. Only the name and the credentials dialog in the last step differ.
Connecting has two parts: the register is first enabled in the dashboard, and only then configured on the POS computer itself.
- Get the credentials from the provider. Sign the contract and register the cash register with the tax authority. You need the provider login and password (key), and for Kazakhstan the register numbers as well (INK/RNK).
- Enable the module in the dashboard. Open Settings → Modules (the "Module settings" page), find the "Workplace modules" block and connect the required online register to the workplace it will run on. The module is paid — the price is shown next to its name. If the module is not in the catalog, message us here — a specialist will join.
- Restart the POS. The POS receives the list of enabled modules from the server when it connects, so the change applies after a restart (or a new login). The POS computer must be online.
- Check that the register is on. POS settings → «Плагины» (Plugins) tab. The «Использовать
<register name>» checkbox must be ticked. This checkbox is an indicator only — it cannot be ticked by hand, it is switched on by the dashboard module (see below). - Enter the provider credentials. A «Тест подключения» (Test connection) button appears next to the checkbox. Click it — the provider's own dialog opens for the login, password and register numbers. Enter the data from step 1 and save.
- Verify the connection. Print an X report with "X/Z Online cash registers" in the same place — if it prints, the connection works.
- Check the payment types. Only payment types with the "fiscal for online registers" option are fiscalized; otherwise the POS reports that none of the selected payment types is fiscal.
The "Использовать …" checkbox is greyed out — that is by design
Online-register checkboxes on the «Плагины» tab are deliberately not clickable. A register is enabled in the dashboard, not on the POS — as a module for a specific workplace (step 2), so that a cashier cannot switch fiscalization off by accident.
If the checkbox stays empty after you enabled the module, check that the module is attached to this workplace, that the POS has been restarted, and that the POS has internet access.
The POS asks to update modules on start-up
Each online register works through its own module file shipped with the application. If the file is missing or outdated, start-up reports that a module version is below the required minimum and asks whether to continue anyway. Update the POS instead: settings → «Настройки аккаунта» tab → «Обновить программу» (see Installation and updates). Running with an outdated module may break fiscalization.
How fiscalization works
The cashier pays the order as usual; the POS sends the receipt to the online register, which registers it with the OFD and returns the fiscal details printed on the receipt. X/Z reports of the online register are printed from settings via "X/Z Online cash registers" (see also Shift close and Z-report).
Key points:
- Only fiscal payment types are fiscalized; deposit and credit payments, and zero-total orders, are not.
- The item card's "National code" field (NTIN/NKT) is sent with each receipt line — fill it in if your OFD requires an item code.
- A refund is a regular order return. If the «Запрашивать данные чека основания» (request original receipt data) checkbox is enabled in local settings, the refund shows the «Введите информацию из оригинального чека» (enter the original receipt information) window with five fields: fiscal sign, date and time, total amount, cash register registration number, and the receipt offline flag; with the checkbox off, the window does not appear. For UzKassa, the fiscal refund is performed on the terminal itself.
Non-fiscal payment types: "fiscalization disabled"
If an order is paid with a payment type that does not have the "fiscal for online registers" flag (and also with a deposit or on credit), the POS prints a regular receipt and does not send it to the OFD — even with an online register or fiscal register enabled. The operation is marked with the messages «Фискализация отключена» (fiscalization disabled) and «Принудительно отключена фискализация» (fiscalization forcibly disabled). This is not an error: the POS is telling you fiscalization was intentionally skipped because of a non-fiscal payment type. If the receipt should have gone to the OFD, check the "fiscal for online registers" flag on that payment type.
Mixed (split) payment and fiscalization
Not every online register can fiscalize an order paid with several payment types at once:
- UzKassa, EKassa and QPos do not support mixed payment — with these providers connected, the split-payment button is unavailable.
- Mixed payment is also disabled while the Satty lottery module is connected (see below).
- With an active fiscal register, the mixed-payment window offers only Cash, Card and Deposit. If the "payment type rules" option is enabled, the workplace's payment types flagged as fiscal are offered instead.
Fiscal cash deposits and withdrawals
Cash-in and cash-out operations can also go through the fiscal register or online register. The cash in/out window (Cash screen → money operations) has a «Фискальная операция» (fiscal operation) switch:
- when on, the operation is sent to the fiscal register / online register as an official cash deposit or withdrawal;
- the switch position is remembered for the next operation;
- the fiscal amount is rounded to a whole number;
- only cash-desk operations are fiscalized — bank deposits/withdrawals are not sent to the fiscal register;
- for EPosKassa and QPosKassa fiscal cash in/out is unavailable — the switch is off and locked.
If the fiscal operation fails, the deposit/withdrawal is not saved — fix the register connection first.
Fiscal receipt duplicate
A receipt copy is printed from the Cash screen: select a closed order → «Опции» (Options) → print a receipt copy (the «Копия чека» (receipt copy) operation can be protected by a password from the point settings). A regular copy is always available — after printing the POS reports «Дубликат счета распечатан!» ("Receipt copy was printed successfully!").
A fiscal duplicate — reprinting the receipt with fiscal details — is available only with WebKassa: the copy window shows a separate fiscal-duplicate switch. On success the POS reports «Дубликат фискального счета распечатан!» ("Fiscal bill duplicate printed!"). Other online registers and hardware fiscal registers cannot print a fiscal duplicate from the POS — use the provider's dashboard instead.
iKKM error codes
The iKKM hardware register replies with numeric codes. The POS shows them with an explanation (prefixed «iKKM:»); the texts are displayed in Russian:
| Code | POS message |
|---|---|
| −1 | «Неверный web-api ключ! Нужно настроить новый ключ для iKKM. Для настройки выключите web-кассу на iKKM, после выключения, в верхней части настроек Web-кассы отобразится "Web-api ключ", впишите этот ключ в поле API-ключ.» — wrong web-api key; get a new key from the device's Web-kassa settings |
| −2 | «Происходит регистрация повторите запрос позже!» — registration in progress, retry later |
| −3 | «Смена привысила 24 часа! Необходимо закрыть смену! (выполняется на iKKM)» — the fiscal shift exceeded 24 hours, close it on the iKKM device |
| −4 | «Оффлайн период более 72 часов! Нужно решить проблему связи и разблокировать ккм» — offline for more than 72 hours; restore the connection and unblock the register |
| −5 | «Низкий заряд батареи ккм! Нужно зарядить ккм.» — low battery, charge the device |
| −6 | «Принтер не готов! Нужно проверить бумагу.» — printer not ready, check the paper |
| −7 | «Ошибка запроса проверьте передаваемые параметры» — request error |
| −8 | «Ошибка метода! Только /api или /apicheck» — method error |
| −9 | «Ошибка значений параметров! Передавать только цифры (кроме параметра print)» — parameter value error |
| −10 | «Значение cash меньше sale (buy…) проверьте логику работы с API» — cash value below the sale amount |
| −11 | «Смена открыта другим кассиром закрыть смену» — the shift is open under another cashier, close it |
| −12 | «Значение cash меньше чем расчетная итоговая сумма может возникнуть если налог насчитывается поверх суммы» — cash below the calculated total (tax added on top) |
| −17 | «Ошибка обработки JSON запроса в itemdata, проверьте логику работы с API» — JSON processing error |
| −100…−199 | «Ккм заблокирован ОФД см документацию ОФД (отнять100)» — the register is blocked by the OFD; subtract 100 from the code and look it up in the OFD documentation |
| −99 | «Ошибка iKKM смотрите журнал событий на iKKM» — see the event log on the iKKM device |
| −200 | «Не удается установить соединение с сервером iKKM» — the POS cannot reach the iKKM device over the network |
Besides the codes, iKKM can reject a payment because of the payment type: «iKKM: Нельзя оплатить счет другим типом оплаты» (only Cash, Card and Deposit are allowed) and «iKKM: Нельзя оплатить счет смешанным типом оплаты с активированным банковским модулем» (mixed payment is forbidden while the "External banking module" checkbox is on). iKKM setup is described in Hardware fiscal registers.
Selling Satty lottery tickets
The Satty module sells lottery tickets right on the POS. It is enabled by a dashboard module; the «Плагины» (Plugins) tab then shows the «Использовать Satty» checkbox, the «ID Товара-лотереи» (lottery item ID) field and a «Тест подключения» (Test connection) button. The lottery item ID names the item that stands for a lottery sale on the POS.
How it works:
- The cashier adds the lottery item to the order — a window opens with the «Игра» (Game: Loto 6/49, Telebingo, Loto 5/36) and «Ставки» (Bets) selectors, a barcode field and «Выбрать» / «Отмена» buttons. The chosen bet is added to the order at the game's price.
- Only one lottery per order — adding a second one shows: «В счете уже есть позиция - лотерея!» ("There is already a lottery in a bill!").
- An order with a lottery cannot be deferred / switched to another deferred tab: «В счете имеется позиция - ЛОТЕРЕЯ, оплатите счет или удалите позицию» ("There is a lottery in an order, pay the check or delete the lottery").
- With the Satty module connected, mixed payment is unavailable.
- The ticket is printed when the order is paid. If printing fails, the POS reports «Не удалось распечатать лотерею в счете» ("Failed to print lottery in bill") — check the connection and retry.
Deferred fiscalization
Take payment immediately, send the fiscal receipt later — useful when the connection is down. Enable the "Deferred fiscalization" checkbox in local settings (payment window section); a matching switch then appears in the payment window, and paid orders get the "fiscalization pending" status.
The order journal (Cash screen) shows a "Fiscalization" button — it fiscalizes all pending orders at once, or only the current one. The journal filter selects orders by status: not required / completed / pending. Important: send deferred receipts before closing the shift — after shift close they can no longer be fiscalized.
Common problems
"Не удалось отменить чек." / "Не удалось закрыть чек." (could not cancel / close the receipt) — these come from the test buttons in the fiscal device settings: the command did not reach the device or was rejected. The device's own answer is on the next line; on success a confirmation is shown instead. If no receipt comes out and the register shows a numbered error, start with The register will not print a receipt: Webkassa and OFD error codes. The first thing checked there is whether the OFD services and the online-register licence are paid for: they are billed separately from Paloma365, and when unpaid the register stops printing receipts (codes 94 and 17).
No connection to the online register ("error while working with the online cash register") — check the internet and the device; during a long outage use deferred fiscalization.
Receipt not fiscalized — check the payment type is fiscal and look for "pending" orders in the journal; send them with "Fiscalization".
Fiscal shift not closed — iKKM reports "Shift exceeded 24 hours": close the fiscal shift on the device. The shift may also be open under another cashier.
Register blocked by the OFD after 72+ hours offline — restore the connection and unblock per the provider's instructions.
Fiscal receipt print error / «Не выбран фискальный принтер для работы!» ("Fiscal printer is not chosen!") — check the fiscal printer, paper, and connection.
«Оплата прошла, но получено уведомление через Webkassa!» ("Payment went through, but a notification was received via Webkassa!" — likewise for NurKassa, KaspiPos, NewCas). The order is paid and saved, but the online register returned a warning — its text follows the message. Usually it is the provider's own warning (e.g. about the shift or register state). Check the receipt and the register state in the provider's dashboard; do not pay the order again.
The receipt was not fiscalized, paid with an "other" payment type. If the payment type is not flagged as fiscal, the POS skips fiscalization with the marks «Фискализация отключена» / «Принудительно отключена фискализация» — see Non-fiscal payment types.
An error inside the provider's window. The login/settings windows of the online registers (WebKassa, NurKassa and others) are the providers' own modules: the texts of their internal errors come from the provider, not from Paloma365. If the error appears inside such a window (wrong login, register error, shift error), resolve it in the provider's dashboard or with their support. The message «Плагин не загружен» ("Plugin is not loaded") means the module file is missing or outdated — update the application.
The online register never showed up on the POS — the checkbox on the «Плагины» tab is empty or missing: the module is not enabled in the dashboard, or the POS has not been restarted. See Connecting an online cash register.
FAQ
How do I connect GREEnKassa?
Exactly like any other online register — follow Connecting an online cash register. In short: get the login, password and register numbers from GREEnKassa (GREEnKassa.KZ); in the dashboard open Settings → Modules → Workplace modules and connect the GREEnKassa module to the workplace; restart the POS; then on the «Плагины» tab the «Использовать GREEnKassa» checkbox ticks itself and a «Тест подключения» button appears — click it and enter the credentials.
The checkbox itself stays greyed out — that is normal: the register is enabled by the dashboard module, not on the POS.
How do I know fiscalization is set up?
A register is enabled with credentials in settings, and paid receipts print fiscal details. An X report printed via "X/Z Online cash registers" confirms the connection works.
What if I close the shift with unsent receipts?
They can no longer be fiscalized. Always press "Fiscalization" before closing the shift.