eliDocs
Country Guides

Slovenia

Slovenian B2B + B2G e-invoicing with Beliq, Peppol BIS 3.0 UBL with EAS 9949 plus the domestic e-SLOG 2.0 standard, and the UJP transmission boundary under the ZIERDED mandate.

Slovenia’s e-invoicing landscape uses standard Peppol BIS Billing 3.0 UBL (EN 16931) on the cross-border path. There is no country-wide national CIUS layered on Peppol BIS. Slovenia also maintains a distinct domestic XML standard, e-SLOG 2.0, which Beliq generates and validates as its own standard (see the e-SLOG section below). Authority: UJP (Uprava Republike Slovenije za javna plačila, Slovenia’s public-payments administration).

So a Slovenian invoice in Beliq is either a Peppol BIS invoice with Slovenian parties (EAS 9949) or a domestic e-SLOG 2.0 document. See the Peppol BIS format reference and the Slovenia e-SLOG format reference for the full element layouts.

Mandate timing

Slovenia’s public sector has received e-invoices for years through UJP. Structured B2B e-invoicing becomes mandatory under ZIERDED (the Act on the Exchange of Electronic Invoices and Other Electronic Documents), after which paper B2B invoices are no longer accepted and exchange runs through registered e-route providers.

DateWhat changes
1 January 2015Public-sector bodies must be able to receive e-invoices through UJP.
1 October 2027The official register of e-route providers is due.
1 January 2028Structured B2B e-invoicing becomes mandatory; paper B2B invoices are no longer accepted.

The 1 January 2028 mandate and the 1 October 2027 provider-list date come from ZIERDED, adopted on 23 October 2025 and published in Uradni list RS 85/2025. The European Commission country page still shows the superseded draft date, so it is not the source here.

Last verified against the enacted ZIERDED text in the Slovenian official gazette (Uradni list RS 85/2025) and the European Commission eInvoicing country page on 9 July 2026. Official source.

ZIERDED names the e-SLOG national standard, EN 16931 syntaxes, and other internationally recognised formats the parties agree on. Slovenia also converges with the EU-wide ViDA framework for cross-border B2B. If you sell to Slovenian public-sector buyers today, you are already in scope on the receive-mandate side. For the dates beliq tracks across every covered country, see the mandate calendar.

What Beliq does today

  • Generate Slovenian Peppol invoices via standard: "peppol-bis" (profile peppol), addressed with the Slovenian VAT endpoint scheme (SI:VAT, Peppol EAS 9949).
  • Generate domestic e-SLOG 2.0 invoices and credit notes via standard: "eslog" (profile eracun, the default). See the Slovenia e-SLOG format reference.
  • Validate and parse Peppol BIS UBL against the full EN 16931 + Peppol BIS 3.0 Schematron (peppolVersion in the response).
  • Validate e-SLOG 2.0 XML against the GZS/ePOS authority XSD (format=eslog or auto-detect; sloveniaEslogXsdBundle and sloveniaEslogRuntimeVersion in the response).
  • Compliance status for slovenia_peppol is supported; it rides the fully-verified Peppol BIS pipeline (9 OpenPeppol positive examples + 227 negative test cases). Slovenia adds no rules on the Peppol path, so there is no Slovenia-specific corpus; that is recorded as a tracked gap with a quarterly re-check for any future Slovenian Peppol CIUS. slovenia_eslog_eracun is provisional: e-SLOG validation is XSD-only because GZS/ePOS publish no machine-readable business rules.

e-SLOG and UJP routing

e-SLOG 2.0 is Slovenia’s domestic XML standard, developed by GZS (Gospodarska zbornica Slovenije, the Slovenian Chamber of Commerce) and stewarded by ePOS. It is EN 16931-aligned at the data-model level but uses its own root element and namespace (Invoice in urn:eslog:2.00, wrapping an M_INVOIC EDIFACT segment structure). It is NOT a Peppol BIS CIUS overlay; Beliq ships it as its own standard.

Generate e-SLOG documents with standard: "eslog" (profile eracun, the default; invoices and credit notes). Validate with format=eslog or auto-detect. Validation is XSD-only against the authority schema: GZS/ePOS publish no machine-readable business rules, which is why slovenia_eslog_eracun sits at provisional. Full details in the Slovenia e-SLOG format reference.

