12.1. Envio de Lote de NF-e
12.1.2. EnviaLote2G [19-08-14]
12.1.1.5. Busca lote de NF-e
« Anterior
12.1.3. BuscaLote2G [02-12-13]
Próximo »

12.1.2. EnviaLote2G [19-08-14]

Envia Lote de NF-e

Assinatura

int EnviaLote2G(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, ref string msgDados, out string msgRetWS, out string msgResultado, out string nRec, out string dhRecbto, out string tMed, string proxy, string usuario, string senha, string licenca)

Descrição:

Envia Lote de NF-e

Envio de uma única NF-e

O WS recepciona lote de NF-e, assim mesmo que seja uma única NF-e o envio deve ser realizado na estrutura de lote.

Assinatura da NF-e

A assinatura da NF-e deve ser realizada individualmente, antes de inseri-la no lote de NF-e.

Número do Lote

É um número de uso exclusivo do emissor, que pode atribuir o valor que entender conveniente.

Processo Assíncrono

A recepção do lote pela SEFAZ e a devolução da número do recibo do lote não significa que as NF-e foram autorizadas. É necessário consultar o resultado do processamento do lote enviado através da funcionalidade BuscaLote, além de processar a mensagem do WS para verificar se a NF-e foi autorizada ou rejeitada.

Novidades:

Preenchimento da siglaWS

  • SVAN, caso a UF seja usuária da SEFAZ Virtual do Ambiente Nacional (MA, PA e PI);
  • SVRS, caso a UF seja usuária da SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, ES, PB, RJ, RN, RO, RR, SC, SE e TO);
  • sigla da UF, caso a UF tenha aplicação própria (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP);
  • SCAN, na emissão em contingência SCAN - Sistema de Contingência do Ambiente Nacional.
  • SVC-RS, caso a UF seja usuária da SEFAZ Virtual de Contingência do Rio Grande do Sul (AM, BA, CE, ES, GO, MA, MT, MS, PA, PE, PI, PR e RN);
  • SVC-AN, caso a UF seja usuária da SEFAZ Virtual de Contingência do Ambiente Nacional (AC, AL, AP, DF, MG, PB, RJ, RS, RO, RR, SC, SE, SP e TO);

Preenchimento do nomeCertificado

informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL, formas possíveis:

1. uso de certificado digital existente no repositório MY do CSP do usuário corrente (currentuser)

É a forma de mais comum de uso, cabe ressaltar que é a única forma de uso de certificado digital do tipo A3 que a DLL oferece.
O usuário deve passar como parâmetro o campo assunto do certificado no parâmetro NomeCertificado para que a DLL localize um certificado digital com mesmo assunto no repositório MY do currentuser do equipamento.
Esta forma de uso requer a prévia instalação do certificado digital na conta do usuário do Windows (logon) que irá utilizar o certificado digital.

2. uso de certificado digital em arquivo no formato pfx

Permite o de uso de certificado digital em arquivo formato pfx.
O caminho da localização (path) do arquivo pfx deve ser passado para a DLL no formato: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "ARQUIVO|c:\certificado.pfx|senha".
Esta opção só funciona com certificado digital do tipo A1.

3. uso de certificado digital em string base64

Permite uso o arquivo do certificado digital em formato pfx convertido em uma string base64. O certificado digital em string base64 deve ser passado para a DLL no formato: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
Esta opção só funciona com certificado digital do tipo A1. É uma opção de uso que oferece maior versatilidade, pois permite o armazenamento do certificado digital em banco de dados na aplicação. É a forma mais indicada para uso em ASP.NET.

Parâmetros:

