Guia prático de utilização pacote NFeDLL

Guia prático de utilização pacote NFeDLL

Projeto integração NF-e

Pré-requisitos:

Framework 4.5.2: http://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe

Instalação do certificado:

Para efeitos de testes, pode-se  utilizar os  certificados  da pasta “cert-teste”, este tipo  de  certificado servirá  apenas  para  testes de assinatura digital  do arquivo  xml,  não  servirá  para comunicação com os servidores da   SEFAZ, neste caso, precisará de certificado válido: A1 ou A3.

Pacote NFeDLL/Delphi: Execução do bat ‘registraDLL.bat’

Pacote NFeDLL/VB6: Siga os passos do documento Pré-configuração-vb6

Execute o aplicativo que acompanha o pacote e siga as orientações a seguir

NFeDLL/Delphi: ProjetoTesteNFE.exe

NFeDLL/C#: TesteFuncionalidades.exe

NFeDLL/VB6: Teste funcionalidades.exe

NFeDLL/VBNET: TesteFuncionalidadesVB.exe

1. Configurando parâmetros no Regedit

Importe a chave fornecida junto ao pacote: ..nfe-appnfe-parametros.reg

Acesse o regedit, chave [nfe]

Informe os dados correspondentes:

  • CNPJ: Informe o CNPJ da empresa emissora de NFe, apenas números.
  • Para o parâmetro NoSerieCertificado com valor xxx irá chamar sempre um formulário de consulta de certificados digitais disponíveis no repositório do Windows. Caso o operador informe o número de série, este formulário não será exibido.
  • TipoDanfe: Poderá ter o valor 1 (Retrato) ou 2 (Paisagem).
  • TotalizadorCfop: Serve para no DANFE na parte dos itens o sistema agrupar e totalizar por cfop. Ativo = 1, Inativo = 0.
  • Ambiente: 1 = Produção; 2 = Homologação (Testes).

O parâmetro nfce\IdentificadorItem default ‘cEAN’ para definir o identificador do item na impressão. Pode ser usado estas opções: cProd, cEAN, NCM, CFOP e nFCI.

O parâmetro MostrarMensagensEmTela​, tem valores 0 | 1 e serve para mostrar uma mensagem popup em algumas ocasiões de erro, alertas e advertências.

Já o TipoDanfe​ serve para a tag tpImp​ na geração do XML.​

O parâmetro ModeloImpressora​ é utilizado para indicar qual o equipamento de impressão utilizado. ​

URL para os WebServices:

Os parâmetros iniciados pelo prefixo ‘NFe’ fazem parte das url’s do WebService. Consulte o link abaixo para preencher corretamente de acordo com seu estado. As versões mais recentes do pacote já compreendem a utilização dos novos webservices 2.0 liberados pela SEFAZ, ainda é possível utilizar os webservices anteriores, bastando informar um ou outro. A função de forma automatizada já entende qual o modelo de arquitetura para o link correspondente, não precisando fazer nada com relação a isso.

URL’s de Homologação (Ambiente = 2)

http://hom.nfe.fazenda.gov.br/portal/WebServices.aspx

URL’s de Produção (Ambiente =1)

http://www.nfe.fazenda.gov.br/portal/WebServices.aspx

Chave de Validação de Licença (val.ass): Esta chave é fornecida com o pacote e deve estar junto com a DLL. Ela serve para exibir o texto para divulgação do software house. Este texto fica na parte inferior do DANFE e pode ser personalizado conforme solicitado à ASS Componentes.

2.Gerando a primeira NF-e

Execute o aplicativo de Testes de Funcionalidades.

Na aba ‘Gerar NF-e’¹, preencha com os dados correspondentes a empresa que está liberada junto à SEFAZ². Isto é necessário pois senão haverá uma rejeição da transmissão, ex:  Rejeição: IE do destinatário não cadastrada.

O campo ‘Quant. de Itens’ serve para testar a estabilidade da DLL, ou seja, você pode aumentar para 1000 se quiser, para efeitos de testes. P.S: Uma NF-e não pode ser transmitida com arquivo maior que 500kb. Portanto, se aumentar ou diminuir não conseguirá autorização da NF-e, pois isso irá gerar divergência no valor total da nota.

Aplicativo de testes de funcionalidades pacote NFeDLL/Delphi
Aplicativo de testes de funcionalidades pacote NFeDLL/vb6

