Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:

Microsiga Protheus®

Ambiente:

Faturamento (SIGAFAT)

Ocorrência:Configurações e Parametrizações do JOB para Cancelamento de NFe e/ou NFSe (FATJOBNFE)

Passo a passo:

Conceito

A funcionalidade do FATJOB está disponivel no módulo SIGAFAT com objetivo efetivar a exclusão das Notas Fiscais de Saida (NFe - Modelo 55 ou NFSe), após o retorno de cancelamento autorizado daSefaz/Prefeitura. Desta forma é possivel evitar que seja excluido Notas Fiscais caso o cancelamento não seja de Autorizado.

Considerações

Aviso

O suporte não orienta em implementação.

Este material é unicamente objeto de apoio, e orientamos firmemente que seja solicitado analista in - loco para implementar a ferramenta e homologar o uso em produção.

A implementação deve ser realizada primeiramente em ambiente de homologação padrão atualizado e, posteriormente em Produção respeitando os devidos backups preventivos.

Deck of Cards
idfatjob
Card
idconfig
labelConfiguração

Para configurar o job do Fatjob é necessário:

Expandir
titlePasso 1

1° Configure o parâmetro MV_CANCNFE ou MV_CANNFSE ( para notas de serviços) = .T.

Parâmetro

Configuração

MV_CANCNFE.T. para habilitar o FatJobNFe (Quando .F. permite a exclusão sem utilizar o JOB)
MV_CANNFSEUtilizado para notas de serviços: .T. para habilitar o FatJobNFe (Quando .F. permite a exclusão sem utilizar o JOB)


Expandir
titlePasso 2

2° Configure as chaves do Job no ini do Appserver do Protheus para a execução do processo de cancelamento que foram emitidos por NFe(modelo 55) ou NFSe:

ChaveDetalhamento
ENVIRONMENTAmbiente de trabalho ao qual o Job pertence.
nParmsDeve permanecer 2.
parm1Código da empresa.
parm2Código da filial.
START_TIME Horário inicial que deve ser considerado para a execução.
FINISH_TIME Horário final que deve ser considerado para a execução.
INTERVALIntervalo de minutos entre as execuções (deve ser maior ou igual a 5).
ACTIVATEIndica se está ativo.


Exemplo de como adicionar a seção das chaves no Ini do AppServer Protheus:

[ONSTART]
JOBS=FatJobNFe_<empresa><filial>

[FatJobNFe_<empresa><filial>] 
MAIN=FatJobNFe
ENVIRONMENT=<ambiente de trabalho>
nParms=2
parm1=<Empresa>
parm2=<Filial>
START_TIME=00:00:01
FINISH_TIME=23:59:59
INTERVAL=5
ACTIVATE=ON

Aviso
titleAviso

Veja que na configuração os sinais de menor (<) e maior (>) devem ser substituídos pela informação:
Exemplo: FatJobNFe_<empresa><filial>  = FatJobNFe_9901 (Empresa 99 e Filial 01)

Expandir
title Configuração das chaves para ambiente Protheus que contenha uma Empresa e Filiall

Não é necessário configurar as chaves no arquivo INI do AppServer Protheus. É suficiente apenas habilitar os parâmetros conforme descrito no passo anterior.

Expandir
title Configuração das chaves para mais de uma filial

Caso possua mais uma Empresas e Filiais para configurar o JOB, é necessário configurar uma seção do job para cada filial, exemplo:

[ONSTART]
JOBS=FatJobNFe_9901,FatJobNFe_9902


[FatJobNFe_9901] 
MAIN=FatJobNFe
ENVIRONMENT=<ambiente de trabalho>
nParms=2
parm1=99
parm2=01
START_TIME=00:00:01
FINISH_TIME=23:59:59
INTERVAL=5
ACTIVATE=ON


[FatJobNFe_9902] 
MAIN=FatJobNFe
ENVIRONMENT=<ambiente de trabalho>
nParms=2
parm1=99
parm2=02
START_TIME=00:00:01
FINISH_TIME=23:59:59
INTERVAL=5
ACTIVATE=ON

