📋 ESPlate — Upustvo za korištenje
Kompletni vodič za sistem obračuna plata u Bosni i Hercegovini
🚀 Početak — Setup
1. Baza podataka (SSMS)
Pokrenite redom:
1. SQL/ESPlate_Baza.sql
2. SQL/TestPodaci.sql
3. Fix_SVE_KOLONE.sql ⚠️
4. Fix_Doprinosi_RS_BD.sql
2. Pokretanje aplikacije
Visual Studio:
Build → Clean Solution
Build → Build Solution
F5 (pokretanje)
Browser: https://localhost:7101
3. Testni korisnici
superadmin / Admin123
servis1 / Servis123
korisnik1 / Korisnik123
🏗️ Arhitektura i uloge korisnika
ESPlate je multi-servis, multi-korisnik web aplikacija koja podržava tri entiteta BiH. Postoje tri nivoa pristupa:
| Uloga | Username | Prava pristupa |
|---|---|---|
| SuperAdmin | superadmin | Upravljanje servisima, svim firmama, korisnicima i stopama doprinosa |
| Servis | servis1 | Upravljanje firmama i korisnicima unutar svog računovodstvenog servisa |
| Korisnik | korisnik1 | Radnici, obračuni i izvještaji — samo za svoju firmu |
Tok rada
SuperAdmin kreira Servis
Administracija → Servisi → Novi servis
Servis kreira Firmu
Firme → Nova firma — bira entitet (FBiH/RS/BD)
Servis dodjeljuje Korisnika firmi
Korisnici → Firme (ikona zupčanika) → nivo pristupa
Korisnik vodi plaće
Dodaje radnike → ugovore → kreira obračune → štampa izvještaje
🏢 Firme
Kreiranje firme
Navigacija → Administracija → Firme → Nova firma
| Polje | Opis |
|---|---|
| Naziv | Puni naziv firme (npr. Demo d.o.o. Sarajevo) |
| JIB | Jedinstveni identifikacioni broj — 13 cifara |
| Entitet ⚠️ | FBiH / RS / Brčko Distrikt — određuje stope doprinosa! |
| Šifra djelatnosti | Za PU obrasca MIP-1023 / GIP-1022 |
| Banka / IBAN | Račun firme za virman naloge |
| Direktor | Potpis na ugovorima o radu |
Dodjela korisnika firmi
Korisnici → ikona zupčanika → odabir firme i nivoa pristupa:
- Čitanje — pregled radnika, obračuna i izvještaja
- Pisanje — + kreiranje radnika, ugovora, obračuna
- Admin — + zaključavanje, brisanje, PU slanje
% Doprinosi i stope
Navigacija → Doprinosi/Porezi
| Doprinos | FBiH | RS | BD (Opcija 1) |
|---|---|---|---|
| PIO/MIO — radnik | 17% | 18.5% | 17% |
| Zdravstvo — radnik | 12.5% | 10.2% | 12% |
| Nezaposlenost — radnik | 1.5% | 0.6% | 1.5% |
| Dječija zaštita (RS) | — | 1.7% | — |
| Ukupno radnik | 31% | 31% | 30.5% |
| PIO/MIO — poslodavac | 6% | 0% | 6% |
| Zdravstvo — poslodavac | 4% | 0% | 0% |
| Lični odbitak (mj.) | 300 KM | 1.000 KM | 300 KM |
| Porez na dohodak | 10% | 10% | 10% |
Virman računi
Tab "Virman računi" — definišite IBAN za svaku vrstu doprinosa:
| Vrsta | Opis |
|---|---|
| PIO_R | PIO/MIO radnik (MIP-1023) → Fond PIO/MIO |
| PIO_P | PIO/MIO poslodavac (GIP-1022) |
| ZDR_R | Zdravstvo radnik → Kantonal (FBiH 89.8% od ukupnog) |
| ZDR_P | Zdravstvo federalni (FBiH 10.2% → Fond solidarnosti) |
| NEZ_R | Nezaposlenost kantonal (FBiH 70%) |
| POREZ | Porez na dohodak → JRT trezor PU |
| NETO | Neto plate → računi radnika |
🏷️ Vrste prihoda
Navigacija → Vrste prihoda
| Vrsta prihoda | Šifra | Oporezivo | Ulazi u bruto |
|---|---|---|---|
| Osnovna plata | 3100 | ✅ Da | ✅ Da |
| Topli obrok | 3200 | ❌ NE | ❌ NE |
| Naknada za prevoz | 3210 | ❌ NE | ❌ NE |
| Prekovremeni rad | 3300 | ✅ Da | ✅ Da |
| Regres | 3400 | ❌ NE | ❌ NE |
| Stimulacija / Bonus | 3500 | ✅ Da | ✅ Da |
| Naknada za bolovanje | 3600 | ✅ Da | ❌ NE |
| Jubilarna nagrada | 3700 | ❌ NE | ❌ NE |
- Oporezivo = Da — prihod ulazi u poreznu osnovicu (plaća se porez 10%)
- Ulazi u bruto = Da — uvećava bruto za izračun doprinosa (MIP/GIP/Zdravstvo)
- SuperAdmin i Servis mogu dodavati vlastite vrste prihoda per entitet
👥 Radnici — Dodavanje
Navigacija → Radnici → Dodaj radnika
- Obavezno: Ime, prezime, datum zaposlenja
- Preporučeno: JMBG, adresa, broj lične karte, banka i IBAN broj računa
- Nakon dodavanja sistem preusmjerava na formu za uređivanje
Minuli rad — automatski izračun
Unesite "Prethodni staž (mj.)" za radno iskustvo van ove firme. Na ugovoru kliknite "↑ Auto X%" za automatski prijedlog.
📄 Ugovor o radu
Radnici → Uredi → dugme "Ugovor"
| Tip obračuna | Opis | Unos podataka |
|---|---|---|
| Miesečni | Fiksna bruto plata | Bruto ILI Neto — kalkulator preračunava |
| Satni | Satnica × ostvareni sati | Satnica (KM/h) + Norma sati/mj. |
| Dnevni | Dnevnica × radni dani | Dnevnica (KM/dan) + Broj dana |
Unesite Bruto → sistem automatski izračunava Neto (i sve doprinose).
Unesite Neto → sistem pronalazi Bruto putem binary search algoritma.
Kalkulator prikazuje sve stavke u realnom vremenu po stopama entiteta firme.
- 🖨️ Klik "Štampaj ugovor" → printabilni ugovor o radu sa linijama za potpis (4 primjerka)
- Na prethodnom ugovoru automatski se postavlja datum završetka
💳 Porezna kartica
Radnici → Uredi → dugme "Por. kartica"
| Entitet | Godišnji odbitak | Miesečni odbitak |
|---|---|---|
| FBiH | 3.600 KM | 300 KM × faktor |
| RS | 12.000 KM | 1.000 KM × faktor |
| Brčko Distrikt | 3.600 KM | 300 KM × faktor |
- Faktor djece: svako dijete = +0.5 faktora
- Faktor uzdržavanih: svako uzdržavano lice = +0.5 faktora
- 🖨️ Klik "Štampaj karticu" → printabilna porezna kartica sa izjavom radnika
📋 Obrasci za radnika
JS3100 — Prijava osiguranika
Radnici → dugme "JS3100"
Popunjava se automatski.
Mora se predati dan prije početka rada!
JS3120 — Odjava osiguranika
Radnici → dugme "JS3120"
(prikazuje se samo za neaktivne radnike)
Predaje se pri prestanku radnog odnosa.
Svi obrasci su printabilni, automatski popunjeni iz podataka radnika i ugovora. Sadrže linije za potpis i pečat.
🧮 Kreiranje obračuna plaća
Navigacija → Obračuni → odabir godine i mieseca → dugme "Kreiraj obračun"
Odabir perioda
Sistem provjeri da obračun za taj period ne postoji
Učitavanje radnika
Svi aktivni radnici zaposleni u odabranom periodu
Traženje ugovora
Za svakog radnika aktivan ugovor koji važi u periodu
Obračun stavki
Bruto, doprinosi, lični odbitak, porez, neto, trošak firme
📐 Formula obračuna (FBiH primjer — bruto 1.000 KM)
| Bruto plata (osnova) | 1.000,00 KM |
| + Minuli rad (npr. 0%) | 0,00 KM |
| = Bruto ukupno | 1.000,00 KM |
| − PIO/MIO radnik (MIP-1023) 17% | 170,00 KM |
| − Zdravstvo radnik 12.5% | 125,00 KM |
| − Nezaposlenost radnik 1.5% | 15,00 KM |
| = Prihod umanjen za doprinose | 690,00 KM |
| − Lični odbitak (kartica, 300 KM/mj.) | 300,00 KM |
| = Porezna osnovica | 390,00 KM |
| − Porez na dohodak 10% | 39,00 KM |
| ✅ NETO ISPLATA RADNIKU | 651,00 KM |
| + PIO/MIO poslodavac (GIP-1022) 6% | 60,00 KM |
| + Zdravstvo poslodavac 4% | 40,00 KM |
| 💼 UKUPNI TROŠAK FIRME | 1.100,00 KM |
📝 Unos sihterice
Detalji obračuna → dugme "Unos sihterice"
- Promjena ostvarenih sati za satni obračun (radnici koji nisu radili puno radno vrijeme)
- Dodavanje vrsta prihoda: topli obrok, prevoz, prekovremeni, regres...
- Unesite iznos za svaku vrstu prihoda (0 = nije isplaćeno tog mieseca)
- Klik "Preračunaj i sačuvaj" — sistem automatski ažurira bruto, doprinose i neto
💸 Virmani — platni nalozi
Detalji obračuna → dugme "Virmani"
Sistem automatski kreira platne naloge za sve obaveze:
| Virman | FBiH | RS |
|---|---|---|
| 1. PIO/MIO | MIP-1023 radnik 17% + GIP-1022 poslodavac 6% | PIO radnik 18.5% |
| 2. Zdravstvo kantonal | 89.8% od ukupnog zdravstvo (vrsta prih. 712112) | — |
| 3. Zdravstvo federalni | 10.2% → Fond solidarnosti (vrsta prih. 712112) | — |
| 4. Nezaposlenost kant. | 70% od nezaposlenosti (vrsta prih. 712113) | — |
| 5. Nezaposlenost fed. | 30% → Federalni zavod (vrsta prih. 712113) | — |
| 6. Porez | Porez na dohodak → JRT trezor PU | Porez na dohodak |
| 7. Neto plate | Lista radnika sa IBAN brojevima | |
📊 Izvještaji i obrasci
| Izvještaj | Opis | Pristup |
|---|---|---|
| Platna lista | Svi radnici, bruto/neto, za štampu | Detalji → Platna lista |
| Sihterica | Individualni isplatni listić | Detalji → ikona po radniku |
| PMIP-1024 / MIP-1023 | Miesečni obrazac PU FBiH | Detalji → MIP dugme |
| GIP-1022 | Godišnji obrazac PU FBiH | Izvještaji → GIP-1022 |
| Specifikacija 2001 | Uz isplatu plaća (za banku) | Detalji → Spec.2001 |
| Rekapitulacija plaća | Zbirno po mjes. i radniku | Izvještaji → Rekapitulacija |
| Rekap. doprinosa | PIO/ZDR/NEZ po šiframa | Izvještaji → Rekap. dop. |
| Virmani / Platni nalozi | Za uplatu svih obaveza | Detalji → Virmani |
| XML za PU FBiH | Upload na portal Porezne uprave | Detalji → PU Slanje |
| JS3100 Prijava | Prijava osiguranika u sistem PU | Radnici → JS3100 dugme |
| JS3120 Odjava | Odjava osiguranika iz sistema PU | Radnici → JS3120 dugme |
| Ugovor o radu | Printabilni, 4 primjerka, potpisi | Radnici → 🖨️ ikona |
| Porezna kartica | Kartica sa izjavom radnika | Radnici → 🖨️ ikona |
📑 MIP-1023 / GIP-1022 i XML export
- MIP-1023 (PMIP-1024): Miesečni obrazac — za svakog radnika pojedinačno. Sadrži Dio 1 (poslodavac), Dio 2 (obračun), Dio 3 (doprinosi poslodavca).
- GIP-1022: Godišnji obrazac — zasebna kartica za svakog radnika sa prikazom svih mieseci.
- Dugme CSV — za internu evidenciju, Excel, uvoz u druge sisteme
- Dugme XML — format koji prihvata PU FBiH, isti kao sistem koji oni koriste (Obrazac1024 XML)
🔧 Česti problemi i rješenja
| Problem | Uzrok | Rješenje |
|---|---|---|
| Zdravstvo/GIP prikazuje 0 | Kolone ostale INT umjesto DECIMAL | Pokrenuti Fix_SVE_KOLONE.sql → restart aplikacije |
| Radnik se ne može otvoriti | Kolona PrethodniStazMjeseci nedostaje | Pokrenuti Fix_SVE_KOLONE.sql |
| InvalidCastException Decimal/Int | Mismatch tipa kolone u DB i modela | Fix_SVE_KOLONE.sql + Build → Clean |
| Obračun ne kreira stavke | Radnik nema ugovor za period | Dodati ugovor koji važi u obračunskom periodu |
| Vrste prihoda prazna lista | Tabela VrstePrihoda prazna | Fix_SVE_KOLONE.sql automatski popunjava |
| Korisnik ne vidi firmu | Firma nije dodijeljena korisniku | Servis admin → Korisnici → Firme (zupčanik) |
| Greška pri snimanju radnika | Nedostajuća kolona u DB | Fix_SVE_KOLONE.sql + Build → Clean → F5 |
| Include greška u View-u | @inject DbContext nema EF Include | Podaci se prenose iz Controllera via ViewBag — interna greška, javite |
Fix_SVE_KOLONE.sql u SSMS, zatim u Visual Studiju: Build → Clean Solution → Build → F5.
🗄️ SQL skriptovi
Konekcija: ELVIRPESTAW11\SQLE2017 | Baza: ESPlate
| # | Skripta | Kada | Opis |
|---|---|---|---|
| 1 | ESPlate_Baza.sql | Jednom — inicijalno | Kreira sve tabele, entitete, default doprinose |
| 2 | TestPodaci.sql | Jednom — testiranje | Demo firma, 4 radnika, korisnici |
| 3 | Fix_SVE_KOLONE.sql | OBAVEZNO jednom! | Dodaje sve nove kolone, popravlja INT→DECIMAL, seed-uje VrstePrihoda |
| 4 | Fix_Doprinosi_RS_BD.sql | Jednom — za RS/BD | Ispravne stope (RS: 31% radnik, 0% posl.; BD: ispravne stope) |
| 5 | Fix_VirmanRacuni.sql | Po potrebi | Kreira tabelu virman računa |
| 6 | Fix_BrojDana.sql | Ako Decimal→Int greška | Popravlja BrojDana i SatiRad kolone |
| 7 | Fix_ColumnTypes.sql | Ako zdravstvo = 0 | Sve decimal kolone u ObracunStavke |
Fix_ skripte su idempotentne — mogu se pokrenuti više puta bez posljedica. Koriste IF NOT EXISTS i ne brišu postojeće podatke.