File size: 19,261 Bytes
d9d7b41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339

from decimal import Decimal


ALIQ_ICMS_INTERNA: dict[str, Decimal] = {
    "AC": Decimal("17"), "AL": Decimal("17"), "AP": Decimal("18"),
    "AM": Decimal("20"), "BA": Decimal("19"), "CE": Decimal("20"),
    "DF": Decimal("20"), "ES": Decimal("17"), "GO": Decimal("17"),
    "MA": Decimal("22"), "MT": Decimal("17"), "MS": Decimal("17"),
    "MG": Decimal("18"), "PA": Decimal("19"), "PB": Decimal("18"),
    "PR": Decimal("19"), "PE": Decimal("20.5"), "PI": Decimal("21"),
    "RJ": Decimal("20"), "RN": Decimal("18"), "RS": Decimal("17"),
    "RO": Decimal("19.5"), "RR": Decimal("20"), "SC": Decimal("17"),
    "SP": Decimal("18"), "SE": Decimal("19"), "TO": Decimal("20"),
}


ALIQ_ICMS_INTERESTADUAL: dict[str, Decimal] = {
    "SUL_SUDESTE_para_OUTROS": Decimal("7"),
    "OUTROS_para_SUL_SUDESTE": Decimal("12"),
    "SUL_SUDESTE_para_SUL_SUDESTE": Decimal("12"),
    "EXTERIOR": Decimal("4"),
}

UF_SUL_SUDESTE = {"SP", "RJ", "MG", "ES", "PR", "SC", "RS"}


def aliq_icms_interestadual(uf_origem: str, uf_destino: str) -> Decimal:
    if uf_origem in UF_SUL_SUDESTE and uf_destino not in UF_SUL_SUDESTE:
        return ALIQ_ICMS_INTERESTADUAL["SUL_SUDESTE_para_OUTROS"]
    return ALIQ_ICMS_INTERESTADUAL["OUTROS_para_SUL_SUDESTE"]


ALIQ_PIS_LUCRO_REAL = Decimal("1.65")
ALIQ_COFINS_LUCRO_REAL = Decimal("7.60")
ALIQ_PIS_LUCRO_PRESUMIDO = Decimal("0.65")
ALIQ_COFINS_LUCRO_PRESUMIDO = Decimal("3.00")

ALIQ_IRPJ_BASE = Decimal("15")
ALIQ_IRPJ_ADICIONAL = Decimal("10")
LIMITE_ADICIONAL_IRPJ_MENSAL = Decimal("20000")
LIMITE_ADICIONAL_IRPJ_TRIMESTRAL = Decimal("60000")
LIMITE_ADICIONAL_IRPJ_ANUAL = Decimal("240000")


PERCENTUAL_PRESUMIDO_IRPJ: dict[str, Decimal] = {
    "revenda_combustiveis": Decimal("1.6"),
    "venda_mercadorias": Decimal("8.0"),
    "transporte_cargas": Decimal("8.0"),
    "atividades_rurais": Decimal("8.0"),
    "outros_negocios": Decimal("8.0"),
    "transporte_passageiros": Decimal("16.0"),
    "servicos_em_geral": Decimal("32.0"),
    "intermediacao_negocios": Decimal("32.0"),
    "administracao_locacao": Decimal("32.0"),
    "profissoes_regulamentadas": Decimal("32.0"),
}

PERCENTUAL_PRESUMIDO_CSLL: dict[str, Decimal] = {
    "comercio_industria": Decimal("12.0"),
    "servicos_em_geral": Decimal("32.0"),
}

ALIQ_CSLL_PADRAO = Decimal("9")
ALIQ_CSLL_FINANCEIRAS = Decimal("15")


ALIQ_ISS_MINIMA = Decimal("2.0")
ALIQ_ISS_MAXIMA = Decimal("5.0")