O checkbox ‘Assinar NF-e’, permite que a nota seja assinada imediatamente após ser gerada. Disponível nos pacotes NFeDLL/C#; NFeDLL/Delphi;  NFeDLL/Vbnet.

Todos os arquivos gerados serão inseridos na pasta ..nfe-app nfearquivos. Caso utilize o checkbox ‘Assinar NF-e’, o arquivo é movido para a pasta ..nfe-app nfearquivosgerados e gerado um novo “assinado” para a pasta ..nfe-app nfearquivosassinado.


[1] Para o caso do pacote VB6, não é aba e sim um botão.

[2] Este preenchimento de dados para o pacote VB6 deverá ser feito em tempo de projeto, devendo ser compilado nova versão com os dados do emitente correspondente.

3. Assinando a NF-e

Depois de ter gerado a(s) NF-e, vá à aba ‘Assinar Arquivo’ e clique na opção ‘Procurar’. Localize uma NF-e gerada (sem estar assinada) ..nfe-appnfearquivos *.xml. Depois clique em processar, (Caso esteja usando um dos pacotes que contém o checkbox ‘Assinar NF-e’ esta operação poderá ser realizada em um único método).

Aplicativo de testes de funcionalidades pacote NFeDLL/Delphi

Caso no regedit, parâmetro ‘NoSerieCertificado’ esteja preenchido o número de série do certificado, o sistema irá solicitar a autenticação do certificado digital, caso o tenha (Autenticação é apenas para certificados do tipo A3).

4-Validando arquivos XML

Podemos agora validar a NF-e, a fim de identificar minimamente algum eventual problema de formatação. A validação deve ser feita após a assinatura do mesmo, caso contrário o sistema retornará um erro de formatação:

—————————

Validação de NF-e

—————————

O elemento ‘NFe’ no espaço para nome ‘http://www.portalfiscal.inf.br/nfe’ apresenta conteúdo incompleto. Lista de possíveis elementos esperados: ‘http://www.w3.org/2000/09/xmldsig#:Signature’.

Posição: 4

Linha: 6321

—————————

OK

—————————

  1. O campo Schema serve para definir o layout de validação, ou seja:
  • nfe_v2.00.xsd: É para NF-e;
  • enviNFe_v2.00.xsd: Serve para o arquivo de lote;

Os Schemas estão na pasta ..nfe-appnfeschemas. No último pacote, o schema é o PL_006d.zip de 13/03/2010.

É importante ter o Notepad++ instalado na máquina para identificar eventuais problemas no arquivo XML, principalmente nesta fase inicial de implementação do projeto. O notepad do Windows, quebra a linha do arquivo XML assinado digitalmente, dificultando a localização da coluna correspondente ao erro de validação, ex:

'http://www.portalfiscal.inf.br/nfe:cMunFG'element has
an invalid value according to its data type.

Posicao: 377

Linha: 1

Neste caso, basta localizar a posição 377 e identificar o problema, consultando o valor que deverá obrigatoriamente ter, através do Manual do Contribuinte que acompanha o pacote.

5- Gerar Lote

No pacote NFeDLL/Delphi, temos temos 2 opções importantes para o critério de geração de lote, na aba ‘Gerar Lote’.

Selecionar NF-e: Será exibido um formulário com todas as NF-e pendentes, ou seja, que foram geradas, assinadas, mas não foi gerado o arquivo de lote, veja:

Método gerar lote, pacote NFeDLL/Delphi

Gerar Lote de Todas as NF-e Assinadas: Com esta opção o sistema não exibe o formulário acima, fazendo de conta que o operador marcou neste caso, as duas NF-e pendentes.

Para os demais pacotes, a geração de lote dar-se-à através do envio do path da nf-e correspondente. Caso queira gerar lote com mais de uma nf-e, basta informar os paths separados por “;”.

O arquivo de lote é gerado na pasta ..nfe-appnfelotes com a seguinte nomenclatura: 000000000573-env-lot.xml

6- Verificar Status do Serviço

Na aba ‘WS – Status do Serviço’, clique no botão ‘Status do Serviço’. O sistema solicitará a autenticação do certificado digital e retornará a mensagem ‘Serviço em Operação’.

Se o sistema retornar a mensagem “Serviço em Operação” significa que o serviço está pronto, configurado e preparado para a recepção de notas ficais eletrônicas.

