Croatia POS Fiscalization for Odoo
Real-time B2C cash-receipt fiscalization to the Porezna uprava over a direct CIS SOAP + mTLS connection — JIR, ZKI and a verification QR recorded for every Odoo POS order.
Update date: 2026-07-12
What It Does
This module brings Croatia's B2C cash-receipt fiscalization ("fiskalizacija prometa") to Odoo Point of Sale. When an order is paid, the issuer protective code ZKI (Zastitni kod izdavatelja) is computed locally and the receipt is submitted in real time to the Porezna uprava (Tax Administration), which returns the JIR (Jedinstveni identifikator racuna). The submission is a direct connection to the Tax Administration CIS (SOAP + mutual-TLS with your own FINA certificate), not an access-point relay, as Croatian B2C cash-receipt fiscalization requires. Both codes and a verification QR are recorded on the order so the receipt can be confirmed on the public portal.
Built on the Direct-CIS B2C Core
This is the POS variant of the Croatian fiscalization line. It reuses the working direct-CIS core shared by the Croatia B2C Fiscalization connector — the real OIB validator (ISO 7064 MOD 11,10), the ZKI signer (RSA-SHA1 + MD5), the signed RacunZahtjev SOAP builder, the verification-QR builder and the direct SOAP + mutual-TLS CIS client — no duplicated plumbing, a smaller and more reliable footprint. Your FINA certificate and signing key never leave your database.
Key Features
Real-time receipt fiscalization
Every paid pos.order is assigned a ZKI and submitted to obtain its JIR. Cash orders trigger fiscalization automatically; mixed and card orders are handled too.
Premise & register configuration
Each Point of Sale carries its business-premise (poslovni prostor) and cash-register (naplatni uredaj) codes and a per-till sequential receipt number, forming the fiscal label number/premise/register.
Offline / subsequent-delivery queue
If the CIS endpoint is unreachable, the receipt is still issued with its ZKI and queued; a cron re-sends it and the 48-hour deadline for obtaining the JIR is tracked, exactly as the law requires.
Fiscal QR + JIR/ZKI recorded on the order
The Porezna verification URL is encoded as a QR so customers can verify the receipt on the public portal. JIR, ZKI, the fiscal label and the QR are recorded on the order's fiscalization record for audit and reprinting.
BYOK direct-CIS transport
Sandbox and production CIS endpoints are pre-filled with the documented Croatian Tax Administration hosts and are fully editable. The mutual-TLS FINA certificate paths and the RSA signing key live only on your own database — nothing is bundled.
Fiscalization log & onboarding
A per-order fiscalization log records the JIR/ZKI, retry counter, deadline and raw authority response. A one-screen onboarding wizard validates the OIB and wires the endpoint and a Point of Sale in one step.
How It Works
- Run the onboarding wizard: enter the company OIB, the FINA certificate path (for the CIS mutual-TLS handshake) and the premise / register codes for a Point of Sale.
- Sell as usual. On payment, Odoo computes the ZKI, signs the RacunZahtjev and submits it directly to the Tax Administration CIS.
- The returned JIR and a verification QR are recorded on the order and available for reprinting and audit.
- Any receipt issued during an outage is queued and re-fiscalized automatically within the 48-hour window.
Compatibility & Disclosure
Compatible with Odoo 18 and 19 (Community and Enterprise). Requires the Fiskalizacija 2.0 e-Invoicing connector and the e-Invoice Core Engine.
Disclosure: this module transmits POS receipt data only to the Croatian Tax Administration CIS endpoint you configure. No data is sent anywhere else, and your certificate / private key never leave your database. Endpoint URLs are editable defaults based on publicly documented Croatian Tax Administration hosts.
Screenshots
Fiscalized Pos Order Zki On
Hr Pos Fiscalization Receipt
Update date: 2026-07-02
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 6234 |
| Technical Name |
l10n_hr_fiskalizacija_pos |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module