Fiskala Agent

Kompletan vodič za instalaciju, konfiguraciju i korištenje Fiskala agenta za automatsku fiskalizaciju računa

Verzija
1.0.10
Ažurirano
18. oktobar 2025.

Uvod

Fiskala je Windows servis koji automatski obrađuje F-LINK ME fajlove računa (.inp) i šalje ih na vaš OFS fiskalni uređaj za registraciju. Fiskala prati folder na vašem računaru i kad se pojavi novi fajl sa računom, automatski ga obrađuje i komunicira sa fiskalnim uređajem.

Šta agent radi?

  • Prati folder za nove fajlove računa
  • Čita F-LINK ME format (.inp fajlovi)
  • Šalje račune na OFS fiskalni uređaj putem mreže
  • Arhivira uspješne račune
  • Snima neuspješne račune u folder grešaka sa detaljima
  • Automatski se licencira preko portala za probni period od 30 dana
  • Podržava offline režim kada internet nije dostupan

Sistemski Zahtjevi

Hardverski zahtjevi

  • Procesor: Intel Pentium 4 ili noviji (32-bit ili 64-bit)
  • RAM: 512 MB minimum, 1 GB preporučeno
  • Disk: 50 MB za program + prostor za arhivu računa
  • Mreža: LAN konekcija do OFS fiskalnog uređaja

Softverski zahtjevi

Operativni sistem:

  • Windows 10 (32-bit ili 64-bit)
  • Windows 11 (64-bit)
  • Windows Server 2016 ili noviji
  • Windows 7 SP1 ili noviji (sa ažuriranjima)

Mrežni pristup:

  • Pristup OFS fiskalnom uređaju na lokalnoj mreži
  • Standardni port: 3566
  • Internet pristup za licenciranje (opciono za offline režim)

Instalacija

⚠️ Preduslov - Bearer Token:

Prije instalacije Fiskala agenta, morate pribaviti Bearer Token za pristup OFS fiskalnom uređaju.

Pošaljite zahtjev na email: podrska@ofs.ba

U zahtjevu obavezno navedite:

  • Naziv firme
  • JIB (Jedinstveni identifikacioni broj)
  • Adresu firme

OFS podrška će vam dostaviti Bearer Token neophodan za pristup uređaju.

Korak 1: Preuzimanje softvera

  1. Preuzmite odgovarajući izvršni fajl za vaš operativni sistem:
    • Windows 64-bit: fiskala-windows-amd64.exe
    • Windows 32-bit: fiskala-windows-386.exe
  2. Kreirajte folder za program (preporučena lokacija: C:\FISKALA\)
  3. Premjestite preuzeti fajl u kreirani folder i preimenujte ga u fiskala.exe

Konfiguracija

Pri prvom pokretanju, Fiskala agent će automatski kreirati prazan konfiguracioni fajl config.ini u istom folderu kao fiskala.exe. Ovaj fajl morate popuniti sa podacima vašeg okruženja.

📌 Važno - Statička IP adresa:

Preporučujemo da rezervišete statičku IP adresu za POS terminal na vašem routeru. Na taj način IP adresa će uvijek biti ista i nećete morati mijenjati konfiguraciju.

Korak 2: Popunjavanje konfiguracije

Nakon što se kreira prazan config.ini, otvorite ga u text editoru i popunite sljedeće sekcije:

[Paths] - Putanje do foldera

[Paths]
WatchDir=C:\FISKALA\Inbox
ArchiveDir=C:\FISKALA\Archive
ErrorDir=C:\FISKALA\Error
ProcessingDir=C:\FISKALA\Processing

[API] - OFS konekcija

[API]
Endpoint=http://192.168.1.101:3566/api/invoices
BearerToken=your_bearer_token_here
PINCode=1234
Timeout=30
RetryAttempts=3
RetryDelay=1

⚠️ Obavezno - PIN kod:

PINCode je obavezan za otključavanje sigurnosnog elementa POS terminala. Bez ispravnog PIN koda uređaj neće moći biti aktiviran.