Aviso
titleImportante
  • Caso possua mais de um empresa para configuração, é necessário que efetue a configuração em cada empresa de forma separada, não há centralizadora por empresa;

  • Caso possua ambiente com Gestão de empresa, é necessário registrar no INI uma sessão para cada Filial, onde os parâmetros devem receber por exemplo:
    parm1=T1 (Grupo de empresa)
    parm2=D MG 01 (D=Empresa, MG=Unidade, 01=Filial)


Dica
titleConsiderações
  • O Job é registrado no INI do Server Protheus e não no INI do TSS.

  • Caso possua um ambiente com balanceamento de cargas, ou seja, APPSERVER Master e Slaves (Balanceamento de carga) é necessário registrar o JOB no INI de cada serviço, e não no Master.

  • São as mesmas tags para nota de serviço, o que diferencia é o parâmetro  MV_CANNFSE que deve estar habilitado.

  • Verifique se a prefeitura dispõe de serviço de cancelamento. Caso contrario, indiferente do configurado no parâmetro de sistema MV_CANNFSE não irá existir a transmissão para o cancelamento.

  • O fonte UpdFATNFE.PRX somente era necessário para o uso da versão 11, a partir da versão 12, não é mais necessário bastando apenas efetuar a configuração do ambiente.
Expandir
titleConfiguração do Job pelo Schedule

O Schedule Protheus permite que rotinas do sistema sejam agendadas para que possam ser executadas posteriormente, em um período determinado pelo usuário. 

Deve-se configurar o schedule para a execução do processo de cancelamento (estorno dos documentos) que foram emitidos por NFe e NFSe:

1. No Configurador (SIGACFG), acesse Ambiente/ Schedule/ Schedule.
2. Dê um duplo clique em Agendamentos.
3. Clique em Cadastro.
4. Clique em Incluir.
5. Preencha os campos obrigatórios.
6. Preencha o campo Rotina (XX1_ROTINA) com FATJOBNFE().
7. Clique OK.
8. Clique em Confirmar.


Caso seja necessário executar o procedimento diversas vezes, configure por meio do botão Recorrência.

Material sobre a configuração do Schedule : Schedule - Como agendar a execução de rotinas

Aviso

Recomendamos o uso do schedule, essa funcionalidade garante a exclusão das notas que estão em processamento para serem canceladas. Exemplo: Se excluiu uma nota, porem houve falha de comunicação com a Sefaz, e a nota ainda consta no sistema, o Schedule sempre reprocessa de forma automática e exclui assim que houver a comunicação com a Sefaz. 

Está funcionalidade é apenas para notas que estão com o status : Aguardando cancelamento, legenda laranja.

Importante ressaltar que a configuração do Schedule tem o consumo de licenças.  

Card
idProdFat
labelProcessamento do FATJOBNFE

O processamento do Fatjob para exclusão do documento de saída iniciará com base na informação do campo F2_FIMP (Flag de Impressão). Em seguida, o sistema se comunicará com o TSS, e após o processamento, o retorno será registrado nas tabelas SPED050 (para notas de Sefaz) ou SPED051 (para notas da Prefeitura), e no campo F2_STATUS (status de Cancelamento da NFE).

Existem cenários mapeados que descrevem como o processamento funcionará, dependendo do status da nota dentro do TSS.

Image Removed

Image Removed


Image Added


Image Added



Nota
titleCenário H

O cenário H da tabela refere-se à tentativa de retransmitir o cancelamento ou exclusão. Por exemplo, se uma tentativa de cancelamento foi rejeitada, o que corresponde ao cenário G, e essa rejeição pode ser corrigida, é necessário ajustar a causa da rejeição para obter o retorno de cancelamento autorizado.



Descrição das tabelas e campos que são consultados antes do processamento e os tipos de retorno para cada campo:

Expandir
titleCampo F2_FIMP – Flag de impressão

“  ” - Não transmitida
S - Autorizada
T - Transmitida
D - Uso Denegado
N - Não autorizada

Saiba mais https://tdn.totvs.com/x/jMBICw

Expandir
titleCampo F2_STATUS – Status Canc. NFe

Campo registra apenas quando se faz uso do FATJOBNFE

