Fiscal receipts
from your own code.

FiskalAPI is a fiscalization API for Serbia — a cloud cash register for web shops, SaaS products and custom apps. No physical cash register, no subscription, free integration: you pay only for receipts you actually issue, from 1.5 RSD each, and the price drops as volume grows.

WooCommercePHPPythonNode.js.NETREST APIWooCommercePHPPythonNode.js.NETREST API
from 1.5 RSD
per issued receipt
0 RSD
monthly subscription
< 1 s
to issue a receipt
24/7
runs without you

Meet FiskalAPI.

See pricing

FiskalAPI is a cash register in the cloud: you sell online, we issue the fiscal receipts for you. No physical device, no monthly subscription, nothing to install.

An API that costs nothing

API access and integration are completely free. You pay only when you issue a receipt — at most 9 RSD per receipt, and every additional receipt costs less than the last.

Always compliant,
always fiscalized.

Every receipt goes through e-fiscalization under the rules of the Serbian Tax Administration and carries a valid QR code for verification.

Fully
automated

Send the line items in a single API call and get back a finished fiscal receipt. FiskalAPI handles everything else in the background.

Interactive demo

Try the register live

Add your own online products to a receipt — a subscription, a course, a licence — and hit "Issue receipt". The register prints it in front of you; this is exactly what a real API call does.

The cart is empty — add something above.

This receipt would cost you at most 9 RSD — whatever the amount, and it halves again as your volume grows.

Officially approved ESIR, Serbian Tax Administration
ESIR „FiskalAPI" · identification number 1609 (v1.0) · decision no. 000-092-00-00135/2026Entered in the Register of Approved ESIR Elements of the Tax Administration of the Republic of Serbia. View the accreditation.

Everything fiscalization needs,
in one place.

SaleRefundAdvance paymentQR verificationESIReCommerceSaaS subscriptionsREST APISerbian Tax AdministrationSaleRefundAdvance paymentQR verificationESIReCommerceSaaS subscriptionsREST APISerbian Tax Administration

FiskalAPI in practice

Integrate in a day

FiskalAPI is for everyone selling online who does not want a physical register: web shops, SaaS products, apps, subscriptions and digital services. Integration is free and arrives by email — you can be issuing receipts the same day.

Web shops

WooCommerce, Shopify or your own site — the receipt is issued as soon as the order goes through.

SaaS and subscriptions

Monthly and annual renewals are fiscalized automatically, with nobody in the loop.

Courses and digital products

E-books, courses, licences — the buyer gets the receipt by email the moment they pay.

Apps and services

Anything you charge for online — one API call and fiscalization is done.

9 RSD

maximum per receipt

1 day

to your first receipt

0

hardware

eCommerce and SaaS

A customer pays on your site or subscribes to your service — FiskalAPI immediately issues a fiscal receipt with a QR code, and your store sends it to them in the order confirmation. No physical register, no retyping, no waiting.

Learn more
// one call, a finished receipt
POST /api/racuni
{
"items": [
{ "name": "Pro subscription",
"unitPrice": 2400 }
]
}
→ 200 OK · QR code · receipt text

How to start

From zero to your first receipt,
in four steps.

You get exactly one thing from us: an API key for an approved ESIR, plus public documentation. No device, no installation, no subscription — and none of the one-off setup fee others charge.

01

Open an account

Fill in a short form and we open your account the same day. No card, no contractual lock-in, no sign-up fee.

02

Receive your API key

You get a test key and a live key. That is everything you need from us — no device, no installation, no subscription. Put the key in the request header and the API is yours.

03

Connect your site or app

The documentation is public — endpoints, code samples and error codes, open to anyone without an account. Use a ready-made plugin (WooCommerce, Shopify, Magento, PrestaShop, OpenCart) or call the REST API directly. Before real sales you try everything with the test key, free and risk-free. If you get stuck anywhere, we are here to help.

04

Issue receipts automatically

The customer pays, and a receipt with a QR code is issued right away and goes out with the order confirmation. Nothing to type by hand.

Selling exclusively online? Under Serbian Tax Administration rules you issue the receipt in electronic form with a verification link — you need no paper, no printer and no physical register at all.

Documentation

Read the API
before you buy.

No secrets: this is the whole API. One call for a sale, one for a refund, one for an advance payment. The full documentation is public — open to anyone, no account and no sign-up.

Endpoint overview

POST
/api/racuni
Issue a fiscal receipt (sale)
POST
/api/racuni/avans
Advance receipt — for subscriptions and prepayments
POST
/api/racuni/avans/refundacija
Closing an advance before the final receipt
POST
/api/racuni/refundacija
Refund referencing the original receipt
POST
/api/racuni/kopija
Copy of an issued receipt ("ОВО НИЈЕ ФИСКАЛНИ РАЧУН")
POST
/api/racuni/predracun
Pro forma — a quotation to the buyer, not a fiscal receipt
GET
/api/racuni
Search issued receipts by date, buyer and type
GET
/api/artikli
Export the product list (import: PUT)
POST
/api/racuni/obuka
Training mode — no tax liability and no charge
GET
/api/status
Service status, tax rates and taxpayer details