nome tipo fluxo descrição
siglaWS string entrada informar a sigla do WS desejado, veja Tabela de siglaWS
tipoAmbiente inteiro entrada informar o código do ambiente desejado: 1- produção ou 2-homologação
NomeCertificado string entrada informar o certificado digital que será utilizado para assinatura:
1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS".
2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha".
3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
(novas opções)
versao string entrada informar a versão da mensagem do WS - 2.00 [02-12-13]
msgDados string entrada/saída informar a string com o lote da NF-e neste parâmetro, retorna a mensagem XML enviada para o WS.
msgRetWS string saída retorna a mensagem XML de resposta do WS
msgResultado string saída retorna a literal do resultado da chamada do WS
nRec string saída retorna o número do recibo do lote atribuído ao lote pela SEFAZ, este será utilizado para consultar o resultado do processamento do lote.
dhRecbto string saída retorna a data e hora de recebimento do lote pela SEFAZ.
tMed string saída retorna o tempo médio de resposta do serviço em segundos dos últimos 5 minutos.
proxy string entrada informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'
usuario string entrada informar o usuário para autenticação no proxy se necessário
senha string entrada informar a senha de autenticação no proxy se necessário
licenca string entrada informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento, para maiores detalhes veja as condições de uso

Atenção para as seguintes alterações nos parâmetros:

Parâmetros novos:

  • versao;
  • dhRecebto;
  • tMed;

Parâmetros eliminados:

  • msgCabec;

Retorno:

O resultado da chamada do EnviaLote é o código numérico com os seguintes significados:

