feat(pdv): uvoz robe — KPR zastavica i mapiranje u PPPDV 006/106

- migracija 048: kolona uvoz na pdv_kpr (0=domaća nabavka, 1=uvoz)
- model PdvKpr.Uvoz; MapirajPPPDV(kir, kprDomace, kprUvoz) rutira uvoz u 006/106,
  domaće u 008/108; test ažuriran + uvozni scenario
- repo: KPR Lista/DohvatiID/Kreiraj čitaju i pišu uvoz
- obračun: KPR se razdvaja na domaće/uvozne; obaveza ostaje na ukupnom KPR-u
- KPR forma: kvačica „Uvoz (JCI)"; lista: oznaka UVOZ uz broj dokumenta
This commit is contained in:
2026-06-14 17:16:01 +02:00
parent c7470ebbc9
commit 42c74a725a
8 changed files with 73 additions and 16 deletions
+1
View File
@@ -128,6 +128,7 @@ func (h *Handler) SacuvajPdvKpr(w http.ResponseWriter, r *http.Request) {
PdvBezOdbitka: parsiraIznos(r.FormValue("pdv_bez_odbitka")),
OslobodenNabavka: parsiraIznos(r.FormValue("osloboden_nabavka")),
Napomena: strings.TrimSpace(r.FormValue("napomena")),
Uvoz: r.FormValue("uvoz") == "1",
}
// datum plaćanja je opcionalan
if dp := parsiraDatumOpcionalno(r.FormValue("datum_placanja")); !dp.IsZero() {
+14 -1
View File
@@ -59,6 +59,19 @@ func (h *Handler) PdvObracunStranica(w http.ResponseWriter, r *http.Request) {
kirSume := model.SumirajKir(kirZapisi)
kprSume := model.SumirajKpr(kprZapisi)
// razdvajamo KPR na domaće i uvozne — uvoz se u PPPDV mapira u polja 006/106,
// domaća nabavka u 008/108; obračun obaveze ostaje na ukupnom KPR-u (uvozni PDV je odbitni)
var kprDomaci, kprUvozni []model.PdvKpr
for _, z := range kprZapisi {
if z.Uvoz {
kprUvozni = append(kprUvozni, z)
} else {
kprDomaci = append(kprDomaci, z)
}
}
kprDomaceSume := model.SumirajKpr(kprDomaci)
kprUvozSume := model.SumirajKpr(kprUvozni)
ps := h.popuniPodaciStranice(r, podesavanja)
ps.Stranica = "pdv-obracun"
ps.NaslovStranice = "PDV obračun"
@@ -69,6 +82,6 @@ func (h *Handler) PdvObracunStranica(w http.ResponseWriter, r *http.Request) {
KirSume: kirSume,
KprSume: kprSume,
Obracun: model.ObracunajPdv(kirSume, kprSume),
PPPDV: model.MapirajPPPDV(kirSume, kprSume),
PPPDV: model.MapirajPPPDV(kirSume, kprDomaceSume, kprUvozSume),
})
}