UJP accepts both Peppol BIS and e-SLOG for B2G submissions. Beliq produces and validates both formats; submission on either route stays with your Access Point or domestic intermediary (BYOC). In practice, most cross-border Slovenian B2B invoicing routes via Peppol; e-SLOG is the domestic-specific path and one of the formats ZIERDED names for the 2028 B2B mandate.

What Beliq does not do (Peppol transmission boundary)

Slovenia’s network is the Peppol Network for cross-border flows; UJP also operates the B2G submission channel that accepts both Peppol BIS and e-SLOG. Beliq is not a Peppol Access Point. It does not:

  • Transmit invoices over Peppol or register you as a Slovenian Peppol participant.
  • Operate the 4-corner exchange on your behalf.
  • Submit B2G invoices to UJP on your behalf (UJP submission is Peppol-AP-routed for the Peppol path; e-SLOG-only routing is BYOC).
  • Act as a ZIERDED e-route provider or sign e-SLOG documents (XML-DSig).

You send Beliq’s output through your chosen Access Point or domestic intermediary (BYOC). Beliq’s job ends at a correct, valid document on either format.

Integration architecture (Beliq vs Peppol Access Point vs UJP)

Concern In Beliq today Outside Beliq (your stack / partner)
Peppol BIS 3.0 UBL invoice XML Generate, Validate, Parse
Peppol Network transmission (4-corner) Not offered, see boundary above Your Access Point provider
UJP B2G submission (Peppol path) Not offered (Peppol-AP-routed BYOC) Your Access Point provider
e-SLOG 2.0 generation / validation Generate (standard: "eslog"), Validate (format=eslog), see the e-SLOG format reference
UJP B2G submission (e-SLOG-only domestic) Not offered Your domestic invoicing software or e-route provider
ZIERDED e-route provider services (from 2027-10) Not offered Your chosen registered e-route provider

Generating a Slovenian Peppol invoice

Address both parties with the Slovenian VAT endpoint scheme (SI:VAT, EAS 9949) via the peppol block. Use EUR for the invoice currency. Provide either a buyerReference or an orderReference (Peppol requires one). The simpler alternative is to omit the peppol block and pass a vatId (SI…) + address.countryCode: "SI"; Beliq then derives the SI:VAT scheme (9949) automatically.

generate-slovenia-peppol.sh
curl -X POST https://api.beliq.eu/v1/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "standard": "peppol-bis",
    "profile": "peppol",
    "output": "xml",
    "invoice": {
      "number": "2026-0001",
      "issueDate": "2026-06-04",
      "currencyCode": "EUR",
      "buyerReference": "SI-PO-4411",
      "seller": {
        "name": "Test Prodajalec d.o.o.",
        "vatId": "SI12345678",
        "peppol": { "schemeId": "9949", "id": "SI12345678" },
        "address": { "street": "Slovenska cesta 1", "city": "Ljubljana", "postalCode": "1000", "countryCode": "SI" }
      },
      "buyer": {
        "name": "Test Kupec d.o.o.",
        "vatId": "SI87654321",
        "peppol": { "schemeId": "9949", "id": "SI87654321" },
        "address": { "street": "Glavni trg 2", "city": "Maribor", "postalCode": "2000", "countryCode": "SI" }
      },
      "lines": [
        {
          "description": "Professional services",
          "quantity": 1,
          "unitCode": "C62",
          "unitPrice": 100.00,
          "lineTotal": 100.00,
          "vatRate": 22,
          "vatCategoryCode": "S"
        }
      ],
      "taxSummary": [
        { "vatCategoryCode": "S", "vatRate": 22, "taxableAmount": 100.00, "taxAmount": 22.00 }
      ],
      "totalNetAmount": 100.00,
      "totalTaxAmount": 22.00,
      "totalGrossAmount": 122.00
    }
  }'

Validation behaviour

On /v1/validate and /v1/generate, Slovenian Peppol invoices run the full EN 16931 + Peppol BIS 3.0 Schematron; failures carry the relevant BR-* / PEPPOL-* rule id. The response reports profileDetected: "peppol" and a peppolVersion. CreditNote payloads are supported (documentType: "creditnote").

e-SLOG documents run the authority XSD instead (no Schematron layer); failures carry ruleId: "XSD", and the response reports profileDetected: "slovenia-eslog-v2-0" with sloveniaEslogXsdBundle and sloveniaEslogRuntimeVersion. Credit notes are supported on this path too.

Further reading