código Mensagem origem regra
5001 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: o certificado cliente: 1.não é ICP-Brasil; 2.fora do prazo de validade; 3.revogado; 4.certificado cliente não confiável para o Web Service acessado, contatar a SEFAZ) DLL -
5002 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a cadeia de certificação do Web Service acessado ou do certificado cliente inexistente no repositório de certificados do usuário corrente do Windows) DLL -
5003 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: serviço inexistente, verifique se o nome do serviço da url acessada está correto no arquivo ws2.xml) DLL -
5004 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: método não permitido) DLL -
5005 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a url não encontrada, verifique se o nome do domínio da url acessada está correto no arquivo ws2.xml) DLL -
5006 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [{1:0}]) DLL -
5007 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: mensagem maior que a permitida) DLL -
5008 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Servidor com problemas) DLL -
5009 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço não implementado) DLL -
5010 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação) DLL -
5011 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Causa provável da falha na conexão: Rede indisponível) DLL -
5012 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Versão do SOAP não suportada DLL -
5013 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta) DLL -
5014 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, falha desconhecida) DLL -
5015 Erro: Falha na conexão: Tempo limite de time-out alcançado [TEMPO DE TIME OUT UTILIZADO ms] - [MENSAGEM DE ERRO DO WINDOWS] DLL -
5016 Erro: Falha na conexão: Falha da Biblioteca Criptografica: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5017 Erro: Falha ao tratar o XML de retorno do WS: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5101 Erro: A mensagem de retorno do WS não é um XML válido: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5102 Erro: Tag cStat inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5103 Erro: Tag xMotivo inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5104 Erro: Tag [NOME TAG] inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5105 Erro: O WS não devolveu nenhum resultado DLL -
5201 Erro: O código do tipo de ambiente [CODIGO RECEBIDO PELA DLL] informado diferente de 1 - produção e 2 - homologação DLL -
5202 Erro: A sigla da UF [SIGLA RECEBIDA PELA DLL] informada é inválida DLL -
5203 Erro: Inexiste url para a UF [SIGLA UF] informada no ambiente [AMBIENTE] desejado, verifique se existe atualização do arquivo [NOME ARQUIVO] disponível. DLL -
5204 Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO] DLL -
5205 Erro: Ocorreu um erro inesperado no processamento da URL (NOME URL) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5206 Erro: Ocorreu um erro de validação do XML (NOME XML) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5403 Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS] DLL -
5404 Erro: Nenhum certificado digital selecionado DLL
5405 Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser] DLL -
5406 Erro: Falha no tratamento do parâmetro nome: [nome informado] DLL -
5407 Erro: Quantidade de parâmetos inválido: [nome informado] DLL -
5408 Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] DLL -
6101 Erro: O parâmetro versao não foi informado DLL -
6102 Erro: O conteúdo do parâmetro sigla da UF: [CONTEÚDO] é inválido DLL -
6103 Erro: O conteúdo do parâmetro versao informado é inválido: [CONTEUDO] DLL - -
6110 Erro: O nome do titular do certificado deve ser informado DLL -
6123 Erro: O parâmetro tipoAmbiente deve ser informado DLL -
6124 Erro: O parâmetro tipoAmbiente [CONTEUDO] deve ser 1 ou 2 DLL -
6141 Erro: O parâmetro siglaWS deve ser informado DLL -
7001 Erro: A licença não foi informada DLL -
7002 Erro: A licença informada: [CONTEUDO] tem tamanho:[TAMANHO] diferente de 128 DLL -
7003 Erro: A licença informada: [CONTEUDO] não pertence ao CNPJ:[TAMANHO] DLL -
103 Lote recebido com sucesso WS -
108 Serviço Paralisado Momentaneamente (curto prazo) WS B03
109 Serviço Paralisado sem Previsão WS B04
213 Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital WS F02
214 Rejeição: Tamanho da mensagem excedeu o limite estabelecido WS B01
225 Rejeição: Falha no schema XML WS D01
238 Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente WS C05
239 Rejeição: Cabeçalho - Versão do arquivo XML não suportada WS C06
242 Rejeição: Cabeçalho - Falha no Schema XML WS C01
243 Rejeição: XML Mal Formado WS B02
280 Rejeição: Certificado Transmissor inválido WS A01
281 Rejeição: Certificado Transmissor Data Validade WS A02
282 Rejeição: Certificado Transmissor sem CNPJ WS A07
283 Rejeição: Certificado Transmissor - erro Cadeia de Certificação WS A03
284 Rejeição: Certificado Transmissor revogado WS A05
285 Rejeição: Certificado Transmissor difere ICP-Brasil WS A06
286 Rejeição: Certificado Transmissor erro no acesso a LCR WS A04
290 Rejeição: Certificado Assinatura inválido WS E01
291 Rejeição: Certificado Assinatura Data Validade WS E02
292 Rejeição: Certificado Assinatura sem CNPJ WS E03
293 Rejeição: Certificado Assinatura - erro Cadeia de Certificação WS E04
294 Rejeição: Certificado Assinatura revogado WS E06
295 Rejeição: Certificado Assinatura difere ICP-Brasil WS E07
296 Rejeição: Certificado Assinatura erro no acesso a LCR WS E05
297 Rejeição: Assinatura difere do calculado WS F02
298 Rejeição: Assinatura difere do padrão do Projeto WS F01
299 Rejeição: XML da área de cabeçalho com codificação diferente de UTF-8 WS C01a
402 Rejeição: XML da área de dados com codificação diferente de UTF-8 WS D03
404 Rejeição: Uso de prefixo de namespace não permitido WS D02
409 Rejeição: Campo cUF inexistente no elemento nfeCabecMsg do SOAP Header WS C02
410 Rejeição: UF informada no campo cUF não é atendida pelo Web Service WS C03
411 Rejeição: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP Header WS C04
565 Rejeição: Falha no schema XML - inexiste a tag raiz esperada para a mensagem WS D01a
568 Rejeição: Falha no schema XML - inexiste atributo versao na tag raiz da mensagem WS D02a
567 Rejeição: Falha no schema XML - versão informada na versaoDados do SOAPHeader diverge da versão da mensagem WS D01c
587 Rejeição: Usar somente o namespace padrão da NF-e WS D01d
588 Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem WS D01e
595 Rejeição: Versão de leiaute da NF-e utilizada não é mais válida WS GB09.02
596 Rejeição: Ambiente de homologação indisponível para recepção de NF-e da versão 1.10. WS GB09.03
999 Rejeição: Erro não catalogado (mensagem) WS -

Finalidade do número do recibo do lote

O número do recibo do lote não é o protocolo de autorização. É um número que a SEFAZ atribui ao lote recebido, sendo necessário para consultar o resultado do pocessamento do lote.

Número do Recibo do Lote é número de 15 dígitos com o seguinte significado:

