====== Verificador de NF-e Destinada ======
//Alterado em 04/02/2015 -> Permitido executar como Aplicativo//
Disponibilizado na NT 2012/002 um webservice do Ambiente Nacional que permite ao contribuinte verificar as notas que foram destinadas a ele. Ciente desse serviço a Intelliware desenvolveu uma forma de efetuar essa verificação, permitindo ao usuário usar essas informações.\\
\\
{{ :intellicash:manuais_auxiliares:servicenfedest.jpg?nolink |}}
==== Instalação ====
É possivel instalar o verificador de notas emitidas como Serviço ou como Aplicação. Existindo vantagens e desvantagens, e por isso deve ser escolhido de acordo com o ambiente do cliente.\\
**Serviço**\\
__Vantagens:__ é executado junto a inicialização do sistema operacional (Windows) independente da realização do login pelo usuário, por esse motivo é ideal para servidores dedicados. Por ser executado independente do usuário entrar no sistema, não sofre interferencias de outros programas, se tornando menos suceptivel a erros de ambiente.\\
__Desvantagens:__ como o serviço é executado independente do usuário, é preciso que ao instalar o serviço, seja data permissão de administrador para acessar o certificado digital. Outro problema são os casos do certificado A3 em que é necessário digitar a senha a cada conexão, como o serviço não interage com o usuário, também não é chamada a interface para digitar a senha do certificado, e consequentemente a consulta não é realizada.
**Aplicativo**\\
__Vantagens:__ não é necessário maiores complicações para a instalação, nos casos de maquinas monousuários, dispensaria a obrigação de criar senhas. Funciona com Certificado A1 e A3.\\
__Desvantagens:__ mesmo que coloque no iniciar do Windows, caso o usuário não faça o login, o programa não será iniciado. Por ser aplicativo e interagir com a area de trabalho, erros em aplicativos de terceiros podem causar falhas inexperadas e finalizar o aplicativo, necessitando reinicia-lo.
Não deve ser instalado como Serviço e como Aplicativo, nem deve ter instalado em mais de uma maquina com o mesmo certificado.
=== Aplicação ===
Para instalar o **Verificador de NF-e Destinada** como aplicativo deve-se copiar o arquivo **ProgramNFeDest.exe** para uma máquina que possua o Certificado Digital devidamente instalado, assim como as Dll's auxiliares da CAPICON. (Mesmo processo do GNFe)\\
Depois de copiado o executável, é preciso configurar para ser executado como administrador, para isso clique com botão direito do mouse sobre o executável e na aba de compatibilidade maque a opção de ||Executar este programa como administrador||, clique em **Aplicar**, e em **OK**.\\
Crie um atalho do executável no inicializar do windows, para que ao reiniciar a maquina o aplicativo seja reiniciado.
Caso seja usado o Certificado A3, toda vez que for inicializado o sistema, será pedido a senha certificado e não funcionará até ser digitado, podendo inclusive ter TimeOut, e precisar finalizar o aplicativo e inicar manualmente.
O Aplicativo não possui Interface, para verificar que está sendo executado, observe o icone ao lado do relogio na barra de tarefas!
=== Serviço ===
Para instalar o **Verificador de NF-e Destinada** deve-se copiar o arquivo **ServiceNFeDest.exe** para uma máquina que possua o Certificado Digital devidamente instalado, assim como as Dll's auxiliares da CAPICON. (Mesmo processo do GNFe)\\
Para instalar o serviço, execute o comando:\\
''ServiceNFeDest.exe /install''
Para verificar se o serviço foi instalado corretamente, veja em ''Painel de Controle > Ferramentas Administrativas > Serviços '', e localize **IwrVerifNFeDest**.
\\
Depois de instalar o serviço, é preciso configurar para ser iniciado fazendo logon com permissão de administrador. Para realizar essa configuração:\\
- Acessar: ''Painel de Controle > Ferramentas Administrativas > Serviços '';
- Clicar com o botão direito do mouse sobre o serviço ''IwrVerifNFeDest'' e escolha **Propriedade**;
- Na aba **Logon**, altere para fazer logon como e insira a conta e a senha do usuário com permissão de administrador, como na imagem abaixo: {{ :intellicash:manuais_auxiliares:servicologonadm.jpg?nolink |}}
- clique em **Aplicar**, e em **OK**.
==== Configuração ====
Para Configurar o **Verificador de NF-e Destinada** é preciso criar um arquivo chamado **ServiceNFeDest.ini** (se for serviço) ou **ProgramNFeDest.ini**(se for aplicativo), caso o arquivo não seja criado, serão usadas as configurações padrões, como exibido abaixo:
[CONEXAO]\\
DB=INTELLISTORE3\\
Host=127.0.0.1\\
Port=5055\\
Server=EnterpriseServer.EnterpriseDataServer\\
\\
[VERIFICACAO]\\
EsperaSemDocumento=60\\
EsperaEntreConsulta=1
\\
Os valores entre <> são aqueles atribuídos por padrão caso não seja criado o arquivo INI.\\
**DB**: o Banco de dados que o servidor deve se conectar ;\\
**Host**: o IP da máquina servidora de Banco de Dados <127.0.0.1>;\\
**Port**: Porta de comunicação com o Servidor de Banco de Dados ;\\
**Server**: Nome do Aplicativo Servido de Banco de dados ;\\
\\
**EsperaSemDocumento**: Tempo de espera entre as verificações quando a última consulta indica que não há mais documentos (em Minutos) <60 mimutos>; \\
**EsperaEntreConsultas**: Tempo de espera entre as verificações quando a última consulta indica que há mais documentos (em Minutos) <1 mimutos>; \\
Não configure o tempo de espera sem documento com valores menores que 60 minutos, pois o servidor da receita pode interpretar como sendo uma requisição maliciosa, e bloquear temporariamente suas requisições!\\
A NT 2012/002 recomenda um tempo minimo de 1 hora entre uma solicitação e outra.
O Serviço irá consultar todas as empreas que possuírem informações de certificado na tabela "EMPRESAS", no campo "CERTIFICADO".
==== Informações Verificadas ====
O **Verificado de Notas Destinadas** da Intelliware utiliza uma função disponível pelo site da Fazenda, e retorna um arquivo XML com as seguintes informações:
**Chave** chave de 44 digitos que identifica a NF-e\\
**CNPJ/CPF** CNPJ ou CPF do emitente da NF-e\\
**Nome** Nome do emitente da NF-e\\
**IE** Insc. Estadual do Emitente da NF-e\\
**Data Emissão** Data de Emissão da NF-e\\
**Tipo NF** Tipo da NF-e
0 - Entrada
1 - Saida
**Valor NF** Valor total da NF-e\\
**Digest Value** Código de autorização na Base do SEFAZ\\
**Data/Hora Recbto** Data e Hora da Autorização/Cancelamento da NF-e\\
**Situação NF** Situação da NF-e
1 - Uso Autorizado no Momento da Consulta;
2 - Uso Denegado;
3 - NF-e Cancelada.
**Situação de Manifestação** Situação da Manifestação do Destinatário:
0 - Sem Manifestação do Destinatário;
1 - Confirmada Operação;
2 - Desconhecida;
3 - Operação não Realizada;
4 - Ciência;
Alem dessas informações sobre os Documentos destinados, também são recebidas informações sobre a consulta em si, são elas:\\
**cStat** Código do status da resposta
137 : Nenhum documento localizado para o destinatário;
138 : Documento localizado para o destinatário.
**indCont** Indicador de Continuação:
0 - SEFAZ não possui mais documentos para o CNPJ informado
1 - SEFAZ possui mais documentos para o CNPJ informado, ou ainda não avaliou a totalidade da sua base de dados.
**ultNSU** Último NSU pesquisado na SEFAZ. a Proxima consulta será apartir desse NSU.
Sobre o **cSTAT**, alem dos codigos 137 e 138, também podemos obter uma resposta de rejeição devido a erro do webservice ou problemas na requisição. \\
Caso o indCont seja 0 (Zero), então é recomendado pela receita um tempo mínimo de 1 hora, para que não corra o risco de serem bloqueadas as pesquisas futuras.
A configuração **EsperaSemDocumento** deve é usada quando o **indCont** for igual a 0, portanto não é aconselhavel configurar com valores inferiores a 60
==== Banco de Dados ====
As Informações são armazenadas em 2 tabelas:\\
**NFE_CONSULTADEST** Contem o retorno do SEFAZ quando o cSTAT resultado é 137 ou 138
^ Campo ^ Tipo ^ Obrigatório ^ Observação ^
| ID | BIGINT | Sim | Identificador Interno do Intellicash |
| EMPRESA | BIGINT | Sim | Código da Empresa consultada como destinatária |
| DATA | TIMESTAMP | Sim | Data/Hora da verificação |
| XML | BLOB | Não | XML de resposta do SEFAZ |
| ULTIMONSU | VARCHAR(30) | Sim | NSU retornado na consulta que será usado como base para a proxima verificação |
| CSTAT | INTEGER | Sim | Codigo da resposta do SEFAZ |
**NFE_DETCONSULTTADEST** Contém os documentos contido no retorno do SEFAZ
^ Campo ^ Tipo ^ NULL ^ Observação ^
|ID |BIGINT | Sim | Identificador Interno do Intellicash |
|ID_CONSULTA |BIGINT | Sim | Identificador da tabela NFE_CONSULTADEST |
|CHAVE |VARCHAR(50) | Sim | Chave da NF-e |
|DOC |VARCHAR(20) | Sim | CNPJ ou CPF do emitente da NF-e |
|NOME |VARCHAR(60) | Sim | Nome do emitente da NF-e |
|IE |VARCHAR(30) | Não | Insc. Estadual do Emitente da NF-e |
|DTEMI |DATE | Sim | Data de emissão do Documento |
|TPNF |INTEGER | Sim | Tipo de NF; 0 - Entrada, 1 - Saida |
|VALOR |NUMERIC(18,2) | Sim | Valor NF-e |
|VALIDADOR |VARCHAR(50) | Sim | Codigo de autorização da NF-e no SEFAZ |
|DHRECIBO |TIMESTAMP | Sim | Data e hora que a nota foi autorizada na SEFAZ de origem |
|SITNFE |INTEGER | Sim | Situação da NF-e |
|SITCONF |INTEGER | Sim | Situação da Maninfestação do usuário |
|NSU |VARCHAR(30) | Sim | NSU de autorização da NF-e no SEFAZ de Origem |
==== Logs ====
Como o **Verificador de NF-e Destinadas** é um serviço que roda em background, não há interfaces para emitir avisos, portanto toda a informação referente a operação do serviço é logada no arquivo **ServiceNFeDest.log**\\
O Log, tem seu início demarcado pela data e hora em que ocorreu o evento e finalizado por uma linha tracejada.\\
O Log está em ordem decrescente, ou seja, o último evento está por último.