Odoo Community Association

Fiscal Queue

Beta License: AGPL-3 OCA/l10n-brazil Translate me on Weblate Try me on Runboat

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

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

Credits

Authors

  • KMEE

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

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:

mileo gabrielcardoso21

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.