“  ” - Não houve tentativa de cancelamento com uso do FATJOBNFE
015 - Cancelamento Autorizado
025 - Cancelamento não transmitido (Aguardando retorno do SEFAZ)
026 - Cancelamento não autorizado
030 - Inutilização de numeração autorizada
036 - Cancelamento autorizado fora do prazo

Expandir
titleCampo STATUS Tabela SPED050 - Status da NFe

1 = NFe Recebida.
2 = NFe Assinada.
3 = NFe com falha no schema XML.
4 = NFe transmitida.
5 = NFe com problemas.
6 = NFe autorizada.
7 = Cancelamento

Expandir
titleCampo STATUSCANC Tabela SPED050 -  Status Cancelamento/inutilização

1 = NFe Recebida.
2 = NFe Cancelada.
3 = NFe com falha de cancelamento/inutilização.

Dica
titleComplemento

Após o processamento do cancelamento de notas emitidas pela Sefaz, além de preencher o campo STATUSCANC, também é preenchido o campo XML_SIGCAN.

Expandir
titleSituação do Status da Sefaz

Definição dos Cenários (Detalhes, consultar Manual do contribuinte da Sefaz no link: http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=URCYvjVMIzI

Não assinada: TSS identifica falha no schema e não envia para o Sefaz
Código TSS: 002 / 029


Inutilizada: Numeração não existe para Sefaz – Não poderá mais ser utilizada. Na necessidade de efetivar a operação, é necessário reemitir o Documento para transmitir com nova numeração.
Código Sefaz: 102 - Inutilização de número homologado
Código TSS: 030


Denegada: Existe algum problema geralmente do Emissor ou do Destinatário com o Fisco do Sefaz (Ex: Situação cadastral) que impede o Faturamento. A numeração também não poderá mais ser utilizada.
Códigos Sefaz:
110 – Uso denegado
301 - Uso Denegado: Irregularidade fiscal do emitente
302 - Rejeição: Irregularidade fiscal do destinatário
303 - Uso Denegado: Destinatário não habilitado a operar na UF
205 - NF-e está denegada na base de dados da SEFAZ
Código TSS: 013


Rejeitada: “N” motivos de erro no documento - Na necessidade de efetivar a operação, é necessário corrigir a causa da Rejeição e retransmitir.
Obs: Há correções, para as quais, se faz necessário também excluir o documento de saída e emitir novamente para que a correção seja efetiva, como por exemplo, problemas de cálculos de impostos, visto que os dados precisam ser corrigidos primeiramente nas tabelas do ERP para então enviar correto ao SEFAZ.
Códigos Sefaz: “N” retornos (consultar Manual do contribuinte da SEFAZ)


Autorizada: Faturamento Homologado
Código Sefaz: 100 - Autorizado o uso da NF-e
Código TSS: 001


Cancelamento autorizado:
Código Sefaz: 101 - Cancelamento autorizado
Código TSS: 015

Código Sefaz: 155 - Cancelamento homologado fora de prazo (extemporâneo). Comumente acarreta cobrança ao Emissor.
Código TSS: 036


Cancelamento Rejeitado:
Códigos Sefaz:
252 - Rejeição: Tipo do Ambiente difere do ambiente do Web Service
578 - Rejeição: A data do evento não pode ser maior que a data do processamento
577 - Rejeição: A data do evento não pode ser menor que a data de emissão da NF-e
579 - Rejeição: A data do evento não pode ser menor que a data de autorização para NF-e não emitida em contingência
220 - Rejeição: Prazo de Cancelamento Superior ao Previsto na Legislação
501 - Rejeição: Pedido de Cancelamento intempestivo (superior a 7 dias)
690 - Rejeição: Pedido de Cancelamento para NF-e com CT-e ou MDF-e
Código TSS: 017 ou 026

Expandir
titleTabelas de Serviço/Prefeitura

Para Notas de Serviços NFSE o job consulta situação e grava retorno do cancelamento na tabela SPED051 no campo STATUS:

STATUS= 1 "Nfse recebida pelo TSS"
STATUS= 2 "Nfse assinada"
STATUS= 3 "Nfse com erro de schema"
STATUS= 4 "Nfse transmitida"
STATUS= 5 "Nfse rejeitada"
STATUS= 6 "Nfse autorizada"
STATUS= 7 + STATUSCANC=2 "Nfse cancelada"

Expandir
titleTabelas Totvs Colaboração

Para notas emitidas através do Totvs Colaboração o Fatjob consulta situação e grava retorno do cancelamento nas tabelas:

Tabela CKO -  Grava o Status do cancelamento/inutilizado
Tabela CKA - Grava os Lotes X Nota Fiscal Eletrônica


Legendas na Exclusão dos Documento de Saida

A legenda na rotina de exclusão de documentos de saída (MATA521) é exibida apenas quando o parâmetro MV_CANCNFE ou MV_CANNFSE está ativo, baseado no campo F2_STATUS.

mceclip0.png


Branco: nenhuma ação tomada;
Esta legenda indica que a nota não teve nenhuma tentativa de exclusão ou cancelamento por parte do Fatjob.


Verde: Cancelamento autorizado e com pendencias de processos.
Indica que o Cancelamento está Autorizado, mas existe alguma pendencia, neste caso avalie o retorno nos campos F2_FIMP, F2_STATUS e na tabela SPED050 nos campos STATUS e STATUSCANC.


Vermelho: Cancelamento não autorizado.
Indica que houve uma tentativa de exclusão, mas, ao monitorar o cancelamento na Sefaz, o retorno foi "Cancelamento Não Autorizado". Por isso, o registro é destacado em vermelho.

Laranja: Aguardando Cancelamento
Significa que está aguardando o retorno da Sefaz, sobre o cancelamento atraves do job do FATJOBNFE). Está legenda ocorre quando o sistema está tentando se comunicar com a Sefaz e não obtém o retorno.

