O Componente GNRE da Tecnospeed é uma biblioteca contendo todos os métodos necessários para emitir a Guia Nacional de Recolhimento de Tributos Estaduais. É a escolha ideal para quem pode consumir OCX e prefere manter todo o processo de mensageiria da GNRE dentro do próprio ambiente. Para utilizar o Componente em seu software, basta instanciá-lo em seu projeto, implementar chamadas para cada um dos métodos e configurá-los de acordo com sua necessidade.
- Instalar Componente
- Instanciar Componente GNRe - Delphi, C# e VB6
- Configurando as propriedades
- Entendendo o fluxo de emissão
- Gerando o TX2 complementar da GNRE
- Autorizando uma GNRE
- Imprimindo uma GNRE
Instalar Componente
Após aprovação do pedido de adesão, em até 24 horas úteis, nossa equipe financeira irá realizar o faturamento e disponibilizar o Componente GNRE para download na Central do Cliente. Você pode acessar a Central do Cliente com os dados de acesso que você preencheu no formulário de registro.
Com o Componente já disponível, na aba lateral Download, clique no botão Baixar. Caso o download não inicie, desabilite o bloqueador de pop-ups do seu navegador.

Existem dois instaladores disponíveis para download na Central do Cliente: O Setup GNRE Full e o Setup GNRE Dependencies. O primeiro deve ser instalado no ambiente de desenvolvimento e o segundo no ambiente onde o sistema for ser executado.
No ambiente de desenvolvimento
No ambiente de desenvolvimento, nós devemos instalar a versão Full, pois ela é a biblioteca completa, com todos os métodos e arquivos que o componente possui. Para instalá-la, basta executar o instalador e seguir as instruções na tela.

No ambiente do cliente
No ambiente onde o sistema for ser executado, devemos instalar a versão Dependencies, que é a versão Full reduzida, com apenas as DLLs necessárias para o componente funcionar. Para instalá-la, existem algumas opções: é possível simplesmente executar o instalador, como na versão Full, executar o instalador em modo silencioso, ou incluir as DLLs no seu próprio instalador.
Além das DLLs, é necessário que o componente tenha acesso às pastas de Esquemas e Templates e aos arquivos com o endereço dos servidores. Estas pastas e arquivos são criados no diretório de instalação da versão Full (..TecnoSpeed/Gnre/Arquivos). É necessário colocá-los no ambiente do cliente e configurar o diretório delas nas propriedades DiretorioEsquemas, DiretorioTemplates, ArquivoServidoresHom, ArquivoServidoresProd, ArquivoCodigosProd e ArquivoCodigosHom.

Executando o instalador
Esta é a forma padrão de instalação. Basta executar o instalador e seguir as instruções na tela.

Para evitar que o usuário precise realizar alguma interação, é possível incorporar um comando na sua aplicação ou instalador. Existem dois comandos disponíveis: Silent e VerySilent. O comando Silent irá exibir a interface de instalação, mas não permitirá que o usuário interaja com o instalador. Por outro lado, o comando VerySilent não exibirá nenhuma interface ao usuário, a instalação será executada em segundo plano.
prompt> instalador.exe /silent
prompt> Instalador.exe /verysilent
Incluindo os arquivos no próprio instalador
O instalador das dependências apenas adiciona as DLLs onde ele é instalado. Caso não desejar utilizar o instalador no cliente, é possível incorporar as DLLs ao instalador do seu próprio sistema. Basta copiar ou registrar na pasta System32, caso o sistema seja 64 bits, e na pasta SysWOW64 para a versão de 32 bits do Windows.
DLLs que devem ser registradas:
- GnreX.dll
- msxml6.dll
- CFeSatGovX.ocx
- midas.dll
- stdvcl40.dll
DLLs que devem ser apenas copiadas:
- ssleay32.dll
- libeay32.dll
- msxml6r.dll
Instalação Manual
A instalação manual trata-se do usuário instalar o componente GNRe através de seu arquivo binário na extensão .dpk (Delphi Package). Caso opte em instalar o componente manualmente siga as instruções abaixo:
- Atenção! É necessário que seja instalado a versão Dependencies no ambiente de Desenvolvimento e do cliente;
- Deverá ter em mãos o dpk do componente GNRe na versão de Delphi desejada e abri-lo.

- Incluir no search path do projeto o caminho das BPL´s e DCP´s da GOV, exemplo:

