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 |
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_SISTEMA | NUMBER(1) | 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 |
No RMS Retail, acesse Mercadorias/Cadastro/Tabelas e Parâmetros/Parâmetros (Programa VABUPARA):
Cadastro | Parâmetros |
Código | 030 |
Acesso | NFEATVLOTE |
Conteúdo | S |
*** ATENÇÃO ***
Se não for informado este 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.
Cadastro | Parâmetros |
Código | 030 |
Acesso | NFEATVLOTE |
Conteúdo | S |
*** ATENÇÃO ***
Se não for informado este 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 Utilização
Para utilizar esta melhoria, é necessário que a tabela 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', conforme detalhado aqui neste documento.
A nota a ser emitida deve obedecer as regras descritas nas notas técnicas da NFe. Essencialmente, uma vez que esteja utilizando o parâmetro NFEATVLOTE = "S", aplicando o script da nova tabela NFE_CONTROLE_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. NFE_CONTROLE_LOTE - Tabela de Controle da NFE, responsável por sinalizar o status atual do processamento do Lote de NFe's no Ambiente Nacional. |
Funções Envolvidas | Nota Fiscal Eletrônica de Entrada / Saída. Transmissão de XML da Nota Fiscal Eletrônica. Consulta Retorno Sefaz de XML da Nota Fiscal Eletrônica. |
Sistemas Operacionais | Windows®/Linux® |