Botão Refresh

A funcionalidade Refresh tem a finalidade de reprocessar a comunicação com TSS para transmissão de cancelamento, e consequente exclusão, de Notas que, por algum motivo, não tiveram efetividade no retorno do Sefaz / Prefeitura no momento da primeira tentativa de exclusão. Ao ocorrer o reprocessamento através do Refresh, a Nota pode ser cancelada e excluída, ou ter seu status alterado indicando, por exemplo, uma rejeição.

Aviso
titleObservação3

O botão refresh é destinado ao reprocessamento em lote de todas as notas (independente de apresentar em filtro de browser, ou de estar flegada). Caso não seja a intenção, deve-se selecionar a(s) Nota(s) desejada e realizar novamente a tentativa de exclusão para que a Nota em questão seja reprocessada.

Dica
titleDica

É categoricamente recomendado o uso do Schedule, abordado nesta documentação. O schedule, quando devidamente configurado, terá o mesmo comportamento do "Refresh", reprocessando periodicamente as Notas, porém, de forma automática, evitando assim falha humana, visto que não depende de ação do usuário para reprocessar.

Card
idExemp
labelExemplo

Exemplo do processamento do Fatjob, quando retorno da Sefaz é de Cancelamento não autorizado:

1- Emissão da Documento de Saida utilizando TES, Cliente e Produto que movimente as Tabelas SF3 e SFT para que esteja apta à ser Autorizada pelo SEFAZ.



2- Para transmitir a Nota Fiscal pela rotina NFESEFAZ > Outras Ações > Transmissão:



3- Para excluir acessar a rotina MATA521A – Exclusão de Documento de Saída > Selecionar a nota > Outras Ações: Excluir.




Ao acionar a opção "Excluir" na rotina, o job realiza o monitoramento na Sefaz e avalia o retorno. Neste caso, o retorno foi o código 026, que indica "Cancelamento não Autorizado". Dessa forma, a rotina de Exclusão de Documento não permite deletar o registro do Documento de Saída, e  na rotina NFESEFAZ, a nota é mantida com o status de "Autorizado", conforme o status que consta no  orgão SEFAZ.

Aviso
titleObservação

O registro da nota dentro da rotina de Exclusão de Documento permanecerá destacado em vermelho. Isso ocorre porque, quando a Sefaz retorna, e o campo F2_STATUS é preenchido com o status de "Cancelamento não Autorizado". Essa situação não afeta outros processos, como Contabilidade ou Escrituração; o destaque em vermelho serve apenas como um indicativo de que houve uma tentativa de cancelamento.


