Profil firme: preduzetnik_knjige pokriven u modulima + informativna tabela
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
This commit is contained in:
+21
-11
@@ -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
|
||||
}
|
||||
|
||||
@@ -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},
|
||||
|
||||
Reference in New Issue
Block a user