UJP — public payments administration and e-invoice hub
UJP (Uprava za javna plačila — Public Payments Administration) is the central hub that routes 100% of incoming e-invoices to Slovenian public administration since 1 January 2015, and pays 100% of outgoing state-budget transfers. It is a single financial counter: no direct equivalent exists in France (Chorus Pro and DGFiP are separate) or Italy (SdI and MEF are separate). UJP is the only EU operator that fuses both flows for an entire state.
History — from APP to UJP, 2002 to today
UJP inherited from APP (Agencija za plačilni promet — Payment Traffic Agency), itself the successor to SDK (Služba družbenega knjigovodstva), the Yugoslav social bookkeeping service founded in 1959 which centralised every B2B and public payment in the Socialist Republic. After the 1991 independence, Slovenia kept this centralised model under the APP name, then in 2002 separated payment (which became UJP, within the Ministry of Finance) from banking supervision (transferred to Banka Slovenije).
This centralised past explains why the 2015 B2G mandate could be universal and immediate: UJP already had the complete address book of public entities (matična številka, IBAN accounts, contacts), operational connections to every municipality, and a proven IT system. No need to build a new platform — just bolt on an e-invoice module.
2002 | UJP (Uprava za javna plačila) is created by the Slovenian
| Ministry of Finance after the transfer from Agencija za
| plačilni promet (APP) following the dissolution of the legacy
| Yugoslav SDK. Initial mission: centralise state-budget
| payments to/from ~3,000 entities.
|
2005-2010 | UJP becomes the single hub for public transfers. Direct
| connection to Banka Slovenije (central bank) and TARGET2
| (eurozone since 2007). Every budget payment transits through
| UJP: payroll, benefits, suppliers.
|
2014 | Government decree: UJP is extended to mandatory e-invoice
| reception on behalf of every proračunski uporabnik.
| Infrastructure prep + publication of API and e-SLOG 1.6 specs.
|
2015-01-01 | B2G go-live: UJP becomes the single eRačun entry point for
| ~3,500 public entities. Web portal + SOAP web services +
| ZZI PEPPOL Access Point.
|
2016 | ZOPSPU-1 (Uradni list RS 77/2016) — legal formalisation
| of UJP's dual role: payment + incoming e-invoice. UJP
| becomes the state's single financial counter.
|
2018 | UJP designated as Slovenian PEPPOL Authority — national
| coordination point for the EU PEPPOL network. PEPPOL BIS
| Billing 3.0 reception added alongside e-SLOG 2.0.
|
2022-2024 | Modernisation UJP-NetIS (integrated system): REST APIs
| published on ujp.gov.si/api, OAuth2, FURS pre-fill via
| eDavki interconnection. ViDA 2028 preparation. Governance — Ministry of Finance
UJP is a service directly attached to the Ministrstvo za finance RS. The director is appointed by the minister, who reports to the government (Vlada RS). UJP's operating budget is included in the state budget voted annually by the Državni zbor (parliament). Technical evolutions (API, formats) go through an inter-ministerial steering committee with FURS (VAT), AJPES (registry), Banka Slovenije (payment system), GZS (chamber of commerce for e-SLOG) and ZZI (PEPPOL operator).
Since 2018, UJP fulfils a third role: Slovenian PEPPOL Authority. In this capacity, it represents Slovenia within OpenPeppol AISBL, accredits Slovenian Access Points (ZZI, Pagero, Halcom, e-Računi), and publishes the national SMP/SML for Slovenian recipients.
Technical schema — eRačun flow via UJP
The operational flow is centralised: the supplier sends the eRačun to their operator (ZZI, Halcom, Pagero, e-Računi, or directly via the UJP web portal), which routes to UJP. UJP validates the schema (XSD e-SLOG or EN 16931 for PEPPOL), resolves the recipient entity via matična številka, applies a legal reception timestamp, then forwards to the proračunski uporabnik's ERP. Payment is then triggered by the public entity via UJP's budget module, executed on TARGET2.
# eRačun flow via UJP — standard path
[Supplier] ─(send eRačun e-SLOG 2.0 or PEPPOL BIS 3.0)─▶ [Operator]
│
▼
┌────────────────────────────────┐
│ UJP — central hub Ljubljana │
│ - XSD e-SLOG 2.0 validation │
│ - EN 16931 PEPPOL validation │
│ - routing by matična številka │
│ - legal timestamp │
└────────────────────────────────┘
│
┌─────────────────────────────────────┼────────────────────────┐
▼ ▼ ▼
[Ministry (12)] [Občina (212)] [JZZ — hospital]
[government ERP] [local ERP] [health ERP]
│
▼
[UJP — TARGET2 payment]
[→ supplier IBAN SI56...]
# Identification
- matična številka : 7 digits AJPES (PEPPOL ICD 0177)
- davčna številka : SI + 8 digits (FURS)
- GS1 GLN : 5959... (private) / 5854... (public) Comparison — UJP vs Chorus Pro vs SdI
| Dimension | UJP (Slovenia) | Chorus Pro (France) | SdI (Italy) |
|---|---|---|---|
| Tutelage | Ministry of Finance | AIFE / DGFiP | Agenzia delle Entrate |
| Hosting | Ljubljana | French sovereign cloud | Rome — SOGEI datacenter |
| Scope | Universal B2G ~3,500 entities | B2G — state + local + EPS | B2G + full B2B since 2019 |
| Format | e-SLOG 2.0 + PEPPOL BIS 3.0 | Factur-X / UBL / CII PEPPOL | Proprietary FatturaPA XML |
| Payment role | Yes — executes payment | No — passes invoice, accountant pays | No — payment stays with entity |
| Public API | SOAP + REST OAuth2 | REST OAuth2 | REST + SDIcoop SOAP |
| B2G volumes/year | ~6M | ~100M | ~2B (B2G + B2B combined) |
Adoption — ~3,500 entities, ~6M invoices/year
- ~3,500 proračunski uporabniki connected continuously (every budget entity of the Republic of Slovenia without exception).
- ~6 million eRačun received/year (public estimate based on UJP's 2024 annual report).
- ~15 million payments/year executed via UJP (payroll + benefits + suppliers), for a total of about €18B.
- ~85% of eRačun in e-SLOG 2.0, ~15% in PEPPOL BIS Billing 3.0 (growing ~2 points/year, mostly cross-border).
- ~12,000 active B2G suppliers regularly sending via UJP — from large industrial groups (Krka, Gorenje) to single-person craft businesses via the free web portal.
Common pitfalls
- Addressing the public entity directly. Reception outside UJP is impossible. Even if the contact provides a mailbox, the e-invoice must transit through UJP (otherwise: no legal timestamp, no routing, no payment).
- Wrong matična številka. UJP routing uses the proračunski uporabnik's matična številka (not its davčna številka VAT number). A one-digit typo = orphan invoice, fix via UJP support.
- Mixing e-SLOG and PEPPOL in one shipment. The sending operator must declare a single format per message. A PEPPOL UBL validated as e-SLOG returns error 1043 (unrecognised schema).
- Forgetting PEPPOL ICD 0177. To address a
Slovenian entity in PEPPOL BIS, the participant ID must be
iso6523-actorid-upis::0177:matičnaštevilka. Many foreign operators still use ICD 9925 (generic VAT) by mistake — UJP rejects. - Thinking UJP pays automatically. UJP routes and receives, but payment stays triggered by the recipient public entity (authorising officer) after business validation. Average delay: 30 days under the Zakon o izvrševanju proračuna.