PIN kod dobijate pri isporuci POS terminala a Bearer token od OFS podrške.

[License] - Licenciranje (automatsko)

[License]
LicenseFile=./license.lic

✅ Automatska aktivacija:

Licenciranje se obavlja potpuno automatski pri prvom pokretanju agenta. Nije potrebna nikakva interakcija - agent će sam kontaktirati portal i automatski generisati probnu licencu na 30 dana.

Agent će kreirati license.lic fajl automatski.

Parametri Konfiguracije

Ova sekcija detaljno objašnjava sve parametre konfiguracije, posebno fokusirajući se na razliku između testnog i produkcijskog režima rada. Razumijevanje ovih parametara je ključno za pravilnu konfiguraciju agenta.

🎯 Testni vs Produkcijski Režim

Po defaultu, agent je u testnom režimu! Ovo znači da svi računi koje šaljete biće označeni kao Training (trening) računi i neće biti reportovani Poreskoj upravi.

Kada prelazite u produkciju, morate promijeniti TestMode=no u [Test] sekciji!

[Test] - Kontrola testnog režima

Ova sekcija kontroliše da li je agent u testnom ili produkcijskom režimu. Testni režim vam omogućava da testirate sistem bez uticaja na fiskalne izvještaje.

[Test]
# Testni režim - kontroliše tip računa koji se šalje
TestMode=yes    # DEFAULT: yes (šalje Training račune)
                # Postavite na "no" za produkciju (šalje Normal račune)

# Dry run režim - prikazuje curl komande bez API poziva
DryRun=no       # DEFAULT: no (normalan rad)
                # Postavite na "yes" za debugging bez slanja na API

TestMode - Šta radi?

✅ Kada je TestMode=yes (DEFAULT):

  • Agent šalje račune sa invoiceType: "Training"
  • Računi se normalno procesiraju na POS terminalu
  • Dobijate fiskalne potvrde
  • ⚠️ Ali: Računi se NE računaju u fiskalne ukupne zbire
  • ⚠️ Računi se NE reportuju Poreskoj upravi
  • ✅ Koristite za testiranje sistema

✅ Kada je TestMode=no (PRODUKCIJA):

  • Agent šalje račune sa invoiceType: "Normal"
  • Računi se normalno procesiraju na POS terminalu
  • Dobijate fiskalne potvrde
  • Računi se računaju u fiskalne ukupne zbire
  • Računi se reportuju Poreskoj upravi (FURS/PURS)
  • ⚠️ Koristite samo za pravu prodaju

DryRun - Šta radi?

DryRun je potpuno različit od TestMode. DryRun kontroliše da li agent uopšte poziva API.

Kada je DryRun=yes:

  • Agent parsira INP fajlove
  • Prikazuje curl komande koje bi se poslale
  • Generiše mock odgovore
  • NE poziva API uopšte
  • Ne kreira prave račune
  • ✅ Koristite za debugging INP parsiranja

[Invoice] - Postavke računa

Ova sekcija definiše podrazumijevane vrijednosti za sve račune koje agent šalje. Većina ovih vrijednosti se može overrideovati iz INP fajla.

[Invoice]
# Tip računa (vidi OFS API dokumentaciju)
InvoiceType=Training  # Training | Normal | Proforma | Copy | Advance

# Tip transakcije
TransactionType=Sale  # Sale (prodaja) | Refund (refundacija/reklamacija)

# Podrazumijevani tip plaćanja
# Vrijednosti: Cash (gotovina) | Card (kartica) | Check (ček) | WireTransfer (prenos) | Voucher (vaučer) | MobileMoney (instant) | Other (drugo)
PaymentType=Cash

# Podrazumijevani kasir (prikazuje se na računu)
DefaultCashier=Prodavac 1

# Podrazumijevani ID kupca (opciono)
DefaultBuyerID=

# Prefiks broja računa za refunde (KRITIČNO!)
InvoiceNumberPrefix=ABC12XYZ-ABC12XYZ-

