Árvore de páginas

Configuração do Job de Exclusão do Documento de Saída FATJOBNFE

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 da Sefaz/Prefeitura. Desta forma é possivel evitar que seja excluido Notas Fiscais caso o cancelamento não seja de Autorizado.

Considerações

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.

    Para configurar o job do Fatjob é necessário:

    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_CANNFSE Utilizado para notas de serviços: .T. para habilitar o FatJobNFe (Quando .F. permite a exclusão sem utilizar o JOB)


    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:

    Chave Detalhamento
    ENVIRONMENT Ambiente de trabalho ao qual o Job pertence.
    nParms Deve permanecer 2.
    parm1 Código da empresa.
    parm2 Có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.
    INTERVAL Intervalo de minutos entre as execuções (deve ser maior ou igual a 5).
    ACTIVATE Indica 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

    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)

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

    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

    Importante

    • 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)


    Consideraçõ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.

    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

    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.  

    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.





    Cená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:

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

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

    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

    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

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

    Complemento

    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.

    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

    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"

    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.

    Observaçã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

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

    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.

    Observaçã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.


    • 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:

    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.

    Observaçã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.

    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.

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

    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.

    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.

    status2

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