- Após inserir os search path, deve-se compilar o projeto e o mesmo não poderá ter nenhum erro.

- Ao compilar o projeto anteriormente, será criado um arquivo BPL e DCP do componente no diretório específico do Delphi, segue exemplos de diretórios:
- C:\Users\Public\Documents\Embarcadero\Studio\17.0\Bpl;
- C:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp;
- Obs. Esse diretório é somente um exemplo, cada versão do Delphi tem seu respectivo diretório. Exemplo:
- Delphi Seattle - C:\Users\Public\Documents\Embarcadero\Studio\17.0;
- Delphi XE6 - C:\Users\Public\Documents\Embarcadero\Studio\14.0;
- Delphi XE3 - C:\Users\Public\Documents\RAD Studio\10.0;
- Delphi XE - C:\Users\Public\Documents\RAD Studio\8.0;
- Será necessário copiar as BPL´s e DCP´s da GOV que são as mesmas colocadas no search path do projeto anteriormente, para o diretório específico do Delphi conforme citado alguns exemplos acima, onde são criados os arquivos BPL e DCP do componente, exemplo:


- Após realizar esses passos, poderá finalmente instalar o seu componente GNRe, conforme a imagem abaixo:

Instanciar o Componente
Após a instalação do componente, é necessário instanciar a classe no projeto para fazer as modificações necessárias em suas propriedades e também utilizar os seus métodos.
Aqui iremos te mostrar passo a passo como instanciar a classe em três das linguagens, Delphi, C# e VB6.
Delphi
No Delphi há duas formas de instanciar o componente. Você pode arrastar os ícones do componente na barra de ferramentas para dentro do seu unit ou fazê-lo de forma manual, adicionando no uses do projeto:
uses
spdGnre, spdGnreType
Em seguida é necessário criar as variáveis das classes, como no exemplo a baixo.
type
TForm1 = class(TForm)
public
spdGnre: TspdGnre;
Independente da forma com que você trouxe as classes ao projeto, agora você deve criar o objeto e direcioná-lo a uma variável:
spdGnre := TspdGnre.Create(nil);
VB6
Primeiramente, declare o objeto pertencente à classe que faz interação com os servidores da Sefaz
Dim GNRE As GnreX.spdGnreX
Após isso, já na inicialização do Fom, instancie o objeto dentro de uma nova variável.
Set GNRE = New GnreX.spdGnreX
C#
No início do seu projeto, junto com as bibliotecas importadas, adicione as OCX da Tecnospeed
using GnreX;
Após isso, instancie o objeto dentro de uma nova variável
public GnreX.spdGnreX _spdGNReX = new GnreX.spdGnreX();
Configurar Propriedades
Antes de utilizar os métodos e funções do componente, é necessário configurar as suas propriedades. Elas podem ser configuradas utilizando um arquivo de configuração (.ini) ou através do código fonte.
Cada propriedade indica uma configuração. Por exemplo, a propriedade "Ambiente" determina para qual servidor o Componente irá enviar a nota (o de homologação ou de produção). Estas configurações estão divididas em três tipos: as propriedades gerais do componente e as propriedades de e-mail.
Código Fonte
É possível preencher as propriedades através do código fonte do sistema. Basta informar os valores desejados para cada uma delas. Você encontra uma lista completa de funções e exemplos de preenchimento das propriedades na seção Propriedades do componente.
//[GNRE]
spdGnre.Repositorio := 'CURRENT_USER_STORE';
spdGnre.DiretorioTemplates := 'C:\Program Files\TecnoSpeed\Gnre\arquivos\Templates\';
spdGnre.DiretorioEsquemas := 'C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\Esquemas\';
spdGnre.DiretorioLog := 'Log\';
spdGnre.DiretorioLogErro := 'DiretorioLogErro\';
spdGnre.DiretorioXmlGnre := 'DiretorioXmlGnre\';
spdGnre.ArquivoServidoresHom := 'C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresHom.ini';
spdGnre.ArquivoServidoresProd := 'C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresProd.ini';
spdGnre.NomeCertificado := 'CN := TECNOSPEED SA:08187168000160, OU := Certificado PJ A1, O := ICP-Brasil, C := BR, S := , L := , E := , SE := 6D 8C 19 04 25 53 86 82';
spdGnre.PinCode := '';
spdGnre.TimeOut := 30000;
spdGnre.Ambiente := akProducao;
spdGnre.CaminhoCertificado := '';
spdGnre.SenhaCertificado := '';
spdGnre.VersaoManual := vm100;
//[MAIL]
spdGnre.EmailSettings.ServidorSmtp := 'smtp.google.com';
spdGnre.EmailSettings.EmailRemetente := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.Assunto := 'Teste de envio de email';
spdGnre.EmailSettings.Mensagem := 'Teste de envio de email';
spdGnre.EmailSettings.Usuario := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.Senha := '12345';
spdGnre.EmailSettings.TimeOut := '30000';
spdGnre.EmailSettings.EmailDestinatario := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.CCo := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.CC := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.Autenticacao := true;
spdGnre.EmailSettings.Porta := 587;
spdGnre.EmailSettings.ConteudoHtml := true;
Arquivo de configuração
Também é possível preencher as propriedades através de um arquivo de configuração (gnreConfig.ini). Basta informar os valores desejados para cada uma delas e passar o diretório deste arquivo como parâmetro no método LoadConfig. Você encontra uma lista completa de funções e exemplos de preenchimento das propriedades na seção Propriedades do componente.
[GNRE]
Repositorio=CURRENT_USER_STORE
DiretorioTemplates=C:\Program Files\TecnoSpeed\Gnre\arquivos\Templates\
DiretorioEsquemas=C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\Esquemas\
DiretorioLog=Log\
DiretorioLogErro=DiretorioLogErro\
DiretorioXmlGnre=DiretorioXmlGnre\
ArquivoServidoresHom=C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresHom.ini
ArquivoServidoresProd=C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresProd.ini
NomeCertificado=CN=TECNOSPEED SA:08187168000160, OU=Certificado PJ A1, O=ICP-Brasil, C=BR, S=, L=, E=, SE=6D 8C 19 04 25 53 86 82
PinCode=
TimeOut=0
Ambiente=1
CaminhoCertificado=
SenhaCertificado=
VersaoManual=vm100
[MAIL]
ServidorSmtp=
EmailRemetente=
Assunto=
Mensagem=
Usuario=
Senha=
TimeOut=0
EmailDestinatario=
CCo=
CC=
Autenticacao=0
Porta=0
ConteudoHtml=0
Fluxo ideal da emissão da NF-e
Para gerar uma GNRE, é necessário ter o XML Destinatário de uma NF-e ou de um CT-e contendo valores refente a uma ou mais das seguintes receitas: Partilha de ICMS, ST, FCP ou Transporte.
Em alguns casos é necessário também gerar e enviar junto um arquivo TX2 Complementar, que serve para informar dados complementares que são exigidos por alguns estados, e também para informar manualmente dados que normalmente são obtidos do XML da NF-e ou gerados automaticamente. No próximo passo será mostrado mais detalhes de como gerar esse arquivo.
Após ser feito o envio, você deve fazer a consulta por recibo, e, caso seja autorizado, basta fazer a impressão da guia.
Os campos do xml da NF-e que são processados são:
Partilha=vICMSUFDest
ST=vST
FCP=vFCPUFDest ou vFCPST
Os campos do xml do CT-e que são processados são:
Transporte=vICMSUFFim, vICMSOutraUF ou vICMS
Gerar TX2 complementar GNRe
O TX2 trata-se de um arquivo de leiaute próprio da Tecnospeed sendo baseado em arquivo texto (.txt), contendo comandos e campos com seus valores. No caso da GNRE, é usado para informar dados complementares que são exigidos por alguns estados, e também para informar manualmente dados que normalmente são obtidos do XML da NF-e ou gerados automaticamente.
Layouts
Existem 2 servidores de GNRE atualmente: o servidor nacional, que suporta a maioria dos estados (exceto SP e ES) e o servidor do ES (SP não possui webservice de GNRE). Para cada um desses servidores é usado um layout diferente de TX2.
Os campos disponíveis para preenchimento no TX2 complementar, podem ser verificados dentro do arquivo de mapping.txt que existe na pasta de esquemas de cada versão.
Antes de gerar o TX2, acesse este link e veja as orientações de boas práticas para a geração deste tipo de arquivo.
Layout para UF´s do Servidor Nacional
Segue um exemplo de arquivo TX2 Complementar para UF´s do servidor nacional (usado até a versão manual 1.00):
formato=tx2
INCLUIR
c26_produto=3
c25_detalhamentoReceita=000012
c33_dataPagamento=2020-12-31
INCLUIRCAMPOEXTRA
c39_camposExtras_Valor=Observacao da guia
SALVARCAMPOEXTRA
SALVAR
Segue um exemplo de arquivo TX2 Complementar para UF´s do servidor nacional (usado a partir da versão manual 2.00), podemos constatar que vários campos agora são por item :
formato=tx2
INCLUIR
c33_dataPagamento=2020-12-31
INCLUIRITEM
c26_produto=3
c25_detalhamentoReceita=000012
INCLUIRCAMPOEXTRA
c39_camposExtras_Codigo=50
c39_camposExtras_Valor=Observacao da guia
SALVARCAMPOEXTRA
SALVARITEM
SALVAR
A exigência dos campos varia de estado para estado, e recomenda-se não informar um campo que não é exigido. Quando não é exigido nenhum campo, não é necessário informar o TX2 Complementar.
Os campos possíveis de serem informados são:
- c01_UfFavorecida: Sigla da UF favorecida.
- c02_receita: código da receita. As receitas que são usadas pelo Componente GNRE são: Partilha de ICMS (100102), Substituição Tributária (100099), Fundo de Combate a Pobreza (100129) e Transporte (100030). OBS: caso não seja informada a receita será preenchida automaticamente. *Obs 1
- c25_detalhamentoReceita: códigos de detalhamento da receita. A relação dos códigos de detalhamento de receita para cada UF e para cada receita está informado no Portal da GNRE (clique em "Detalhamento das Receitas"). As receitas que são usadas pelo Componente GNRE são: Partilha de ICMS (100102), Substituição Tributária (100099) e Fundo de Combate a Pobreza (100129). *Obs 1
- c26_produto: código do produto. A relação dos códigos de produto para cada UF está informado no Portal da GNRE (clique em "Produtos"). Tipicamente exigido para as guias de Substituição Tributária (100099). *Obs 1
- c28_tipoDocOrigem: código do tipo de documento de origem. A relação dos códigos está informado no Portal da GNRE (clique em "Documentos de Origem"). *Obs 1
- c04_docOrigem: número do documento de origem. Como no momento só é suportado Nota Fiscal, pode-se informar o número/chave da Nota Fiscal ou NF-e. *Obs 1
- c14_dataVencimento: data de vencimento da guia. Caso não informada é usado o mesmo dia da geração da guia. (Formato yyyy-mm-dd) *Obs 1
- c15_convenio: número do convênio. *Obs 1
- c03_CnpjContribuinteEmitente: Cnpj do contribuinte emitente.
- c03_CpfContribuinteEmitente: Cpf do contribuinte emitente.
- c16_razaoSocialEmitente: nome da firma ou a razão social do contribuinte.
- c17_inscricaoEstadualEmitente: Inscrição Estadual do emitente.
- c18_enderecoEmitente: endereço completo do contribuinte. (Não pode haver espaços nem no começo nem no final do endereço)
- c19_municipioEmitente: últimos 5 dígitos do código IBGE do município do contribuinte.
- c20_ufEnderecoEmitente: sigla da UF do município do contribuinte.
- c21_cepEmitente: CEP do endereço do contribuinte.
- c22_telefoneEmitente: número de telefone do contribuinte.
- c35_CnpjContribuinteDest: Cnpj do contribuinte destinatário. *Obs 1
- c35_CpfContribuinteDest: Cpf do contribuinte destinatário. *Obs 1
- c36_inscricaoEstadualDest: Inscrição Estadual do destinatário. *Obs 1
- c37_razaoSocialDestinatario: Razão Social do destinatário. *Obs 1
- c38_municipioDestinatario: Município do destinatário. *Obs 1
- c33_dataPagamento: data prevista de pagamento informada pelo contribuinte. Caso não informada é usado o mesmo dia da geração da guia. (Formato yyyy-mm-dd)
- c05_referencia_periodo: código do período de apuração da guia. Os códigos são: 0: mensal; 1: 1ª quinzena; 2: 2ª quinzena; 3: 1º decêndio; 4: 2º decêndio; 5: 3º decêndio. Para as receitas suportadas no momento, somente é suportado o período mensal ("0"). *Obs 1
- c05_referencia_ano: ano de referência da apuração da guia. *Obs 1
- c05_referencia_mes: mês de referência da apuração da guia. *Obs 1
- c05_referencia_parcela: parcela de referência da apuração da guia. *Obs 1
- c42_identificadorGuia: identificador da guia.
- c39_camposExtras_Codigo: código do campo extra. *Obs 2
- c39_camposExtras_Valor : valor extra necessário. *Obs 2
Obs 1: Atenção a esses campos que passaram a ser por item a partir da versão manual 2.00, então é necessário que no TX2 complementar eles sejam declarados dentro da seção INCLUIRITEM / SALVARITEM, e essa seção por sua vez deverá ficar dentro da seção INCLUIR / SALVAR, como no exemplo abaixo.
formato=tx2
INCLUIR
c33_dataPagamento=2021-12-31
INCLUIRITEM
c26_produto=3
c25_detalhamentoReceita=000012
SALVARITEM
SALVAR
formato=tx2
INCLUIR
c33_dataPagamento=2021-12-31
INCLUIRITEM
c26_produto=3
c25_detalhamentoReceita=000012
SALVARITEM
SALVAR
Obs 2: Atenção a esses campos da seção de campos extras, que passaram a ser por item a partir da versão manual 2.00, então é necessário que no TX2 complementar eles sejam declarados dentro da seção INCLUIRCAMPOEXTRA / SALVARCAMPOEXTRA, e essa seção por sua vez deverá ficar dentro da seção INCLUIRTEM / SALVARITEM, como no exemplo abaixo.
No momento, os campos da seção extra estão sendo necessários apenas para quando a UF for TO.
formato=tx2
INCLUIR
c33_dataPagamento=2021-12-31
INCLUIRITEM
c26_produto=3
c25_detalhamentoReceita=000012
INCLUIRCAMPOEXTRA
c39_camposExtras_Codigo=50
c39_camposExtras_Valor=Observacao da guia
SALVARCAMPOEXTRA
SALVARITEM
SALVAR
Atenção! Critérios adotados na forma de preencher o TX2 complementar com vários itens:
-
Se informar + de 1 item, será obrigatório informar a receita para cada item, pois só com a receita é possível localizar corretamente a guia do xml. E só aplicaremos o conteúdo nas guias que forem localizadas.
-
Se informar 1 item e não informar a receita neste item, vamos aplicar o conteúdo deste item em todas possíveis guias do xml.
-
Se informar 1 item e informar uma receita que exista no xml, vamos aplicar o conteúdo deste item apenas na guia desta receita informada.
-
Se informar 1 item e informar uma receita que não exista no xml, vamos aplicar o conteúdo deste item em todas possíveis guias do xml, inclusive a própria receita será alterada.
Segue abaixo a relação das receitas aceitas por cada UF:
UF |
Receita(s) |
AC |
Partilha, ST e Transporte |
AL |
Partilha, ST, FCP e Transporte |
AM |
Partilha, ST, FCP e Transporte |
AP |
Partilha, ST e Transporte |
BA |
Partilha, ST, FCP e Transporte |
CE |
Partilha, ST, FCP e Transporte |
DF |
Partilha, ST, FCP e Transporte |
GO |
Partilha, ST e Transporte |
MA |
Partilha, ST, FCP e Transporte |
MG |
Partilha, ST, FCP e Transporte |
MS |
Partilha, ST, FCP e Transporte |
MT |
Partilha, ST, FCP e Transporte |
PA |
Partilha, ST e Transporte |
PB |
Partilha, ST, FCP e Transporte |
PE |
Partilha, ST, FCP e Transporte |
PI |
Partilha, ST, FCP e Transporte |
PR |
Partilha, ST e Transporte |
RJ |
Partilha, ST e Transporte |
RN |
Partilha, ST, FCP e Transporte |
RO |
Partilha, ST e Transporte |
RR |
Partilha, ST e Transporte |
RS |
Partilha, ST, FCP e Transporte |
SC |
Partilha, ST e Transporte |
SE |
Partilha, ST, FCP e Transporte |
TO |
Partilha, ST, FCP e Transporte |
Segue abaixo a relação dos campos exigidos para cada UF:
UF |
Campos exigidos |
Receita que exige * |
AC |
c26_produto |
ST |
AL |
c26_produto |
ST |
AM |
c26_produto |
ST |
AP |
Nenhum |
|
BA |
c26_produto |
ST |
CE |
c26_produto |
ST |
DF |
c26_produto |
ST |
GO |
c26_produto |
ST |
MA |
c25_detalhamentoReceita, c26_produto |
ST |
MG |
c25_detalhamentoReceita |
FCP |
MS |
c25_detalhamentoReceita (opcional), c26_produto |
Partilha e ST, respectivamente |
MT |
Nenhum |
|
PA |
Nenhum |
|
PB |
Nenhum |
|
PE |
c26_produto |
ST |
PI |
c26_produto |
ST |
PR |
Nenhum |
|
RJ |
Nenhum |
|
RN |
c26_produto |
ST |
RO |
Nenhum |
|
RR |
c26_produto |
ST |
RS |
Nenhum |
|
SC |
c26_produto |
ST |
SE |
c26_produto |
ST |
TO |
c26_produto, c39_camposExtras_Valor |
ST e FCP, respectivamente |
* Partilha: Partilha de ICMS; ST: Substituição Tributária; FCP: Fundo de Combate a Pobreza).
Layout do TX2 do Espírito Santo
Segue um exemplo de arquivo TX2 Complementar para ES:
formato=tx2
INCLUIR
dRef=2016-03
dVen=2016-03-18
dPag=2016-03-18
xInf=Teste de Informacoes Complementares
qtde=1
xIde=Nome da Empresa Emitente
versao=1.00
SALVAR
Descrição dos campos:
- dRef: Data de referência no formato AAAA-MM.
- dVen: Data de vencimento no formato AAAA-MM-DD.
- dPag: Data de pagamento no formato AAAA-MM-DD.
- xInf: Informações Complementares.
- qtde: Quantidade do serviço informado.
- xIde: Identificação do cliente solicitante.
- versao: Versão do leiaute.
* Nenhum dos campos acima é obrigatório.
Layout do TX2 de Alagoas (GNRe 2.0)
Segue um exemplo de arquivo TX2 Complementar para AL:
formato=tx2
INCLUIR
c22_telefoneEmitente=1234567890
INCLUIRITEM
c26_produto=68
INCLUIRCAMPOEXTRA
c39_camposExtras_Codigo=108
c39_camposExtras_Valor=35200507099389000113550010000390961011901028
SALVARCAMPOEXTRA
SALVARITEM
SALVAR
Observações:
- O campo de produto para Alagoas é obrigatório
Layout do TX2 de Mato Grosso (GNRe 2.0)
Segue um exemplo de arquivo TX2 Complementar para MT- Produção
formato=tx2
INCLUIR
c33_dataPagamento=2020-12-18
INCLUIRITEM
c02_receita=100099
c25_detalhamentoReceita=000022
INCLUIRCAMPOEXTRA
c39_camposExtras_Codigo=17
c39_camposExtras_Valor=123456789123456789123456789
SALVARCAMPOEXTRA
SALVARITEM
SALVAR
Layout do TX2 de Minas Gerais (GNRe 2.0)
Segue um exemplo de arquivo TX2 Complementar para MG:
formato=tx2
INCLUIR
INCLUIRITEM
c25_detalhamentoReceita=000052
SALVARITEM
SALVAR
Observações:
- O campo de DetalhamentoReceita é obrigatório
Layout do TX2 de Rio Grande do Sul (GNRe 2.0)
Segue um exemplo de arquivo TX2 Complementar para RS:
formato=tx2
INCLUIR
INCLUIRITEM
c04_docOrigem=35201162525647000194550030000297651005410451
c28_tipoDocOrigem=22
SALVARITEM
SALVAR
Layout do TX2 de Tocantins (GNRe 2.0)
Segue um exemplo de arquivo TX2 Complementar para TO - Produção
formato=tx2
INCLUIR
INCLUIRITEM
c26_produto=33
c25_detalhamentoReceita=000005
INCLUIRCAMPOEXTRA
c39_camposExtras_Codigo=72
c39_camposExtras_Valor=OBSERVACAO
SALVARCAMPOEXTRA
SALVARITEM
SALVAR
Segue um exemplo de arquivo TX2 Complementar para TO - Homologação
formato=tx2
INCLUIR
INCLUIRITEM
c26_produto=33
c25_detalhamentoReceita=000005
INCLUIRCAMPOEXTRA
c39_camposExtras_Codigo=108
c39_camposExtras_Valor=OBSERVACAO
SALVARCAMPOEXTRA
SALVARITEM
SALVAR
Mais detalhes sobre o preenchimento dos dados, consulte a documentação: "Informações no Preenchimento".
Autorizando uma GNRe
Antes de enviar, é importante verificar a propriedade Ambiente. Esta propriedade define se o envio será em homologação ou em produção.
Enviando uma Guia
Para enviar uma guia é necessário utilizar o método EnviarGuia. No envio, a SEFAZ retornará um XML com um número de recibo. É necessário capturar este número de recibo utilizando o método ExtrairNumeroRecibo e realizar a consulta utilizando o método ConsultaReciboGuia.
O retorno desta consulta mostrará se a guia foi autorizada <ns1:codigo>402</ns1:codigo> ou qual foi o motivo da rejeição.
Você também pode utilizar o método ExtrairDadosRetorno para capturar algumas informações do XML de forma automática, como por exemplo o a situação e o motivo.