Neste método, caso o certificado esteja para expirar, será exibido uma mensagem de advertência, com contagem regressiva, iniciando por 30 dias.

7- Transmitir Notas Fiscais eletrônicas

Na aba ‘WS – Recepção’, clique no botão ‘NFe Recepção’, neste momento o sistema irá solicitar o arquivo de lote que está na pasta ..nfe-appnfelotes.

Caso já se tenha digitado o PIN do certificado digital (apenas para certificados A3) o sistema salva esta informação e não pedirá novamente.

Se tudo ocorrer corretamente o sistema retornará esta mensagem: Lote recebido com sucesso#350090003127063. Isto não significa que a NF-e foi aceita pelos servidores. O número destacado em negrito trata-se do número de recibo, ele deve ser gravado no banco de dados da automação para posteriores consultas.

8- Consulta de situação da NF-e

Verifique se a NF-e foi realmente aceita pelos servidores da SEFAZ através desta opção, disponível na aba ‘WS – Consultar Situação.

Utilize a chave da NF-e, retornada na função de geração do XML (passo 2), e consulte a situação da NF-e, exemplo de retorno:

Autorizado uso da NF-e#0123456789012345

9- Arquivo de distribuição

ATENCÃO! Este método já é executado automaticamente pela DLL caso o retorno da função de Consulta Situação seja: Autorização de Uso (código 100).

Antes de executar o método, obrigatoriamente  você deverá consultar a situação da NF-e do lote (NfeConsulta), pois através deste método é gerado o arquivo auxiliar necessário para geração do arquivo de distribuição.

Execute o método ArquivoDistribuicaoNFe, passando como parâmetro a chave da NF-e (44 caracteres numéricos).

O retorno do método é o path do arquivo de distribuição.

Será criado o arquivo na pasta correspondente, ex:  ..arquivoprocNfe42033222208506002344550010000011110000000991-procNFe.xml

10- Emissão do DANFE

O DANFE poderá ser emitido de 3 formas:

  • Preview em Tela (parâmetro 3);
  • Em PDF (parâmetro 2);
  • Direto para impressora DEFAULT (parâmetro 1);

Para emitir o DANFE, escolha o arquivo de Distribuição, localizado na pasta ..nfearquivosprocNFe.

No caso da necessidade do DANFE em Formulário de Segurança, você precisará emiti-lo através do arquivo assinado, que fica na pasta ..nfearquivosassinado, informando no parâmetro da chamada de função true (formSeguranca), ex:

[delphi]: ImprimeDanfe(

‘c:nfe-appnfearquivosprocNFeMinhaNFe.xml’,//path do XML

’’,//este parâmetro serve para informar o path do PDF a ser gravado

3,//tipo de emissão, neste caso preview em tela

true) //Emissão em formulário de segurança

Para NFeDLL/vb6 e NFeDLL/c# segue-se a mesma lógica.

11. Envio de e-mail

De acordo com o manual de Integração do Contribuinte, o emitente e o destinatário deverão manter em arquivo digital as Notas Fiscais eletrônicas pelo prazo estabelecido na legislação tributária para a guarda dos documentos fiscais, devendo ser apresentadas à administração tributária, quando solicitado.

O emissor da Nota Fiscal Eletrônica deve enviar o arquivo digital da NF-e para o destinatário, seja de forma eletrônica ou por qualquer outro meio que possibilite o destinatário ter acesso ao arquivo digital. O DANFE não substitui o arquivo da Nota Fiscal Eletrônica em nenhuma hipótese.

Com o nosso projeto de integração NF-eDLL é possível transmitir os arquivos digitais via e-mail, para tanto basta seguir os passos na utilização do método:

Configure na chave de parâmetros nfe, no Regedit, os dados da conta do emissor:

  • E-mail
  • Proxy

No aplicativo de testes de funcionalidades, método enviar e-mail, informe os dados nos campos:

  • Destinatário
  • Assunto
  • Path Anexo

Com esses passos é possível  enviar  arquivo digital da NF-e para o destinatário.

Para mais informações sobre nossos serviços você pode consultar o tópico Solicitando Suporte

Nos procure para qualquer informação adicional em um dos canais de atendimento disponível em nosso site.


chat helpdesk e-mail | whatsapp

Equipe ASX COMPONENTES

Deixe uma resposta