Last active
January 10, 2022 20:24
-
-
Save augustplaninsek/3c79c684f73bd0d3cde1f2111cd1f7ca to your computer and use it in GitHub Desktop.
Javascript za automatsko popunjavanje POSD obrasca na e-poreznoj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Disclamer: | |
Ova skripta je nastala samo da olakša popunjavanje POSD obrasca na ePoreznoj i da privuče pažnju na to kako je država | |
namjerno nepotrebno zakomplicirala popunjavanje obrasca obzirom da se gotovo svi podaci daju izračunati. | |
Ne odgovaram za nikakve štete nastale uporabom ove skripte. Sve podatke provjerite prije spremanja. | |
Ova skripta radi samo za obrte s jednim vlasnikom i nije za područja Vukovara i ostala potpomognuta područja | |
koja imaju olakšice | |
Primjeri posd-a i exceli za provjeru: | |
- https://plaviured.hr/vodici/pausalni-obrt-predaja-po-sd-obrasca/ | |
- https://www.hok.hr/novosti-iz-hok/obrtnici-pausalisti-prijava-dohotka-na-obrascu-po-sd-i-po-sd-z-0 | |
Upute: | |
1. Popuni varijable na početku. | |
2. Kopiraj cijeli kod i zalijepi u konzolu dok je otvoren POSD na koraku 2 u ePoreznoj. | |
3. Provjeri podatke prije spremanja. | |
*/ | |
const primiciUGotovini = 13500; | |
const primiciBezgotovinski = 74000; | |
const stopaPrireza = 12; | |
const uplacenoPoreza = 1500; | |
const brojMjeseciObavljanjaDjelatnosti = 12; | |
/* ------- do ovdje ------ */ | |
const formatValue = a => { | |
return a.toLocaleString('hr', {minimumFractionDigits: 2, maximumFractionDigits: 2}); | |
}; | |
const total = primiciUGotovini + primiciBezgotovinski; | |
let godisnjiDohodak = 0; | |
let porez = 0; | |
if (total <= 85000){ | |
godisnjiDohodak = 12750; | |
porez = 1275; | |
} else if (total <= 115000) { | |
godisnjiDohodak = 17250; | |
porez = 1725; | |
} else if (total <= 149000) { | |
godisnjiDohodak = 22425; | |
porez = 2242.5; | |
} else if (total <= 230000) { | |
godisnjiDohodak = 34500; | |
porez = 3450; | |
} else { | |
godisnjiDohodak = 45000; | |
porez = 4500; | |
} | |
const prirez = porez * stopaPrireza / 100; | |
const totalPorez = porez + prirez; | |
const mjesecniPorez = totalPorez / brojMjeseciObavljanjaDjelatnosti; | |
const razlika = totalPorez - uplacenoPoreza; | |
document.querySelector("input[name*='PrimiciUGotovini'").value = formatValue(primiciUGotovini); | |
document.querySelector("input[name*='PrimiciNaplaceniBezgotovinskimPutem'").value = formatValue(primiciBezgotovinski); | |
document.querySelector("input[name*='UkupnoOstvareniPrimici'").value = formatValue(total); | |
document.querySelector("input[name*='GodisnjiDohodakPojedinacneDjelatnosti'").value = formatValue(godisnjiDohodak); | |
document.querySelector("input[name*='ProsjecnaStopa'").value = formatValue(stopaPrireza); | |
document.querySelector("input[name*='PrirezPorezuNaDohodak'").value = formatValue(prirez); | |
document.querySelector("input[name*='UkupniPausalniPorezNaDohodakIPrirezPorezuNaDohodak'").value = formatValue(totalPorez); | |
document.querySelector("input[name*='UkupnaObvezaPorezaNaDohodakIPrirezPorezuNakonUmanjenja'").value = formatValue(totalPorez); | |
document.querySelector("input[name*='UkupnoUplaceniPorezNaDohodakIPrirezPorezuNaDohodak'").value = formatValue(uplacenoPoreza); | |
if (razlika > 0){ | |
document.querySelector("input[name*='RazlikaZaUplatu'").value = formatValue(razlika); | |
} else { | |
document.querySelector("input[name*='RazlikaZaPovrat'").value = formatValue(Math.abs(razlika)); | |
} | |
document.querySelector("input[name*='MjesecniPausalniPorezIPrirezPorezuNaDohodak'").value = formatValue(mjesecniPorez); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment