CEMS / e-Carina — customs modernised post-2013
Croatia's EU accession on 1 July 2013 triggered an immediate dismantling of internal customs borders with Slovenia and Hungary, and a sweeping national system overhaul. Carinska uprava (customs administration) operates from the CEMS (Carinski elektronički modul) and the e-Carina platform, integrated with the UCC (Union Customs Code, Regulation EU 952/2013). Internal Schengen land borders fell on 1 January 2023, making BA / RS / ME crossings the new EU external boundary.
History — EU accession, Schengen, UCC
Before 2013, Croatia ran a post-Yugoslav customs regime with national procedures. EU accession on 1 July 2013 imposed within weeks: disappearance of intra-EU customs checks (SI and HU), switch to the Common Customs Tariff, adoption of the Harmonised System (HS) and Combined Nomenclature (CN).
UCC application in May 2016 (Regulation EU 952/2013, succeeding the 1992 CCC) forced a systems overhaul: Croatia progressively rolled out NCTS phase 4 then phase 5, AES, ICS2, and the EORI system. The 2023 euro switch and Schengen entry the same year shifted external borders toward BiH, Serbia, and Montenegro — now the main HR customs operational hot zones.
Before 2013 | Carinska uprava (customs administration) runs checkpoints on
| land borders with SI, HU, RS, BA, ME. National customs
| codes and non-EU procedures.
|
2013-07-01 | EU accession — internal customs borders with SI and HU
| disappear. Integration with the Common Customs Tariff and
| the CCC (Directive 992/2008/EC) framework.
|
2016-05-01 | UCC (Union Customs Code, Regulation EU 952/2013) applies —
| Croatia subject like every Member State. CEMS overhauled.
|
2017-2019 | Progressive rollout of EU systems — NCTS (computerised
| transit), AES (Automated Export System), EORI (Economic
| Operators Registration), CDS (Customs Decisions).
|
2021 | Launch of the e-Carina portal (carina.gov.hr) consolidating
| online services for economic operators.
|
2023-01-01 | Eurozone entry — all duties and taxes in EUR. Schengen entry
| for land borders (HU and SI), checks removed. BA/RS/ME
| borders become the new EU external boundary.
|
2023-2024 | ICS2 phase 3 — rollout of maritime and land entry summary
| declarations. Port of Rijeka on the front line.
|
2025-2026 | UCC re-engineering — preparing the 2nd-generation EU systems
| (UCC reform 2027-2028) with ePAS, EU Single Window, and
| VAT-CCT integration. Governance — Carinska uprava + DG TAXUD
Carinska uprava Republike Hrvatske, integrated with Porezna uprava under a single "Carinska uprava" directorate of the Ministarstvo financija, handles operations: declarations, physical controls, EORI, AEO (Authorised Economic Operator).
EU coordination flows through the European Commission's DG TAXUD. The relevant EU systems — NCTS, AES, ICS2 — are operated by DG TAXUD IT services, with national Croatian nodes hosted by APIS IT. The Customs Trader Portal (CTP) on the HR side is e-Carina.
Technical schema — CEMS + NCTS + ICS2
Main flows follow the WCO (World Customs Organization) data models imposed by DG TAXUD:
- NCTS phase 5 — computerised transit, messages CC015B (declaration), CC013B (amendment), CC029B (release).
- AES (Automated Export System) — export declaration, message CC515B + CC528B (exit confirmation).
- ICS2 (Import Control System 2) — safety & security entry summary declaration, deployed in 3 phases (air Express, postal, maritime/land).
- EORI — Economic Operators Registration and Identification, format
HR + OIBfor HR. - EU CTP (Customs Trader Portal) — unified EU portal for customs decisions (CDS), accessible via HR e-Carina.
<!-- Sample NCTS phase 5 declaration (UCC) — HR -> BA export flow -->
<ie015 xmlns="urn:wco:datamodel:WCO:NCTS:CC015B">
<messageSender>NCTSHR</messageSender>
<messageRecipient>NCTSBA</messageRecipient>
<preparationDateAndTime>2026-06-15T10:14:00Z</preparationDateAndTime>
<messageIdentification>HR-NCTS-260615-04211</messageIdentification>
<messageType>CC015B</messageType>
<HEADER>
<documentNumberHEA5>26HR06041100000211</documentNumberHEA5>
<typeOfDeclarationHEA15>T1</typeOfDeclarationHEA15>
<countryOfDestinationCodeHEA30>BA</countryOfDestinationCodeHEA30>
<departureDateHEA62>20260615</departureDateHEA62>
</HEADER>
<PRINCIPAL>
<EORI>HR12345678901</EORI>
<NamPC17>Konzum plus d.o.o.</NamPC17>
<CitPC20>Zagreb</CitPC20>
<CouPC25>HR</CouPC25>
</PRINCIPAL>
<GOODSITEM>
<iteNumGDS7>1</iteNumGDS7>
<comCodGodIte13>0901210000</comCodGodIte13> <!-- roasted coffee -->
<speMenMT24>Coffee, roasted</speMenMT24>
<grossMassGDS46>500.000</grossMassGDS46>
</GOODSITEM>
</ie015> Croatia vs neighbours (SI, HU) — Adriatic corridor
| Dimension | Croatia HR | Slovenia SI | Hungary HU |
|---|---|---|---|
| EU accession | 2013 | 2004 | 2004 |
| Schengen | 2023 (land + air) | 2007 | 2007 |
| Eurozone | 2023 | 2007 | HUF (outside eurozone) |
| EU maritime port | Rijeka | Koper | No coastline |
| EU external border | BA / RS / ME (1,268 km) | — | UA / RS |
| National system | CEMS + e-Carina | ECL + e-carina (SI) | VPID + e-VÁM |
Adoption — Rijeka port, BiH/RS border
- Port of Rijeka — ~14M tonnes freight/year, ~280K TEU containers, reference ICS2 maritime entry point.
- BA border — ~932 km, main crossings Stara Gradiška, Slavonski Šamac, Metković. Heavy-truck flows from BiH (including EU imports from Sarajevo, Mostar).
- RS border — ~314 km, crossings Bajakovo (A3 Belgrade-Zagreb motorway), Tovarnik. Major Türkiye -> EU Balkan transit traffic.
- ME border — ~22 km, single crossing Karasovići. Modest but sensitive volume (Adriatic tourism).
- EORI HR — ~60,000 registered economic operators in 2026, including ~5,000 AEO-certified (Authorised Economic Operator status).
Common pitfalls
- Malformed HR EORI. Correct format:
HR + 11 OIB digits. Many foreign service providers add a different HR prefix format — ICS2 / NCTS rejection. - Confusing Schengen and customs union. The HR-SI land border has been open since 2023 (Schengen + customs union). But HR-BA stays controlled — EU external border. Frequent error among new HR exporters.
- Thinking France/IT/DE accepts HR LIB. Croatian internal-transit waivers (LIB-HR) are not recognised abroad. Use NCTS T1 or T2 depending on status.
- Stale HS codes. Combined Nomenclature (CN) is updated annually (CN 2026 currently). A CN 2022 code is rejected. Always follow EUR-Lex publications.
- ICS2 phase 3 unprepared. Maritime operators landing at Rijeka must submit an ENS (Entry Summary Declaration) at least 24 h before arrival. Non-compliance = port block + fine.