-
Notifications
You must be signed in to change notification settings - Fork 0
/
DescontosPJ.py
61 lines (46 loc) · 2.36 KB
/
DescontosPJ.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 25 18:10:59 2021
@author: Igorferr
Este arquivo contém as funções que calculam os descontos/impostos para PJ enquadrado na categoria Simples Nacional .
As aliquotas e faixas devem ser ajustadas de acordo com eventuais alterações da legislação trabalhista.
"""
# ---------------CÁLCULO Pro-Labore COM Base no Fator R ----------#
def ProLabore_FatorR(receitaBruta: float, fatorR: float) -> float:
"""
Calcula o valor do Pro-Labore com baseno fator R desejado
:param: receitaBruta , fatorR
:return: proLabore
"""
proLabore = receitaBruta * fatorR
proLabore = round(proLabore, 2)
return proLabore
# ----------------------------------------------------------------#
# ---------------CÁLCULO DAS Simples Nacional Anexo III----------#
def DAS_SimplesNacionalIII(faturamentoAnual: float) -> float:
"""
Calcula o total de imposto da DAS par Pessoa Física sob o regime do Simples Nacional, referente ao anexo III.
Tabela de 2021
:param faturamentoAnual:
:return: valorDASSimples
"""
LimiteSimplesNacional = 4800000.00 # Limite do faturamento anual para enquadramento no Simples Nacional.
if faturamentoAnual > LimiteSimplesNacional: # Verifica se o valor do Faturamento informado está dentro do limite pérmitido.
raise ValueError("O faturamento anual informado não é válido. "
"O valor está acima do limite para enquadramento no Simples Nacional.")
# Início Faixa Salarial : [Aliquota de imposto, Valor a deduzir]
# Deve estar em ordem decrescente
FaixasDASSimplesIII = {3600000.00: [0.33, 648000.00], # 33%
1800000.00: [0.21, 125640.00], # 21%
720000.00: [0.16, 35640.00], # 16%
360000.00: [0.135, 17640.00], # 13.5%
180000.00: [0.112, 9360.00], # 11.2%
0: [0.06, 0]} # 6.0%
valorDASSimples = 0
for faixa, aliquotas in FaixasDASSimplesIII.items():
if faturamentoAnual > faixa:
valorDASSimples = faturamentoAnual * aliquotas[0] - aliquotas[1]
break
valorDASSimples = round(valorDASSimples, 2)
return valorDASSimples
# ----------------------------------------------------------------#