FlowieExchange
Compliance · 🇭🇷 Croatia Live mandate

Croatia — Fiscalisation 2.0 B2B mandate

Fiscalisation 2.0 B2B mandate live since 1 January 2026 — regulator: Porezna uprava (Tax Administration). Facts last refreshed: 2026-05-05.

Coverage model
Flowie operates a registered Peppol Access Point in this jurisdiction directly where we hold national accreditation, or via a vetted local partner registered with the in-country regulator where on-the-ground presence is required (KSeF, SDI intermediario, ZATCA service-provider, etc.). Either way, you call the same POST /v1/documents/send.

TL;DR

Deadlines

DateWhoWhat
2013-01-01All cash-register B2CReal-time fiscalisation (OIB, JIR, ZKI) — already live.
2026-01-01All VAT-registered B2BStructured e-invoice + real-time fiscalisation report.
2027-01-01Non-VAT businesses (planned)Smaller taxpayers absorbed; legislation pending.

Background

Croatia has run real-time B2C fiscalisation since 2013 — every retail receipt is reported to the Porezna uprava, which echoes back a JIR (unique invoice identifier) and the seller stamps a ZKI (issuer protection code). Fiscalisation 2.0, in force since 1 January 2026, ports the same model to B2B: the invoice itself becomes structured (UBL 2.1) and is fiscalised in the same step.

Practically: when Flowie sends a domestic HR invoice, our AP signs it, transmits to the recipient via Peppol, and posts the fiscalisation envelope to the Porezna uprava service — all inside one /v1/documents/send call. The response includes the JIR + ZKI as complianceReceipt.

Format profile

Required fields

Public sector (B2G)

HubPeppol identifier schemeLookup
Servis e-Račun (FINA)9934:HR-FINA-<authority-id>https://www.fina.hr/e-racun

Public-sector recipients route via FINA's Servis e-Račun, mandatory since 2019. Flowie resolves the Peppol ID for you.

B2B reporting / clearance

Porezna uprava — Fiscalisation 2.0 — Real-time invoice register; every domestic B2B invoice posted within seconds of issue.

Lifecycle statusReported as
issuedFiscalisation request sent → JIR + ZKI returned.
cancelledStorno fiscalisation message; original JIR referenced.
paidOptional payment confirmation; not always required.

Error codes

CodeMeaningFix
HR-FISC-101OIB unknown to Porezna uprava.Verify the OIB; if newly registered, wait 24h for the registry to propagate.
HR-FISC-205ZKI signature does not match the seller's certificate.Sandbox uses a Flowie test cert; production needs the seller's FINA-issued cert linked to their organisation.
HR-CIUS-031Missing operator OIB.Set fiscalisation.operatorOib.

Testing in sandbox

What you want to testHow
Domestic B2B happy pathUse seller.taxId.oib = "12345678901" in sandbox; JIR SBX-... echoed back.
Force fiscalisation rejectionSend with simulateCompliance: "reject_HR_FISC_101".

FAQ

Is the OIB the same as the VAT number?

The OIB is the 11-digit tax identifier; the VAT number is HR + OIB for VAT-registered entities. Send the OIB as seller.taxId.oib and Flowie derives the VAT representation when needed.

What about non-resident sellers invoicing into HR?

If the seller is not OIB-registered, the invoice is not domestic — it follows EU cross-border rules and Peppol BIS without fiscalisation.

References

Primary sources (government / regulator / standards body):

Industry analyses (vendor trackers — useful for cross-referencing):