OdooWiki OCA HUB

Monitor de NF-e

l10n_br_nfe_dfe folder_open OCA/l10n-brazil open_in_new
Uncategorised License: AGPL-3

Monitor de NF-e (Distribuição de DFe)

Este módulo implementa a funcionalidade de monitoramento, download e processamento automático de Notas Fiscais Eletrônicas (NF-e, modelo 55) emitidas contra o CNPJ da sua empresa. Ele opera conectando-se diretamente ao Web Service de Distribuição de DF-e da SEFAZ (Ambiente Nacional).

Este módulo estende o framework abstrato genérico l10n_br_fiscal_dfe e incorpora as necessidades e especificidades exclusivas aplicadas à Nota Fiscal Eletrônica (como Manifestação do Destinatário e os schemas XML da NF-e).

Principais Funcionalidades

  • Consulta Automática (Polling): Tarefa agendada (Cron) que consulta periodicamente o serviço da SEFAZ, garantindo que você tenha acesso rápido a todas as NF-es emitidas contra o seu CNPJ sem precisar solicitar o arquivo ao fornecedor.
  • Processamento Especializado: Identifica e separa os payloads baixados nos seus devidos formatos: XMLs Completos com protocolo (procNFe), Resumos da NF-e (resNFe) e Eventos da Nota Fiscal (resEvento / procEventoNFe).
  • Manifestação do Destinatário (MD-e): Funcionalidade nativa para acusar o recebimento ou rejeição da NF-e perante a SEFAZ:
  • Ciência da Operação: Confirmação prévia para liberar o download do XML completo.
  • Confirmação da Operação.
  • Desconhecimento da Operação.
  • Operação não Realizada.
  • Manifestação Automática: Opção para o Odoo aplicar o evento de "Ciência da Operação" instantânea e automaticamente a todas as novas notas resumidas identificadas, acelerando o recebimento do arquivo completo para importação.
  • Importação Inteligente: Botão de ação que converte instantaneamente o XML válido baixado em um rascunho de Documento Fiscal padrão do Odoo (l10n_br_fiscal.document), pré-populando os impostos, CFOPs, emitentes e destinatários.
  • Geração de DANFE: Geração do documento PDF do DANFE utilizando a biblioteca brazilfiscalreport.
  • Notificações: Notifica os usuários inscritos, diretamente no inbox do Odoo, caso novas NF-es emitidas por terceiros sejam detectadas no servidor da Receita Federal.

Este módulo é implementado em estrita conformidade com a Nota Técnica 2014.002 v1.30.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Automatically downloads incoming NF-e (model 55) invoices issued against your company's CNPJ from the SEFAZ national distribution service, and lets you view, import, print the DANFE and send recipient manifestations from Odoo.

This module connects Odoo to the SEFAZ DF-e distribution web service so that NF-e invoices issued against your company's CNPJ are fetched automatically, without asking suppliers for the XML.

Where it appears: - A new menu "NF-e de Terceiros" (under the DF-e root menu) lists incoming NF-e documents with date, access key, emitter, CNPJ, amount, CFOPs, manifestation status and state. - On each document you get buttons: XML (download), DANFE (generate the PDF), Import (create the fiscal document from the XML), Invoice (open the created document) and Manifest (send a recipient manifestation). - Company settings gain an "NF-e DF-e" page with the DF-e version, auto-fetch and automatic manifestation options, plus last/max NSU, last query date, last status and next scheduled query.

Automatic behaviour: - A scheduled job runs every 5 minutes to query the distribution service for new NF-e documents. - When a summary document arrives and "Automatic Recipient Manifestation" is enabled, a Ciência event is created and confirmed in the background; confirming a Ciência reschedules the next query soon after, so the full XML is retrieved. - The document state is shown with NF-e labels (Autorizada, Denegada, Cancelada) and the CFOPs are read from the complete XML.

It extends the DF-e document, the NF-e manifestation event and company settings, and relies on the generic DF-e framework.

Required by other modules

Menus it adds

NF-e de Terceiros
Models and fields (3)
  • res.company · extends an existing modelnfe_max_nsu (NF-e Max NSU), nfe_last_nsu (NF-e Last NSU), nfe_auto_fetch (Auto-fetch NF-e DF-e), nfe_dfe_version (NF-e DF-e Version), auto_manifest_nfe (Automatic Recipient Manifestation (NF-e)), nfe_dfe_last_query (NF-e DF-e Last Query), nfe_dfe_next_query (NF-e Next Scheduled Query), nfe_dfe_last_status (NF-e DF-e Last Status), nfe_dfe_last_status_code (NF-e DF-e Last Status Code)
  • l10n_br_nfe.md_event · extends an existing modeldfe_document_id (DF-e Document)
  • l10n_br_fiscal_dfe.document · extends an existing modelcfop_ids (CFOPs), manifestations_ids (Manifestations), manifestation_status

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/l10n-brazil.

terminal Installation and usage

OCA documentation · Odoo 18.0