InvoiceType - Tipovi računa

Kontroliše koji tip računa se šalje na OFS API. Napomena: Kada je TestMode=yes, agent automatski postavlja InvoiceType=Training bez obzira na ovu postavku.

Normal - Promet (prodaja)

Standardni fiskalni račun za prodaju. Računa se u fiskalne zbire i reportuje se Poreskoj upravi.

Training - Trening račun

Testni račun koji se ne računa u fiskalne zbire i ne reportuje se. Koristi se samo za testiranje.

Proforma - Predračun

Nefiskalni račun koji se koristi kao ponuda ili predračun.

Copy - Kopija računa

Kopija postojećeg fiskalnog računa (zahtijeva referentDocumentNumber).

Advance - Avansni račun

Račun za uplatu avansa (predplata).

TransactionType - Tip transakcije

Određuje da li je transakcija prodaja ili refund (reklamacija).

Sale - Prodaja

Standardna prodaja robe ili usluga. Podrazumijevana vrijednost.

Refund - Refundacija (reklamacija)

Povrat novca kupcu. Agent automatski detektuje refund iz INP fajla.

Napomena: Agent automatski postavlja TransactionType=Refund kada detektuje broj reklamacije u K komandi INP fajla (polje 3).

InvoiceNumberPrefix - Prefiks broja računa (KRITIČNO za refunde!)

Ovaj parametar je kritičan za obradu refunda (reklamacija). Kada agent detektuje refund iz INP fajla, mora znati pun format broja računa koji koristi vaš POS terminal kako bi pronašao originalni račun.

⚠️ Obavezno - Kako pronaći svoj prefiks:

  1. Napravite testni račun na vašem POS terminalu
  2. Pogledajte broj računa (npr. ABC12XYZ-ABC12XYZ-123)
  3. Uklonite broj sa kraja
  4. Upišite prefiks sa crticama u config.ini (npr. ABC12XYZ-ABC12XYZ-)

Ili pokrenite: fiskala.exe status

Prelazak na Produkciju - Checklist

Kada ste spremni za produkciju, slijedite ovu listu:

✅ Prije pokretanja u produkciji:

Postavite TestMode=no u [Test] sekciji

Ovo je NAJVAŽNIJI korak - bez ovoga svi računi ostaju Training!

Postavite InvoiceType=Normal u [Invoice] sekciji

Ovo osigurava da se šalju Normal računi (ali TestMode=yes će overrideovati ovo!)

Provjerite DryRun=no u [Test] sekciji

Ovo osigurava da se API pozivi zaista izvršavaju

Konfigurišite InvoiceNumberPrefix

Obavezno za podršku refunda - vidi gore kako pronaći prefiks

Testirajte sa normalnim računom

Napravite test INP fajl i provjerite da li se kreira Normal račun

Testirajte refund

Napravite test refund INP fajl i provjerite da li agent uspješno pronalazi originalni račun

Provjerite logove

Pogledajte agent.log i provjerite da li ima grešaka

Primjer Produkcijske Konfiguracije

Evo kompletnog primjera config.ini fajla za produkciju:

; Fiskala Produkcijska Konfiguracija

[Paths]
WatchDir=C:\FISKALA\Inbox
ArchiveDir=C:\FISKALA\Archive
ErrorDir=C:\FISKALA\Error
ProcessingDir=C:\FISKALA\Processing

[API]
Endpoint=http://192.168.1.101:3566/api/invoices
BearerToken=your_bearer_token_here
PINCode=1234
Timeout=30
RetryAttempts=3
RetryDelay=1

[Invoice]
; PRODUKCIJA - Normal računi
InvoiceType=Normal
TransactionType=Sale
PaymentType=Cash
DefaultCashier=Prodavac 1
DefaultBuyerID=
; KRITIČNO: Vaš POS prefiks (provjerite sa fiskala.exe status)
InvoiceNumberPrefix=ABC12XYZ-ABC12XYZ-

[Test]
; PRODUKCIJA - Testni režim ISKLJUČEN
TestMode=no
DryRun=no

