-1
I’m basically turning a rundown of Excel formulas into a calculator that will appear on a Landing page. I did all the logic of the calculations, but I don’t know exactly what I had to do to connect the fields and the result button. There’s probably a lot of stuff that doesn’t go into good practice, but it’s because I decided to take a risk after a decade of not programming anything. Thank you so much for your help!
<!DOCTYPE html>
<html>
<header>
<script type="text/javascript">
var trib_atual = document.getElementById("trib_atual");
var anexo_simples = document.getElementById("anexo_simples");
var ramo = document.getElementById("ramo");
var fat_mensal = document.getElementById("fat_mensal").value;
var fat_12m = ("fat_12m"*12);
var custos_merc = document.getElementById("custos_merc").value;
var custos_adm = document.getElementById("custos_adm").value;
var custos_clt = document.getElementById("custos_clt").value;
var custos_mkt = document.getElementById("custos_mkt").value;
var custos_mensais = parseInt(custos_merc) + parseInt(custos_adm) + parseInt(custos_clt) + parseInt(custos_mkt);
var lucro_liquido = parseInt(fat_mensal) - parseInt(custos_mensais);
var lucro_real = parseInt(lucro_liquido) * 12;
var c1_tributos = (parseInt(classe1_clt) + parseInt(classe1_piscofins) + parseInt(classe1_outros)) / 12;
var c2_tributos = (parseInt(classe1_clt) + parseInt(classe1_piscofins) + parseInt(classe2_outros)) / 12;
var c3_tributos = (parseInt(classe1_clt) + parseInt(classe1_piscofins) + parseInt(classe3_outros)) / 12;
var c4_tributos = (parseInt(classe1_clt) + parseInt(classe1_piscofins) + parseInt(classe4_outros)) / 12;
var c5_tributos = (parseInt(classe1_clt) + parseInt(classe1_piscofins) + parseInt(classe5_outros)) / 12;
function calculo_ir(){
if (lucro_presumido > 240000){
var ir = parseInt(lucro_presumido) * 0.15 + (parseInt(lucro_presumido) - 240000) * 0.1;
else var ir = parseInt(lucro_presumido) * 0.15;
}
}
function calculo_ircs(){
if (lucro_real > 240000)
{var lucro_real = parseInt(lucro_real) - 240000 * 0.1}
else var lucro_real = 0 {
var ircs = parseInt(lucro_presumido) * 0.15 + (parseInt(lucro_presumido) - 240000) * 0.1; }
else var ircs = parseInt(lucro_presumido) * 0.15;
}
function calculo_piscofins(){
if ((((parseInt(fat_mensal) * 0.0925)) - (parseInt(custos_merc) - parseInt(custos_mkt)) * 0.0925) * 12) < 0 = 0 {
var piscofins = 0;
} else {
var piscofins = (((parseInt(fat_mensal) * 0.0925)) - (parseInt(custos_merc) - parseInt(custos_mkt)) * 0.0925) * 12;
}
}
//simples nacional
function calculo_aliquota_parc_faixa_1(){
if (cat_simples == "i") {
var limite_faixa1 = "180000";
var aliquota_faixa = "4%";
var parc_ded = "0";
else if (cat_simples == "ii") {
var limite_faixa1 = "180000";
var aliquota_faixa = "4.5%";
var parc_ded = "0";
else if (cat_simples == "iii") {
var limite_faixa1 = "180000";
var aliquota_faixa = "6%";
var parc_ded = "0";
else if (cat_simples == "iv") {
var limite_faixa1 = "4800000";
var aliquota_faixa = "30%";
var parc_ded = "72000";
else if (cat_simples == "v") {
var limite_faixa1 = "180000";
var aliquota_faixa = "15.5%";
var parc_ded = "0";
}}
function calculo_aliquota_parc_faixa_2(){
if (cat_simples == "i") {
var limite_faixa2 = "360000";
var aliquota_faixa = "7.3%";
var parc_ded = "0";
else if (cat_simples == "ii") {
var limite_faixa2 = "360000";
var aliquota_faixa = "7.8%";
var parc_ded = "0";
else if (cat_simples == "iii") {
var limite_faixa2 = "360000";
var aliquota_faixa = "11.2%";
var parc_ded = "0";
else if (cat_simples == "iv") {
var limite_faixa2 = "180000";
var aliquota_faixa = "4.5%";
var parc_ded = "72000";
else if (cat_simples == "v") {
var limite_faixa2 = "360000";
var aliquota_faixa = "18%";
var parc_ded = "0";
}}
function calculo_aliquota_parc_faixa_3(){
if (cat_simples == "i") {
var limite_faixa3 = "720000";
var aliquota_faixa = "7.3%";
var parc_ded = "0";
else if (cat_simples == "ii") {
var limite_faixa3 = "720000";
var aliquota_faixa = "7.8%";
var parc_ded = "0";
else if (cat_simples == "iii") {
var limite_faixa3 = "720000";
var aliquota_faixa = "11.2%";
var parc_ded = "0";
else if (cat_simples == "iv") {
var limite_faixa3 = "360000";
var aliquota_faixa = "4.5%";
var parc_ded = "72000";
else if (cat_simples == "v") {
var limite_faixa3 = "720000";
var aliquota_faixa = "18%";
var parc_ded = "0";
}}
function calculo_aliquota_parc_faixa_4(){
if (cat_simples == "i") {
var limite_faixa4 = "1800000";
var aliquota_faixa = "10.7%";
var parc_ded = "22500";
else if (cat_simples == "ii") {
var limite_faixa4 = "1800000";
var aliquota_faixa = "11.2%";
var parc_ded = "22500";
else if (cat_simples == "iii") {
var limite_faixa4 = "1800000";
var aliquota_faixa = "16%";
var parc_ded = "35640";
else if (cat_simples == "iv") {
var limite_faixa4 = "720000";
var aliquota_faixa = "10.2%";
var parc_ded = "12420";
else if (cat_simples == "v") {
var limite_faixa4 = "1800000";
var aliquota_faixa = "20.5%";
var parc_ded = "17100";
}}
function calculo_aliquota_parc_faixa_5(){
if (cat_simples == "i") {
var limite_faixa5 = "3600000";
var aliquota_faixa = "14.3%";
var parc_ded = "87300";
else if (cat_simples == "ii") {
var limite_faixa5 = "3600000";
var aliquota_faixa = "14.7%";
var parc_ded = "125640";
else if (cat_simples == "iii") {
var limite_faixa5 = "3600000";
var aliquota_faixa = "21%";
var parc_ded = "35640";
else if (cat_simples == "iv") {
var limite_faixa5 = "1800000";
var aliquota_faixa = "14%";
var parc_ded = "39780";
else if (cat_simples == "v") {
var limite_faixa5 = "3600000";
var aliquota_faixa = "23%";
var parc_ded = "62100";
}}
function calculo_aliquota_parc_faixa_6(){
if (cat_simples == "i") {
var limite_faixa5 = "4800000";
var aliquota_faixa = "19%";
var parc_ded = "378000";
else if (cat_simples == "ii") {
var limite_faixa5 = "4800000";
var aliquota_faixa = "30%";
var parc_ded = "720000";
else if (cat_simples == "iii") {
var limite_faixa5 = "4800000";
var aliquota_faixa = "33%";
var parc_ded = "648000";
else if (cat_simples == "iv") {
var limite_faixa5 = "3600000";
var aliquota_faixa = "22%";
var parc_ded = "183780";
else if (cat_simples == "v") {
var limite_faixa5 = "4800000";
var aliquota_faixa = "30.5%";
var parc_ded = "540000";
}}
function calculo_faixa(){
if (parseInt(fat_12m) <= parseInt(limite_faixa1)) {
var faixa_simples = "faixa1";
else if (parseInt(fat_12m) <= parseInt(limite_faixa2)) {
var faixa_simples = "faixa2";
else if (parseInt(fat_12m) <= parseInt(limite_faixa3)) {
var faixa_simples = "faixa3";
else if (parseInt(fat_12m) <= parseInt(limite_faixa5)) {
var faixa_simples = "faixa4";
else if (parseInt(fat_12m) <= parseInt(limite_faixa5)) {
var faixa_simples = "faixa5";
else if (parseInt(fat_12m) >= parseInt(limite_faixa6)) {
var faixa_simples = "faixa6 ";
}}}}}}}
function calculo_simples_nacional(){
var aliquota_simples_nacional = (parseInt(fat12m) * (parseInt(aliquota_faixa) - parseInt(parc_ded)) / parseInt(fat12m);
}
//lucro presumido
function define_lp(){
if ramo == ("at_imob" || "com" || "ind_terc" "transp_cargo");
var classe = "classe1";
else if ramo == ("prest_serv");
var classe = "classe2";
else if ramo == ("rev_comb");
var classe = "classe3";
else if ramo == ("serv_hosp");
var classe = "classe4";
else if ramo == ("transp");
var classe = "classe5";
}
}
function classe1_calculolp(){
var c1asse1_lucro_presumido = 0.08 * parseInt(fat_12m);
var classe1_ir = calculo_ir();
var classe1_lucro_presumido_csll = 0.08 * parseInt(fat_12m);
var classe1_unk = parseInt(classe1_lucro_presumido_csll) * 0.09;
var classe1_outros = parseInt(fat_12m) * (0.18 + 0.0365);
var classe1_clt = parseInt(custos_clt) * 12 * 0.358;
var classe1_total_presumido = parseInt(classe1_ir) + parseInt(classe1_unk) + parseInt(classe1_outros) + parseInt(classe1_clt);
if (ramo == "classe1");
var aliq_presumido = parseInt(classe1_total_presumido) / parseInt(fat_12m);
}
function classe2_calculolp(){
var c1asse2_lucro_presumido = 0.32 * parseInt(fat_12m);
var classe2_ir = calculo_ir();
var classe2_lucro_presumido_csll = 0.32 * parseInt(fat_12m);
var classe2_unk = parseInt(classe2_lucro_presumido_csll) * 0.09;
var classe2_outros = parseInt(fat_12m) * (0.05 + 0.0365);
var classe2_clt = parseInt(custos_clt) * 12 * 0.358;
var classe2_total_presumido = parseInt(classe2_ir) + parseInt(classe2_unk) + parseInt(classe2_outros) + parseInt(classe2_clt);
if (ramo == "classe2");
var aliq_presumido = parseInt(classe2_total_presumido) / parseInt(fat_12m);
}
function classe3_calculolp(){
var c1asse3_lucro_presumido = 0.016 * parseInt(fat_12m);
var classe3_ir = calculo_ir();
var classe3_lucro_presumido_csll = 0.016 * parseInt(fat_12m);
var classe3_unk = parseInt(classe3_lucro_presumido_csll) * 0.09;
var classe3_outros = 0;
var classe3_clt = parseInt(custos_clt) * 12 * 0.358;
var classe3_total_presumido = parseInt(classe3_ir) + parseInt(classe3_unk) + parseInt(classe3_outros) + parseInt(classe3_clt);
if (ramo == "classe3");
var aliq_presumido = parseInt(classe3_total_presumido) / parseInt(fat_12m);
}
function classe4_calculolp(){
var c1asse4_lucro_presumido = 0.08 * parseInt(fat_12m);
var classe4_ir = calculo_ir();
var classe4_lucro_presumido_csll = 0.12 * parseInt(fat_12m);
var classe4_unk = parseInt(classe4_lucro_presumido_csll) * 0.09;
var classe4_outros = parseInt(fat_12m) * (0.05 + 0.0365);
var classe4_clt = parseInt(custos_clt) * 12 * 0.358;
var classe4_total_presumido = parseInt(classe4_ir) + parseInt(classe4_unk) + parseInt(classe4_outros) + parseInt(classe4_clt);
if (ramo == "classe4");
var aliq_presumido = parseInt(classe4_total_presumido) / parseInt(fat_12m);
}
function classe5_calculolp(){
var c1asse5_lucro_presumido = 0.16 * parseInt(fat_12m);
var classe5_ir = calculo_ir();
var classe5_lucro_presumido_csll = 0.16 * parseInt(fat_12m);
var classe5_unk = parseInt(classe5_lucro_presumido_csll) * 0.09;
var classe5_outros = parseInt(fat_12m) * (0.18 + 0.0365);
var classe5_clt = parseInt(custos_clt) * 12 * 0.358;
var classe5_total_presumido = parseInt(classe5_ir) + parseInt(classe5_unk) + parseInt(classe5_outros) + parseInt(classe5_clt);
if (ramo == "classe5");
var aliq_presumido = parseInt(classe5_total_presumido) / parseInt(fat_12m);
}
//lucro real
function classe1_calculolr(){
var c1asse1_lucro_real = parseInt(lucro_liquido) * 12;
var classe1_ircs = ircs;
var classe1_piscofins = piscofins;
var classe1_outros = parseInt(fat_12m) * 0.18;
var classe1_total_real = parseInt(classe1_ircs) + parseInt(classe1_piscofins) + parseInt(classe1_outros) + parseInt(classe1_clt);
if (ramo == "classe5");
var aliq_total = parseInt(classe1_total_real) / parseInt(fat_12m);
}
function classe2_calculolr(){
var c1asse2_lucro_real = parseInt(lucro_liquido) * 12;
var classe2_ircs = ircs;
var classe2_piscofins = piscofins;
var classe2_outros = parseInt(fat_12m) * 0.5;
var classe2_total_real = parseInt(classe2_ircs) + parseInt(classe2_piscofins) + parseInt(classe2_outros) + parseInt(classe2_clt);
if (ramo == "classe2");
var aliq_total = parseInt(classe2_total_real) / parseInt(fat_12m);
}
function classe3_calculolr(){
var c1asse3_lucro_real = parseInt(lucro_liquido) * 12;
var classe3_ircs = ircs;
var classe3_piscofins = piscofins;
var classe3_outros = parseInt(fat_12m) * 0;
var classe3_total_real = parseInt(classe3_ircs) + parseInt(classe3_piscofins) + parseInt(classe3_outros) + parseInt(classe3_clt);
if (ramo == "classe3");
var aliq_total = parseInt(classe3_total_real) / parseInt(fat_12m);
} function classe4_calculolr(){
var c1asse4_lucro_real = parseInt(lucro_liquido) * 12;
var classe4_ircs = ircs;
var classe4_piscofins = piscofins;
var classe4_outros = parseInt(fat_12m) * 0.05;
var classe4_total_real = parseInt(classe4_ircs) + parseInt(classe4_piscofins) + parseInt(classe4_outros) + parseInt(classe4_clt);
if (ramo == "classe4");
var aliq_total = parseInt(classe4_total_real) / parseInt(fat_12m);
} function classe5_calculolr(){
var c1asse5_lucro_real = parseInt(lucro_liquido) * 12;
var classe5_ircs = ircs;
var classe5_piscofins = piscofins;
var classe5_outros = parseInt(fat_12m) * 0.18;
var classe5_total_real = parseInt(classe5_ircs) + parseInt(classe5_piscofins) + parseInt(classe5_outros) + parseInt(classe5_clt);
if (ramo == "classe5");
var aliq_total = parseInt(classe5_total_real) / parseInt(fat_12m);
}
function opcao_trib(){
if(document.getElementById("trib_atual").value == ""){
alert("Selecione uma opção");
}
if(document.getElementById("trib_atual").value == "1a")
{
calculo_simples();
}
}
if(document.getElementById("trib_atual").value == "1b" && ((document.getElementById("ramo") == "at_imob") || (document.getElementById("ramo") == "com") || (document.getElementById("ramo") == "ind_terc") || (document.getElementById("ramo") == "transp_cargo"))); {classe1_calculolp()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "prest_serv")); {classe2_calculolp()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "rev_comb")); {classe3_calculolp()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "serv_hosp")); {classe4_calculolp()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "transp")); {classe5_calculolp()};
}
}
}
if(document.getElementById("trib_atual").value == "1c") && ((document.getElementById("ramo") == "at_imob") || (document.getElementById("ramo") == "com") || (document.getElementById("ramo") == "ind_terc") || (document.getElementById("ramo") == "transp_cargo")); {classe1_calculolr()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "prest_serv")); {classe2_calculolr()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "rev_comb")); {classe3_calculolr()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "serv_hosp")); {classe4_calculolr()};
else if (document.getElementById("trib_atual").value == "1b" && (document.getElementById("ramo") == "transp")); {classe5_calculolr()};
}
function sera_que_ta_bom(){
if (opcao_trib == "1a" && ((parseInt(aliquota_simples_nacional) < parseInt(aliq_presumido)) && (parseInt(aliquota_simples_nacional) < parseInt(aliq_real))
|| (opcao_trib == "1b" && ((parseInt(aliq_presumido) < parseInt(aliquota_simples_nacional)) && (parseInt(aliq_presumido) < parseInt(aliq_real)) ))
|| (opcao_trib == "1c" && ((parseInt(aliq_real) < parseInt(aliquota_simples_nacional)) && (parseInt(aliq_real) < parseInt(aliq_presumido)) ) )));
var resultado = "otimo";
else if (opcao_trib == "1a" && ((parseInt(aliquota_simples_nacional) > parseInt(aliq_presumido)) && (parseInt(aliquota_simples_nacional) > parseInt(aliq_real))
|| (opcao_trib == "1b" && ((parseInt(aliq_presumido) > parseInt(aliquota_simples_nacional)) && (parseInt(aliq_presumido) > parseInt(aliq_real)) ))
|| (opcao_trib == "1c" && ((parseInt(aliq_real) > parseInt(aliquota_simples_nacional)) && (parseInt(aliq_real) > parseInt(aliq_presumido)) ) )));
var resultado = "pessimo";
else var resultado = "meh";
}
}
function resultado_final(){
if resultado = "otimo";
var resultado_final = "Está tudo certo: os números indicam que a empresa está recolhendo tributos de acordo com a média das empresas do setor.";
else if resultado = "meh";
var resultado_final = "Ajustes são necessários: é possível que a empresa esteja recolhendo um pouco mais de tributos.";
else if resultado = "pessimo";
var resultado_final = "Atenção: tudo indica que a empresa esteja pagando muito mais tributos que outras empresas do setor. Entre em contato com a gente.";
}
</script>
</header>
<body>
<p id="one"></p>
<h1>Calculadora de tributos</h1>
<form id="form">
Nome: <input id="nome" type="text" size="15"/> <br/>
WhatsApp: <input id="whatsapp" type="text" size="15"/> <br/><br/>
CNPJ: <input id="cnpj" type="text" size="15"/> <br/>
CNAE: <input id="cnae" type="text" size="15"/> <br/><br/>
Tributação atual: <select id="trib_atual" onblur="opcao_trib()">
<option id="valor" value=""> </option>
<option id="valor" value="1a">Simples Nacional</option>
<option id="valor" value="1b">Lucro Presumido</option>
<option id="valor" value="1c">Lucro Real</option>
</select> <br/>
Anexo Simples Nacional: <select id="cat_simples" onblur="opcao_simples()">
<option id="valor" value=""> </option>
<option id="valor" value="i">I</option>
<option id="valor" value="ii">II</option>
<option id="valor" value="iii">III</option>
<option id="valor" value="iv">IV</option>
<option id="valor" value="v">V</option>
</select> <br/>
Ramo de atividade: <select id="ramo" onblur="opcao_ramo()">
<option id="valor" value=""> </option>
<option id="valor" value="at_imob">Atividades imobiliárias</option>
<option id="valor" value="com">Comércio</option>
<option id="valor" value="ind_terc">Indústria para terceiros</option>
<option id="valor" value="prest_serv">Prestação de serviços</option>
<option id="valor" value="rev_comb">Revenda de combustíveis e gás natural</option>
<option id="valor" value="serv_hosp">Serviços hospitalares</option>
<option id="valor" value="transp">Transporte (exceto cargas)</option>
<option id="valor" value="transp_cargo">Transporte de cargas</option>
</select> <br/> <br/>
Faturamento do mês: <input id="fat_mensal" type="text" size="15"/> <br/><br/>
Custos com mercadorias/serviços prestados: <input id="custos_merc" type="text" size="15"/> <br/>
Despesas gerais: <input id="custos_adm" type="text" size="15"/> <br/>
Folha mensal (CLT): <input id="custos_clt" type="text" size="15"/> <br/>
Despesas com marketing: <input id="custos_mkt" type="text" size="15"/> <br/>
<br/>
<input id="calcular" type="button" value="Calcular" onclick="resultado_final()"/>
<input id="limpar" type="reset" value="Resetar"/> <br/> <br/>
Resultado: <input id="resultado_final" type="text" size="15" disabled="true"/>
</form>
</body>
</html>
So, I think that part I was able to adjust (I even got out by adjusting the errors in IF). What’s now picking up is this part here, and I don’t know exactly what’s wrong with it:

 function calculo_ir(){
 if (lucro_presumido > 240000){
 var ir = parseInt(lucro_presumido) * 0.15 + (parseInt(lucro_presumido) - 240000) * 0.1;
 } else var ir = parseInt(lucro_presumido) * 0.15;
 }

– fifteen
Apparently you have a problem with the brackets. Try placing the "Else" below the bracket that closes the "if".
function calculo_ir(){
 if (lucro_presumido > 240000) {
 var ir = parseInt(lucro_presumido) * 0.15 + (parseInt(lucro_presumido) - 240000) * 0.1;
 }
 else {
 var ir = parseInt(lucro_presumido) * 0.15;
 } 
}
– Bruno Cunha
One thing I noticed, you’re declaring variables inside the function, but you’re not using them for anything, remember that if you declare a variable inside the function it’s not seen from the "outside"
– Bruno Cunha
Yes, I’m adjusting. But a lot of the variables are only used within the same function. I saw now that one of the functions I didn’t finish because the excel formula was full of Ifs, but I think it’s working now. Thank you so much for the help!
– fifteen