Este módulo requer os seguintes componentes e dependências para funcionar corretamente:

  • Dependências Odoo:
  • l10n_br_fiscal_dfe (O framework de distribuição abstrato da OCA)
  • l10n_br_nfe (O módulo base de emissão e gestão de modelos da NF-e)
  • queue_job (Sempre requerido pelo framework base para agendamentos e chamadas assíncronas)
  • Dependências Python:
  • nfelib: A biblioteca moderna que consolida os bindings e clientes de comunicação para NF-e/CT-e/MDF-e.
  • brazilfiscalreport: Necessária para realizar o parse do XML e desenhar a saída em formato PDF (DANFE).

Para instalar as bibliotecas de sistema Python:

pip install nfelib brazilfiscalreport

Configuração Pré-Requisito Obrigatória

A SEFAZ bloqueia e rejeita as chamadas aos Web Services caso sua empresa não esteja perfeitamente configurada no Odoo. Antes de rodar as consultas:

  • Acesse o cadastro de Empresas e preencha corretamente o Estado (UF) e o CNPJ/CPF (somente numéricos ou formatado).
  • Na aba Fiscal -> Certificados, faça o upload e valide o Certificado Digital A1 com a senha correta. Este certificado será utilizado ativamente pelo módulo para a troca de chaves com o Ambiente Nacional da SEFAZ.

Canal queue_job

O módulo registra os jobs de distribuição DF-e no canal root.dfe. É obrigatório configurar este canal com capacidade máxima de 1 job simultâneo, caso contrário consultas concorrentes à SEFAZ podem causar erro 656 (consumo indevido) e bloqueio temporário do CNPJ.

No arquivo de configuração do Odoo:

[queue_job]
channels = root:2,root.dfe:1

Ou via variável de ambiente:

ODOO_QUEUE_JOB_CHANNELS=root:2,root.dfe:1

Configuração da empresa

Em Faturamento > Configuração > Empresas, na aba Fiscal > DF-e (Configurações DF-e):

  • Versão DF-e: versão do serviço (padrão: 1.01)
  • Ambiente DF-e: Produção ou Homologação
  • Busca automática de DF-e: habilita a consulta automática via cron
  • Manifestação Automática do Destinatário (NF-e): envia ciência da operação automaticamente para cada resumo de NF-e recebido

A empresa precisa ter um certificado digital A1 configurado no módulo l10n_br_fiscal_certificate.

Notificação de documentos (por usuário)

Em Preferências do Usuário, o campo Notificação DF-e habilita o recebimento de notificações na caixa de entrada quando novos documentos de terceiros são encontrados pela distribuição DF-e.

Configuração

Para habilitar a busca e o processamento automático de notas:

  • Acesse Configurações > Usuários e Empresas > Empresas.
  • Abra o cadastro da sua empresa e localize a aba ou seção NF-e DF-e.
  • Marque a opção Auto-fetch NF-e para que o Odoo realize as consultas periódicas de forma agendada em background.
  • Opcionalmente, ative a Manifestação Automática caso queira que o sistema registre o evento de "Ciência da Operação" automaticamente assim que a SEFAZ alertar sobre a existência de uma nota nova. Isso acelera significativamente a liberação do XML completo para download.

Painel de Controle (Dashboard)

Acesse a visão principal navegando por Faturamento > Fiscal > Consultas DF-e > NF-e de Terceiros.

No topo da listagem, o sistema exibe um painel de status em tempo real da sua comunicação com a SEFAZ:

  • Status do Ambiente: Indica se você está operando em Produção ou Homologação.
  • Progresso do NSU: Mostra a numeração em que o seu Odoo está (Último NSU) comparado ao NSU máximo registrado na base da Receita Federal para o seu CNPJ. Quando os números se igualam, a tag verde "Sincronizado" é exibida.
  • Importações Pendentes: Um contador de alerta que mostra quantas notas completas já foram baixadas em XML, mas ainda não foram efetivamente importadas como Documentos Fiscais no Odoo.

Fluxo de Trabalho e Ações Disponíveis

Ao clicar em um documento na listagem, você poderá identificar a sua situação através das cores (Azul para Resumo, Verde para XML Completo). O fluxo padrão permite as seguintes ações:

  • Manifestar: Botão que abre o assistente para você enviar oficialmente um evento à SEFAZ (Ciência, Confirmação, Desconhecimento ou Operação Não Realizada). Lembre-se: por regras da SEFAZ, o XML completo com validade jurídica (procNFe) só é liberado para download após uma manifestação de Ciência ou Confirmação.
  • Importar como Documento Fiscal: Disponível apenas quando o XML completo já foi baixado. Este botão converte o XML imediatamente em um registro de l10n_br_fiscal.document, preenchendo automaticamente os fornecedores, CFOPs e valores para uso nos módulos de compras e estoque.
  • Download PDF: Utiliza os dados do XML para gerar e baixar o arquivo PDF do DANFE.
  • Pesquisa Específica: No painel superior das listagens, você encontra o assistente de busca específica. Ele permite pular o sequencial de NSU e forçar a requisição pontual de uma NF-e utilizando apenas a sua Chave de Acesso (44 dígitos), ideal para notas de recebimento urgente.
info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.