[Logging]
Level=INFO
FilePath=C:\FISKALA\Logs\agent.log
MaxSize=10
MaxBackups=30
Console=yes

[Service]
ProcessOnStartup=yes
PollInterval=60
MaxConcurrent=1
FileEncoding=UTF-8

[TaxLabels]
; Poreske grupe - koristite Ćirilicu!
1=А  ; Nije u PDV 0%
2=Е  ; PDV 17%
4=К  ; Bez PDV 0% (export)

[TaxRates]
; Poreske stope za veleprodaju (B2B)
; Za veleprodaju cijene NE uključuju porez - agent automatski dodaje
; Za maloprodaju cijene VEĆ uključuju porez
1=0.00   ; А - Nije u PDV 0%
2=0.17   ; Е - PDV 17%
4=0.00   ; К - Bez PDV 0% (export)

[CharacterMapping]
; Mapiranje ASCII karaktera u specijalne znakove
; F-LINK ME koristi ASCII zamjene za srpske/hrvatske znakove
{=Š  ; Lijeva vitičasta → Š
}=Ž  ; Desna vitičasta → Ž
[=Č  ; Lijeva uglasta → Č
]=Ć  ; Desna uglasta → Ć
\=Đ  ; Backslash → Đ
~=Č  ; Tilda → Č

[Receipt]
SaveImage=yes
SaveText=yes
ImageDir=C:\FISKALA\Images
ImageFormat=Png

[License]
PortalURL=https://fiskala.com
Token=
LicenseFile=./license.lic

Testiranje

Nakon podešavanja konfiguracije, testirajte vezu sa OFS uređajem:

cd C:\FISKALA
fiskala.exe test

Pokretanje kao Windows Servis

Instalirajte Fiskala kao Windows servis koji automatski počinje sa računarom:

# Pokrenite Command Prompt kao Administrator
cd C:\FISKALA
fiskala.exe install
fiskala.exe start

# Provjera statusa
sc query Fiskala

Svakodnevni Rad

Nakon što je servis pokrenut, Fiskala automatski:

  • Prati WatchDir folder za nove .inp fajlove
  • Obrađuje svaki račun i šalje ga na OFS uređaj
  • Arhivira uspješne račune u ArchiveDir
  • Snima neuspješne račune u ErrorDir sa detaljima greške
  • Vodi log u agent.log
  • Šalje telemetriju (ako je omogućena) radi bolje podrške

Rješavanje Problema

Servis se ne pokreće

  1. Provjerite da li ste pokrenuli Command Prompt kao Administrator
  2. Provjerite da li config.ini postoji
  3. Provjerite logove u agent.log

Greška pri slanju računa

  • Provjerite IP adresu i port OFS uređaja
  • Provjerite Bearer Token
  • Provjerite mrežnu konekciju (ping na OFS uređaj)
  • Provjerite firewall postavke

Problemi sa licencom

  • Provjerite da li imate internet pristup (za prvu aktivaciju)
  • Ako nemate internet, isključite telemetriju (Enabled=no)
  • Provjerite da li je licenca istekla u admin portalu

Često Postavljana Pitanja

Mogu li pokrenuti više instanci?

Ne, samo jedna instanca Fiskala agenta može raditi na računaru istovremeno.

Šta se dešava ako OFS uređaj nije dostupan?

Agent će pokušati ponovno slanje prema podešenjima u RetryAttempts i RetryDelay.

Gdje mogu vidjeti arhivirane račune?

Uspješni računi se arhiviraju u ArchiveDir sa odgovarajućom .response.json datotekom.

Mogu li koristiti Fiskala bez interneta?

Da! Nakon prve aktivacije, Fiskala može raditi offline. Isključite telemetriju (Enabled=no) ako nemate stalni pristup internetu.

Podrška

Za dodatnu pomoć kontaktirajte:

Email: info@invenit.io

Telefon: +387 65 560 874

Kompanija: Invenit Solutions d.o.o., Banja Luka