Exemplo de guia autorizada:
<gnreRespostaMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreResultadoLote">
<ns1:TResultLote_GNRE xmlns="http://www.gnre.pe.gov.br" xmlns:ns1="http://www.gnre.pe.gov.br"><ns1:ambiente>2</ns1:ambiente><ns1:numeroRecibo>2000130159</ns1:numeroRecibo>
<ns1:situacaoProcess><ns1:codigo>402</ns1:codigo>
<ns1:descricao>Lote Processado com sucesso</ns1:descricao></ns1:situacaoProcess>
<ns1:resultado>020818716800016020001301599100010PR10010220008187168000160TECNOSPEED RUA DO POVO, 711, JARDIM TESTE, MARINGA MARINGA PR794150000443222222200000000000000000 000000000513585970 CHAVE DA NF-E: 41160208187168000160557005135859701000000018 3001202030012020 000000000000000001000000000000000000000000000000000000000000000858200000007000100902006300120200138070000065006858200000000001009020030012020013070000065003202001307000006500000000000
100020PR10009920008187168000160TECNOSPEED RUA DO POVO, 711, JARDIM TESTE, MARINGA MARINGA PR794150000443222222200000000000000000 000000000513585970 3001202030012020 000000000000000135000000000000000000000000000000000000000000000858400000000013500902005300120200138070000057003858400000000135009020030012020013070000057003202001307000005700000000000
9200013015900029de8f3e8c10c9a082bfd9e4e2a71b778590ca30d55c9b46db1e693c314179350</ns1:resultado></ns1:TResultLote_GNRE></gnreRespostaMsg>

