Pular para conteúdo

ECD — Diagnóstico Operacional

Erros Bloqueantes (RedirectWarning)

1. "Contas sem conta referencial"

Atributo Detalhe
Tipo RedirectWarning
Método enviar_registro_I050()
Condição Conta com saldo/movimentação, sem l10n_br_conta_referencial, e l10n_br_cod_nat ∉ ['05', '09']
Botão "IR PARA CONTAS"
Registro afetado I050/I051
Impacto Bloqueia TODA a geração

Causa funcional: A RFB exige que contas de Ativo (01), Passivo (02), PL (03) e Resultado (04) possuam vinculação ao plano referencial. Contas de Compensação (05) e Outras (09) são dispensadas.

Como corrigir: 1. Acessar Contabilidade → Plano de Contas 2. Filtrar contas sem Conta Referencial 3. Preencher o campo Conta Referencial com o código do plano referencial RFB 4. Alternativa: Se a conta não deveria gerar SPED, configurar l10n_br_cod_nat = '05' ou '09'


2. "Contas sem Grupo Sintético"

Atributo Detalhe
Tipo RedirectWarning
Método enviar_registro_I155() e enviar_registro_I200()
Condição Conta com saldo/lançamento no período, sem group_id
Botão "IR PARA CONTAS"
Registro afetado I155, I200
Impacto Bloqueia TODA a geração

Causa funcional: A ECD exige estrutura hierárquica — toda conta analítica deve pertencer a um grupo sintético.

Como corrigir: 1. Acessar Contabilidade → Plano de Contas 2. Abrir as contas indicadas 3. Atribuir um Grupo (group_id) 4. Alternativa: Arquivar a conta se não deveria ter movimentação


3. "Informar o contador da empresa"

Atributo Detalhe
Tipo RedirectWarning
Método enviar_registro_J930()
Condição company.l10n_br_contador_partner_id vazio
Botão "IR PARA EMPRESA"
Registro afetado J930
Impacto Bloqueia TODA a geração

Como corrigir: 1. Acessar Configurações → Empresa (ou seguir o link do botão) 2. Aba Localização BR 3. Preencher o campo Contador com o contato do contador responsável 4. Verificar se o contato possui: nome, CPF, CRC


Diagnóstico por Registro

Por que o I050 não gerou uma conta?

Motivo possível Como verificar Solução
Conta sem saldo e sem movimentação account.move.line → filtrar pela conta no período Correto — conta sem uso não entra
Conta de outra empresa Verificar company_id da conta Verificar empresa selecionada
Movimentações não postadas account.move → verificar state Postar os lançamentos
Registro I050 desabilitado Empresa → Registros SPED ECD Habilitar I050

Por que o I155 não trouxe saldo?

Motivo Verificação Solução
Conta zerada no mês Saldo = 0 e movimentos = 0 no mês específico Correto — conta ignorada
Lançamentos em rascunho move.state ≠ 'posted' Postar lançamentos
Período incorreto date_ini e date_fim não cobrem o período Ajustar datas no wizard
Encerramento inverteu saldo Lançamento de encerramento zerou a conta Verificar se encerramento foi correto

Por que o I200/I250 não trouxe determinado lançamento?

Motivo Verificação Solução
Lançamento não postado move.state deve ser 'posted' Postar o lançamento
Data fora do período move.date fora de [date_ini, date_fim] Verificar data ou ajustar período
Valor total = 0 sum(line_ids.debit) == 0 Lançamento cancelado ou zerado
Linhas com debit=0 AND credit=0 Linhas zeradas são ignoradas Correto
Outra empresa move.company_id diferente Verificar empresa

Por que o J100/J150 não trouxe determinado grupo?

Motivo Verificação Solução
l10n_br_cod_nat do grupo ≠ 01/02/03 (J100) ou ≠ 04 (J150) Verificar campo no grupo Atribuir natureza correta
Saldo inicial = 0 E saldo final = 0 Grupo sem movimentação Correto
Grupo de outra empresa company_id do grupo Verificar empresa

Por que um campo da empresa saiu vazio?

Campo Registro O que verificar
CNPJ vazio 0000, I030 Empresa → CNPJ
UF vazia 0000, 0007 Empresa → Estado
IE vazia 0000, 0007 Empresa → Inscrição Estadual
Município vazio 0000 Empresa → Município (com código IBGE)
NIRE vazio I030 Empresa → NIRE (opcional)
DT_ARQ vazio I030 Empresa → Data de Abertura
CRC vazio J930 Contador → campo CRC

Diagnóstico de Saldos

A ECD não bate com o balancete

Item a verificar Como verificar
Lançamentos não postados Contabilidade → Lançamentos → filtrar por state = 'draft' no período
Período divergente Comparar date_ini/date_fim da ECD com o período do balancete
Encerramento incluído/excluído I355 exclui encerramentos, I155 inclui todos — comparar separadamente
Contas arquivadas Contas inativas podem ter sido excluídas
Movimentos de outras empresas Verificar company_id em todos os filtros

Problema de natureza de conta

Sintoma Causa Solução
Conta de resultado não aparece no I355 l10n_br_cod_nat ≠ '04' Atribuir natureza 04 na conta
Conta aparece no I355 mas não deveria l10n_br_cod_nat = '04' indevido Corrigir natureza

Problema de grupo pai

Sintoma Causa Solução
COD_CTA_SUP vazio no I050 Grupo sem parent_id (é raiz) Correto para grupos raiz
Estrutura de nível incorreta Hierarquia de parent_id errada Reorganizar grupos

Problema em contas de resultado

Sintoma Causa Solução
I355 com valores após encerramento Lançamentos de encerramento sem flag is_encerramento Verificar módulo de encerramento
I355 vazio Nenhuma conta com cod_nat = '04' Atribuir natureza de resultado
I355 inclui encerramentos is_encerramento não marcado Refazer encerramento pelo módulo

Checklist Pré-Geração

Empresa

  • CNPJ preenchido
  • Estado (UF) configurado
  • Inscrição Estadual preenchida
  • Município com código IBGE
  • Data de Abertura preenchida
  • Contador configurado (nome, CPF, CRC)
  • Registros SPED ECD habilitados

Plano de Contas

  • Todas as contas com saldo possuem group_id
  • Contas com natureza ≠ 05/09 possuem l10n_br_conta_referencial
  • l10n_br_cod_nat preenchido em contas e grupos relevantes
  • Hierarquia de grupos (parent_id) correta e contínua

Lançamentos

  • Todos os lançamentos do período estão postados
  • Encerramento contábil realizado (se aplicável)
  • Sem lançamentos com valor total zero (são ignorados automaticamente)

Parâmetros do Wizard

  • Plano Referencial corresponde ao regime tributário
  • Indicador de Escrituração = G (mais comum)
  • Versão do Leiaute = 9.00 (verificar versão atual RFB)
  • Período: 01/Jan a 31/Dez do ano fiscal

Pontos Conhecidos que Requerem Atenção

J150 — DRE com filtro corrigido

Resolvido no commit 42d3a28f: O registro J150 (DRE) agora filtra corretamente por l10n_br_cod_nat in ['04'] (contas de resultado), diferente do J100 que filtra por ['01','02','03'] (Ativo/Passivo/PL).

9999 — Contagem de linhas hardcoded

O registro 9999 grava QTD_LIN = 12 (valor fixo no código). O PVA recalcula automaticamente, então não causa rejeição, mas pode gerar warning na validação.


Referências