ALIQ_ISS_SERVICOS: dict[str, Decimal] = {
    "01": Decimal("5.0"),  # Serviços de informática
    "02": Decimal("5.0"),  # Pesquisa e desenvolvimento
    "03": Decimal("5.0"),  # Serviços prestados mediante locação
    "04": Decimal("5.0"),  # Saúde, assistência médica
    "05": Decimal("5.0"),  # Medicina e assistência veterinária
    "06": Decimal("5.0"),  # Cuidados pessoais, estética, atividades físicas
    "07": Decimal("5.0"),  # Serviços relativos a engenharia
    "08": Decimal("5.0"),  # Pesquisa, vigilância, rastreamento
    "09": Decimal("5.0"),  # Serviços relativos a hospedagem, turismo, viagens
    "10": Decimal("5.0"),  # Serviços de intermediação
    "11": Decimal("5.0"),  # Serviços de guarda, estacionamento
    "12": Decimal("5.0"),  # Serviços de diversões, lazer, entretenimento
    "13": Decimal("5.0"),  # Serviços relativos à fonografia, fotografia, cinematografia
    "14": Decimal("5.0"),  # Serviços relativos a bens de terceiros
    "15": Decimal("5.0"),  # Serviços relacionados ao setor bancário ou financeiro
    "16": Decimal("5.0"),  # Serviços de transporte de natureza municipal
    "17": Decimal("2.0"),  # Serviços de apoio técnico, administrativo, jurídico
    "18": Decimal("5.0"),  # Serviços de regulação de sinistros
    "19": Decimal("5.0"),  # Serviços de distribuição e venda de bilhetes e demais produtos
    "20": Decimal("5.0"),  # Serviços portuários, aeroportuários
    "21": Decimal("5.0"),  # Serviços de registros públicos
    "22": Decimal("5.0"),  # Serviços de exploração de rodovias
    "23": Decimal("5.0"),  # Serviços de programação e comunicação visual
    "24": Decimal("5.0"),  # Serviços de chaveiros, confecção de carimbos
    "25": Decimal("2.0"),  # Serviços funerários
    "26": Decimal("5.0"),  # Serviços de coleta, remessa ou entrega de correspondências
    "27": Decimal("5.0"),  # Serviços de assistência social
    "28": Decimal("5.0"),  # Serviços de avaliação de bens e serviços
    "29": Decimal("5.0"),  # Serviços de biblioteconomia
    "30": Decimal("5.0"),  # Serviços de biologia, biotecnologia e química
    "31": Decimal("5.0"),  # Serviços técnicos em edificações
    "32": Decimal("5.0"),  # Serviços de desenho técnico
    "33": Decimal("5.0"),  # Serviços de desembaraço aduaneiro
    "34": Decimal("5.0"),  # Serviços de investigações particulares
    "35": Decimal("5.0"),  # Serviços de reportagem, assessoria de imprensa
    "36": Decimal("5.0"),  # Serviços de meteorologia
    "37": Decimal("5.0"),  # Serviços de artistas, atletas, modelos e manequins
    "38": Decimal("5.0"),  # Serviços de museologia
    "39": Decimal("5.0"),  # Serviços de ourivesaria e lapidação
    "40": Decimal("5.0"),  # Obras de arte sob encomenda
}


CST_ICMS: dict[str, str] = {
    "000": "Tributada integralmente",
    "010": "Tributada e com cobrança do ICMS por substituição tributária",
    "020": "Com redução de base de cálculo",
    "030": "Isenta ou não tributada e com cobrança do ICMS por substituição tributária",
    "040": "Isenta",
    "041": "Não tributada",
    "050": "Suspensão",
    "051": "Diferimento",
    "060": "ICMS cobrado anteriormente por substituição tributária",
    "070": "Com redução de base de cálculo e cobrança do ICMS por substituição tributária",
    "090": "Outras",
    # Simples Nacional
    "101": "Tributada pelo Simples Nacional com permissão de crédito",
    "102": "Tributada pelo Simples Nacional sem permissão de crédito",
    "103": "Isenção do ICMS no Simples Nacional para faixa de receita bruta",
    "201": "Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por ST",
    "202": "Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por ST",
    "203": "Isenção do ICMS no Simples Nacional para faixa de receita bruta e com cobrança do ICMS por ST",
    "300": "Imune",
    "400": "Não tributada pelo Simples Nacional",
    "500": "ICMS cobrado anteriormente por ST ou por antecipação",
    "900": "Outros",
}


CST_IPI_ENTRADA: dict[str, str] = {
    "00": "Entrada com recuperação de crédito",
    "01": "Entrada tributada com alíquota zero",
    "02": "Entrada isenta",
    "03": "Entrada não-tributada",
    "04": "Entrada imune",
    "05": "Entrada com suspensão",
    "49": "Outras entradas",
}

