Skip to content

Slovenia FURS fiscalization

Full support for Slovenian fiscalization requirements (FURS).

FURS is separate from Slovenia e-invoicing. Use this guide for real-time fiscalization with the Slovenian tax authority. Use e-SLOG and UJP for Slovenian electronic invoice XML validation and UJP package downloads.

Prerequisites

RequirementDescription
Tax numberEntity with Slovenian tax number
CertificateDigital certificate (.p12) from FURS

Setup

1. Upload Certificate

Upload FURS certificatetypescript
import SpaceInvoices from "@spaceinvoices/js-sdk";

const sdk = new SpaceInvoices("YOUR_API_KEY");

await sdk.fursSettings.uploadFursCertificate({
  certificate: fs.readFileSync("certificate.p12").toString("base64"),
  passphrase: "cert-password",
});

2. Register Business Premise

Register your business location (e.g., P1, OFFICE). This creates the premise and registers it with FURS.

Register premisetypescript
const _premise = await sdk.fursPremises.registerFursRealEstatePremise({
  business_premise_name: "PREMISE1",
  real_estate: {
    cadastral_number: "1234",
    building_number: "1",
    building_section: "1",
    community: "Ljubljana",
    city: "Ljubljana",
    street: "Main Street",
    house_number: "1",
    postal_code: "1000",
  },
});

If your FURS numbering strategy is centralized (C), you can pass starting_number when registering the premise. The first fiscal invoice for that premise-level sequence uses that value.

3. Register Electronic Device

Register a device for the premise (e.g., D1, POS1). Each device gets its own invoice counter.

Register devicetypescript
await sdk.fursDevices.registerFursElectronicDevice("prm_123", { name: "DEVICE1" });

If your FURS numbering strategy is device-level (B), you can pass starting_number when registering the device. You can also update or clear a premise or device starting number with the PATCH endpoints, but only before any fiscal document counter has been created for that sequence.

4. Enable FURS

Enable FURStypescript
await sdk.fursSettings.update({ enabled: true });

Fiscalized Invoices

Invoices are automatically fiscalized when FURS is enabled:

Create fiscalized invoicetypescript
const _invoice = await sdk.invoices.create({
  items: [{ name: "Service", quantity: 1, price: 100 }],
  furs: {
    business_premise_name: "PREMISE1",
    electronic_device_name: "DEVICE1",
  },
});

FURS returns confirmation data on the invoice:

Response Fields
eor
Unique invoice identifier from FURS
zoi
Protective mark (security code)

QR Code

Fiscalized invoices include a verification QR code, embedded automatically in the PDF:

Render PDFtypescript
const _pdf = await sdk.invoices.renderPdf(invoice.id);