Histórico da Página
Melhoria no Processo de Transmitir XML da NFe e Consulta Retorno Sefaz (Nota Fiscal Eletrônica)
Características do Requisito
Linha de Produto: | RMS | ||||||||||||
Segmento: | VAREJO | ||||||||||||
Módulo: | Conector | ||||||||||||
Rotina: |
| ||||||||||||
Cadastros Iniciais: | Deve existir 1 Nota Fiscal emitida com agenda parametrizada para emitir Nota Fiscal Eletrônica. | ||||||||||||
Parâmetro(s): | NFEATVLOTE | ||||||||||||
Tickets relacionados | 965357 | ||||||||||||
País(es): | BRAZIL | ||||||||||||
Banco(s) de Dados: | ORACLE | ||||||||||||
Tabelas Utilizadas: | VW50_NFE, NFE_CONTROLE, NFE_CONTROLE_LOTE |
Descrição
Este documento tem como objetivo evidenciar uma melhoria realizada no Conector e Service, para emitir NFe (Nota Fiscal Eletrônica). As seguintes funcionalidades que foram alvo das melhorias aqui detalhadas:
1) Transmitir XML da NFe;
3) Consultar Retorno do XML da NFe na Sefaz;
Estas melhorias estão disponíveis a partir da versão 2.1.11.2 do Conector.
Procedimento para Implantação
É necessário atualizar a versão do Runtime do Crystal Reports para a utilização da NFE. O cliente deve baixar o instalador do runtime e instalá-lo.
O endereço de download do Crystal Reports Runtime Suport Pack 13 (v.13.0.13.1597) é :
Compilar os objetos de banco de dados constantes no pacote (*.PLB).
- NFE_SEQUENCE.PLB
- SEQ_NFE_CONTROLE_LOTE.PLB
- VW01_FILIAL.PLB
- VW02_USUARIOS.PLB
- VW03_NFENTRADA.PLB
- VW04_CCEVENTOS.PLB
- VW05_NFEXML.PLB
- VW50_NFE.PLB
- VW50_NFE_AUTORIZADOS.PLB
- VW51_NFE_REF.PLB
- VW52_NFE_DUP.PLB
- VW54_NFE_VOL.PLB
- VW60_DET.PLB
- VW61_DET_DI.PLB
- VW62_DET_DI_ADI.PLB
- VW63_DET_MED.PLB
- VW65_DET_ICM.PLB
- VW66_DET_IPI.PLB
- VW68_DET_PIS.PLB
- VW69_DET_COF.PLB
- VW67_DET_II.PLB
- VW71_DET_COMB.PLB
- VW70_DET_ICM_DES.PLB
- NFE_CONTROLE.PLB
- NFE_CONTROLE_SAIDA.PLB
- NFE_CONTROLE_LOTE.PLB
- NFE_XML.PLB
- NFE_XML_SAIDA.PLB
- NFP01_LISTA.PLB
- NFE71_IMPR_LOCAL.PLB
- F_SERVIDOR_NFE.PLB
- PC_FIS_NFE.PLB
*** ATENÇÃO ***
Estes objetos de banco de dados constantes no pacote (*.PLB) estão relacionados ao RMS Retail e fazem parte do processo de Emissão da Nota Fiscal Eletrônica (NFe).
- AG1PANFE.PLB
- AG1LGNFE.PLB
- AA1DIVOL.PLB
- AA1DIIMP.PLB
- AG1NFNET.PLB
- AG1FENFS.PLB
- AA1CADCV.PLB
- AA1CPAIS.PLB
- AG1LGNFI.PLB
- WG1GNOTA.PLB
- AA1NFINU.PLB
- AG3PVECP.PLB
- AG5FATLT.PLB
- AA4CENPG.PLB
- AG1MSGNF.PLB
- AA1DIFCI.PLB
- AA1DITEM.PLB
- AG1NFERF.PLB
- AA1LINHP.PLB
- AA1LINHF.PLB
- AA3MITEM.PLB
- AA4MITEM.PLB
- DEV_NF_EMITIDA.PLB
- F_EXTENSO_MONETARIO.PLB
- F_VALIDA_CPF_CNPJ.PLB
- PROC_NFE_CANCELAMENTO.PLB
- PROC_VGLDIMPO.PLB
- PROC_FIS_GFIS_IMP.PLB
- PC_CAD_PRODUTO.PLB
- PC_PGLADFIS.PLB
- PC_DST_QUEBRASOBRA.PLB
- PC_RMS_CANCELA_NF.PLB
- PC_RMS_CAL.PLB
- PC_CAL_GNTA.PLB
*** ATENÇÃO ***
Estes objetos constantes no pacote (*.DLL) estão relacionados ao RMS Retail e fazem parte do processo de Emissão da Nota Fiscal Eletrônica (NFe).
- VGFNOTAE.DLL
- VGFPANFE.DLL
- VGFMONIT.DLL
- VABUPAIS.DLL
- VGLNFINU.DLL
- VGLDIMPO.DLL
- VGFRNOTA.DLL
- VGFMSGNF.DLL
- VABUAITE.DLL
- VGLPAIMP.DLL
Tabela para controle do processamento dos Lotes das NFe's, que são enviadas para serem autorizadas pela Sefaz Nacional, NFE_CONTROLE_LOTE:
Responsável por guardar as informações acerca do status, situação da transmissão do Lote de NFe's.
Campo | Tipo | Conteúdo |
---|---|---|
ID | NUMBER(15) | Sequence (SEQ_NFE_CONTROLE_LOTE), identificador único da tabela NFE_CONTROLE_LOTE. not null |
CHAVE_ACESSO_NFE | VARCHAR2(44) | Chave de Acesso da NFe. not null |
CHAVE_ACESSO_GNRE | VARCHAR2(44) | Chave de Acesso da GNRe. DEFAULT Null |
LTE_LOTE | NUMBER(15) | SEQUENCE (Originado da tabela nfe_sequence), onde os campos valor representa o campo LTE_LOTE desta tabela e campo nome_tabela deve ser igual a palavra LOTE. not null |
LTE_INDSINC | NUMBER(1) | Indicador de processamento síncrono. 0 - NAO, 1 - SIM (Síncrono); DEFAULT 0 not null |
LTE_SIGLA_SEFAZ | VARCHAR2(5) | Sigla da Sefaz para onde o lote foi transmitido, e será consultado o retorno da Sefaz. Destaque para quando a sigla for diferente de uma Unidade Federativa: SCAN, SVAN, SVRS SVC, SVCRS. not null |
LTE_UF_EMPRESA | NUMBER(2) | UF - Unidade Federativa da Empresa que emitiu as Notas Fiscais Eletrônicas (NFe). not null |
LTE_AMB_SISTEMAETAPA | NUMBER(1) | Identifica em que etapa a emissão da GNRe está. Valores: 1 - Gerada, 2 - Transmitida, 3 - Consulta Retorno, 4 - Autorizada. |
AMBIENTE | NUMBER(1) | Identifica qual ambiente foi gerado as informações. 1 - Produção, 2 - Homologação. |
CODIGO | VARCHAR2(6) | Código relacionado ao retorno Sefaz. DEFAULT Null |
DESCRICAO | VARCHAR2(4000) | Descrição relacionada ao código do retorno Sefaz. DEFAULT Null |
RECIBO | VARCHAR2(20) | Recibo da GNRe relacionada ao retorno sefaz. DEFAULT Null |
DATA_RECIBO | DATE | Data em que o Recibo da GNRe foi retornada pela Sefaz. DEFAULT Null |
IMP_GNRE | VARCHAR2(1) | Indica que a guia GNRe foi impressa. DEFAULT Null |
TEMPO_ESTIMADO | VARCHAR2(20) | Tempo estimado para processamento do lote relacionado ao número do recibo do lote. DEFAULT Null |
DTC_ATUALIZACAO | DATE | Data em que os dados da GNRe sofreram atualização. DEFAULT SYSDATE |
Tabela para controle do processamento da GNRE, GNRE_XML:
Contém a mensagem XML a ser enviada à SEFAZ. Caso a mensagem seja maior que o tamanho definido para a coluna XML, novas linhas devem ser criadas até que todo o conteúdo da mensagem esteja contido em linhas desta tabela. Esta tabela é filha da GNRE_CONTROLE.
Ambiente do Sistema, que gerou a transmissão do Lote para a Sefaz. not null | ||
LTE_CONS_REC_AMB_LOTE | NUMBER(1) | Ambiente informado pela Sefaz, onde se deu, de fato, o processamento do pedido de consulta ao lote. DEFAULT Null |
LTE_CONS_REC_VERAPLIC | VARCHAR2(20) | Versão da Aplicação informada pela Sefaz, que processou o XML. DEFAULT Null |
LTE_CONS_REC_NREC | NUMBER(15) | NÚMERO DO RECIBO DO LOTE, FORNECIDO PELA SEFAZ NO INSTANTE EM QUE A SEFAZ PROCESSOU A CONSULTA AO LOTE. DEFAULT Null |
LTE_CONS_REC_CSTAT | NUMBER(3) | Código STATUS do pedido de processamento da Consulta Retorno Sefaz. DEFAULT Null |
LTE_CONS_REC_XMOTIVO | VARCHAR2(255) | Motivo relacionado ao STATUS do pedido de processamento da Consulta Retorno Sefaz. DEFAULT Null |
LTE_CONS_REC_UF_SEFAZ | NUMBER(2) | UF informada pela Sefaz, onde se deu, de fato, o processamento do pedido de consulta ao lote. DEFAULT Null |
LTE_CONS_REC_DHRECBTO | VARCHAR2(25) | DATA FORNECIDA PELA SEFAZ NO INSTANTE EM QUE A SEFAZ RECEPCIONOU O LOTE Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm). DEFAULT Null |
LTE_CONS_REC_TMED | NUMBER(4) | Tempo médio de resposta que a Sefaz demora para processar as solicitações, medido em segundos. DEFAULT Null |
LTE_RET_AMB_LOTE | NUMBER(1) | Ambiente informado pela Sefaz, onde se deu, de fato, o processamento do pedido de consulta ao lote, no retorno da consulta. DEFAULT Null |
LTE_RET_VERAPLIC | VARCHAR2(20) | Versão da Aplicação informada pela Sefaz, que processou o XML. DEFAULT Null |
LTE_RET_NREC | NUMBER(15) | NÚMERO DO RECIBO DO LOTE, FORNECIDO PELA SEFAZ NO INSTANTE EM QUE A SEFAZ PROCESSOU A CONSULTA AO LOTE. DEFAULT Null |
LTE_RET_CSTAT | NUMBER(3) | Código STATUS do processamento da Consulta Retorno Sefaz. DEFAULT Null |
LTE_RET_XMOTIVO | VARCHAR2(255) | Motivo relacionado ao STATUS do processamento da Consulta Retorno Sefaz. DEFAULT Null |
LTE_RET_UF_SEFAZ | NUMBER(2) | UF da Sefaz, onde se deu, de fato, o processamento do pedido de consulta ao lote. DEFAULT Null |
LTE_RET_DHRECBTO | VARCHAR2(25) | DATA FORNECIDA PELA SEFAZ NO INSTANTE EM QUE A SEFAZ RECEPCIONOU O LOTE Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm). DEFAULT Null |
LTE_NCONSULTAS | NUMBER(15) | Indicador número de vezes em que o lote foi consultado na Sefaz. DEFAULT 0 not null |
LTE_RECIBO | VARCHAR2(30) | NÚMERO DO RECIBO DO LOTE, FORNECIDA PELA SEFAZ NO INSTANTE EM QUE A SEFAZ RECEPCIONOU O LOTE. DEFAULT Null |
LTE_DATA_RECIBO | DATE | DATA DO RECIBO DO LOTE, FORNECIDA PELA SEFAZ NO INSTANTE EM QUE A SEFAZ RECEPCIONOU O LOTE. DEFAULT Null |
LTE_PROTOCOLO | VARCHAR2(50) | NÚMERO DO PROTOCOLO RELACIONADO AO ENVIO OU RECEBIMENTO DO LOTE POR PARTE DA SEFAZ. DEFAULT Null |
LTE_DATA_PROCESSAMENTO | DATE | DATA EM QUE FOI REALIZADO O PROCESSAMENTO DESTE LOTE, PELO SISTEMA. DEFAULT SYSDATE |
DTC_ATUALIZACAO | DATE | Data em que os dados da GNRe sofreram atualização. DEFAULT SYSDATE |
Campo | Tipo | Conteúdo |
---|---|---|
ID | NUMBER(15) | Sequence (SEQ_NFE_GNRE_XML), identificador único da tabela GNRE_XML.. |
ID_CONTROLE | NUMBER(15) | Identificador da tabela GNRE_CONTROLE. Deve ser igual ao campo Id da tabela GNRE_CONTROLE. |
XML | VARCHAR2(4000) | Mensagem de validação ou retorno da Sefaz. |
No RMS Retail, acesse Mercadorias/Cadastro/Tabelas e Parâmetros/Parâmetros (Programa VABUPARA):
Cadastro | Parâmetros |
Código | 045 |
Acesso | AGDGNREXXX |
Conteúdo | Onde ‘XXX’ é a agenda das notas que serão gerados a GNRe. |
Exemplo: 'AGDGNRE300' refere-se às notas emitidas através da agenda 300, para emissão de GNRE.
Cadastro | Parâmetros |
Código | 030 |
Acesso | GNREATIVAENFEATVLOTE |
Conteúdo | S |
*** ATENÇÃO ***
Se não for informado estes parâmetros, a tela 'Manutenção da Guia Nacional de Recolhimento de Tributos Estaduais' não será visualizada no Conector e por consequência, os XML's da GNRE não serão geradoseste parâmetro, o processo de Transmitir XML da NFe e Consulta Retorno Sefaz ocorre normalmente, como anteriormente, deve se comportar da mesma forma que as versões anteriores a aplicação deste pacote.
Procedimento para Configuração
O Procedimento de cadastro / configuração de parâmetros só pode ser realizado via RMS Retail.1 - No RMS Retail, acesse Mercadorias/
Cadastro |
Cadastro | Parâmetros | |
Código | 045 | |
Acesso | AGDGNREXXX | Conteúdo |
Explicando o cadastro das agendas:
É possível cadastrar quantas agendas forem necessárias. Exemplo:
AGDGNRE300
AGDGNRE301
AGDGNRE200
AGDGNRE400
É o equivalente a selecionar as agendas:
300
301
200
400
As agendas devem ser informadas por parâmetro, individualmente, uma a uma, criando-se um parâmetro por agenda.
*** ATENÇÃO ***
Se não for informado estes parâmetros, o Conector não irá emitir a GNRE.
Cadastro | Parâmetros |
Código | 030 |
Acesso | GNREATIVAENFEATVLOTE |
Conteúdo | S |
*** ATENÇÃO ***
Se não for informado este parâmetro, a Tela de Manutenção da Guia Nacional de Recolhimento de Tributos Estaduais não vai aparecer no menu do Conector..o processo de Transmitir XML da NFe e Consulta Retorno Sefaz ocorre normalmente, como anteriormente, deve se comportar da mesma forma que as versões anteriores a aplicação deste pacote.
Procedimento para Utilização
Para utilizar esta melhoria, é necessário que a tabela VW50_NFE esteja atualizada com o campo 'AGENDA_RMS' e a package PC_FIS_NFE que utiliza este campo para gravar a agenda da nota está atualizada desde a primeira versão da V12R16 '12.16.0001'. O parâmetro GNREATIVAE deve NFE_CONTROLE_LOTE (e sequence SEQ_NFE_CONTROLE_LOTE) seja aplicada na versão 5681 e só estará disponível para clientes V12, apenas a partir da versão V12R18 '12.18.0001' (Para garantir compatibilidade nas versões anteriores). O parâmetro NFEATVLOTE deve estar cadastrado com o valor 'S' e o parâmetro 'AGDGNREXXX' devidamente cadastrado no RMS Retail, contendo 1 parâmetro por agenda a ser utilizada no processo de emissão da nota fiscal eletrônica (NFe), conforme detalhado aqui neste documento.
A nota a ser emitida deve obedecer as regras descritas nas notas técnicas da GNRENFe. Essencialmente, uma vez que esteja utilizando a PC_FIS_NFE na versão '12.16.0001', atualizado o parâmetro NFEATVLOTE = "S", aplicando o script da nova tabela VW50_ NFE, aplicando os scripts das novas tabelas GNRE_CONTROLE e GNRE_XML, cadastrado o parâmetro AGDGNREXXX (por agenda). No ato da emissão da nota via RMS Retail, será utilizado o programa 'VGLPAIMP' que irá chamar a procedure 'PROC_FIS_GFIS_IMP', com base no parâmetro 'AGDGNREXXX' a nota será criada no RMS Retail, e no instante de sua emissão, será gravado a agenda da nota na tabela VW50_NFE, através da PC_FIS_NFE. O Conector / Service verifica se esta agenda foi parametrizada corretamente, passará a listar a tela de 'Manutenção da Guia Nacional de Recolhimento de Tributos Estaduais' no menu principal do Conector. Para visualizar a Tela no Menu, é necessário cadastrar o parâmetro GNREATIVAE = 'S'.
Observe os campos:
1) Pesquisar NFE's emitidas, autorizadas na Sefaz e parametrizadas com a agenda 'AGDGNREXXX'. Caso ainda não tenham sido processadas, os campos específicos, relacionados à Guia GNRE irão aparecer vazios, como Situação, Recibo GNRE (Protocolo de Recebimento da GNRE na Sefaz), Data Recibo.
2) Pesquisa por Período, Situação, Tipo Emissão (NFe), CNPJ Emitente e CNPJ Destinatário (NFe), Faixa de número da NFe, Série (NFe), Chave de Acesso da NFe. Se a NFe já foi impressa (CheckBox DANFE), se a GNRE já foi impressa (CheckBox GNRE) e a nota é de um usuário em específico (CheckBox Usuario).
Detalhe de Impressão:
Caso marcado, irá mostrar as NFe's e GNRe's que já foram impressas ou que tenham sido emitidas por um usuário específico.
Detalhe da pesquisa por Período, Data de Início de Emissão e Fim de Emissão.
Detalhe da Situação da GNRe:
- Todas
- GNRe Gerada
- GNRe Transmitida
- GNRe Processada pela Sefaz
- GNRe Autorizada pela Sefaz
- GNRe Impressa
Detalhe do Tipo Emissão:
Está relacionada ao Tipo de Emissão da NFe (Nota Fiscal Eletrônica)
- Todos
- Normal
- Contingência FS
- SCAN
- EPEC
- Contingência FS-DA
- Contingência SVAN
- Contingência SVRS
Detalhe da pesquisa por CNPJ Emitente:
A pesquisa será feita pelo CNPJ Emitente da NFe.
Detalhe da pesquisa por CNPJ Emitente:
A pesquisa será feita pelo CNPJ Destinatário da NFe.
Detalhe da pesquisa por faixa de número da NFe.
A pesquisa será feita pela faixa de número da NFe (Nota Fiscal Eletrônica).
Detalhe da pesquisa por número de série da NFe.
A pesquisa será feita pelo número de série da NFe (Nota Fiscal Eletrônica).
A pesquisa será feita pela Chave de Acesso da NFe (Nota Fiscal Eletrônica).
3) Botões de Ação:
Gera o XML da GNRe e Transmite para a Sefaz.
Consulta o resultado do processamento do XML feito pela Sefaz.
Exclui, ou seja, apaga os registros da GNRE nas tabelas GNRE_CONTROLE e GNRE_XML.
*** ATENÇÃO ***
Esta operação pode ser útil quando ocorre algum problema de processamento entre o Conector e a Sefaz e o usuário decide realizar testes manualmente, na tentativa de detectar problemas de comunicação na rede, por exemplo, ou instabilidade do ambiente nacional da GNRE, que pode causar rejeições dos XML's da GNRE no modo automático (Service NFe).
Verifica pendências
Este botão é utilizado para realizar o acompanhamento do processo de emissão da Guia GNRe. É possível verificar 4 tipos de informações:
1) Mensagens de Status: Mostram as mensagens geradas ao longo do processo de emissão da GNRe, tanto de validações quanto de mensagens de erro.
2) XML GNRe: O XML Gerado e enviado para a Sefaz é mostrado nesta aba.
3) XML Envio Lote: O XML retornado pela Sefaz, após recepcionar o XML GNRe é mostrado nesta aba. Neste XML é possível visualizar o Recibo.
4) XML Retorno Sefaz: Nesta aba é mostrado o resultado final do processamento do XML GNRe. Caso o código seja diferente de '402 - Lote Processado com sucesso', significa que se trata de mensagem de validação / rejeição.
Gera o PDF da Guia GNRe.
Ao clicar neste botão, será mostrado a lista de pastas do sistema operacional Windows, para que o usuário escolha onde deve ser gerado o documento PDF.
Ao final do processo de geração de PDF, deve aparecer esta mensagem, sinalizando que o processo de geração do documento PDF foi realizado com sucesso.
Imprime a Guia GNRe.
Será perguntado ao usuário se deseja imprimir na impressora padrão ou na impressora configurada para aquela Filial Emitente da NFe.
Ao final do processo, deve aparecer uma mensagem confirmando que o processo de impressão foi executado com sucesso.
Na barra de tarefas, no canto inferior direito, geralmente aparece uma mensagem do Sistema Operacional Windows, confirmando que a GNRE foi enviada para a impressora com sucesso.
*** Exemplo de uma Guia GNRe impressa ou gerado PDF ***
_LOTE (em conjunto com a Sequence SEQ_NFE_CONTROLE_LOTE). No ato da transmissão da NFe para a Sefaz, as informações do lote passarão a ser gravadas na tabela NFE_CONTROLE_LOTE.
Pelo fato destas novas informações estarem sendo gravadas, o controle do envio de XML da NFe para a Sefaz Nacional e a consulta retorno Sefaz devem ocorrer sem apresentar falhas. Observe apenas para título de ilustração, que o processo não mudou, continua idêntico (Apenas os arquivos de log devem indicar algumas informações adicionais):
Informações Técnicas
Tabelas Utilizadas | VW50_NFE - Tabela Principal do Projeto Nota Fiscal Eletrônica, responsável por armazenar as informações relacionadas à Nota Fiscal Eletrônica (NFe). NFE_CONTROLE - Tabela de Controle da NFE, responsável por sinalizar o status atual do processamento da NFe no Ambiente Nacional.GNRE NFE_CONTROLE_LOTE - Tabela de Controle da GNRENFE, responsável por sinalizar o status atual do processamento da Guia GNRE.GNRE_XML - Tabela que armazena as mensagens de validação ao longo do processamento da Guia GNREdo Lote de NFe's no Ambiente Nacional. |
Funções Envolvidas | Nota Fiscal Eletrônica de Entrada / Saída. Impressão do DANFE (Documento Auxiliar Transmissão de XML da Nota Fiscal Eletrônica). Transmissão Consulta Retorno Sefaz de XML da Nota Fiscal Eletrônica. Impressão da Guia GNRE (Guia Nacional para Recolhimento de Impostos Estaduais). Transmissão de XML da GNRE (Guia Nacional para Recolhimento de Impostos Estaduais). |
Sistemas Operacionais | Windows®/Linux® |