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", }