Example: a receipt in one call

POST /api/racuni
Authorization: Bearer YOUR_API_KEY

{
  "amountRsd": 2400,
  "items": [
    { "name": "Pro subscription/kom",
      "quantity": 1, "unitPrice": 2400,
      "labels": ["А"] }
  ],
  "kupac": { "email": "kupac@primer.rs" }
}

200 OK
{
  "brojRacuna": "XV5D7A2M-XV5D7A2M-1284",
  "mejlPoslat": true,
  "qrKod": "R0lGODlhhAGEAf...",
  "verifikacija": "https://suf.purs.gov.rs/v/?vl=..."
}

Sandbox environment

Test without limits and without cost — the real flow, test receipts.

Duplicate protection

An idempotency key per request: the same call twice does not create two receipts.

Electronic receipt for the buyer

Every receipt carries a QR code and a verification link, valid for 10 years.

Webhook notifications

Your system is notified the moment a receipt is issued. (coming soon)

Security and reliability

Fiscal receipts are serious business.
We treat them that way.

Every receipt is digitally signed, recorded and verifiable with the Tax Administration. Here is what that looks like under the hood.

1
The customer pays
on your site or in your app
2
Your system calls the API
a single POST request with the line items
3
FiskalAPI fiscalizes it
signs it and sends it to the Tax Administration's V-PFR
4
The receipt reaches the buyer
QR code and verification link, in under a second

Encrypted in transit

All API traffic goes over HTTPS (TLS) only. Nothing travels unencrypted.

Direct link to the Tax Administration

Receipts are fiscalized directly through the Tax Administration's V-PFR, over an mTLS connection with a digital certificate.

Keys and certificates under lock

API keys and certificates are held in encrypted storage (AES-256-GCM). Nothing reaches them except your own calls.

Duplicate protection

Send your own transactionId with every request — a repeated call with the same ID returns the same receipt instead of a duplicate, so retries are safe.

Electronic journal

A record of every issued receipt. You can read an issued receipt back by your transactionId or the receipt number, even if you lost the original response.

Verifiable for 10 years

Every receipt carries a QR code and the Tax Administration's verification link — the buyer can check it for the next 10 years.

Safe when the network drops

If the connection to the Tax Administration drops mid-issue, a repeated call cannot create a second receipt for the same purchase — we first check whether the first one was issued.

Isolated per account

Every customer has their own API key and their own data, fully separated from everyone else.

FiskalAPI is an ESIR (electronic fiscal device) of the "Advanced" class, built to the Technical Guide of the Tax Administration of the Republic of Serbia. Every issued receipt can be verified at suf.purs.gov.rs.

Pricing

The more you issue,
the less each receipt costs.

No subscription, no plans, no integration fee. At the end of the month you pay for exactly the receipts you issued — on a rate that falls with volume.

How many receipts do you issue per month?

Drag the slider or pick an example — the price is always exact, with no jumps.

200receipts/mo
9 RSD
up to 100
4 RSD
101–500
3 RSD
501–1,000
1.5 RSD
1,001–5,000

Each tier applies only to the receipts inside its range — the way an electricity bill works. More than 5,000 receipts a month? Get in touch and we will work something out.

Your monthly cost
1,300RSD
≈ 6.5 RSD per receipt · you pay only when you sell
Your subscription0 RSD
Your setup and integration0 RSD
Typical cloud API register*
Setup (one-off)58,500 RSD
Subscription (monthly)5,850 RSD
Per receipt (× 200)468 RSD
You save ~118,716 RSD in the first year88% cheaper than a typical cloud API register at the same volume

*Based on published prices for a typical cloud fiscalization API: a one-off 500 € setup fee, a 50 €/month subscription and 0.02 € (~2.3 RSD) per receipt. FiskalAPI has neither setup nor subscription — you pay only for issued receipts.

Automated KPO ledger

optional add-on

We keep your KPO ledger (the statutory record of turnover for flat-rate entrepreneurs) for you — every fiscalized receipt is posted automatically, and the finished ledger arrives with your monthly invoice. No retyping, always ready for your accountant.

+1,500 RSD/mo
no contract, no notice period
Free integration — API key, code samples and a step-by-step guide by email
Free sandbox for testing, no card required
Public documentation and support until your first receipt — no setup fee
Billed at month end — you pay for exactly what you issued

Note: FiskalAPI issues fiscal receipts (sale, refund, advance payment). Keeping the KPO ledger (the statutory record of turnover) is available as an optional add-on at 1,500 RSD/month.

Frequently asked

Everything you want to know,
in one place.

The API, the integration and the sandbox are completely free — no subscription, no platform fee, no contractual commitment. At the end of the month you pay only for the receipts you issued, in tiers the way electricity is billed: the first 100 at 9 RSD, receipts 101–500 at 4 RSD, 501–1,000 at 3 RSD, and everything above that at 1.5 RSD. For example: 500 receipts = 2,500 RSD, 1,000 receipts = 4,000 RSD, 2,000 receipts = 5,500 RSD.