Fiscal Queue

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
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.
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.
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.
- 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.
- 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).
Bugs are tracked on GitHub 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.
Do not contact contributors directly about support or help with technical issues.
This module is maintained by the OCA.
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.
Current maintainers:

This module is part of the OCA/l10n-brazil project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.