CST_IPI_SAIDA: dict[str, str] = {
    "50": "Saída tributada",
    "51": "Saída tributável com alíquota zero",
    "52": "Saída isenta",
    "53": "Saída não-tributada",
    "54": "Saída imune",
    "55": "Saída com suspensão",
    "99": "Outras saídas",
}


CST_PIS_COFINS_SAIDA: dict[str, str] = {
    "01": "Operação tributável (base de cálculo = valor da operação alíquota normal)",
    "02": "Operação tributável (base de cálculo = valor da operação alíquota diferenciada)",
    "03": "Operação tributável (base de cálculo = quantidade vendida x alíquota por unidade de produto)",
    "04": "Operação tributável (tributação monofásica - revenda a alíquota zero)",
    "05": "Operação tributável (ST)",
    "06": "Operação tributável (alíquota zero)",
    "07": "Operação isenta da contribuição",
    "08": "Operação sem incidência da contribuição",
    "09": "Operação com suspensão da contribuição",
    "49": "Outras operações de saída",
}

CST_PIS_COFINS_ENTRADA: dict[str, str] = {
    "50": "Operação com direito a crédito - vinculada exclusivamente a receita tributada no mercado interno",
    "51": "Operação com direito a crédito - vinculada exclusivamente a receita não tributada no mercado interno",
    "52": "Operação com direito a crédito - vinculada exclusivamente a receita de exportação",
    "53": "Operação com direito a crédito - vinculada a receitas tributadas e não-tributadas no mercado interno",
    "54": "Operação com direito a crédito - vinculada a receitas tributadas no mercado interno e de exportação",
    "55": "Operação com direito a crédito - vinculada a receitas não-tributadas no mercado interno e de exportação",
    "56": "Operação com direito a crédito - vinculada a receitas tributadas e não-tributadas no mercado interno e de exportação",
    "60": "Crédito presumido - operação de aquisição vinculada exclusivamente a receita tributada no mercado interno",
    "61": "Crédito presumido - operação de aquisição vinculada exclusivamente a receita não-tributada no mercado interno",
    "62": "Crédito presumido - operação de aquisição vinculada exclusivamente a receita de exportação",
    "63": "Crédito presumido - operação de aquisição vinculada a receitas tributadas e não-tributadas no mercado interno",
    "64": "Crédito presumido - operação de aquisição vinculada a receitas tributadas no mercado interno e de exportação",
    "65": "Crédito presumido - operação de aquisição vinculada a receitas não-tributadas no mercado interno e de exportação",
    "66": "Crédito presumido - operação de aquisição vinculada a receitas tributadas e não-tributadas no mercado interno e de exportação",
    "67": "Crédito presumido - outras operações",
    "70": "Operação de aquisição sem direito a crédito",
    "71": "Operação de aquisição com isenção",
    "72": "Operação de aquisição com suspensão",
    "73": "Operação de aquisição a alíquota zero",
    "74": "Operação de aquisição (ST)",
    "75": "Operação de aquisição sem incidência da contribuição",
    "98": "Outras operações de entrada",
    "99": "Outras operações",
}


