OdooWiki OCA HUB

Monitor de NFS-e

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

Monitor de NFS-e nacional (Distribuição DF-e)

Este módulo baixa as NFS-e nacionais emitidas contra o CNPJ da empresa pela API de distribuição do ADN (Ambiente de Dados Nacional) e as coloca na mesma caixa de entrada do monitor de DF-e.

A NF-e continua no webservice SOAP NFeDistribuicaoDFe. A NFS-e nacional usa um cliente REST com certificado digital (mTLS) e não passa por esse fluxo.

Principais funcionalidades

  • Consulta por NSU em GET /contribuintes/DFe/{NSU}, com paginação do lote.
  • Gravação em l10n_br_fiscal_dfe.document e l10n_br_fiscal_dfe.dfe, com o tipo fiscal nfse.
  • Notas completas e eventos. O cancelamento atualiza a situação do documento já recebido.
  • Importação do XML nacional como documento fiscal de serviço (modelo SE), com uma linha de serviço.
  • Cron e canal queue_job reutilizados pelo motor genérico de DF-e.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Automatically downloads national NFS-e service invoices issued against your company's CNPJ from the ADN distribution API and places them in the same DF-e inbox used for other fiscal documents, where you can import them as service fiscal documents or generate a DANFSE PDF.

This module adds national NFS-e (service invoices) to the existing DF-e monitor. Instead of only receiving NF-e, the company can now also pull the NFS-e issued against its CNPJ from the national ADN environment.

Where it appears in Odoo: - A new "Third-party NFS-e" menu under the DF-e monitor root, listing received NFS-e documents. - New fields on the company form: NFS-e ADN environment (production or restricted production), last/max NSU, last query date and status, next scheduled query, an "Auto-fetch NFS-e" switch and a default service product used when importing. - A scheduled job "DF-e - Search NFS-e Documents" that queries the ADN periodically when auto-fetch is enabled.

What it does automatically: - Queries the ADN in batches by NSU, respecting rate limits and scheduling the next query. - Stores notes and events in the DF-e inbox, marking the fiscal type as NFS-e. - Links each document to an existing partner by CNPJ and flags documents issued by the company itself. - When a cancellation event arrives, it changes the document situation to cancelled, regardless of arrival order. - Logs each query result and notifies users about newly received documents.

On a received NFS-e you can import the XML through the import wizard, which creates a service fiscal document (model SE) with one service line and copies ISS, IBS, CBS, PIS/COFINS and withholding amounts from the XML. You can also generate the DANFSE PDF from the complete XML.

Required by other modules

Menus it adds

Third-party NFS-e
Models and fields (8)
  • res.company · extends an existing modelnfse_max_nsu (NFS-e Max NSU), nfse_last_nsu (NFS-e Last NSU), nfse_auto_fetch (Auto-fetch NFS-e), nfse_dfe_last_query (NFS-e DF-e Last Query), nfse_dfe_next_query (NFS-e Next Scheduled Query), nfse_dfe_environment (NFS-e ADN Environment), nfse_dfe_last_status (NFS-e DF-e Last Status), nfse_import_product_id (Default NFS-e Import Product), nfse_dfe_last_status_code (NFS-e DF-e Last Status Code)
  • l10n_br_fiscal_dfe.dfe · extends an existing modelfiscal_type
  • l10n_br_fiscal.document · extends an existing model
  • dfe.specific.search.wizard · extends an existing modelfiscal_type
  • l10n_br_fiscal_dfe.document · extends an existing modelfiscal_type
  • l10n_br_fiscal.document.line · extends an existing model
  • l10n_br_fiscal_dfe.distribution_log · extends an existing modelfiscal_type
  • l10n_br_fiscal.document.import.wizard · extends an existing modelproduct_id (Service Product)

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

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

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 16.0

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

terminal Installation and usage

OCA documentation · Odoo 18.0

Este módulo depende de:

  • l10n_br_fiscal_dfe
  • l10n_br_nfse
  • l10n_br_fiscal_certificate
  • queue_job (exigido pelo motor de DF-e)

Bibliotecas Python: nfelib (>= 3.2.0) consulta o lote e os eventos no ADN. requests e cryptography continuam na leitura da nota por chave na Sefin Nacional.

A empresa precisa de um certificado e-CNPJ A1 válido, o mesmo já utilizado pela localização fiscal.

Canal queue_job

A distribuição reutiliza o canal root.dfe já registrado por l10n_br_fiscal_dfe. Mantenha a capacidade desse canal em 1 job simultâneo para não disparar o limite de requisições do ADN (HTTP 429).

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

Empresa

Em Faturamento > Configuração > Empresas, aba Fiscal > NFS-e DF-e:

  • Ambiente ADN: Produção ou Produção restrita. O padrão é produção restrita. Este campo não é o ambiente 1/2 da emissão municipal.
  • Busca automática: liga o cron que chama _cron_dfe_search_documents('nfse').
  • Produto padrão de importação: produto de serviço preenchido no assistente quando a NFS-e é importada.
  • Último NSU: cursor da próxima consulta. Pode ser ajustado para reprocessar a partir de um ponto.

O certificado e-CNPJ fica na configuração fiscal já existente.

Caixa de entrada

Acesse Faturamento > Fiscal > Consultas DF-e > Third-party NFS-e.

A listagem mostra as NFS-e em que a empresa é tomadora. O último NSU, a próxima consulta e o ambiente ficam na empresa, na aba Fiscal > NFS-e DF-e.

Em cada documento:

  • XML: baixa o arquivo nacional recebido do ADN.
  • Importar: abre o assistente de importação com o XML completo. O assistente cria um l10n_br_fiscal.document do tipo SE (entrada), com o prestador como emitente e uma linha de serviço. Se o prestador ainda não existe, ele é criado na confirmação a partir do prest da DPS (o emit só completa dados quando o CNPJ é o mesmo). O produto e a operação fiscal podem ser ajustados antes de confirmar. Se l10n_br_account estiver instalado, a confirmação existente do assistente gera a fatura de fornecedor.

A pesquisa específica aceita a chave de acesso de 50 dígitos ou um NSU. A nota é consultada na Sefin Nacional e os eventos no ADN. Não há manifestação do destinatário neste fluxo: a NFS-e nacional já chega com o XML da nota.

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.