Exemplo de guia rejeitada:
<gnreRespostaMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreResultadoLote">
<ns1:TResultLote_GNRE xmlns="http://www.gnre.pe.gov.br" xmlns:ns1="http://www.gnre.pe.gov.br">
<ns1:ambiente>2</ns1:ambiente><ns1:numeroRecibo>2000000232</ns1:numeroRecibo>
<ns1:situacaoProcess>
<ns1:codigo>403</ns1:codigo><ns1:descricao>Lote Processado com pendencias</ns1:descricao></ns1:situacaoProcess>
<ns1:resultado>020818716800016020000002329100013PR10003030000373120532114 0000000000020061940292000218 000000000000000000 13012020000000000012020000000000000000715000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000
20001 703Falha na validacao do retorno da UF: O XML esta incompleto. O campo [CNPJ, CPF] deve ser informado.
92000000232000137eeb3d394ff7008bc3554bc67772c4d0dc32379a5995a1c07964d5fdb5c8ae9</ns1:resultado></ns1:TResultLote_GNRE></gnreRespostaMsg>

Imprimir uma GNR-e
A guia pode ser impressa na impressora ou salvo como um arquivo PDF. Em ambos os casos, é necessário informar o conteúdo XML de uma guia autorizada na SEFAZ (<ns1:codigo>402</ns1:codigo>).
Para imprimir uma nota, é necessário utilizar o método ImprimirGnre. Como parâmetro, é necessário informar o XML autorizado e o nome da impressora que será utilizada para imprimir (caso seja vazio, será utilizada a impressora padrão do Windows).
PDF
Para exportar a guia para PDF, é necessário utilizar o método ExportarDanfe. Como parâmetro, é necessário informar o XML autorizado e o nome da impressora que será utilizada para imprimir (caso seja vazio, será utilizada a impressora padrão do Windows).
Comentários
0 comentário
Por favor, entre para comentar.