ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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.

text ujp-timeline.txt
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.

text ujp-flow.txt
# 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

DimensionUJP (Slovenia)Chorus Pro (France)SdI (Italy)
TutelageMinistry of FinanceAIFE / DGFiPAgenzia delle Entrate
HostingLjubljanaFrench sovereign cloudRome — SOGEI datacenter
ScopeUniversal B2G ~3,500 entitiesB2G — state + local + EPSB2G + full B2B since 2019
Formate-SLOG 2.0 + PEPPOL BIS 3.0Factur-X / UBL / CII PEPPOLProprietary FatturaPA XML
Payment roleYes — executes paymentNo — passes invoice, accountant paysNo — payment stays with entity
Public APISOAP + REST OAuth2REST OAuth2REST + 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.