Metadata-Version: 2.1
Name: odoo-addon-l10n_br_fiscal_queue
Version: 16.0.1.0.0.5
Requires-Python: >=3.10
Requires-Dist: odoo-addon-l10n_br_fiscal_edi>=16.0dev,<16.1dev
Requires-Dist: odoo-addon-queue_job>=16.0dev,<16.1dev
Requires-Dist: odoo>=16.0a,<16.1dev
Summary: Envio assincrono de documentos fiscais a SEFAZ via queue_job
Home-page: https://github.com/OCA/l10n-brazil
License: AGPL-3
Author: KMEE, 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
Classifier: Development Status :: 4 - Beta
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

============
Fiscal Queue
============

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

.. |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_fiscal_queue
    :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_fiscal_queue
    :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|

Este módulo permite transmitir documentos fiscais eletrônicos (NF-e,
NFC-e, etc.) à SEFAZ de forma assíncrona, através do ``queue_job``.

Sem ele, a transmissão à SEFAZ ocorre na mesma transação da ação do
usuário: a requisição fica bloqueada durante todo o ida e volta com o
webservice da SEFAZ, que pode levar de alguns segundos a mais de um
minuto em picos ou indisponibilidade do órgão. Isso prende um worker
HTTP e degrada a resposta para todos os usuários.

Com este módulo, a operação fiscal pode ser configurada para enfileirar
a transmissão: a ação do usuário retorna imediatamente e o envio à SEFAZ
roda em um worker do ``queue_job``, fora do caminho da requisição.

**Table of contents**

.. contents::
   :local:

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

Este módulo depende de ``l10n_br_fiscal_edi`` (fluxo de emissão de
documentos fiscais na série 16.0) e de ``queue_job``.

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

Em cada operação fiscal (*Fiscal / Configuração / Operações Fiscais*), o
campo **Momento da transmissão** (``queue_document_send``) define o
comportamento de envio dos documentos gerados por aquela operação:

- **Send Immediately** (padrão): transmite à SEFAZ na mesma transação
  (síncrono), preservando o comportamento original.
- **Send Later**: enfileira a transmissão como um ``queue_job``, no
  canal ``root.edocument``.

O ``queue_job`` precisa estar com o *job runner* ativo para que os jobs
enfileirados sejam processados. Consulte a documentação do ``queue_job``
para configurar o runner e os canais.

Usage
=====

Ao confirmar e enviar um documento fiscal cuja operação está configurada
como **Send Later**, a transmissão à SEFAZ é enfileirada em vez de
executada na hora. O documento permanece no estado *Aguardando envio*
até que o job seja processado pelo ``queue_job``; concluída a
transmissão, o estado avança normalmente (autorizada, rejeitada, etc.),
como no envio síncrono.

Os jobs enfileirados podem ser acompanhados em *Job Queue / Jobs*, no
canal ``root.edocument``.

Known issues / Roadmap
======================

- Enfileirar também a consulta de status do documento. Hoje ela é
  síncrona: quando a API do provedor (por exemplo, a Focus, na NFS-e)
  está lenta ou indisponível, cada clique em *Verificar Status* prende
  um worker HTTP, como o envio prendia antes deste módulo. A proposta é
  uma opção na operação fiscal, ``queue_status_check``, com os modos sem
  verificação, síncrona, enfileirada (``queue_job``, com novas
  tentativas em falha de rede) e automática por cron para os documentos
  pendentes. Será feita em PR separado.

Changelog
=========

16.0.1.0.0 (2026)
-----------------

- Migração para a série 16.0: o fluxo de emissão migrou de
  ``l10n_br_fiscal`` para ``l10n_br_fiscal_edi``, que conduz o documento
  por uma máquina de estados. O enfileiramento passa a envolver
  ``action_document_send``: o documento com envio posterior continua em
  *Aguardando envio* e o job dispara a transição de envio depois,
  independente do módulo de e-documento instalado.
- Adiciona suíte de testes com ``queue_job`` (``trap_jobs``).

14.0.1.0.0 (2022)
-----------------

Migrate to OCA

12.0.1.0.0 (2021)
-----------------

Migrate to OCA

10.0.1.0.0 (2017)
-----------------

First Version

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_fiscal_queue%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
-------

* KMEE

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

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

     - Luis Felipe Mileo <mileo@kmee.com.br>
     - Gabriel Cardoso de Faria <gabriel.cardoso@kmee.com.br>
     - Luiz Felipe Divino <luiz.divino@kmee.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-mileo| image:: https://github.com/mileo.png?size=40px
    :target: https://github.com/mileo
    :alt: mileo
.. |maintainer-gabrielcardoso21| image:: https://github.com/gabrielcardoso21.png?size=40px
    :target: https://github.com/gabrielcardoso21
    :alt: gabrielcardoso21

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

|maintainer-mileo| |maintainer-gabrielcardoso21| 

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

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