Card
idComple01
labelComplemento
  • FATJOBNFE e MV_SPEDEXC
    O processo de validação de exclusão via Job foi criado, pois apenas a configuração do parâmetro MV_SPEDEXC não atendia as reais necessidades do processo, já que em casos de rejeição da exclusão por parte do Sefaz a nota já estaria excluída do sistema. O Job FatJobNFe foi desenvolvido com perspectiva a substituir a tratativa anterior; logo ao habilitar este processo, o sistema deixa de validar o parâmetro MV_SPEDEXC. Isso ocorre pois, se ambas validações estivessem ativas, o parâmetro iria barrar definitivamente exclusões de notas que por sua vez, poderiam ter o cancelamento aceito pelo órgão responsável. Não se deve barrar efetivamente a exclusão fora do prazo, pois existe possibilidade de tal operação (como em casos de cancelamento extemporâneo). Ou seja, o Job funciona como uma validação do comportamento Sefaz no ERP. Se o Sefaz permite o cancelamento, o Job permite a exclusão.


  • FATJOBNFE x TOTVS TRANSMITE
    A configuração do FATJOBNFE não sofre alterações com a chegada do produto TOTVS Transmite , as validações do TSS para o uso do JOB são as mesmas utilizadas para validar no ERP. O TOTVS Transmite é um sistema on-line, integrado ao ERP Totvs, que facilita a administração dos documentos fiscais eletrônicos, a manifestação do destinatário e sua armazenagem com total segurança.
    Dúvidas relacionadas ao Totvs Transmite, contate nossa equipe SPED.
    Saiba maisIntegração TSS x TOTVS Transmite.


  • Validar demais Regras antes de permitir a Exclusão da Nota
    Caso deseje validar demais particularidades para permitir ou não a exclusão do documento de saída, deve-se utilizar Ponto de Entrada para determinar suas próprias condições / regras relevantes.
    P.E. sugerido: MS520VLD - http://tdn.totvs.com/display/public/PROT/MS520VLD
    Obs: Havendo necessidade de maiores informações ou suporte em relação a ponto de entrada, contatar suporte AdvPL do Protheus.


  • Sefaz X TSS x SPED   
  1. Sefaz (Secretaria de Estado da Fazenda) : é o órgão vinculado ao Ministério da Fazenda responsável pelo controle e padronização das regras relativas à receitas e despesas de cada Estado.
  2.  TSS (TOTVS Service SOA): é a aplicação utilizada pelo Protheus para comunicação com o Sefaz. Detalhes em: TSS0006_Manual_de_ConfiguraçãoO objetivo principal é prover os serviços de emissão e manutenção de documentos fiscais eletrônicos como: Nota Fiscal Eletrônica (NFe), Conhecimento de Transporte Eletrônico (CTe), Nota Fiscal de Serviço Eletrônica (NFSe), Capa de Lote eletrônica (Seu), Manifesto de Documentos Fiscais Eletrônicos (MDFe), Nota Fiscal Eletrônica para Consumidor Final (NFCe), Manifesto do destinatário (MDe).
  3. SPED (Sistema Público de Escrituração Digital): é a solução tecnológica da Receita Federal que oficializa a relação entre o Fisco e os contribuintes, por meio de arquivos digitais de escrituração fiscal e contábil, pelos sistemas empresariais dentro de um formato específico e padronizado.


  • Códigos TSS (genéricos) e Códigos de retorno SEFAZ
    Ao consultar a rotina NFESEFAZ > Outras Ações > Monitor > Faixa é exibido o conteúdo do TSS. Obs: Para Nota de Serviços (Prefeitura) rotina FISA022 > Outras Ações > Monitor.
    O retorno detalhado do SEFAZ pode ser consultado: No botão “Mensagens” dentro da rotina; ou, na Tabela SPED054; ou, no log _nfesbra_monitorfaixa_out gerado na pasta wslogxml de sua estrutura do servidor TSS. Obs: Para Notas de Serviços (Prefeitura) Tabela SPED055.


  • O processo de validação da exclusão efetuado pelo FATJOBNFE não contempla o cancelamento ou a inutilização do CTe, sua finalidade é impedir a exclusão indevida da nota fiscal de saída que por ventura, possa conter o CTe associado a ela.  Caso utilize o módulo TMS, contate a equipe para os procedimentos de cancelamento ou inutilização de Cte. Caso não utilize o módulo TMS, contate a equipe SPED para maiores orientações.


