Metadata-Version: 2.1
Name: odoo-addon-l10n_br_nfe_dfe
Version: 16.0.2.0.0
Requires-Python: >=3.10
Requires-Dist: brazil_fiscal_client
Requires-Dist: brazilfiscalreport
Requires-Dist: nfelib
Requires-Dist: odoo-addon-l10n_br_fiscal_dfe>=16.0dev,<16.1dev
Requires-Dist: odoo-addon-l10n_br_nfe>=16.0dev,<16.1dev
Requires-Dist: odoo>=16.0a,<16.1dev
Summary: Monitor incoming NF-e documents via the DF-e distribution web service (NFeDistribuicaoDFe).
Home-page: https://github.com/OCA/l10n-brazil
License: AGPL-3
Author: Engenere, KMEE, Akretion, Odoo Community Association (OCA)
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 16.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Description-Content-Type: text/x-rst

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

===============
Monitor de NF-e
===============

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:8cc0bed35960bd26929dad8e0fb2196b3cf7baa6db3f8c9d1f5553f69f1454b0
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--brazil-lightgray.png?logo=github
    :target: https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_nfe_dfe
    :alt: OCA/l10n-brazil
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/l10n-brazil-16-0/l10n-brazil-16-0-l10n_br_nfe_dfe
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-brazil&target_branch=16.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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 <https://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=P0U3lU1Fe40=>`__.

**Table of contents**

.. contents::
   :local:

Installation
============

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

1. **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)

2. **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:

.. code:: bash

   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:

1. Acesse o cadastro de **Empresas** e preencha corretamente o Estado
   (UF) e o **CNPJ/CPF** (somente numéricos ou formatado).
2. 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.

Configuration
=============

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:

.. code:: ini

   [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.

Usage
=====

Configuração
------------

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

1. Acesse **Configurações > Usuários e Empresas > Empresas**.
2. Abra o cadastro da sua empresa e localize a aba ou seção **NF-e
   DF-e**.
3. Marque a opção **Auto-fetch NF-e** para que o Odoo realize as
   consultas periódicas de forma agendada em background.
4. 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:

1. **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.
2. **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.
3. **Download PDF:** Utiliza os dados do XML para gerar e baixar o
   arquivo PDF do DANFE.
4. **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.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-brazil/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-brazil/issues/new?body=module:%20l10n_br_nfe_dfe%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Engenere
* KMEE
* Akretion

Contributors
------------

- `Engenere <https://engenere.one>`__:

  - Felipe Motter <felipe@engenere.one>
  - Antônio Neto <neto@engenere.one>
  - Cristiano Mafra Junior

- `KMEE <https://www.kmee.com.br>`__:

  - Luis Felipe Miléo <mileo@kmee.com.br>
  - Gabriel Cardoso <gabriel.cardoso@kmee.com.br>
  - Felipe Zago <felipe.zago@kmee.com.br>

- `AKRETION <https://akretion.com/pt-BR/>`__:

  - Raphaël Valyi <raphael.valyi@akretion.com.br>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-felipemotter| image:: https://github.com/felipemotter.png?size=40px
    :target: https://github.com/felipemotter
    :alt: felipemotter
.. |maintainer-antoniospneto| image:: https://github.com/antoniospneto.png?size=40px
    :target: https://github.com/antoniospneto
    :alt: antoniospneto
.. |maintainer-rvalyi| image:: https://github.com/rvalyi.png?size=40px
    :target: https://github.com/rvalyi
    :alt: rvalyi

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-felipemotter| |maintainer-antoniospneto| |maintainer-rvalyi| 

This module is part of the `OCA/l10n-brazil <https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_nfe_dfe>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
