Configuração da Empresa
Objetivo
Documentar todos os campos e parâmetros fiscais que devem ser configurados no cadastro da empresa (res.company) para o correto funcionamento da localização brasileira. Esta é a primeira etapa obrigatória de qualquer implantação.
Acesso: Definições → Empresa ou diretamente no formulário da empresa
Implementação Técnica
- Model:
res.company (herança de res.company + mail.thread + mail.activity.mixin)
- Arquivo:
l10n_br_ciel_it_account/models/res_company.py (linha 263)
- Config Settings:
res.config.settings (mesma arquivo, linha 1607) — campos related que espelham a empresa
Seção 1 — Dados Cadastrais da Empresa
Campos sincronizados com o parceiro (res.partner) da empresa via compute/inverse.
| # |
Campo |
Tipo |
Descrição |
Obrigatório |
Onde é usado |
| 1 |
l10n_br_cnpj |
Char (computed) |
CNPJ da empresa — sincronizado com partner_id.l10n_br_cnpj |
✅ |
SPED, NF-e, NFS-e, Siscomex, REINF |
| 2 |
l10n_br_razao_social |
Char (computed) |
Razão social — sincronizado com partner_id.l10n_br_razao_social |
✅ |
NF-e (emitente) |
| 3 |
l10n_br_ie |
Char (computed) |
Inscrição Estadual — sincronizado com partner_id.l10n_br_ie |
✅* |
SPED ECD (0000/0007), NF-e |
| 4 |
l10n_br_im |
Char (computed) |
Inscrição Municipal — sincronizado com partner_id.l10n_br_im |
Para ISS |
SPED ECD (0000), NFS-e |
| 5 |
l10n_br_nire |
Char (computed) |
NIRE (Número de Identificação no Registro de Empresas) |
— |
SPED ECD (I030 — Termo de Abertura) |
| 6 |
l10n_br_cnae |
Char |
CNAE (Código Nacional de Atividade Econômica) |
✅ |
SPED Fiscal/Contribuição |
| 7 |
l10n_br_data_abertura |
Date |
Data de abertura/arquivamento da empresa |
— |
SPED ECD (I030 — DT_ARQ) |
| 8 |
l10n_br_indicador_ie |
Selection |
Indicador da IE do emitente |
✅ |
Motor de operação fiscal, NF-e, SPED |
| 9 |
l10n_br_handle |
Char |
Handle (identificador) no sistema do integrador fiscal |
— |
Upload de certificado, integração DF-e |
Valores do Indicador IE
| Valor |
Descrição |
1 |
Contribuinte ICMS |
2 |
Contribuinte isento de Inscrição no cadastro do ICMS |
9 |
Não Contribuinte |
Endereço
| Campo |
Tipo |
Descrição |
Usado em |
l10n_br_endereco_numero |
Char (computed) |
Número do endereço |
NF-e (enderEmit.nro) |
l10n_br_endereco_bairro |
Char (computed) |
Bairro |
NF-e (enderEmit.xBairro) |
l10n_br_municipio_id |
Many2one → l10n_br_ciel_it_account.res.municipio |
Município — tabela IBGE com código oficial |
SPED ECD (0000 COD_MUN), NF-e |
l10n_br_consultar_cep |
Boolean |
Habilitar consulta automática de CEP via lib brazilcep |
Wizard endereço |
l10n_br_consultar_cnpj |
Boolean |
Habilitar consulta automática de CNPJ via API |
Wizard parceiro |
Seção 2 — Regime Tributário e Apuração
Parâmetros que definem o enquadramento fiscal da empresa e impactam diretamente o cálculo de todos os impostos.
| # |
Campo |
Tipo |
Valores |
Default |
Impacto direto |
| 1 |
l10n_br_regime_tributario |
Selection |
1=SN, 2=SN excesso, 3=Normal, 4=MEI |
— |
Define as CSTs ICMS disponíveis (101–900 para SN, 00–90 para Normal), altera base de PIS/COFINS, IPI, DIFAL |
| 2 |
l10n_br_regime_apuracao |
Selection |
caixa, competencia |
competencia |
Define regime de apuração para relatórios fiscais |
| 3 |
l10n_br_incidencia_cumulativa |
Selection |
1=Lucro Real, 2=Lucro Presumido |
— |
Determina se PIS/COFINS são cumulativos ou não-cumulativos |
| 4 |
l10n_br_cod_inc_trib |
Selection |
1=Não-cumulativo, 2=Cumulativo, 3=Ambos |
1 |
SPED Contribuição — código indicador da incidência tributária no período |
| 5 |
l10n_br_ind_apro_cred |
Selection |
1=Apropriação Direta, 2=Rateio Proporcional |
2 |
SPED Contribuição — método de apropriação de créditos comuns |
| 6 |
l10n_br_ind_perfil |
Selection |
A, B, C |
A |
SPED Fiscal — indicador de perfil de apresentação (nível de detalhe dos registros) |
| 7 |
l10n_br_ind_tp_leiaute_k010 |
Selection |
0=Simplificado, 1=Completo, 2=Saldos |
1 |
SPED Fiscal — tipo de leiaute do Bloco K (controle de produção e estoque) |
| 8 |
l10n_br_regime_especial_tributacao |
Selection |
0=Nenhum, 1=ME Municipal, 2=Estimativa, 3=Sociedade Profissional, 4=Cooperativa, 5=MEI, 6=EPP |
Dinâmico |
NFS-e — Regime Especial de Tributação do município |
| 9 |
l10n_br_produtivo |
Boolean |
— |
False |
Estabelecimento produtivo? — se True, créditos de IPI na entrada são permitidos mesmo com NCM sem alíquota |
Valores do Regime Tributário
| Valor |
Descrição |
Impacto no motor de impostos |
1 |
Simples Nacional |
CSTs ICMS: 101, 102, 103, 201, 202, 203, 300, 400, 500, 900. Crédito SN via l10n_br_icms_credito_aliquota |
2 |
Simples Nacional, excesso sublimite de receita bruta |
Similar ao SN, mas pode ter IPI |
3 |
Regime Normal (Lucro Real ou Presumido) |
CSTs ICMS: 00, 10, 20, 30, 40, 41, 50, 51, 60, 70, 90. IPI calculado se produtivo ou NCM com alíquota |
4 |
Simples Nacional — Microempreendedor Individual (MEI) |
Similar ao SN, com limitações |
Seção 3 — Regras de Cálculo de Impostos
Flags booleanos e alíquotas que alteram o comportamento global do motor de cálculo fiscal.
| # |
Campo |
Tipo |
Default |
Descrição |
Impacto |
| 1 |
l10n_br_exclui_icms_piscofins |
Boolean |
True |
Exclui ICMS da base de PIS/COFINS — "Tese do Século" (RE 574.706/PR) |
Base PIS/COFINS = total - ICMS |
| 2 |
l10n_br_exclui_difal_piscofins |
Boolean |
True |
Exclui DIFAL da base de PIS/COFINS |
Base PIS/COFINS -= DIFAL |
| 3 |
l10n_br_exclui_frete_ipi |
Boolean |
False |
Exclui frete, seguro e despesas acessórias da base do IPI |
Base IPI -= frete+seguro+desp |
| 4 |
l10n_br_fcp_interno_consumidor_final |
Boolean |
False |
Operação INTERNA incide % FCP para consumidor final |
Aplica FCP em op. internas (normalmente só interestadual) |
| 5 |
l10n_br_icms_credito_aliquota |
Float |
0.0 |
Alíquota de crédito ICMS para empresas do Simples Nacional |
Valor destacado na NF-e para crédito do destinatário |
| 6 |
l10n_br_somar_icms_nf_importacao |
Boolean |
True |
Somar ICMS da NF de importação ao custo do produto |
Custo de entrada inclui ICMS quando True |
| 7 |
l10n_br_regra_operacao |
Selection |
v2 |
Versão da regra de ordenação na determinação da operação fiscal |
v1=prioriza critérios fiscais, v2=prioriza especificidade (parceiro/produto) |
Todos estes parâmetros são usados no método _do_calculate_l10n_br_impostos() que roda em sale_order.py, purchase.py e account.py. Veja Operações Fiscais para detalhes do motor de determinação.
Seção 4 — Parâmetros de Comportamento da Interface
Configurações de UI e workflow que alteram o comportamento do sistema.
| # |
Campo |
Tipo |
Default |
Descrição |
Onde configurar |
| 1 |
l10n_br_split_service_invoice |
Boolean |
False |
Separar faturas: serviços, produtos, garantia e nota de débito em faturas distintas |
Definições → Empresa |
| 2 |
l10n_br_show_tax_price |
Boolean |
True |
Mostrar valor monetário nas tags de impostos (ex: "ICMS 12% (R$ 120,00)") |
Definições → Empresa |
| 3 |
l10n_br_force_fiscal_position |
Boolean |
False |
Aplicar Posição Fiscal aos itens ao postar fatura — recalcula impostos conforme FP |
Definições → Empresa |
| 4 |
l10n_br_force_fiscal_position_all |
Boolean |
False |
Aplicar FP em TUDO ao postar fatura (mais abrangente que o anterior) |
Definições → Empresa |
| 5 |
l10n_br_show_infofisco_nfse |
Boolean |
True |
Mostrar campo "Informações Fiscais" no envio da NFS-e |
Definições → Empresa |
| 6 |
l10n_br_show_infocomplementar_nfse |
Boolean |
True |
Mostrar campo "Informações Complementares" no envio da NFS-e |
Definições → Empresa |
| 7 |
l10n_br_agrupar_journal_item |
Boolean |
False |
Agrupar itens de diário contábil — consolida linhas de impostos |
Definições → Empresa |
Configurações de edição de linhas
| Campo |
Tipo |
Default |
Efeito |
edit_sale_order_line_form |
Boolean (config_parameter) |
False |
Editar linhas do Pedido de Venda em formulário expandido (vs. inline na tree) |
edit_purchase_order_line_form |
Boolean (config_parameter) |
False |
Editar linhas do Pedido de Compra em formulário expandido |
edit_invoice_line_form |
Boolean (config_parameter) |
False |
Editar linhas da Fatura em formulário expandido |
Estes parâmetros alteram a prioridade das views via sudo().write({'priority': 99}) — a view com maior prioridade é renderizada preferencialmente.
Seção 5 — AUTXML (Parceiros Autorizados a Obter XML)
Finalidade
Define quais CNPJs estão autorizados a fazer download do XML da NF-e diretamente da SEFAZ, sem necessidade do certificado digital do emitente. Típico de contabilidades, escritórios fiscais, hubs de distribuição e consultorias de compliance.
Campo
| Campo |
Tipo |
Descrição |
l10n_br_partner_aut_ids |
Many2many → res.partner |
Empresas autorizadas a obter XML |
Onde configurar
Definições → Empresa → Empresas autorizadas a obter XML
Como funciona na NF-e
O campo é utilizado na geração do TX2 (formato de transmissão da NF-e). Para cada parceiro autorizado, o sistema adiciona um bloco AUTXML:
for partner_aut_id in invoice.company_id.l10n_br_partner_aut_ids:
nfetx2 += "%0AINCLUIRPARTE%3DAUTXML"
nfetx2 += "%0A" + 'CNPJ_GA02' + "%3D" + _format_cnpj_cpf(partner_aut_id.l10n_br_cnpj)
nfetx2 += "%0ASALVARPARTE%3DAUTXML"
Referência: account.py, linhas 3819–3822
No XML da NF-e gerada
<autXML>
<CNPJ>12345678000190</CNPJ>
</autXML>
Impacto
- Se o campo estiver vazio: nenhum bloco
autXML é incluído na NF-e
- Se preenchido: cada parceiro gera um bloco
autXML no XML
- O parceiro deve ter o campo
l10n_br_cnpj preenchido — se vazio, será gravado string vazia e a SEFAZ pode rejeitar
- Limite: A SEFAZ permite até 10 blocos
autXML por NF-e
Seção 6 — GNRE (Guia Nacional de Recolhimento)
| Campo |
Tipo |
Default |
Descrição |
l10n_br_gnre_dias_vencimento |
Integer |
1 |
Dias para vencimento da GNRE a partir da emissão da NF-e |
Seção 7 — Parceiro Padrão e NFC-e
| Campo |
Tipo |
Descrição |
partner_nfce_id |
Many2one → res.partner |
Cliente "Não Informado" padrão para NFC-e (venda para consumidor sem identificação) |
l10n_br_token_pagamento |
Char |
Token de pagamento — usado na integração com gateways de pagamento |
l10n_br_contador_partner_id |
Many2one → res.partner |
Contador — parceiro responsável, usado no SPED ECD (J930) como signatário da escrituração |
Seção 8 — IBPT (Impostos Aproximados — Lei da Transparência)
Configuração para cálculo do valor aproximado de tributos conforme Lei 12.741/2012.
| # |
Campo |
Tipo |
Default |
Descrição |
| 1 |
l10n_br_ibpt_versao |
Selection |
25.1.B |
Versão da tabela IBPT utilizada — deve coincidir com o arquivo CSV em static/ibpt/ |
| 2 |
l10n_br_ibpt_aliquota_estadual |
Float |
0.0 |
Alíquota estadual padrão (fallback quando NCM não encontrado na tabela) |
| 3 |
l10n_br_ibpt_aliquota_nacional |
Float |
0.0 |
Alíquota nacional/federal para produtos nacionais |
| 4 |
l10n_br_ibpt_aliquota_importado |
Float |
0.0 |
Alíquota federal para produtos importados |
| 5 |
l10n_br_ibpt_aliquota_servico |
Float |
0.0 |
Alíquota para serviços (bypass da tabela CSV) |
Versões disponíveis
| Versão |
Período |
25.1.B |
1º semestre 2025 |
25.1.C |
1º semestre 2025 (correção) |
25.2.A |
2º semestre 2025 |
26.1.E |
1º semestre 2026 |
26.1.G |
1º semestre 2026 (correção) |
Cálculo IBPT — _get_ibpt()
def _get_ibpt(self, ncm, l10n_br_origem, valor, servico=False):
# 1. Serviço? → usa alíquota fixa de serviço
if servico:
return valor * (aliquota_servico / 100)
# 2. Busca CSV: TabelaIBPTax{UF}{versão}.csv
# Match por NCM, soma estadual + (nacional ou importado)
arquivo = 'TabelaIBPTax' + UF + versão + '.csv'
if encontrou_ncm_no_csv:
aliquota = estadual + (nacional se nacional, senão importado)
return valor * (aliquota / 100)
# 3. Fallback: alíquotas genéricas da empresa
if origem_importada: # origens 1, 2, 3, 8
return valor * ((estadual + importado) / 100)
else:
return valor * ((estadual + nacional) / 100)
Seção 9 — SPED (Registros Habilitados)
Três campos M2M controlam quais registros cada obrigação acessória gera:
| Campo |
Tipo |
Descrição |
l10n_br_sped_fiscal_registros |
M2M → l10n_br_ciel_it.sped.registro |
Registros habilitados no SPED Fiscal (EFD ICMS/IPI) |
l10n_br_sped_contribuicao_registros |
M2M → l10n_br_ciel_it.sped.registro |
Registros habilitados no SPED Contribuição (EFD PIS/COFINS) |
l10n_br_sped_ecd_registros |
M2M → l10n_br_ciel_it.sped.registro |
Registros habilitados no SPED ECD (Contábil) |
Como funciona: O método _registro_em_uso('XXXX') verifica se o registro está na lista antes de processá-lo. Se não estiver, o registro é silenciosamente ignorado. Veja ECD — Visão Geral.
Seção 10 — Contas Contábeis dos Impostos
O sistema mapeia contas contábeis para cada imposto em até quatro funções: Recolher (débito de saída), Recuperar (crédito de entrada), Venda (redutora de receita) e Devolução. Estas contas são usadas pelo método generate_all_taxes() para configurar as repartition_line_ids dos impostos.
ICMS
| Campo |
Função |
Usado em generate_all_taxes |
account_icms_recolher_id |
ICMS a Recolher |
Invoice repartition: tax +100% |
account_icms_recuperar_id |
ICMS a Recuperar |
Refund repartition: tax +100% |
account_icms_venda_id |
(-) ICMS s/ Vendas |
Invoice repartition: tax -100% |
account_icms_devolucao_id |
ICMS s/ Devolução |
Refund repartition: tax -100% |
ICMS DIFAL e FCP
| Campo |
Função |
account_icmsdifal_recolher_id |
ICMS DIFAL a Recolher |
account_icmsdifal_recuperar_id |
ICMS DIFAL a Recuperar |
account_icmsdifal_venda_id |
(-) ICMS DIFAL s/ Vendas |
account_icmsdifal_devolucao_id |
ICMS DIFAL s/ Devolução |
O FCP usa as mesmas contas do ICMS DIFAL (account_icmsdifal_*).
ICMS ST
| Campo |
Função |
account_icmsst_recolher_id |
ICMS ST a Recolher |
account_icmsst_recuperar_id |
ICMS ST a Recuperar |
PIS
| Campo |
Função |
account_pis_recolher_id |
PIS a Recolher |
account_pis_retido_recolher_id |
PIS Retido a Recolher |
account_pis_recuperar_id |
PIS a Recuperar |
account_pis_retido_recuperar_id |
PIS Retido a Recuperar |
account_pis_venda_id |
(-) PIS s/ Vendas |
account_pis_devolucao_id |
PIS s/ Devolução |
COFINS
| Campo |
Função |
account_cofins_recolher_id |
COFINS a Recolher |
account_cofins_retido_recolher_id |
COFINS Retido a Recolher |
account_cofins_recuperar_id |
COFINS a Recuperar |
account_cofins_retido_recuperar_id |
COFINS Retido a Recuperar |
account_cofins_venda_id |
(-) COFINS s/ Vendas |
account_cofins_devolucao_id |
COFINS s/ Devolução |
IPI
| Campo |
Função |
account_ipi_recolher_id |
IPI a Recolher |
account_ipi_recuperar_id |
IPI a Recuperar |
ISS
| Campo |
Função |
account_iss_recolher_id |
ISS a Recolher |
account_iss_retido_recolher_id |
ISS Retido a Recolher |
account_iss_recuperar_id |
ISS a Recuperar |
account_iss_retido_recuperar_id |
ISS Retido a Recuperar |
account_iss_venda_id |
(-) ISS s/ Vendas |
INSS
| Campo |
Função |
account_inss_recolher_id |
INSS a Recolher |
account_inss_retido_recolher_id |
INSS Retido a Recolher |
account_inss_recuperar_id |
INSS a Recuperar |
account_inss_retido_recuperar_id |
INSS Retido a Recuperar |
IRPJ
| Campo |
Função |
account_irpj_recolher_id |
IRPJ a Recolher |
account_irpj_retido_recolher_id |
IRPJ Retido a Recolher |
account_irpj_recuperar_id |
IRPJ a Recuperar |
account_irpj_retido_recuperar_id |
IRPJ Retido a Recuperar |
CSLL
| Campo |
Função |
account_csll_recolher_id |
CSLL a Recolher |
account_csll_retido_recolher_id |
CSLL Retido a Recolher |
account_csll_recuperar_id |
CSLL a Recuperar |
account_csll_retido_recuperar_id |
CSLL Retido a Recuperar |
Seção 11 — Contas Contábeis por Tipo de Produto
O sistema permite mapear contas contábeis distintas conforme o tipo do produto, facilitando a contabilização automática de estoque, receita e custo.
Estoque
| Tipo |
Campo |
Descrição |
| Produto Acabado |
account_estoque_acabado_id |
Estoque de Venda (produto pronto) |
| Revenda |
account_estoque_revenda_id |
Estoque de Revenda (mercadoria comprada para revenda) |
| Serviço |
account_estoque_servico_id |
Estoque de Serviço (WIP de serviços) |
| Semi-acabado |
account_estoque_semiacabado_id |
Estoque de Semi-acabado |
| Matéria-prima |
account_estoque_materiaprima_id |
Estoque de Matéria-prima |
| Consumível |
account_estoque_consumivel_id |
Estoque de Consumível |
| Ativo Fixo |
account_estoque_ativo_id |
Estoque de Ativo Fixo (imobilizado em trânsito) |
Receita
| Tipo |
Campo |
| Produto Acabado |
account_receita_acabado_id |
| Revenda |
account_receita_revenda_id |
| Serviço |
account_receita_servico_id |
| Semi-acabado |
account_receita_semiacabado_id |
| Matéria-prima |
account_receita_materiaprima_id |
| Consumível |
account_receita_consumivel_id |
| Ativo Fixo |
account_receita_ativo_id |
Despesa / Custo
| Tipo |
Campo |
| Produto Acabado |
account_despesa_acabado_id |
| Revenda |
account_despesa_revenda_id |
| Serviço |
account_despesa_servico_id |
| Semi-acabado |
account_despesa_semiacabado_id |
| Matéria-prima |
account_despesa_materiaprima_id |
| Consumível |
account_despesa_consumivel_id |
| Ativo Fixo |
account_despesa_ativo_id |
| Geral (fallback) |
account_despesa_geral_id |
Contas especiais
| Campo |
Descrição |
account_recebimento_fisicofiscal_id |
Recebimento Físico-Fiscal — usado em operações de industrialização |
account_producao_id |
Produto em Elaboração — WIP de produção |
Seção 12 — Bonificação e Demonstração
Configuração específica para operações de remessa sem financeiro.
Bonificação
| Campo |
Tipo |
Descrição |
bonificacao |
Boolean |
Habilita funcionalidade de remessa por bonificação |
bonificacao_account_id |
Many2one → account.account |
Conta de despesas para bonificação |
bonificacao_operacao_id |
Many2one → l10n_br_ciel_it_account.operacao |
Operação fiscal para bonificação |
bonificacao_journal_id |
Many2one → account.journal |
Diário contábil para bonificação |
bonificacao_posicao_fiscal_id |
Many2one → account.fiscal.position |
Posição fiscal para bonificação |
Demonstração
| Campo |
Tipo |
Descrição |
demonstracao |
Boolean |
Habilita funcionalidade de remessa por demonstração |
demonstracao_account_id |
Many2one → account.account |
Conta de despesas para demonstração |
demonstracao_operacao_id |
Many2one → l10n_br_ciel_it_account.operacao |
Operação fiscal para demonstração |
demonstracao_journal_id |
Many2one → account.journal |
Diário contábil para demonstração |
demonstracao_posicao_fiscal_id |
Many2one → account.fiscal.position |
Posição fiscal para demonstração |
Seção 13 — Siscomex (Comércio Exterior / DUIMP)
| # |
Campo |
Tipo |
Default |
Descrição |
| 1 |
l10n_br_siscomex_env |
Selection |
val |
Ambiente: val=Validação, prod=Produção |
| 2 |
l10n_br_siscomex_role_type |
Selection |
IMPEXP |
Perfil: IMPEXP=Importador/Exportador, DEPOSIT=Depositário, OPERADOR=Op. Portuário |
| 3 |
l10n_br_siscomex_auth_type |
Selection |
access_key |
Tipo de autenticação: access_key ou certificate (cert. A1) |
| 4 |
l10n_br_siscomex_access_key_id |
Char |
— |
Client-Id da chave de acesso (sensível: groups='base.group_system') |
| 5 |
l10n_br_siscomex_access_key_secret |
Char |
— |
Client-Secret da chave de acesso (sensível) |
| 6 |
l10n_br_siscomex_certificate_pfx |
Binary |
— |
Certificado digital A1 (.pfx) para mTLS |
| 7 |
l10n_br_siscomex_certificate_password |
Char |
— |
Senha do certificado digital |
| 8 |
l10n_br_siscomex_csrf_token |
Char |
— |
Token CSRF (gerenciado automaticamente pelo sistema) |
| 9 |
l10n_br_siscomex_auth_token |
Char |
— |
Token de autenticação (gerenciado automaticamente) |
| 10 |
l10n_br_siscomex_csrf_expiration |
Char |
— |
Expiração do CSRF (gerenciado automaticamente) |
Seção 14 — REINF
| Campo |
Tipo |
Descrição |
l10n_br_reinf_url |
Char |
URL base do serviço de envio do REINF |
Seção 15 — Certificado Digital
- Wizard:
L10nBrCertificadoWizard (TransientModel) — linha 78 do res_company.py
- Permite upload de certificado A1 no formato
.pfx
- Utilizado para assinatura de NF-e/NFS-e e autenticação mTLS no Siscomex
- Campos:
certificado (Binary), senha (Char), token (Char)
- O wizard envia o certificado para dois integradores: o integrador principal (via
/certificados) e o integrador secundário (via API REST PUT)
Seção 16 — Método generate_all_taxes()
Método critico que gera automaticamente todos os impostos brasileiros como registros account.tax no Odoo, com as repartition lines corretas.
Como funciona
- Cria uma fatura temporária de teste (
out_invoice)
- Itera sobre 30+ tipos de imposto brasileiros
- Para cada tipo, busca ou cria
account.tax com nome {IMPOSTO}[*]
- Configura as
repartition_line_ids vinculando às contas contábeis da empresa
- Respeita hierarquia de empresas (busca na empresa atual → empresa pai)
- Busca por tipo de pedido e por genérico em cascata
Impostos gerados
| Grupo |
Impostos |
| ICMS |
ICMS, ICMS ISENTO, ICMS OUTROS, ICMS DIFAL, FCP, ICMS DESONERADO |
| ICMS ST |
ICMS ST, ICMS ST OUTROS, ICMS ST PROPRIO, ICMS ST SUB, ICMS ST SUB OUTROS, ICMS ST RET, ICMS ST RET OUTROS, FCP ST |
| IPI |
IPI, IPI ISENTO, IPI OUTROS, IPI OUTROS ENT |
| PIS/COFINS |
PIS, PIS ISENTO, PIS OUTROS, COFINS, COFINS ISENTO, COFINS OUTROS |
| Serviços |
ISS, IRPJ, CSLL |
| Retenções |
CSLL RET, IRPJ RET, INSS RET, ISS RET, PIS RET, COFINS RET |
| Outros |
FRETE, SEGURO, DESPESAS |
Quando usar
- Na implantação inicial da empresa
- Após mudanças na estrutura de contas contábeis
- Executável via botão na configuração da empresa
Restrição
if self != self.env.company:
raise UserError('Você não pode gerar os impostos para outra empresa.')
Seção 17 — Parâmetros de Sistema (ir.config_parameter)
Parâmetros globais (não por empresa) armazenados no ir.config_parameter:
| # |
Chave |
Valores |
Default |
Descrição |
| 1 |
l10n_br_ciel_it_account.validar_cnpj_cpf |
"1" / "0" |
— |
Habilita validação de dígitos do CNPJ/CPF no cadastro de parceiros |
| 2 |
l10n_br_ciel_it_account.validar_cnpj_cpf_duplicado |
"1" / "2" / "0" |
— |
1=Bloquear CNPJ/CPF duplicado, 2=Bloquear CNPJ+IE duplicado, 0=Não validar |
| 3 |
l10n_br_ciel_it_account.consulta_cnpj_cnpja |
"1" / "0" |
— |
Habilita consulta automática de CNPJ via API CNPJá |
| 4 |
l10n_br_ciel_it_account.chave_cnpj_cnpja |
Token |
— |
Chave de autenticação da API CNPJá |
| 5 |
l10n_br_ciel_it_account.calcular_peso |
"1" / "0" |
— |
Calcular peso automaticamente nos pickings (stock.picking) |
Cenários de Uso / Troubleshooting
1. Impossível gerar impostos
- Erro: "Você não pode gerar os impostos para outra empresa"
- Causa: O método
generate_all_taxes() só pode ser executado para a empresa ativa
- Solução: Mudar para a empresa desejada (canto superior direito) antes de executar
2. Tabela IBPT não encontrada
- Causa: Arquivo CSV não existe em
static/ibpt/TabelaIBPTax{UF}{versão}.csv
- Solução: Fazer upload da tabela IBPT compatível com a versão configurada
3. Contas contábeis não mapeadas
- Sintoma: Erros ao postar faturas ou
generate_all_taxes não configura repartition
- Solução: Configurar TODAS as contas na aba "Contas Contábeis" da empresa
4. AUTXML não aparece na NF-e
- Causa:
l10n_br_partner_aut_ids vazio ou parceiro sem CNPJ
- Verificar: Definições → Empresa → "Empresas autorizadas a obter XML"
- Verificar: O parceiro autorizado deve ter
l10n_br_cnpj preenchido
5. Regime tributário incorreto altera CSTs
- Causa:
l10n_br_regime_tributario da empresa mudou de 3 (Normal) para 1 (SN)
- Impacto: Todas as CSTs de ICMS mudam automaticamente (00→101, 10→201, etc.)
- Solução: Confirmar o regime correto e recalcular impostos nos pedidos em aberto
Referências Cruzadas