Serbian Fiscalization Basics
A short reference on Serbia's electronic fiscal invoicing system for founders, developers, and anyone preparing to do business in the local market. AdriaMart is in its pre-launch preparation phase, and this note summarizes what our team has mapped out during technical preparation.
What fiskalizacija is
Since 2022, the Serbian Tax Administration (Poreska uprava, PU) requires that every invoice issued to an end customer be reported in real time to its server. Only after a successful report can the merchant hand the customer the final invoice with a QR code, which the customer can scan to verify authenticity on the PU portal.
An unreported invoice is not legally valid and carries penalties.
Five fiscal invoice types
Every invoice must be labeled as one of these five:
| Name | Meaning | When to use |
|---|---|---|
| Promet-Prodaja | Standard sales invoice | Payment and delivery happen at the same time |
| Promet-Refundacija | Refund invoice | A previously delivered item is returned |
| Avans-Prodaja | Advance payment invoice | Payment received before delivery |
| Avans-Refundacija | Advance refund | Order canceled after advance payment |
| Poništavanje | Void | Correcting a mistake right after issuance |
Practical note: under a strict reading of the law, online commerce with deferred delivery should issue an Avans invoice at payment time and a Promet invoice at delivery. In practice, some merchants issue only Promet-Prodaja — a technical shortcut that sits in a grey zone. The compliant path is to support Avans properly.
Key terms
Fiscalization documentation is abbreviation-heavy. Quick reference:
| Acronym | Full name | Meaning |
|---|---|---|
| PU | Poreska uprava | Serbian Tax Administration |
| PIB | Poreski identifikacioni broj | Tax identification number (legal entity) |
| PDV | Porez na dodatu vrednost | VAT — standard 20%, reduced 10% for specific categories |
| MB | Matični broj | Business registration number |
| ESIR | Elektronski sistem za izdavanje računa | Official name of the invoicing system |
| V-PFR | Virtuelni procesor fiskalnih računa | Cloud invoice processor |
| L-PFR | Lokalni procesor fiskalnih računa | On-premise invoice processor |
| BE | Bezbednosni element | Encrypted element issued by PU (think: a digital ID card for issuing invoices) |
| PAK | PIN za aktivaciju kartice | 4-digit PIN that unlocks the BE |
| VSDC | Virtual Sales Data Controller | Official PU software for local BE handling (only needed in L-PFR scenarios) |
| QR | Quick Response | Code mandatory on every invoice; scan verifies authenticity on the PU portal |
Simplified reporting flow
- The POS / e-commerce system prepares transaction data.
- The system generates a pending invoice and sends it to the V-PFR, signed with the BE.
- V-PFR forwards it to the PU server.
- PU returns a unique
invoiceNumberand a QR code URL. - Based on the response, the system generates the final PDF delivered to the customer.
The full round trip typically completes within a few seconds. Handling timeouts and network interruptions is the core of any fiscalization integration.
Why most businesses don't build their own ESIR
It's technically possible to build a custom ESIR and integrate directly with PU. In practice this is rare because:
- PU accreditation cycle: a new ESIR goes through an official review that takes 8–14 weeks, with the possibility of re-submission.
- Hardware-level BE handling: key management, certificate rotation, and PIN policy carry substantial hidden costs.
- Ongoing compliance: PU rules evolve and need continuous tracking.
For these reasons, most merchants use an already-accredited third-party ESIR via its API. Monthly subscriptions start roughly at 1,500–2,000 RSD (as observed in Q1 2026), and integration typically takes about a week.
About AdriaMart
AdriaMart is an e-commerce project registered in Serbia, currently in its pre-launch preparation phase. Fiscalization integration is one of the key compliance steps. This article is a by-product of that preparation — we wrote down what we learned. Feedback, corrections, or questions: [email protected].