From cc1397a20a7b43e5856da1f730bb1faca850023c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dalibor=20Markovi=C4=87?= Date: Thu, 25 Jun 2026 23:13:14 +0200 Subject: [PATCH] Profil firme: preduzetnik_knjige pokriven u modulima + informativna tabela MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ModulKpo sada obuhvata i preduzetnik_knjige (proste knjige) Dodata tabela sa pregledom svih kombinacija pravnog oblika, PDV-a, fiskalizacije, KPO i dvojnog Napomene: PDV prag 8M, paušalni limit 6M, fiskalizacija obavezna za sve --- internal/config/moduli.go | 32 +++++++---- internal/config/moduli_test.go | 6 +-- web/templates/stranice/podesavanja_opste.html | 54 +++++++++++++++++++ 3 files changed, 78 insertions(+), 14 deletions(-) diff --git a/internal/config/moduli.go b/internal/config/moduli.go index db15eca..1cad799 100644 --- a/internal/config/moduli.go +++ b/internal/config/moduli.go @@ -16,10 +16,10 @@ const ( // Nazivi modula koje program pali/gasi prema profilu firme. const ( - ModulPdv = "pdv" - ModulFiskalizacija = "fiskalizacija" - ModulKpo = "kpo" - ModulDvojno = "dvojno" + ModulPdv = "pdv" // KIR/KPR evidencija, PDV obračun + ModulFiskalizacija = "fiskalizacija" // Teron L-PFR, fiskalni računi + ModulKpo = "kpo" // Knjiga o ostvarenom prometu (paušalci) + ModulDvojno = "dvojno" // Dvojno knjigovodstvo (DOO, preduzetnici koji ga vode) ) // ModulUkljucen vraća da li je dati zakonski modul aktivan za firmu, na osnovu @@ -36,20 +36,30 @@ func ModulUkljucen(podesavanja map[string]string, modul string) bool { return false } + pravniOblik := podesavanja[KljucPravniOblik] + switch modul { case ModulFiskalizacija: - // fiskalizacija je nezavisna od pravnog oblika — zaseban prekidač - // „izdaje li račune građanima" (Project.md §3, napomena *). + // Fiskalizacija je obavezna za SVE koji izdaju račune građanima (maloprodaja), + // bez obzira na pravni oblik. Nezavisan prekidač. return podesavanja[KljucFiskalizacija] == "da" + case ModulPdv: - // PDV evidencija se vodi kad je firma u sistemu PDV-a. + // PDV evidencija se vodi kad je firma u sistemu PDV-a (obavezno preko 8M, + // ili dobrovoljno). Dostupno svim pravnim oblicima. return podesavanja[KljucPdvObveznik] == "da" + case ModulKpo: - // KPO (knjiga o ostvarenom prometu) je samo za paušalce. - return podesavanja[KljucPravniOblik] == "pausalac" + // KPO (knjiga o ostvarenom prometu) vode paušalci i preduzetnici + // koji vode proste poslovne knjige (ne dvojno). + return pravniOblik == "pausalac" || pravniOblik == "preduzetnik_knjige" + case ModulDvojno: - // dvojno knjigovodstvo je za DOO (za preduzetnike je buduća podela, Project.md §8). - return podesavanja[KljucPravniOblik] == "doo" + // Dvojno knjigovodstvo je obavezno za DOO. Preduzetnici koji vode + // knjige mogu birati prosto ili dvojno — dvojno je opciono + // (budući toggle: firma_knjigovodstvo = "dvojno"). + return pravniOblik == "doo" + default: return false } diff --git a/internal/config/moduli_test.go b/internal/config/moduli_test.go index 4f89f6c..5535a71 100644 --- a/internal/config/moduli_test.go +++ b/internal/config/moduli_test.go @@ -44,12 +44,12 @@ func TestModulUkljucen(t *testing.T) { {"pun + obveznik da", pun, ModulPdv, true}, {"pun + obveznik ne (čak i doo)", izmeni(pun, KljucPdvObveznik, "ne"), ModulPdv, false}, - // kpo — samo paušalac + // kpo — paušalac i preduzetnik knjigaš (proste knjige) {"pun + paušalac → kpo", izmeni(pun, KljucPravniOblik, "pausalac"), ModulKpo, true}, {"pun + doo → nema kpo", pun, ModulKpo, false}, - {"pun + preduzetnik → nema kpo", izmeni(pun, KljucPravniOblik, "preduzetnik_knjige"), ModulKpo, false}, + {"pun + preduzetnik → kpo", izmeni(pun, KljucPravniOblik, "preduzetnik_knjige"), ModulKpo, true}, - // dvojno — samo doo + // dvojno — doo uvek, preduzetnik opciono (budući toggle) {"pun + doo → dvojno", pun, ModulDvojno, true}, {"pun + paušalac → nema dvojno", izmeni(pun, KljucPravniOblik, "pausalac"), ModulDvojno, false}, {"pun + preduzetnik → nema dvojno (buduća podela)", izmeni(pun, KljucPravniOblik, "preduzetnik_knjige"), ModulDvojno, false}, diff --git a/web/templates/stranice/podesavanja_opste.html b/web/templates/stranice/podesavanja_opste.html index edb09f0..5b298c0 100644 --- a/web/templates/stranice/podesavanja_opste.html +++ b/web/templates/stranice/podesavanja_opste.html @@ -246,6 +246,60 @@ + +
+
+ + Pregled — šta se pali po profilu +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Pravni oblikPDV evidencijaFiskalizacijaKPODvojno knjig.Limit prihoda
Paušalacopciono *✔ obavezno6.000.000 RSD
Preduzetnik (knjige)preko 8M✔ obaveznoopciono **bez limita
DOOpreko 8M✔ obavezno✔ obaveznobez limita
+
+
+ * Paušalac može dobrovoljno ući u PDV. Preko 8M — obavezno izlazi iz paušala i ulazi u PDV.
+ ** Preduzetnik koji vodi knjige može birati prosto ili dvojno knjigovodstvo.
+ Fiskalizacija je obavezna za sve koji izdaju račune građanima (maloprodaja) — bez obzira na pravni oblik.
+ PDV prag: 8.000.000 RSD u prethodnih 12 meseci (Zakon o PDV-u, čl. 33). Paušalni limit: 6.000.000 RSD (Zakon o porezu na dohodak građana, čl. 40). +
+
+ {{if .LogoGreska}}