posição Descrição
1 a 2 código da UF do IBGE
3 órgão do tipo autorizador:
1 – Secretaria de Fazenda Estadual;
2 – Receita Federal;
3 – SEFAZ Virtual RS;
4 – SEFAZ Virtual RFB;
5 – SEFAZ Virtual Contingência do AN;
6 – SEFAZ Virtual Contingência do RS.
4 a 15 sequencial

Tratamento de Erro:

Caso ocorra algum erro na chamada do WS (5001-6145) ou a requisição não seja atendida pelo WS (214-999), será gravado um log na pasta log, com as seguintes informações que devem ser úteis para identificação do problema:

Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:

Histórico de atualização:

Mensagens XML - versão 1.10:

Envio de Lote de NF-e

<?xml version="1.0" encoding="UTF-8"?>
<enviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.10">
   <idLote>000000823002811</idLote>
   <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
       <infNFe Id="NFe43080599999090910270550010000000015180051273" versao="1.10">
          <ide>
             <cUF>43</cUF>
             <cNF>518005127</cNF>
             <natOp>Venda a vista</natOp>
              (...)
          <infAdic><infAdFisco>Nota Fiscal de exemplo NF-eletronica.com</infAdFisco></infAdic>
       </infNFe>
       <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
         <SignedInfo>
            <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
            <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
            (...)
         </SignedInfo>
         <SignatureValue>Ux35YMTSrQl9MepW2rWO8bi(...)is/67OxLjg8of47bsgk=</SignatureValue>
         <KeyInfo>
             <X509Data>
                 <X509Certificate>MIIEuzCCA6OgAwIBAgIDMT((...)ecxvkkPolDUyBa7d7xwgm</X509Certificate>
             </X509Data>
         </KeyInfo>
       </Signature>
   </NFe>
</enviNFe>

Resposta do WS para Lote Recebido

<?xml version="1.0" encoding="utf-8"?>
<retEnviNFe versao="1.10" xmlns="http://www.portalfiscal.inf.br/nfe">
   <tpAmb>2</tpAmb>
   <verAplic>RS20100112141932</verAplic>
   <cStat>103</cStat><xMotivo>Lote recebido com sucesso</xMotivo>
   <cUF>43</cUF>
   <infRec>
      <nRec>431000003874373</nRec>
      <dhRecbto>2010-02-08T00:49:13</dhRecbto>
      <tMed>1</tMed>
   </infRec>
</retEnviNFe>

Resposta do WS para erro de envio

<?xml version="1.0" encoding="utf-8"?>
<retEnviNFe versao="1.10" xmlns="http://www.portalfiscal.inf.br/nfe">
   <tpAmb>2</tpAmb>
   <verAplic>RS20100112141932</verAplic>
   <cStat>226</cStat>
   <xMotivo>Rejeicao: Codigo da UF do Emitente diverge da UF autorizadora</xMotivo>
   <cUF>35</cUF>
</retEnviNFe>

Mensagens XML - versão 2.00:

Envio de Lote de NF-e

<?xml version="1.0" encoding="UTF-8"?>
<enviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
   <idLote>000000823002811</idLote>
   <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
       <infNFe Id="NFe43080599999090910270550010000000015180051273" versao="2.00">
          <ide>
             <cUF>43</cUF>
             <cNF>518005127</cNF>
             <natOp>Venda a vista</natOp>
              (...)
          <infAdic><infAdFisco>Nota Fiscal de exemplo NF-eletronica.com</infAdFisco></infAdic>
       </infNFe>
       <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
         <SignedInfo>
            <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
            <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
            (...)
         </SignedInfo>
         <SignatureValue>Ux35YMTSrQl9MepW2rWO8bi(...)is/67OxLjg8of47bsgk=</SignatureValue>
         <KeyInfo>
             <X509Data>
                 <X509Certificate>MIIEuzCCA6OgAwIBAgIDMT((...)ecxvkkPolDUyBa7d7xwgm</X509Certificate>
             </X509Data>
         </KeyInfo>
       </Signature>
   </NFe>
</enviNFe>

Resposta do WS para Lote Recebido

<retEnviNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
   <tpAmb>2</tpAmb>
   <verAplic>RS20100112141932</verAplic>
   <cStat>103</cStat>
   <xMotivo>Lote recebido com sucesso</xMotivo>
   <cUF>43</cUF>
   <dhRecbto>2010-02-08T01:08:34</dhRecbto>
   <infRec>
      <nRec>431000003874378</nRec>
      <tMed>1</tMed>
   </infRec>
</retEnviNFe>

Importante

O nRec é um número do Recibo de entrega do Lote e NÃO É NEM SIGNFICA QUE O LOTE/NF-E TEVE O SEU USO AUTORIZADO, sendo necessário consultar o resultado do processamento do lote através da funcionalidade BuscaLote2G.

Os XML acima foram identados para uma melhor visualização, a mensagem original não tem formatação, além de apresentarem parte da mensagem omitida.

Os XML das mensagens de retorno da versão 2.00 não têm a declaração XML.

Exemplos de uso:

Visual Basic 6.0

 
' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
 '
 Dim msgDados As String     ' informar a string com o lote da NF-e neste parâmetro, retorna a mensagem XML enviada para o WS
 Dim msgRetWS As String     ' retorna a mensagem XML de resposta do WS
 Dim msgResultado As String ' retorna a literal do resultado da chamada do WS
 Dim nRec As String             ' retorna o número do recibo do lote atribuído ao lote pela SEFAZ, este será utilizado para consultar o resultado do processamento do lote
 Dim dhRecbto As String         ' retorna a data e hora de recebimento do lote pela SEFAZ
 Dim tMed As String             ' retorna o tempo médio de resposta do serviço em segundos dos últimos 5 minutos 
 Dim siglaWS As String      ' informar a sigla do WS de envio, informar SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI) ou SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, ES, PB, RJ, RN, RO, RR, SC, SE e TO), caso a UF seja usuário da SEFAZ Virtual, em caso contrário informar a sigla da UF (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP). Em caso de contingência SCAN, informar a sigla SCAN
 Dim nomeCertificado As String  ' informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
 '
 ' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
 '
 ' EXEMPLO PARA USO DE ARQUIVO PFX
 '
 'nomeCertificado = "ARQUIVO|c:\certificado.pfx|associacao"
 '
 '  onde:
 '  ARQUIVO            --> indica opção de uso de arquivo PFX
 '  c:\certificado.pfx --> nome e caminho do arquivo PFX
 '  associacao         --> senha do arquivo PFX
 '
 '
 ' EXEMPLO PARA USO DE ARQUIVO PFX EM STRING BASE64
 '
 'nomeCertificado = "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha"
 '
 '  onde:
 '  CERTIFICADO        --> indica opção de uso de arquivo PFX em base64
 '  MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy --> arquivo PFX em base64
 '  senha              --> senha do arquivo PFX
 '
 ' As variáveis do proxy devem ser informadas se necessário
 '
 ' proxy deve ser informado com o endereço da url : porta, ex: 192.168.15.1:443
 '
 Dim proxy As String ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'
 Dim usuario As String ' informar o usuário para autenticação no proxy se necessário
 Dim senha As String ' informar a senha de autenticação no proxy se necessário
 '
 Dim licenca As String          ' informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento ou registro, para maiores detalhes veja as condições de uso
 '
 Dim tipoAmbiente As Integer    ' informar o código do ambiente desejado: 1- produção ou 2-homologação
 Dim versao As String       ' informar a versão da mensagem do WS - 1.10 (manual de integração versão 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x)
 '
 ' importante: todas as variáveis utilizadas como parâmetro da DLL devem ser inicializadas
 '
 '
 proxy = "" ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'
 usuario = "" ' informar o usuário para autenticação no proxy se necessário
 senha = "" ' informar a senha de autenticação no proxy se necessário
 msgDados = "" ' informar a string com o lote da NF-e neste parâmetro, retorna a mensagem XML enviada para o WS
 msgRetWS = "" ' retorna a mensagem XML de resposta do WS
 msgResultado = "" ' retorna a literal do resultado da chamada do WS
 nRec = "" ' retorna o número do recibo do lote atribuído ao lote pela SEFAZ, este será utilizado para consultar o resultado do processamento do lote.
 dhRecbto = "" ' retorna a data e hora de recebimento do lote pela SEFAZ
 tMed = "" ' retorna o tempo médio de resposta do serviço em segundos dos últimos 5 minutos 
 licenca = "" ' informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento ou registro, para maiores detalhes veja as condições de uso
 '
 ' prepara variáveis
 '
  nomeCertificado = "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
 ' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
 siglaWS = "RS"      ' informar a sigla do WS de envio, informar SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI) ou SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, ES, PB, RJ, RN, RO, RR, SC, SE e TO), caso a UF seja usuário da SEFAZ Virtual, em caso contrário informar a sigla da UF (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP). Em caso de contingência SCAN, informar a sigla SCAN
 tipoAmbiente = 2        ' informar o código do ambiente desejado: 1- produção ou 2-homologação
 versao = "2.00"     ' informar a versão da mensagem do WS : 2.00, 3.00 ou 3.10
 '
 '
 Dim nomeArquivo As String  ' nome do arquivo que contem o lote
 '
 nomeArquivo = "loteExemplo.xml"
 ' importante: verificar a existência do arquivo solicitado na pasta do VB e indicar o caminho correto para ele
 '
 '  Carrega o conteúdo do nome do arquivo em msgDados
 '
 Open nomeArquivo For Input As #1
 msgDados = Input$(LOF(1), 1)
 Close #1
 '
 Dim Result As Long
 '
 Dim objNFeUtil As Object
 
 '
 ' instancia a DLL (late binding)
 '

 '******************************IMPORTANTE************************************
 '*                                                                          *
 '*  1. a DLL deve estar registrada no Windows, a forma mais simples de      *
 '*     fazer o registro é utilizar o instalador da DLL:                     *
 '*                                                                          *
 '*     http://www.flexdocs.com.br/guiaNFe/instala.html                      *
 '*                                                                          *
 '*  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
 '*     na pasta da aplicação.                                               *
 '*                                                                          *
 '*  3. para execução em modo debug, a DLL NFe_Util_2G.dll e Reports.dll e a *
 '*     pasta NFe_Util devem existir na pasta do VB98                        *
 '*     C:\Program Files (x86)\Microsoft Visual Studio\VB98                  *
 '*                                                                          *
 '*     Ex. VB98 : C:\Program Files (x86)\Microsoft Visual Studio\VB98       *
 '*                                                                          *
 '*  4. consulte o guia de uso da DLL para ter outras informações:           *
 '*                                                                          *
 '*     http://www.flexdocs.com.br/guianfe/WS.consultaNF2G.html              *
 '*                                                                          *
 '****************************************************************************

 Set objNFeUtil = CreateObject("NFe_Util_2G.util")
 '
 '
 Screen.MousePointer = vbHourglass    ' ampulheta
 '
 Result = objNFeUtil.EnviaLote2G(siglaWS, tipoAmbiente, nomeCertificado, versao, msgDados, msgRetWS, msgResultado, nRec, dhRecbto, tMed, proxy, usuario, senha, licenca)
 '
 '
 Screen.MousePointer = vbDefault ' normal
 '
 ' mostra mensagem XML enviada e a mensagem de retorno do WS
 '
 'MsgBox msgDados + Chr(13) + Chr(13) + msgResultado + Chr(13) + Chr(13) + msgRetWS, "Resultado do Envio do Lote"
 txtMsgDados.Text = msgDados
 '
12.1.2. EnviaLote2G [19-08-14]
12.1. Envio de Lote de NF-e
« Anterior
12.1.1.5. Busca lote de NF-e
Próximo »
12.1.3. BuscaLote2G [02-12-13]