CFOP: dict[str, str] = {
    
    "1101": "Compra para industrialização ou produção rural",
    "1102": "Compra para comercialização",
    "1111": "Compra para industrialização de mercadoria recebida anteriormente em consignação industrial",
    "1113": "Compra para comercialização, de mercadoria recebida anteriormente em consignação mercantil",
    "1116": "Compra para industrialização originada de encomenda para recebimento futuro",
    "1117": "Compra para comercialização originada de encomenda para recebimento futuro",
    "1122": "Compra para comercialização de energia elétrica",
    "1124": "Industrialização efetuada por outra empresa",
    "1126": "Compra para utilização na prestação de serviço sujeita ao ISSQN",
    "1151": "Transferência para industrialização ou produção rural",
    "1152": "Transferência para comercialização",
    "1201": "Devolução de venda de produção do estabelecimento",
    "1202": "Devolução de venda de mercadoria adquirida ou recebida de terceiros",
    "1251": "Compra de energia elétrica para distribuição ou comercialização",
    "1301": "Aquisição de serviço de comunicação para execução de serviço da mesma natureza",
    "1302": "Aquisição de serviço de comunicação por estabelecimento industrial",
    "1303": "Aquisição de serviço de comunicação por estabelecimento comercial",
    "1352": "Aquisição de serviço de transporte por estabelecimento comercial",
    "1353": "Aquisição de serviço de transporte por estabelecimento de prestador de serviço de comunicação",
    "1401": "Compra para industrialização em operação com mercadoria sujeita ao regime de ST",
    "1403": "Compra para comercialização em operação com mercadoria sujeita ao regime de ST",
    "1407": "Compra de mercadoria para uso ou consumo em operação com mercadoria sujeita ao regime de ST",
    "1501": "Entrada de mercadoria recebida com fim específico de exportação",
    "1503": "Entrada de mercadoria recebida com fim específico de exportação, de estabelecimento do mesmo titular",
    "1556": "Compra de material para uso ou consumo",
    "1601": "Recebimento, por transferência, de saldo credor de ICMS",
    "1651": "Compra de combustível ou lubrificante para industrialização subsequente",
    "1652": "Compra de combustível ou lubrificante para comercialização",
    "1653": "Compra de combustível ou lubrificante por consumidor ou usuário final",
    "1658": "Transferência de combustível ou lubrificante recebido para industrialização subsequente",
    "1659": "Transferência de combustível ou lubrificante recebido para comercialização",
    "1660": "Saída de combustível ou lubrificante, de produção do estabelecimento",
    "1661": "Saída de combustível ou lubrificante adquirido ou recebido de terceiros",
    
    "5101": "Venda de produção do estabelecimento",
    "5102": "Venda de mercadoria adquirida ou recebida de terceiros",
    "5103": "Venda de produção do estabelecimento, efetuada fora do estabelecimento",
    "5104": "Venda de mercadoria adquirida ou recebida de terceiros, efetuada fora do estabelecimento",
    "5105": "Venda de produção do estabelecimento que não deva por ele transitar",
    "5106": "Venda de mercadoria adquirida ou recebida de terceiros, que não deva por ele transitar",
    "5109": "Venda de produção do estabelecimento, destinada à Zona Franca de Manaus ou Áreas de Livre Comércio",
    "5110": "Venda de mercadoria, adquirida ou recebida de terceiros, destinada à Zona Franca de Manaus ou Áreas de Livre Comércio",
    "5111": "Venda de produção do estabelecimento remetida anteriormente em consignação industrial",
    "5113": "Venda de mercadoria adquirida ou recebida de terceiros, remetida anteriormente em consignação mercantil",
    "5116": "Venda de produção do estabelecimento originada de encomenda para entrega futura",
    "5117": "Venda de mercadoria adquirida ou recebida de terceiros, originada de encomenda para entrega futura",
    "5122": "Venda de energia elétrica no mercado interno",
    "5124": "Industrialização efetuada para outra empresa",
    "5125": "Industrialização efetuada para outra empresa quando a mercadoria recebida para utilização no processo de industrialização não transitar pelo estabelecimento adquirente da mercadoria",
    "5151": "Transferência de produção do estabelecimento",
    "5152": "Transferência de mercadoria adquirida ou recebida de terceiros",
    "5201": "Devolução de compra para industrialização ou produção rural",
    "5202": "Devolução de compra para comercialização",
    "5401": "Venda de produção do estabelecimento em operação com produto sujeito ao regime de ST, como contribuinte substituto",
    "5403": "Venda de mercadoria adquirida ou recebida de terceiros em operação com mercadoria sujeita ao regime de ST, como contribuinte substituto",
    "5405": "Venda de mercadoria adquirida ou recebida de terceiros em operação com mercadoria sujeita ao regime de ST, como contribuinte substituído",
    "5501": "Remessa de produção do estabelecimento, com fim específico de exportação",
    "5503": "Remessa de mercadoria adquirida ou recebida de terceiros, com fim específico de exportação",
    "5556": "Transferência de material para uso ou consumo",
    "5601": "Transferência de saldo credor do ICMS para outro estabelecimento da mesma empresa, destinado à compensação de saldo devedor de ICMS",
    "5602": "Transferência de saldo devedor de ICMS para outro estabelecimento da mesma empresa",
    "5605": "Transferência de saldo credor de IPI para outro estabelecimento da mesma empresa, destinado à compensação de saldo devedor de IPI",
    "5651": "Venda de combustível ou lubrificante de produção do estabelecimento destinados ao processo de industrialização",
    "5652": "Venda de combustível ou lubrificante de produção do estabelecimento destinados à comercialização",
    "5653": "Venda de combustível ou lubrificante de produção do estabelecimento destinados a consumidor ou usuário final",
    # Saídas interestaduais
    "6101": "Venda de produção do estabelecimento",
    "6102": "Venda de mercadoria adquirida ou recebida de terceiros",
    "6107": "Venda de produção do estabelecimento, destinada a não contribuinte",
    "6108": "Venda de mercadoria adquirida ou recebida de terceiros, destinada a não contribuinte",
    "6151": "Transferência de produção do estabelecimento",
    "6152": "Transferência de mercadoria adquirida ou recebida de terceiros",
    "6201": "Devolução de compra para industrialização ou produção rural",
    "6202": "Devolução de compra para comercialização",
}