Perguntas e Respostas sobre utilização do Fatjob:

Expandir
titleO que fazer na Legenda Laranja?

A Legenda Laranja significa problema de comunicação com Sefaz, pois o Job precisa obter o retorno de Cancelamento Autorizado ou Cancelamento não Autorizado, avalei pontos abaixo:

1- Verifique, na rotina NFESEFAZ, em Outras Ações > NFe, se o ambiente está configurado como Produção ou Homologação da Sefaz. O ambiente configurado deve ser o mesmo no qual a nota foi autorizada.

2- Consulte no site do órgão Sefaz do estado ou Prefeitura, e veja se os serviços estão ativos. Caso não estejam, será necessário aguardar o restabelecimento dos serviços para tentar processar a exclusão novamente.

Nota
titleObservação

Serviços da Sefaz ou Prefeitura parados não é Totvs que responde, é necessário entrar em contato com órgão.


3- Reavalie a configuração do Fatjob, pois o job precisa estar configurado corretamente, consulte aba Configuração;

4- Verifique se o serviço do TSS X Sefaz está ativo para isto acesse a rotina NFESEFAZ. Caso apresente a mensagem abaixo significa que o TSS está serviço parado, e necessário habilitar e processar a exclusão novamente:




5- Após avaliar os quatros pontos citados acima recomendamos que acione o time do Protheus SPED, para que seja avaliado a configuração da transmissão de cancelamento.

Expandir
titleQuais são documentos validados pelo FatJobNFe?

Os documentos válidados pelo o Fatjob são NFE e NFESE do tipo Saida, ou seja, que é gerado Documento de Saída. Isso significa que os tipos de documentos cuja série está configurada no parâmetro MV_ESPECIE como SPED ou RPS que são aceitos.

Expandir
titleQuais rotinas validam o Job?

O job do FATJOB é validado exclusivamente na rotina de Exclusão de Documento de Saída MATA521A.

Expandir
titleQual a funcionalidade do MV_SPEDEXC? Ele é validado pelo Job?

O parâmetro MV_SPEDEXC permite configurar o prazo, em horas, para a exclusão de documentos no sistema. Para obter mais informações sobre esta funcionalidade, consulte a documentação específica.
Cross Segmentos - Backoffice Protheus - SIGAFAT - Funcionamento do parâmetro MV_SPEDEXC no Faturamento

O comportamento do parâmetro MV_SPEDEXC não é avaliado quando o FATJOBNFE está ativo (ou seja, quando MV_CANCNFE e  MV_CANNFSE está definido como .T.), Isso ocorre porque, se ambas as validações estivessem ativas, o parâmetro impediria permanentemente a exclusão de notas.  Saiba mais consultando a aba Complemento.

Expandir
titleQuais Status o Job permite a exclusão? O que significa os códigos?

Para o job processar a exclusão existe a premissa que o status da nota precisa consta como Autorizada nas tabelas e consulta:

Tabela SF2 no campo F2_IMP está igual S - Autorizada;
Tabela SPED050 no campo STATUS está igual 6 - NFe autorizada;
Consulta do Monitor> Faixa na rotina NFESEFAZ o código TSS igual 001- Autorizado e código SEFAZ igual 100- Autorizado.


 o Job vai permiti excluir de acordo com este retorno onde atualiza e grava informações:

Atualiza na Tabela SPED050 no campo Status atualiza para 7 - Cancelamento; e grava no campo STATUSCANC 2 - NFe Cancelada;
Atualiza a Consulta do Monitor atu>Faixa na rotina NFESEFAZ hávendo dois tipos de retorno que vai depender do prazo:

Código SEFAZ: 101 - Cancelamento autorizado
Código TSS: 015

Código SEFAZ: 155 - Cancelamento homologado fora de prazo (extemporâneo). 
Código TSS: 036

Na tabela SF2 no campo F2_STATUS grava o mesmo código do TSS onde permiti exclui o documento de saida no sistema.

Dica
titlestatus2

Na aba Processamento do FatJob há uma tabela que detalha possiveis cenários.