Consultar(aNumeroNFSe, aNumeroRPS, aSerieRPS, aTipoRPS, aProtocolo)
Realiza a consulta necessária para obter a nota com base nos parâmetros de entrada.
Só será necessário chamar o método Consultar quando o retorno do método Enviar retornar EMPROCESSAMENTO, Exemplo:
NFSe.Enviar(aTx2);
- NFSe.RetornoWS.Items[i].Status
- NFSe.RetornoWS.Items[i].Protocolo
- Status: EMPROCESSAMENTO
- Protocolo: 520002314280550
Nesse caso é necessário chamar o método Consultar informando o número do protocolo no parâmetro aProtocolo do método.
Caso desejar chamar o método de consulta mesmo assim, aconselhamos que todos os parâmetros do método Consultar sejam preenchidos, pois dessa forma, o componente se encarregará de realizar a consulta da melhor maneira possível.
Método
Consultar(const aNumeroNFse: string=''; aNumeroRPS: string=''; aSerie: string=''; aTipo: string=''; aProtocolo: string=''): String;
Parâmetros
Argumento | Tipo | Detalhes |
aNumeroNFSe | String | Número da NFSe cuja nota deseja consultar |
aNumeroRPS | String | Número do RPS cuja nota deseja consultar |
aSerieRPS | String | Série do RPS cuja nota deseja consultar |
aTipoRPS | String | Tipo do RPS cuja nota deseja consultar |
aProtocolo | String | Protocolo do lote cujo as notas deseja consultar |
Retorno
- O retorno estará na propriedade RetornoWS do NFSe, Exemplo NFSe.RetornoWS.
- O NFSe.RetornoWS terá um contador de interações podendo ter 1 ou muitas posições dependendo da quantidade de RPS enviados no tx2.
- NFSe.RetornoWS.Items[0..N]
- O NFSe.RetornoWS.Items[0..N] terá os seguintes campos de cada nota.
- NFSe.RetornoWS.Items[0..N]
- O NFSe.RetornoWS terá um contador de interações podendo ter 1 ou muitas posições dependendo da quantidade de RPS enviados no tx2.
- A instância NFSe conta com duas funções de retorno, a função RetornoJson e RetornoCSV onde cada uma contém seus respectivos tipos de retorno.
Existem 3 possíveis situações para o Status:
- EMPROCESSAMENTO:
- Status: EMPROCESSAMENTO
Nesse caso, será necessário realizar o método de Consulta novamente pois a nota ainda está sendo processada.
- SUCESSO:
- Status: SUCESSO
-
Protocolo:
-
CNPJ: 99999999999999
-
Inscricao Municipal: 999999
-
Serie do RPS: 1
-
Número do RPS: 164
-
Número da NFS-e: 86
-
Data de Emissão: 2020-03-25T00:00:00-03:00
-
Código de Verificação: XXXX-YYYYY
-
Situação: AUTORIZADA
-
Data De Cancelamento: 2020-03-25T16:56:05.941-03:00
-
Chave de Cancelamento: 86|86_164_1_1
-
Tipo: 1
-
Motivo:
-
XML: <XmlCompletoDaNotaAutorizada>
-
Data de Autorização: 2020-03-25
Nesse caso, a nota já está autorizada e as suas informações podem ser acessadas através da NFSe.RetornoWS.Items[0..n].NomeDaPropriedade
- ERRO:
- Status: ERRO
Motivo: BTH03-Lote de RPS já enviado. (Favor verificar se o lote já não foi enviado anteriormente, ou se a numeração do lote foi incrementada.)
- Status: ERRO
A nota foi rejeitada com o Motivo descrito na propriedade NFSe.RetornoWS.Items[0..n].Motivo;
Abaixo temos um exemplo de retorno da função NFSe.RetornoJson:
{
"resposta":[
{
"status" : "SUCESSO",
"motivo" : "",
"protocolo" : "",
"cnpj" : "99999999999999",
"inscMunicipal" : "9999",
"numeroRps" : "195",
"serieRps" : "1",
"tipo" : "1",
"numeroNFSe" : "93",
"dataEmissaoNFSe" : "2020-04-15T00:00:00-03:00",
"codVerificacao" : "XXXXXYYYYYY",
"situacao" : "CANCELADA",
"dataAutorizacao" : "2020-04-15",
"dataCancelamento" : "2020-04-15T16:12:54.059-03:00",
"chaveCancelamento" : "93|93_195_1_1",
"xmlImpressao" : "XML da NFSe"
}
]
}
Abaixo temos um exemplo de retorno da função NFSe.RetornoCSV:
SUCESSO;;99999999999999;;1;000;000;2020-07-10T00:00:00;2020-07-10T00:00:00;0000000;AUTORIZADA;;000;<ComplNfse><Nfse><InfNfse><Numero>000</Numero><CodigoVerificacao>0000000</CodigoVerificacao><DataEmissao>2020-07-10T20:20:13.830-03:00</DataEmissao><IdentificacaoRps><Numero>000</Numero><Serie>0</Serie><Tipo>0</Tipo></IdentificacaoRps><DataEmissaoRps>2020-07-10</DataEmissaoRps><NaturezaOperacao>1</NaturezaOperacao><OptanteSimplesNacional>2</OptanteSimplesNacional><Competencia>2020-07-01</Competencia><OutrasInformacoes>nota teste</OutrasInformacoes><Servico><Valores><ValorServicos>1.00</ValorServicos><ValorDeducoes>0</ValorDeducoes><ValorIr>0.10</ValorIr><IssRetido>2</IssRetido><ValorIss>0.10</ValorIss><BaseCalculo>1.00</BaseCalculo><Aliquota>3</Aliquota><ValorLiquidoNfse>1.00</ValorLiquidoNfse><DescontoCondicionado>0</DescontoCondicionado><DescontoIncondicionado>0</DescontoIncondicionado></Valores><ItemListaServico>1010</ItemListaServico><CodigoCnae>0000000</CodigoCnae><Discriminacao>nota de teste</Discriminacao><CodigoMunicipio>0000000</CodigoMunicipio></Servico><PrestadorServico><IdentificacaoPrestador><Cnpj>99999999999999</Cnpj><InscricaoMunicipal>1111</InscricaoMunicipal></IdentificacaoPrestador><RazaoSocial>TecnoSpeed S.A.</RazaoSocial><NomeFantasia>S.A.</NomeFantasia><Endereco><Endereco>AV XV DE NOVEMBRO</Endereco><Numero>1</Numero><Bairro>CENTRO</Bairro><CodigoMunicipio>0000000</CodigoMunicipio><Uf>PR</Uf><Cep>88888888</Cep></Endereco><Contato><Email>comercial@tecnospeed.com.br</Email></Contato></PrestadorServico><TomadorServico><IdentificacaoTomador><CpfCnpj><Cnpj>99999999999999</Cnpj></CpfCnpj></IdentificacaoTomador><RazaoSocial>TESTE TESTE</RazaoSocial><Endereco><Endereco>CAMPOS BICUDO</Endereco><Numero>00</Numero><Complemento/><Bairro>Zona 7</Bairro><CodigoMunicipio>0000000</CodigoMunicipio><Uf>PR</Uf><Cep>88888888</Cep></Endereco><Contato><Telefone>999999999</Telefone><Email>comercial@tecnospeed.com.br</Email></Contato></TomadorServico><IntermediarioServico/><OrgaoGerador><CodigoMunicipio>0000000</CodigoMunicipio><Uf>PR</Uf></OrgaoGerador><ConstrucaoCivil/></InfNfse></Nfse></ComplNfse>;1;
Exemplos
Delphi
C#
retorno = NFSe.Consultar("Número da NFSe", "Número do RPS", "Série do RPS", "Tipo do RPS", "Número do Protocolo");
Visual Basic 6
retorno = NFSe.Consultar"Número da NFSe", "Número do RPS", "Série do RPS", "Tipo do RPS", "Número do Protocolo"
PHP
$retorno = $NFSe->Consultar("Número da NFSe", "Número do RPS", "Série do RPS", "Tipo do RPS", "Número do Protocolo");
Comentários
0 comentário
Por favor, entre para comentar.