COD_PAISES: dict[str, str] = {
    "1058": "BRASIL",
    "0249": "ESTADOS UNIDOS DA AMERICA",
    "0230": "ESPANHA",
    "0232": "FRANCA",
    "0276": "ALEMANHA",
    "0040": "ARGENTINA",
    "0119": "CHILE",
    "0175": "COLOMBIA",
    "0715": "REINO UNIDO",
    "0538": "JAPAO",
    "0628": "MEXICO",
    "0765": "RUSSIA",
    "0770": "SUECIA",
    "0105": "CANADA",
    "5760": "CHINA",
    "0399": "ITALIA",
    "0423": "HOLANDA",
    "0773": "SUICA",
    "0315": "INDIA",
}


CALENDARIO_OBRIGACOES: dict[str, list[str]] = {
    "DCTF": ["Mensal - até o 15º dia útil do 2º mês subsequente"],
    "EFD_ICMS_IPI": ["Mensal - até o 15º dia útil do mês subsequente"],
    "EFD_CONTRIBUICOES": ["Mensal - até o 10º dia útil do 2º mês subsequente"],
    "ECD": ["Anual - até o último dia útil de junho do ano seguinte"],
    "ECF": ["Anual - até o último dia útil de julho do ano seguinte"],
    "ESOCIAL": ["Mensal - folha até o dia 7 do mês seguinte"],
    "EFD_REINF": ["Mensal - até o dia 15 do mês seguinte"],
    "DEFIS": ["Anual - Simples Nacional - até 31 de março"],
    "PGDAS": ["Mensal - Simples Nacional - até o dia 20"],
    "DARF_PIS": ["Mensal - até o 25º dia do mês subsequente"],
    "DARF_COFINS": ["Mensal - até o 25º dia do mês subsequente"],
    "DARF_IRPJ_LP": ["Mensal - DARF estimativa até o último dia útil do mês subsequente"],
    "DARF_CSLL_LP": ["Mensal - DARF estimativa até o último dia útil do mês subsequente"],
    "DARF_IRPJ_LT": ["Trimestral - até o último dia útil do mês subsequente ao trimestre"],
    "DARF_CSLL_LT": ["Trimestral - até o último dia útil do mês subsequente ao trimestre"],
}


COD_RECEITA_DARF: dict[str, str] = {
    "6912": "IRPJ - Lucro Real - Estimativa Mensal",
    "2362": "IRPJ - Lucro Real - Apuração Trimestral",
    "2089": "IRPJ - Lucro Presumido - Apuração Trimestral",
    "2372": "CSLL - Lucro Real - Estimativa Mensal",
    "6773": "CSLL - Lucro Presumido - Apuração Trimestral",
    "2484": "CSLL - Lucro Real - Apuração Trimestral",
    "8109": "PIS/PASEP - Faturamento - Não-cumulativo",
    "7987": "PIS/PASEP - Faturamento - Cumulativo",
    "2172": "COFINS - Faturamento - Não-cumulativa",
    "5856": "COFINS - Faturamento - Cumulativa",
    "5253": "IPI - Geral",
    "1038": "IRRF - Rendimentos do Trabalho",
    "0561": "IRRF - Serviços Prestados por PJ",
}