Pular para conteúdo

EFD ICMS/IPI — SPED Fiscal

Objetivo

Gerar o arquivo digital EFD-ICMS/IPI que substitui os livros fiscais de Registro de Entradas, Registro de Saídas, Apuração do ICMS, Apuração do IPI e Inventário.


Dados do Model

Atributo Valor
Model l10n_br_ciel_it_account.sped.fiscal
Arquivo account_sped_fiscal.py
Método de geração gerar_sped()
Constraint UNIQUE (company_id, date_ini, date_fim) — um registro por período/empresa
Menu Faturamento → Relatórios → Relatórios Apuração Impostos → EFD ICMS IPI

Configuração do Registro

Campo Tipo Descrição Obrigatório
company_id Many2one Empresa
date_ini Date Data inicial do período
date_fim Date Data final do período
e116_icms_dia_vencimento Integer Dia de vencimento ICMS (E116) Default 1
e116_icms_codigo_receita Char Código da receita ICMS (E116)
c197_gerar_apuracao_ajustes_icms Boolean Gerar ajustes ICMS via C197 Default False
x1900_indicador_apuracao Selection Indicador outra apuração ICMS (1900)
h005_dt_inv Date Data do inventário (H005)

Models Auxiliares

Model Finalidade Relação
sped.fiscal.uf.difal.fcp Apuração DIFAL/FCP por UF de destino line_difalfcp_ids
sped.fiscal.uf.icmsst Apuração ICMS ST por UF line_icmsst_ids
sped.fiscal.1921 Ajustes do Registro 1921 line_1921_ids
sped.fiscal.e111 Ajustes do Registro E111 line_e111_ids

Estrutura de Blocos

Bloco Finalidade Registros Implementados Documentação
0 Abertura, cadastros, participantes, produtos, contas 0000, 0001, 0002, 0005, 0100, 0150, 0190, 0200, 0300, 0305, 0400, 0450, 0460, 0500, 0600, 0990 bloco-0.md
B ISS (DF) B001, B990 Stub — sem movimento
C Documentos fiscais (NF-e, NFC-e, Energia) C001, C100, C101, C110, C113, C120, C140, C141, C170, C190, C195, C197, C500, C590, C990 bloco-c.md
D Transporte (CT-e) e comunicação D001, D100, D190, D195, D197, D500, D590, D990 bloco-d.md
E Apuração ICMS, ICMS-ST, DIFAL/FCP, IPI E001, E100, E110, E111, E113, E116, E200, E210, E250, E300, E310, E316, E500, E510, E520, E990 bloco-e.md
G CIAP (Ativo imobilizado) G001, G110, G125, G130, G140, G990 bloco-h.md
H Inventário físico H001, H005, H010, H990 bloco-h.md
K Produção e estoque K001, K010, K100, K200, K230, K235, K990 bloco-k.md
1 Informações complementares 1001, 1010, 1105, 1900, 1910, 1920, 1921, 1990 bloco-1.md
9 Encerramento 9001, 9900, 9990 Automático

Fluxo de Geração

flowchart TD
    A["gerar_sped()"] --> B["Inicializa ArquivoDigital()"]
    B --> C["Bloco B (ISS)"]
    C --> D["Bloco C: C100 + subregs"]
    D --> E["Bloco C: C140 + subregs"]
    E --> F["Bloco C: C500 + subregs"]
    F --> G["Bloco D: D100 + D500"]
    G --> H["Bloco E: Apuração"]
    H --> I["Bloco G: CIAP"]
    I --> J["Bloco H: Inventário"]
    J --> K["Bloco K: Produção"]
    K --> L["Bloco 1: Complementares"]
    L --> M["Bloco 0: Cadastros"]
    M --> N["Bloco 9: Encerramento"]
    N --> O["Serializa + salva base64"]

Nota: O Bloco 0 é gerado após os blocos C/D/E/K porque precisa das listas de product_ids, partner_ids e cfop_ids acumuladas durante a geração dos demais blocos.


Campos de Apuração ICMS (E110)

A apuração ICMS é montada automaticamente durante a geração dos blocos C/D via acúmulo nos campos do model. A fórmula é:

Saldo Devedor = (Débitos + Aj.Débitos + Tot.Aj.Débitos + Estornos.Créditos) 
              - (Créditos + Aj.Créditos + Tot.Aj.Créditos + Estornos.Débitos + Saldo.Credor.Anterior)

Se Saldo Devedor > 0 → ICMS a Recolher = Saldo Devedor - Deduções
Se Saldo Devedor < 0 → Saldo Credor a Transportar = |Saldo Devedor|
Campo Origem Tipo
e110_vl_tot_debitos Soma ICMS de saídas (C190/D190 se TIPO_NF = 1) 🧮 Cumulativo
e110_vl_tot_creditos Soma ICMS de entradas (C190/D190 se TIPO_NF = 0) 🧮 Cumulativo
e110_vl_aj_debitos Ajustes de débito via C197 (l10n_br_transf_credito) 🧮
e110_vl_aj_creditos Ajustes de crédito via C197 🧮
e110_vl_sld_credor_ant search(mês anterior).e110_vl_sld_credor_transportar 🧮 Automático
e110_vl_tot_aj_debitos Ajustes manuais de débito ✅ Manual
e110_vl_tot_aj_creditos Ajustes manuais de crédito ✅ Manual
e110_vl_estornos_cred Estornos de crédito ✅ Manual
e110_vl_estornos_deb Estornos de débito ✅ Manual
e110_vl_tot_ded Deduções ✅ Manual
e110_deb_esp Débitos especiais ✅ Manual

Campos de Apuração IPI (E520)

Se Débitos + Outros.Débitos > Créditos.Ant + Créditos + Outros.Créditos
  → Saldo Devedor
Senão
  → Saldo Credor a transportar
Campo Origem
e520_vl_sd_ant_ipi search(mês anterior).e520_vl_sc_ipi
e520_vl_deb_ipi Soma IPI de saídas (E510 com CFOP 5* ou 6*)
e520_vl_cred_ipi Soma IPI de entradas (E510 com CFOP 1* ou 2*)
e520_vl_od_ipi Outros débitos — ✅ Manual
e520_vl_oc_ipi Outros créditos — ✅ Manual

Dependências de Cadastro

Cadastro Dados Usados Blocos Afetados
🏢 Empresa CNPJ, UF, IE, IM, município, razão social, endereço, contador, perfil, regime 0, E, 1
👤 Parceiro CNPJ/CPF, IE, município, endereço, SUFRAMA 0 (0150)
📦 Produto default_code, NCM, barcode, tipo, UoM SEFAZ 0 (0200)
📋 Linha de fatura ICMS, IPI, PIS, COFINS, CFOP, CST, Origem C (C170/C190)
📄 Fatura Chave NF, série, número, valores totais, operação C (C100)
🏦 Conta contábil Código, nome, grupo, nível 0 (0500)
⚙️ CFOP Código, descrição 0 (0400)
⚙️ UoM l10n_br_codigo_sefaz 0 (0190)

Referências